commit 4fe046de58f74bbd03c1be8d00cb0e138407ea41 Author: nnduc Date: Sat Oct 24 14:03:52 2026 +0700 init diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..a21df99 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,4482 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + +[[package]] +name = "aead" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" +dependencies = [ + "crypto-common 0.1.7", + "generic-array", +] + +[[package]] +name = "aead" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1973cfbc1a2daf9cf550e74e1f088c28e7f7d8c1e1418fb6c9dc5184b7e84c99" +dependencies = [ + "crypto-common 0.2.2", + "inout 0.2.5", +] + +[[package]] +name = "aes" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +dependencies = [ + "cfg-if", + "cipher 0.4.4", + "cpufeatures 0.2.17", +] + +[[package]] +name = "aes" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35f0f96ce78e38c3dc6d8948aa8163d06385be74000f3c7a95bf1eef35d3ea32" +dependencies = [ + "cipher 0.5.2", + "cpubits", + "cpufeatures 0.3.1", +] + +[[package]] +name = "aes-gcm" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" +dependencies = [ + "aead 0.5.2", + "aes 0.8.4", + "cipher 0.4.4", + "ctr 0.9.2", + "ghash 0.5.1", + "subtle", +] + +[[package]] +name = "aes-gcm" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f2b8006a0c83f52b62ba44a97b58bf76fe2f70a329e588f67f89691d93d498f" +dependencies = [ + "aead 0.6.1", + "aes 0.9.3", + "cipher 0.5.2", + "ctr 0.10.1", + "ctutils", + "ghash 0.6.0", +] + +[[package]] +name = "aes-keywrap" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf71a903b87eeef4903e7077cc9689f0c8449e093395db09dc48d1a39934e770" +dependencies = [ + "aes 0.9.3", + "byteorder", +] + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + +[[package]] +name = "android_system_properties" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae221649c9976a6f6c56ae1facf410f3ddb33cc661c4b7b61020a912d4237fbc" +dependencies = [ + "libc", +] + +[[package]] +name = "anyhow" +version = "1.0.104" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470" + +[[package]] +name = "arrayvec" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56" + +[[package]] +name = "async-trait" +version = "0.1.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.9", +] + +[[package]] +name = "atoi" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" +dependencies = [ + "num-traits", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "aws-lc-rs" +version = "1.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "faac5829c2b74c28f830747e7818ccfb684261b5f48a1118b1e2a13d36dfab13" +dependencies = [ + "aws-lc-sys", + "zeroize", +] + +[[package]] +name = "aws-lc-sys" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1622d8446a2d4b2ce0c7eefc73dd43a99779028d5ee5c2dd8073a658ba8a2bc" +dependencies = [ + "cc", + "cmake", + "dunce", + "fs_extra", + "pkg-config", +] + +[[package]] +name = "axum" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31b698c5f9a010f6573133b09e0de5408834d0c82f8d7475a89fc1867a71cd90" +dependencies = [ + "axum-core", + "base64 0.22.1", + "bytes", + "form_urlencoded", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-util", + "itoa", + "matchit", + "memchr", + "mime", + "multer", + "percent-encoding", + "pin-project-lite", + "serde_core", + "serde_json", + "serde_path_to_error", + "serde_urlencoded", + "sha1 0.10.7", + "sync_wrapper", + "tokio", + "tokio-tungstenite", + "tower", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "axum-core" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "http-body-util", + "mime", + "pin-project-lite", + "sync_wrapper", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "axum-extra" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be44683b41ccb9ab2d23a5230015c9c3c55be97a25e4428366de8873103f7970" +dependencies = [ + "axum", + "axum-core", + "bytes", + "cookie", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", + "mime", + "pin-project-lite", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "base64" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac07cdecf99051d9a5238b80f35af32cdeba5b336e55d957b318b50137e18da5" + +[[package]] +name = "base64ct" +version = "1.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" + +[[package]] +name = "binstring" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cff57e3fb66fb8077cb7f5de37442fff99b4ee99d71e6b946ad9b6b7246c27c" + +[[package]] +name = "bitflags" +version = "2.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06" +dependencies = [ + "serde_core", +] + +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "blake2b_simd" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3560a7b1951efe814fcd721938313adc56753ca39f4b23847d7e9a2402f5dbff" +dependencies = [ + "arrayvec", + "constant_time_eq", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block-buffer" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2f6c7dbe95a6ed67ad9f18e57daf93a2f034c524b99fd2b76d18fdfeb6660aa" +dependencies = [ + "hybrid-array", +] + +[[package]] +name = "bumpalo" +version = "3.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649" + +[[package]] +name = "bytemuck" +version = "1.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95832e849adfb21180ccb6826a99da14e5d266ae5c2e668e1602cf234f153797" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "byteorder-lite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" + +[[package]] +name = "bytes" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04" + +[[package]] +name = "castaway" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a" +dependencies = [ + "rustversion", +] + +[[package]] +name = "cc" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86e055fa6e3e40ad6187ba25b6855eeb635d5271f8e0f0e1e9a5826b8d75bea0" +dependencies = [ + "find-msvc-tools", + "jobserver", + "libc", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "cfg_aliases" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527" + +[[package]] +name = "chacha20" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65c35e4b699c7e15ccbe7ee35c005e4fc0a278d22238a2857e6ce2dadeda1b06" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.1", + "rand_core 0.10.1", +] + +[[package]] +name = "chrono" +version = "0.4.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327" +dependencies = [ + "iana-time-zone", + "js-sys", + "num-traits", + "pure-rust-locales", + "serde", + "wasm-bindgen", + "windows-link", +] + +[[package]] +name = "chrono-tz" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6139a8597ed92cf816dfb33f5dd6cf0bb93a6adc938f11039f371bc5bcd26c3" +dependencies = [ + "chrono", + "phf", +] + +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common 0.1.7", + "inout 0.1.4", +] + +[[package]] +name = "cipher" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8cf2a2c93cd704877c0858356ed03480ff301ee950b43f1cbe4573b088bfa6c" +dependencies = [ + "block-buffer 0.12.1", + "crypto-common 0.2.2", + "inout 0.2.5", +] + +[[package]] +name = "cmake" +version = "0.1.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0f78a02292a74a88ac736019ab962ece0bc380e3f977bf72e376c5d78ff0678" +dependencies = [ + "cc", +] + +[[package]] +name = "cmov" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c9ea0ac24bc397ab3c98583a3c9ba74fa56b09a4449bbe172b9b1ddb016027a" + +[[package]] +name = "coarsetime" +version = "0.1.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eae63702c5627c75addbfb1ea9d1b3842205a6ffd43e4cce884a2a9eb1828fd7" +dependencies = [ + "libc", + "wasix", + "wasm-bindgen", +] + +[[package]] +name = "color_quant" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" + +[[package]] +name = "combine" +version = "4.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4356eba6976435498d05a311ee9fc486da3bc81c200d3f0d7dd9703b41913f92" +dependencies = [ + "bytes", + "memchr", +] + +[[package]] +name = "compact_str" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dfdd1c2274d9aa354115b09dc9a901d6c5576818cdf70d14cae2bdb47df00ab" +dependencies = [ + "castaway", + "cfg-if", + "itoa", + "rustversion", + "ryu", + "static_assertions", +] + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[package]] +name = "const-oid" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c" + +[[package]] +name = "constant_time_eq" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" + +[[package]] +name = "cookie" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a373e3602691c3cdea496d2f0ee5935151e6168fe87739483c463db1b2f2f87" +dependencies = [ + "percent-encoding", + "time", + "version_check", +] + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "core_detect" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f8f80099a98041a3d1622845c271458a2d73e688351bf3cb999266764b81d48" + +[[package]] +name = "cpubits" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15b85f9c39137c3a891689859392b1bd49812121d0d61c9caf00d46ed5ce06ae" + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "cpufeatures" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca28b0ae3115b884660db4118d803791fd6756b6e88f39c0f3f7859060d7566" +dependencies = [ + "libc", +] + +[[package]] +name = "crc" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "217698eaf96b4a3f0bc4f3662aaa55bdf913cd54d7204591faa790070c6d0853" + +[[package]] +name = "crc32fast" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ba106e844045ddc02c20768ac4b0b7cb45f2cc2ecbd833ac9f5dacb183c2055" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "critical-section" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" + +[[package]] +name = "crossbeam-channel" +version = "0.5.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98b0cc327b5bc766e7fda9c9260cc0fa81b43a8e240440422dff70788e3f9ef1" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc74980687109a3b14c72fd458107bf0baa1da1a1a805e178d15501ba9b86d9d" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-queue" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03e8bd762f7479489c70ed6c768ddca99d7296857de437a68dcb2a94365b3fae" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a31eee39dddec8330830986fcd7625edb5a24ec90ea038215273bbc3adb08ac6" + +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array", + "rand_core 0.6.4", + "subtle", + "zeroize", +] + +[[package]] +name = "crypto-common" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +dependencies = [ + "generic-array", + "rand_core 0.6.4", + "typenum", +] + +[[package]] +name = "crypto-common" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce6e4c961d6cd6c9a86db418387425e8bdeaf05b3c8bc1411e6dca4c252f1453" +dependencies = [ + "getrandom 0.4.3", + "hybrid-array", + "rand_core 0.10.1", +] + +[[package]] +name = "ct-codecs" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fd9f3db6f2cfef61c10613071955154ffdc9e515daebff26de4b54e35038fdd" + +[[package]] +name = "ctr" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" +dependencies = [ + "cipher 0.4.4", +] + +[[package]] +name = "ctr" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baaca1c4b237092596f64d571e9db6ce4109c4ef9742e27590f1709594461f21" +dependencies = [ + "cipher 0.5.2", +] + +[[package]] +name = "ctutils" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38d28fb6aa7dd680b3ffd1a3e64e115c177bdba63c0ae7f9cd48129ff05c4fa0" +dependencies = [ + "cmov", +] + +[[package]] +name = "data-encoding" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4583a4551df46e2792f82ceeac45e850d2e2d5debba0b91f102385cda5b11f06" + +[[package]] +name = "der" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" +dependencies = [ + "const-oid 0.9.6", + "pem-rfc7468", + "zeroize", +] + +[[package]] +name = "der" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a878c850e9e421b20262e9b41f9c860e4785fa07541c266b62ff9d1ef998a80a" +dependencies = [ + "const-oid 0.10.2", + "zeroize", +] + +[[package]] +name = "deranged" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e9de72ce2ad1f90dc62fa25f0f430ef85eb4b0d8fa0be4f30373bc40a21d28e" + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer 0.10.4", + "const-oid 0.9.6", + "crypto-common 0.1.7", + "subtle", +] + +[[package]] +name = "digest" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2" +dependencies = [ + "block-buffer 0.12.1", + "const-oid 0.10.2", + "crypto-common 0.2.2", + "ctutils", +] + +[[package]] +name = "displaydoc" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.9", +] + +[[package]] +name = "dotenvy" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" + +[[package]] +name = "dunce" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" + +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der 0.7.10", + "digest 0.10.7", + "elliptic-curve", + "rfc6979", + "signature 2.2.0", + "spki 0.7.3", +] + +[[package]] +name = "ece-native" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6911cc97c62febd8cbcb2cb49ed21c58ccd418a80c43f20df4973ee08484e65d" +dependencies = [ + "aes-gcm 0.10.3", + "hkdf 0.12.4", + "sha2 0.10.9", +] + +[[package]] +name = "ed25519-compact" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1454db4f2edb7f0e8fe0c5b375b0c978fc63244cc9f010d160e417eb10139aa8" +dependencies = [ + "ct-codecs", + "getrandom 0.4.3", +] + +[[package]] +name = "either" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e9c71c2167ca323c882b99918929403426e2373ea17242ff5653e0d5e1058be" +dependencies = [ + "serde", +] + +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct", + "crypto-bigint", + "digest 0.10.7", + "ff", + "generic-array", + "group", + "hkdf 0.12.4", + "pem-rfc7468", + "pkcs8 0.10.2", + "rand_core 0.6.4", + "sec1", + "subtle", + "zeroize", +] + +[[package]] +name = "encoding_rs" +version = "0.8.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e985e0451871ad22fb8d2b6b076e2028a502a0d3950998c2c5c0a4f9b5d9679" +dependencies = [ + "cfg-if", + "core_detect", + "multiversion_no_op", + "rustversion", + "scopeguard", + "simdutf8", +] + +[[package]] +name = "equivalent" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00d174d5400e5e8fd687ad1049e2f578285fa914201b1af7e8b112a4546bd826" + +[[package]] +name = "errno" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "etcetera" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de48cc4d1c1d97a20fd819def54b890cadde72ed3ad0c614822a0a433361be96" +dependencies = [ + "cfg-if", + "windows-sys 0.61.2", +] + +[[package]] +name = "event-listener" +version = "5.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a23add41df1562121a9393cb065eab5146a1242410f23a644851e90cfd669d2" +dependencies = [ + "parking", + "pin-project-lite", +] + +[[package]] +name = "fdeflate" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "ff" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" +dependencies = [ + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "find-msvc-tools" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c66915cc5391097de7a2b0b972e8505aa33c0df401fd3a6811dbdb32881ba48" + +[[package]] +name = "flate2" +version = "1.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e634e2e0ebac1ee034020da1ca582e17ffe4e0f5e985823721e168928136dcb" +dependencies = [ + "crc32fast", + "miniz_oxide 0.9.1", + "zlib-rs", +] + +[[package]] +name = "flume" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e139bc46ca777eb5efaf62df0ab8cc5fd400866427e56c68b22e414e53bd3be" +dependencies = [ + "futures-core", + "futures-sink", + "spin", +] + +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + +[[package]] +name = "form_urlencoded" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "fs_extra" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" + +[[package]] +name = "futures" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a31d2a3fbaaeb2af2368bbdd904aa8e812d3c04a1ee10d3171f52d556e5d0a3" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f9e3d69d39e4862ffed03ed071a76f9a13ba1d9109d355b0f0aa6b15e393c4" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e" + +[[package]] +name = "futures-executor" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "031b47cf1a3c6cc8bc2fc76cd437f521619387907d469316e7c0bc278f1f5432" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-intrusive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" +dependencies = [ + "futures-core", + "lock_api", + "parking_lot", +] + +[[package]] +name = "futures-io" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53c0fa8157de1303bfffdaa1cc2a673bfffb60102f76b0ef4441659124373fed" + +[[package]] +name = "futures-macro" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.9", +] + +[[package]] +name = "futures-sink" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1944426bf7d03f1d14f708785e4b33efd750b36d48a157b836b3efc15ede8e1d" + +[[package]] +name = "futures-task" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd" + +[[package]] +name = "futures-util" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", + "zeroize", +] + +[[package]] +name = "getrandom" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "libc", + "r-efi 5.3.0", + "wasip2", +] + +[[package]] +name = "getrandom" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "r-efi 6.0.0", + "rand_core 0.10.1", + "wasm-bindgen", +] + +[[package]] +name = "ghash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" +dependencies = [ + "opaque-debug", + "polyval 0.6.2", +] + +[[package]] +name = "ghash" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eecf2d5dc9b66b732b97707a0210906b1d30523eb773193ab777c0c84b3e8d5" +dependencies = [ + "polyval 0.7.3", +] + +[[package]] +name = "gif" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee8cfcc411d9adbbaba82fb72661cc1bcca13e8bba98b364e62b2dba8f960159" +dependencies = [ + "color_quant", + "weezl", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "hashbrown" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] + +[[package]] +name = "hashbrown" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" + +[[package]] +name = "hashlink" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "824e001ac4f3012dd16a264bec811403a67ca9deb6c102fc5049b32c4574b35f" +dependencies = [ + "hashbrown 0.16.1", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hickory-net" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c480823ed7c2c5d0f09c41020cb6b7c28029ce60ec42dc942158dcf22f8e0a4d" +dependencies = [ + "async-trait", + "cfg-if", + "data-encoding", + "futures-channel", + "futures-io", + "futures-util", + "hickory-proto", + "idna", + "ipnet", + "jni", + "rand 0.10.3", + "thiserror", + "tinyvec", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "hickory-proto" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12b92608f679a6fa515dd1d15c1ff89443026e391200a2c840c7afcba482893d" +dependencies = [ + "data-encoding", + "idna", + "ipnet", + "jni", + "once_cell", + "prefix-trie", + "rand 0.10.3", + "ring", + "thiserror", + "tinyvec", + "tracing", + "url", +] + +[[package]] +name = "hickory-resolver" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f3da5255c95d5a716857d54b5b8f4e8d67c3484d3beaaaae2ce25063b3ba981" +dependencies = [ + "cfg-if", + "futures-util", + "hickory-net", + "hickory-proto", + "ipconfig", + "ipnet", + "jni", + "moka", + "ndk-context", + "once_cell", + "parking_lot", + "rand 0.10.3", + "resolv-conf", + "smallvec", + "system-configuration", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "hkdf" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +dependencies = [ + "hmac 0.12.1", +] + +[[package]] +name = "hkdf" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4aaa26c720c68b866f2c96ef5c1264b3e6f473fe5d4ce61cd44bbe913e553018" +dependencies = [ + "hmac 0.13.0", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "hmac" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6303bc9732ae41b04cb554b844a762b4115a61bfaa81e3e83050991eeb56863f" +dependencies = [ + "digest 0.11.3", +] + +[[package]] +name = "hmac-sha1-compact" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ed9b23855291da44e7e84616e19dc0d969c3580e14ffa6b759f28775e26afc1" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "hmac-sha256" +version = "1.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ad320b3b96fb2a455a0726d16efe0a5afdbd34b71dea5bc53b05ea057714d4e" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "hmac-sha512" +version = "1.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66de62217b456dfbbba2bed965a134a4df57c48f0eac4c772018aee528e72244" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "html-escape" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "491194d601b4fa9fac3c9571e014070a0ad1bc3392d1bc10419695196a8b3cc3" + +[[package]] +name = "http" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "918d3568bebf352712bc2ef3d46a8bcf1a75b373be6539de198e9105cbbf9ce0" +dependencies = [ + "bytes", + "itoa", +] + +[[package]] +name = "http-body" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca2a8f2913ee65f60facd6a5905613afaa448497a0230cc41ce022d93290bc2c" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23169fe34a5fbcdd3f3862e78fb9b6fccd5f02a6dc6f732547005d45631ce71c" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "http-range-header" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9171a2ea8a68358193d15dd5d70c1c10a2afc3e7e4c5bc92bc9f025cebd7359c" + +[[package]] +name = "httparse" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "hybrid-array" +version = "0.4.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27f864f10dfb56725ce5ce5472bc52252c8f93a4ab86327122cebf62c5f59a17" +dependencies = [ + "ctutils", + "typenum", +] + +[[package]] +name = "hyper" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c3e324da4c95177d6291d4c8730197c0d1822f8a9766814a4a44fa5ab797c9c" +dependencies = [ + "atomic-waker", + "bytes", + "futures-core", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.27.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfa8e654703247911e29c23fbeaa261834bd9bb74efba2f9acddc37bfb127f53" +dependencies = [ + "http", + "hyper", + "hyper-util", + "rustls", + "tokio", + "tokio-rustls", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddc03d96684f9226b8a787cdb71488417b53ab5ea8fdb1dac946cb9431cc8bff" +dependencies = [ + "base64 0.23.1", + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "httparse", + "hyper", + "ipnet", + "libc", + "percent-encoding", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.65" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "log", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "icu_collections" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe090a42a0d3140fed8c63263ed1fecc02422cb2f4bfe55cd8de2de1b8e105dd" +dependencies = [ + "displaydoc", + "potential_utf", + "utf8_iter", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25d29b57c17c6528d0dc4c2141cfa2d08200465acb537a3909c8b9b8a4a984c0" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "404a3b8c486f205c87fe7f23ab6894d84a4ad76d6e4671ae1981ba7def87c599" +dependencies = [ + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20f0088bfb7441f7a37fa0c9e20cb1e9cba1cac6b9ce8cd2a6dc44294f8e8cbc" + +[[package]] +name = "icu_properties" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ea83d991c56158f7cf898bf86436c1dfe7c07ee82fe88951f2695c9f37a379f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98f29af82d02b163fe50161388350e743bb3107cc8e8c2f7314cb505faddfcf" + +[[package]] +name = "icu_provider" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413099315636c588ee8f011190b329b971a09a8fae9d157e01dcae8379468514" +dependencies = [ + "displaydoc", + "icu_locale_core", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "idna" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "image" +version = "0.25.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85ab80394333c02fe689eaf900ab500fbd0c2213da414687ebf995a65d5a6104" +dependencies = [ + "bytemuck", + "byteorder-lite", + "color_quant", + "gif", + "image-webp", + "moxcms", + "num-traits", + "png", + "zune-core", + "zune-jpeg", +] + +[[package]] +name = "image-webp" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "525e9ff3e1a4be2fbea1fdf0e98686a6d98b4d8f937e1bf7402245af1909e8c3" +dependencies = [ + "byteorder-lite", + "quick-error", +] + +[[package]] +name = "indexmap" +version = "2.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855" +dependencies = [ + "equivalent", + "hashbrown 0.17.1", +] + +[[package]] +name = "inout" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" +dependencies = [ + "generic-array", +] + +[[package]] +name = "inout" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b5cf4372d022092674a83b8febf5865f7a573cc0c5baec5e49c879b6a20978f" +dependencies = [ + "hybrid-array", +] + +[[package]] +name = "ipconfig" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d40460c0ce33d6ce4b0630ad68ff63d6661961c48b6dba35e5a4d81cfb48222" +dependencies = [ + "socket2", + "widestring", + "windows-registry", + "windows-result", + "windows-sys 0.61.2", +] + +[[package]] +name = "ipnet" +version = "2.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "791930b43c0d5973160d90a8f3894509f2b273430f5c5c73b668636d0287c5c0" +dependencies = [ + "serde", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "jid" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01200283c7e9307b1afee820eea16008048b6712ef768617e18f36aadb1ed272" +dependencies = [ + "idna", + "memchr", + "minidom", + "stringprep", +] + +[[package]] +name = "jni" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5efd9a482cf3a427f00d6b35f14332adc7902ce91efb778580e180ff90fa3498" +dependencies = [ + "cfg-if", + "combine", + "jni-macros", + "jni-sys", + "log", + "simd_cesu8", + "thiserror", + "walkdir", + "windows-link", +] + +[[package]] +name = "jni-macros" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a00109accc170f0bdb141fed3e393c565b6f5e072365c3bd58f5b062591560a3" +dependencies = [ + "proc-macro2", + "quote", + "rustc_version", + "simd_cesu8", + "syn 2.0.119", +] + +[[package]] +name = "jni-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2" +dependencies = [ + "jni-sys-macros", +] + +[[package]] +name = "jni-sys-macros" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264" +dependencies = [ + "quote", + "syn 2.0.119", +] + +[[package]] +name = "jobserver" +version = "0.1.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c00acbd29eabad4a2392fa0e921c874934dbbf4194312ad20f04a0ed67a3cb3" +dependencies = [ + "getrandom 0.4.3", + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7883d941dae510fb2d978fc3fe018c71c9e2892fd38854de3e8b92c2e5ad9cc5" +dependencies = [ + "cfg-if", + "futures-util", + "wasm-bindgen", +] + +[[package]] +name = "jwt-simple" +version = "0.12.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06a4207b9d1f423858853fb9ee8b34aebc2b661f3b446ca4efda46c4b3700a2f" +dependencies = [ + "anyhow", + "binstring", + "blake2b_simd", + "coarsetime", + "ct-codecs", + "ed25519-compact", + "hmac-sha1-compact", + "hmac-sha256", + "hmac-sha512", + "k256", + "p256", + "p384", + "rand 0.8.8", + "serde", + "serde_json", + "superboring", + "thiserror", + "zeroize", +] + +[[package]] +name = "k256" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" +dependencies = [ + "cfg-if", + "ecdsa", + "elliptic-curve", + "once_cell", + "sha2 0.10.9", + "signature 2.2.0", +] + +[[package]] +name = "keccak" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8f198d1db720e4940b5a493201d199d9f24f568f8f746bd13706243a2f71598" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.1", +] + +[[package]] +name = "lazy_static" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20870f649af7073d53e38067b2a84312175d56ea15217e1b15bc83506ec50afb" +dependencies = [ + "spin", +] + +[[package]] +name = "libc" +version = "0.2.191" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65cd87c9a6d60536580b316ad985726104730a5151c99845f2490428ef91240a" + +[[package]] +name = "libm" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" + +[[package]] +name = "libsqlite3-sys" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f111c8c41e7c61a49cd34e44c7619462967221a6443b0ec299e0ac30cfb9b1" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "litemap" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47d9d19d1d6efa0109d2f65ff4c85cddd50bd572e5a00127ab10987290bcefae" + +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6" + +[[package]] +name = "lru-slab" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4050469837a6ff301cd14c1f8f24f88549e6d548f24f64e2148eb0f72cebc51f" + +[[package]] +name = "matchers" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" +dependencies = [ + "regex-automata", +] + +[[package]] +name = "matchit" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" + +[[package]] +name = "md-5" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69b6441f590336821bb897fb28fc622898ccceb1d6cea3fde5ea86b090c4de98" +dependencies = [ + "cfg-if", + "digest 0.11.3", +] + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "mime_guess" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" +dependencies = [ + "mime", + "unicase", +] + +[[package]] +name = "minidom" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50b47a02dceb0a36b59ebd5971ce47b9db62593527f9e6800d640f3677fc0021" +dependencies = [ + "rxml", + "thiserror", +] + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", + "serde_json", +] + +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "miniz_oxide" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b63fbc4a50860e98e7b2aa7804ded1db5cbc3aff9193adaff57a6931bf7c4b4c" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "mio" +version = "1.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1788edb87fdc09c7e26304471e2f5be8cdefb1b6930d6e3985fc02ff53bf86ee" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.61.2", +] + +[[package]] +name = "ml-dsa" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "add6b9d92e496f16f4526d68ff29da1483aba4b119baeab8bed3b9e3544a6f3d" +dependencies = [ + "const-oid 0.10.2", + "crypto-common 0.2.2", + "ctutils", + "hybrid-array", + "module-lattice", + "pkcs8 0.11.0", + "shake", + "signature 3.0.0", +] + +[[package]] +name = "module-lattice" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c61b87c9683ab7cb1c6871d261ad5479b6b10ceb52c4352aaca3b5d35a8febe" +dependencies = [ + "ctutils", + "hybrid-array", + "num-traits", +] + +[[package]] +name = "moka" +version = "0.12.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4293f18e7567a1caf3c584855554377025c65e0aa445344d04171f5ad63d19b9" +dependencies = [ + "crossbeam-channel", + "crossbeam-epoch", + "crossbeam-utils", + "equivalent", + "parking_lot", + "portable-atomic", + "smallvec", + "tagptr", + "uuid", +] + +[[package]] +name = "movim" +version = "0.1.0" +dependencies = [ + "aes-gcm 0.11.1", + "anyhow", + "axum", + "axum-extra", + "base64 0.23.1", + "base64ct", + "chrono", + "chrono-tz", + "futures", + "futures-util", + "hex", + "html-escape", + "image", + "indexmap", + "minidom", + "minijinja", + "percent-encoding", + "rand 0.9.5", + "regex", + "reqwest", + "sasl", + "serde", + "serde_json", + "sha1 0.11.0", + "sha2 0.11.1", + "sqlx", + "tokio", + "tokio-xmpp", + "tower-http 0.7.1", + "tracing", + "tracing-subscriber", + "uuid", + "web-push-native", + "xmpp-parsers", + "xso", +] + +[[package]] +name = "moxcms" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb85c154ba489f01b25c0d36ae69a87e4a1c73a72631fc6c0eb6dde34a73e44b" +dependencies = [ + "num-traits", + "pxfm", +] + +[[package]] +name = "multer" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83e87776546dc87511aa5ee218730c92b666d7264ab6ed41f9d215af9cd5224b" +dependencies = [ + "bytes", + "encoding_rs", + "futures-util", + "http", + "httparse", + "memchr", + "mime", + "spin", + "version_check", +] + +[[package]] +name = "multiversion_no_op" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "743fb55ba31b18fb1ecef6bdc9aa2743314978ac084044301a7eee33fb99a20d" + +[[package]] +name = "ndk-context" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" + +[[package]] +name = "nu-ansi-term" +version = "0.50.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "num-bigint-dig" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7" +dependencies = [ + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand 0.8.8", + "smallvec", + "zeroize", +] + +[[package]] +name = "num-conv" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441" + +[[package]] +name = "num-integer" +version = "0.1.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ce2d95d4b3734dc35aa2f45e1aa22cd416814592a4f9d9205e11affd5b8e10b" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c92800bd69a1eac91786bcfe9da64a897eb72911b8dc3095decbd07429e8048b" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "once_cell" +version = "1.21.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" +dependencies = [ + "critical-section", + "portable-atomic", +] + +[[package]] +name = "opaque-debug" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" + +[[package]] +name = "openssl-probe" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" + +[[package]] +name = "p256" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" +dependencies = [ + "ecdsa", + "elliptic-curve", + "primeorder", + "sha2 0.10.9", +] + +[[package]] +name = "p384" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe42f1670a52a47d448f14b6a5c61dd78fce51856e68edaa38f7ae3a46b8d6b6" +dependencies = [ + "ecdsa", + "elliptic-curve", + "primeorder", + "sha2 0.10.9", +] + +[[package]] +name = "parking" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" + +[[package]] +name = "parking_lot" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-link", +] + +[[package]] +name = "pbkdf2" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + +[[package]] +name = "percent-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" + +[[package]] +name = "phf" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "913273894cec178f401a31ec4b656318d95473527be05c0752cc41cdc32be8b7" +dependencies = [ + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06005508882fb681fd97892ecff4b7fd0fee13ef1aa569f8695dae7ab9099981" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" + +[[package]] +name = "pkcs1" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" +dependencies = [ + "der 0.7.10", + "pkcs8 0.10.2", + "spki 0.7.3", +] + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der 0.7.10", + "spki 0.7.3", +] + +[[package]] +name = "pkcs8" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "451913da69c775a56034ea8d9003d27ee8948e12443eae7c038ba100a4f21cb7" +dependencies = [ + "der 0.8.2", + "spki 0.8.1", +] + +[[package]] +name = "pkg-config" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6b464fbc74e149a392436b17d523f769e057cb6877f6a5c4618bc6f11800548" + +[[package]] +name = "png" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61" +dependencies = [ + "bitflags", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide 0.8.9", +] + +[[package]] +name = "polyval" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" +dependencies = [ + "cfg-if", + "cpufeatures 0.2.17", + "opaque-debug", + "universal-hash 0.5.1", +] + +[[package]] +name = "polyval" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0fa31d631f2b2cb2a544d0aa321ce847a94764d701ca2becc411138b93d49cd" +dependencies = [ + "cpubits", + "cpufeatures 0.3.1", + "universal-hash 0.6.1", +] + +[[package]] +name = "portable-atomic" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85" + +[[package]] +name = "potential_utf" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d83eb9bc6d8e5cf568e7a1101d60ee05e81ed50ea106026f3d18deeb046d7661" +dependencies = [ + "zerovec", +] + +[[package]] +name = "powerfmt" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a6394b9e965e73d0a289ee54f589087e2c676aedf60885baf52c76b771e4958" + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "prefix-trie" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cf6e3177f0684016a5c209b00882e15f8bdd3f3bb48f0491df10cd102d0c6e7" +dependencies = [ + "either", + "ipnet", + "num-traits", +] + +[[package]] +name = "primeorder" +version = "0.13.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" +dependencies = [ + "elliptic-curve", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "pure-rust-locales" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "869675ad2d7541aea90c6d88c81f46a7f4ea9af8cd0395d38f11a95126998a0d" + +[[package]] +name = "pxfm" +version = "0.1.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d55d956fa96f5ec02be2e13af0e20391a5aa83d6a074e3ad368959d0fab299ea" + +[[package]] +name = "quick-error" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" + +[[package]] +name = "quinn" +version = "0.11.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4051e23e9185c255a7e33ef59cdbca87a22d359052eecd22fc6b901fb37d9d11" +dependencies = [ + "bytes", + "cfg_aliases", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash", + "rustls", + "socket2", + "thiserror", + "tokio", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-proto" +version = "0.11.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e750cca55fe4f0439a15d0bb529da9651e79993e8e72c61a899a36d462befbe" +dependencies = [ + "aws-lc-rs", + "bytes", + "getrandom 0.4.3", + "lru-slab", + "rand 0.10.3", + "rand_pcg", + "ring", + "rustc-hash", + "rustls", + "rustls-pki-types", + "slab", + "thiserror", + "tinyvec", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-udp" +version = "0.5.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af66907df18639dcf4db56ca65490cabc4b27a97dbadd96f2926cca73298f016" +dependencies = [ + "cfg_aliases", + "libc", + "once_cell", + "socket2", + "tracing", + "windows-sys 0.61.2", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + +[[package]] +name = "rand" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e058c7de0b26af77780c769414d6257830bb240f3c38477dbc2c16e5f54d6d4c" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9ef1d0d795eb7d84685bca4f72f3649f064e6641543d3a8c415898726a57b41" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.5", +] + +[[package]] +name = "rand" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65c9fb96cbc91e3478eaae79a69fcd3f1ae4ad052e471fe6732fff548984b4af" +dependencies = [ + "chacha20", + "getrandom 0.4.3", + "rand_core 0.10.1", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.5", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.17", +] + +[[package]] +name = "rand_core" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" +dependencies = [ + "getrandom 0.3.4", +] + +[[package]] +name = "rand_core" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" + +[[package]] +name = "rand_pcg" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "caa0f4137e1c0a72f4c651489402276c8e8e1cf081f3b0ba156d2cbeef09e86a" +dependencies = [ + "rand_core 0.10.1", +] + +[[package]] +name = "redox_syscall" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "reqwest" +version = "0.13.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16a1cfa75cc186dd73d5818e510e042e40927bccc9c236b061cea97e1eb08029" +dependencies = [ + "base64 0.23.1", + "bytes", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-rustls", + "hyper-util", + "js-sys", + "log", + "percent-encoding", + "pin-project-lite", + "quinn", + "rustls", + "rustls-pki-types", + "rustls-platform-verifier", + "serde", + "serde_json", + "sync_wrapper", + "tokio", + "tokio-rustls", + "tokio-util", + "tower", + "tower-http 0.6.11", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", +] + +[[package]] +name = "resolv-conf" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" + +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac 0.12.1", + "subtle", +] + +[[package]] +name = "ring" +version = "0.17.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" +dependencies = [ + "cc", + "cfg-if", + "getrandom 0.2.17", + "libc", + "untrusted", + "windows-sys 0.52.0", +] + +[[package]] +name = "rsa" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d" +dependencies = [ + "const-oid 0.9.6", + "digest 0.10.7", + "num-bigint-dig", + "num-integer", + "num-traits", + "pkcs1", + "pkcs8 0.10.2", + "rand_core 0.6.4", + "sha2 0.10.9", + "signature 2.2.0", + "spki 0.7.3", + "subtle", + "zeroize", +] + +[[package]] +name = "rustc-hash" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d" + +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver", +] + +[[package]] +name = "rustls" +version = "0.23.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48e13bd8c0e9365c43cfa5c9e8f9ad49d3c8444926c9aac819e0e4dc503c8fdf" +dependencies = [ + "aws-lc-rs", + "log", + "once_cell", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-native-certs" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a073f5dc7469f984c52ad2752b63b0807745133b6de880b7b64c1ac4c48aec4" +dependencies = [ + "openssl-probe", + "rustls-pki-types", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-pki-types" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f4925028c7eb5d1fcdaf196971378ed9d2c1c4efc7dc5d011256f76c99c0a96" +dependencies = [ + "web-time", + "zeroize", +] + +[[package]] +name = "rustls-platform-verifier" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1167586491e2b18b8bfbb293e8180ec17c201c4f076d7cb3070ca964e7598f98" +dependencies = [ + "core-foundation 0.10.1", + "core-foundation-sys", + "jni", + "log", + "once_cell", + "rustls", + "rustls-native-certs", + "rustls-platform-verifier-android", + "rustls-webpki", + "security-framework", + "security-framework-sys", + "webpki-root-certs", + "windows-sys 0.61.2", +] + +[[package]] +name = "rustls-platform-verifier-android" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eec689c0bc40ff2458a5977b6619cb718087084a18e02a131c599b62d05e1a5f" + +[[package]] +name = "rustls-webpki" +version = "0.103.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4443b1b6d39d7c663139942cc4558262562d2c84123bb6282ef177009ca8b281" +dependencies = [ + "aws-lc-rs", + "ring", + "rustls-pki-types", + "untrusted", +] + +[[package]] +name = "rustversion" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f" + +[[package]] +name = "rxml" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4959705975475401c48b375deedd848d15b816c3915978fc617b31a1776fb60a" +dependencies = [ + "bytes", + "futures-core", + "pin-project-lite", + "rxml_proc", + "rxml_validation 0.12.0", + "tokio", +] + +[[package]] +name = "rxml_proc" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d46a2e263a1beb8b39e69bffee9f2395f479cc02472c247af00e065006970ca7" +dependencies = [ + "quote", + "rxml_validation 0.11.0", + "syn 2.0.119", +] + +[[package]] +name = "rxml_validation" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "826e80413b9a35e9d33217b3dcac04cf95f6559d15944b93887a08be5496c4a4" + +[[package]] +name = "rxml_validation" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4895cf728e9ef2b921d1b80793affb1a2d2e0cbd6c24555c18e25d8aee0124b8" +dependencies = [ + "compact_str", +] + +[[package]] +name = "ryu" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "sasl" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6777dddc8108d9f36afbb008bc15b18edab2d17a8664ef58380b9398460e4e30" +dependencies = [ + "base64 0.22.1", + "getrandom 0.2.17", + "hmac 0.12.1", + "pbkdf2", + "sha1 0.10.7", + "sha2 0.10.9", +] + +[[package]] +name = "schannel" +version = "0.1.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cb23c424d8ee841bb4d813677ca237e2a610067d594fec130f87d6093495ab5" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct", + "der 0.7.10", + "generic-array", + "pkcs8 0.10.2", + "subtle", + "zeroize", +] + +[[package]] +name = "security-framework" +version = "3.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" +dependencies = [ + "bitflags", + "core-foundation 0.10.1", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "semver" +version = "1.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.9", +] + +[[package]] +name = "serde_json" +version = "1.0.154" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7e9cc8b1b85264074fbcc02a88680c4096b1e47df8f739dceb03bf482f04bd6" +dependencies = [ + "foldhash", + "indexmap", + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "serde_path_to_error" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457" +dependencies = [ + "itoa", + "serde", + "serde_core", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sha1" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a978451301f4db1d02937a4ab3ccce137717b81826e79b7d49ffe3244a13c3b8" +dependencies = [ + "cfg-if", + "cpufeatures 0.2.17", + "digest 0.10.7", +] + +[[package]] +name = "sha1" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aacc4cc499359472b4abe1bf11d0b12e688af9a805fa5e3016f9a386dc2d0214" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.1", + "digest 0.11.3", +] + +[[package]] +name = "sha2" +version = "0.10.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +dependencies = [ + "cfg-if", + "cpufeatures 0.2.17", + "digest 0.10.7", +] + +[[package]] +name = "sha2" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47d7069beb7d6ac7b9acd1039986e73443f24234f41074da099d6f994ac9ad19" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.1", + "digest 0.11.3", +] + +[[package]] +name = "sha3" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc9bad02c26382724b2d2692c6f179285e4b54eeecd7968f52a50059c3c11759" +dependencies = [ + "digest 0.11.3", + "keccak", + "sponge-cursor", +] + +[[package]] +name = "shake" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09057cb2149ad4cbd2da1e26b351f9a4c354219421229c69c3063e6f61947c4a" +dependencies = [ + "digest 0.11.3", + "keccak", + "sponge-cursor", +] + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "signal-hook-registry" +version = "1.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" +dependencies = [ + "errno", + "libc", +] + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest 0.10.7", + "rand_core 0.6.4", +] + +[[package]] +name = "signature" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d567dcbaf0049cb8ac2608a76cd95ff9e4412e1899d389ee400918ca7537f5" +dependencies = [ + "digest 0.11.3", + "rand_core 0.10.1", +] + +[[package]] +name = "simd-adler32" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea" + +[[package]] +name = "simd_cesu8" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11031e251abf8611c80f460e19dbdeb54a66db918e49c65a7065b46ac7aec520" +dependencies = [ + "rustc_version", + "simdutf8", +] + +[[package]] +name = "simdutf8" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "slab" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" + +[[package]] +name = "smallvec" +version = "1.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b3dc8af474f516a851ff4bd12db780f948b9250ad37211e4eec0bccea54e01b" +dependencies = [ + "serde", +] + +[[package]] +name = "socket2" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "spin" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3763264f6b73151db08c50ff20d7d8a0b8796e021cdea7ceedad07b80155fa0e" +dependencies = [ + "lock_api", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der 0.7.10", +] + +[[package]] +name = "spki" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ef958a98b9d5da290cfc78946e9f3e61e1e62a18db0d92cac0b83cc161491a9" +dependencies = [ + "base64ct", + "der 0.8.2", +] + +[[package]] +name = "sponge-cursor" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a0219bd7d979d58245a4f41f695e1ac9f8befdffadd7f61f1bae9e39abc6620" + +[[package]] +name = "sqlx" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "378620ccc25c62c89d8be1c819e76a88d59bdcc3304733330788948e619bfd71" +dependencies = [ + "sqlx-core", + "sqlx-macros", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", +] + +[[package]] +name = "sqlx-core" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05b44e85bf579a8eeb4ceaa77a3a523baf2bf0e9bac7e40f405d537b5d2d5ccb" +dependencies = [ + "base64 0.22.1", + "bytes", + "cfg-if", + "chrono", + "crc", + "crossbeam-queue", + "either", + "event-listener", + "futures-core", + "futures-intrusive", + "futures-io", + "futures-util", + "hashbrown 0.16.1", + "hashlink", + "indexmap", + "log", + "memchr", + "percent-encoding", + "serde", + "serde_json", + "sha2 0.10.9", + "smallvec", + "thiserror", + "tokio", + "tokio-stream", + "tracing", + "url", +] + +[[package]] +name = "sqlx-macros" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd2b84f2bc39a5705ef27ec785a11c934a41bbd4a24941e257927cddc26b60bf" +dependencies = [ + "proc-macro2", + "quote", + "sqlx-core", + "sqlx-macros-core", + "syn 2.0.119", +] + +[[package]] +name = "sqlx-macros-core" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb8d96de5fdc85a5c4ec813432b523ec637e80ba98f046555f75f7908ddac7c3" +dependencies = [ + "cfg-if", + "dotenvy", + "either", + "heck", + "hex", + "proc-macro2", + "quote", + "serde", + "serde_json", + "sha2 0.10.9", + "sqlx-core", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", + "syn 2.0.119", + "thiserror", + "tokio", + "url", +] + +[[package]] +name = "sqlx-mysql" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90b8020fe17c5f2c245bfa2505d7ef59c5604839527c740266ad2214acebea27" +dependencies = [ + "bitflags", + "byteorder", + "bytes", + "chrono", + "crc", + "digest 0.11.3", + "dotenvy", + "either", + "futures-core", + "futures-util", + "generic-array", + "log", + "percent-encoding", + "serde", + "sha1 0.11.0", + "sha2 0.11.1", + "sqlx-core", + "thiserror", + "tracing", +] + +[[package]] +name = "sqlx-postgres" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87a2bdd6e83f6b3ea525ca9fee568030508b58355a43d0b2c1674d5f79dcd65e" +dependencies = [ + "atoi", + "base64 0.22.1", + "bitflags", + "byteorder", + "chrono", + "crc", + "dotenvy", + "etcetera", + "futures-channel", + "futures-core", + "futures-util", + "hex", + "hkdf 0.13.0", + "hmac 0.13.0", + "itoa", + "log", + "md-5", + "memchr", + "rand 0.10.3", + "serde", + "serde_json", + "sha2 0.11.1", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror", + "tracing", + "whoami", +] + +[[package]] +name = "sqlx-sqlite" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "488e99c397a62007e4229aec669a179816339afc6d2620ca6fa420dbee2e982c" +dependencies = [ + "atoi", + "chrono", + "flume", + "form_urlencoded", + "futures-channel", + "futures-core", + "futures-executor", + "futures-intrusive", + "futures-util", + "libsqlite3-sys", + "log", + "percent-encoding", + "serde", + "sqlx-core", + "thiserror", + "tracing", + "url", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "stringprep" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" +dependencies = [ + "unicode-bidi", + "unicode-normalization", + "unicode-properties", +] + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "superboring" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19706eb9c165c3c27117e8795678015277188647b03db4f7cbf9df98048e09a6" +dependencies = [ + "aes-gcm 0.11.1", + "aes-keywrap", + "getrandom 0.2.17", + "getrandom 0.4.3", + "hmac-sha1-compact", + "hmac-sha256", + "hmac-sha512", + "ml-dsa", + "rand 0.8.8", + "rsa", +] + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d78c8dee4c7bf0e14673097256fed6142ce9d3b85a408189d07482442145823b" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] + +[[package]] +name = "synstructure" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "901704edd0dfe137f1987838ee4f259e4e063c31371bdb423f7ae38ec6f77f02" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.9", +] + +[[package]] +name = "system-configuration" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b" +dependencies = [ + "bitflags", + "core-foundation 0.9.4", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "tagptr" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.9", +] + +[[package]] +name = "thread_local" +version = "1.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ad99c4c6d32803332c548b1af0540b357b3f5fc0be8f6c6bfe8b2e6ae784070" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "time" +version = "0.3.55" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb87b95ec50ddfa440816d227a17b2ccbdda963a316a727fda0fc4334f7d134" +dependencies = [ + "deranged", + "num-conv", + "powerfmt", + "serde_core", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109" + +[[package]] +name = "time-macros" +version = "0.2.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e689342a48d2ea927c87ea50cabf8594854bf940e9310208848d680d668ed85" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tinystr" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abc840c238154d58f9e86b2792261edfde565a17696e1cda1a449de27979801a" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tinyvec" +version = "1.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd3ca314f692efd6c868f8408f53fe444634a845f96c028b97d35f6a1f79f0ee" + +[[package]] +name = "tokio" +version = "1.54.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b52fd3255258d26fac7264ab5a76b53c13367136dc011d3d6ad4f8ed070396a3" +dependencies = [ + "bytes", + "libc", + "mio", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys 0.61.2", +] + +[[package]] +name = "tokio-macros" +version = "2.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.9", +] + +[[package]] +name = "tokio-rustls" +version = "0.26.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9cc2678c2cdd569ef8215e2afd7954ada2ae20b4fdd2c5fe6139a3b02d105db" +dependencies = [ + "rustls", + "tokio", +] + +[[package]] +name = "tokio-stream" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3d06f0b082ba57c26b79407372e57cf2a1e28124f78e9479fe80322cf53420b" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", + "tokio-util", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f72a05e828585856dacd553fba484c242c46e391fb0e58917c942ee9202915c" +dependencies = [ + "futures-util", + "log", + "tokio", + "tungstenite", +] + +[[package]] +name = "tokio-util" +version = "0.7.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e464cf451ba96ebfc6f9b6542f17ee8b8956e33f1e40d9690624e59d7a7f8a4b" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-xmpp" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8921a165ab1eefd447cb1661423c582ac77b9c6960e123a71c8ad9cebc40b026" +dependencies = [ + "bytes", + "futures", + "hickory-resolver", + "idna", + "log", + "pin-project-lite", + "rand 0.10.3", + "rustls-native-certs", + "rxml", + "sasl", + "thiserror", + "tokio", + "tokio-rustls", + "tokio-stream", + "xmpp-parsers", + "xso", +] + +[[package]] +name = "tower" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper", + "tokio", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-http" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cfcf7e2740e6fc6d4d688b4ef00650406bb94adf4731e43c096c3a19fe40840" +dependencies = [ + "bitflags", + "bytes", + "futures-util", + "http", + "http-body", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", + "url", +] + +[[package]] +name = "tower-http" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08a05a66a4fdd61cbbe0a1d755ffe0ca6aba159dd4820936a0ff8a8278245b9c" +dependencies = [ + "bitflags", + "bytes", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", + "http-range-header", + "httpdate", + "mime", + "mime_guess", + "percent-encoding", + "pin-project-lite", + "tokio", + "tokio-util", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + +[[package]] +name = "tracing" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" +dependencies = [ + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "tracing-core" +version = "0.1.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex-automata", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "tungstenite" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c01152af293afb9c7c2a57e4b559c5620b421f6d133261c60dd2d0cdb38e6b8" +dependencies = [ + "bytes", + "data-encoding", + "http", + "httparse", + "log", + "rand 0.9.5", + "sha1 0.10.7", + "thiserror", +] + +[[package]] +name = "typenum" +version = "1.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20" + +[[package]] +name = "unicase" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "357cc3acc6a036009fd6c973ed009037c732d60d0b4f6c673e9041497482a28f" + +[[package]] +name = "unicode-bidi" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" + +[[package]] +name = "unicode-ident" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563" + +[[package]] +name = "unicode-normalization" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75cd3fb03d5288b3ba9a1ee103ac7e9cbb59f0b03d64f8ddfcc04dd42758a85d" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-properties" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d" + +[[package]] +name = "universal-hash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" +dependencies = [ + "crypto-common 0.1.7", + "subtle", +] + +[[package]] +name = "universal-hash" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4987bdc12753382e0bec4a65c50738ffaabc998b9cdd1f952fb5f39b0048a96" +dependencies = [ + "crypto-common 0.2.2", + "ctutils", +] + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "url" +version = "2.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "serde", +] + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "uuid" +version = "1.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a0e2d11620c50695fe12bbbfde96b3477fe606e7284c22d505c12ce51214514" +dependencies = [ + "getrandom 0.4.3", + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "valuable" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec4cdd0dd910afe868b7ef477227d8d538b46b3075031afee8a9f2acb0a2ed0b" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.1+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + +[[package]] +name = "wasip2" +version = "1.0.4+wasi-0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67efb37e106e55ce722a510d6b5f9c17f083e5fc79afc2badeb12cc313d9487" +dependencies = [ + "wit-bindgen", +] + +[[package]] +name = "wasix" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae86f02046da16a333a9129d31451423e1657737ecdafed4193838a5f54c5cfe" +dependencies = [ + "wasi", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.129" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb54f33acc68fd454578d9820b0bde1a1a3d17aa17bb7b6595806d02886d409" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cbab34de2d982e9b48e18d216d04c4a6f641066ff19ffb699980f591ee3610e" +dependencies = [ + "js-sys", + "tokio", + "wasm-bindgen", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.129" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e29d0c35b16e224a7eeb5cd2d25e3e1968fbd65604117b44d3b789d00ee8535" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.129" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f501a8bc3719dba86ef8ae4728879c08001bea749eb1333ac5b91e040e2a6b7" +dependencies = [ + "bumpalo", + "proc-macro2", + "quote", + "syn 3.0.9", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.129" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23f0c9c52aa7cd7d77769a4cfe2a9adb1b331f489a41d912ce14513d5ab995c6" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "wasm-streams" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d1ec4f6517c9e11ae630e200b2b65d193279042e28edd4a2cda233e46670bbb" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "web-push-native" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7628c93e39aeee4c0bca50ae333052b4f174c653e8fca1d0a8e34f9bc4879c0c" +dependencies = [ + "aes-gcm 0.10.3", + "base64ct", + "ece-native", + "hkdf 0.13.0", + "http", + "jwt-simple", + "p256", + "serde", + "sha2 0.11.1", +] + +[[package]] +name = "web-sys" +version = "0.3.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88261b9deccee56594c11a3460c462c41f58d148598fe70ad77070126a68aba4" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki-root-certs" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e49d0e65abc00c142e8f9428da991da9f1a250c39be97459901eb12b9b49f62a" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "weezl" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88" + +[[package]] +name = "whoami" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "626c4bac6755d76ffc12cb01b2eac751db1996b9e0041de9aa02c8c211ddc82c" + +[[package]] +name = "widestring" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72069c3113ab32ab29e5584db3c6ec55d416895e60715417b5b883a357c3e471" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "windows-core" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link", + "windows-result", + "windows-strings", +] + +[[package]] +name = "windows-implement" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "windows-interface" +version = "0.59.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-registry" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" +dependencies = [ + "windows-link", + "windows-result", + "windows-strings", +] + +[[package]] +name = "windows-result" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-strings" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "wit-bindgen" +version = "0.57.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" + +[[package]] +name = "writeable" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc" + +[[package]] +name = "xmpp-parsers" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92b5d63bbd122ce3b5287d83efdd6916fb88bb274be23f6a9140238e0e1465b0" +dependencies = [ + "base64 0.22.1", + "blake2", + "chrono", + "digest 0.11.3", + "jid", + "log", + "minidom", + "serde_json", + "sha1 0.11.0", + "sha2 0.11.1", + "sha3", + "uuid", + "xso", +] + +[[package]] +name = "xso" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0e57b564328d6826ab1fe8775f45ea062522cc2c345efd6e9de2c9ebcc94a1e" +dependencies = [ + "base64 0.22.1", + "bytes", + "jid", + "minidom", + "rxml", + "serde_json", + "uuid", + "xso_proc", +] + +[[package]] +name = "xso_proc" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd68a7ea9d0463945b441dd8003121da60f2ab07f70f6a7510ac59eedd6ae6aa" +dependencies = [ + "proc-macro2", + "quote", + "rxml_validation 0.12.0", + "syn 2.0.119", +] + +[[package]] +name = "yoke" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "417ef3fcf6c300b7dbd25c85531a746931c02ad536f3cf4786ed1e88223340b3" +dependencies = [ + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec8ebde2db3681e8c9980cc27822030e68752690ddfa9473e739aeb4dbde6d71" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.9", + "synstructure", +] + +[[package]] +name = "zerocopy" +version = "0.8.63" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5fe1f8f1b06191a00962174c61aa5005e0bb391a6d80d07e24d115c01a92ed8" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.63" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "863ad3ac83293fb4d740aedbfdc9240dd8d1a50c1099acd76ce80ce7c7230c7f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zerofrom" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f75b4683f6c7f45248d4d64056a24298c6281e0993356d7d1b4a1a962ef10d4a" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.9", + "synstructure", +] + +[[package]] +name = "zeroize" +version = "1.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13084392c5e4bc371903e2935a5eaeed24905a7511356b883835e18a78f6879" + +[[package]] +name = "zerotrie" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ea269c3bd32f0a32c321907a2ae912ba6f4649bb0fc764a15627e99a7095a3f" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f58a2799cfe9a1670c7ea8edbd52ef8edb93cb37a7f83bf31ba9e35d9dae6a40" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3743ddbf47738d929cd1ae2e199d40d0162979dfe31aef8ae646d2bf00bf97a" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.9", +] + +[[package]] +name = "zlib-rs" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b268e58e7c693d7c271f93ffc4ba3b380412554231c85bf61ca7af91042a4112" + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" + +[[package]] +name = "zune-core" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d56377fd46368984a170bc5aac5567e52ca5da874caa60bea39fcbca78fb658b" + +[[package]] +name = "zune-jpeg" +version = "0.5.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27bc9d5b815bc103f142aa054f561d9187d191692ec7c2d1e2b4737f8dbd7296" +dependencies = [ + "zune-core", +] diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..e6e18c1 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,41 @@ +[package] +name = "movim" +version = "0.1.0" +edition = "2024" + +[dependencies] +aes-gcm = "0.11.1" +anyhow = "1.0.104" +axum = { version = "0.8", features = ["multipart", "ws"] } +axum-extra = { version = "0.12.6", features = ["cookie"] } +base64 = "0.23.1" +base64ct = "1.8.3" +chrono = { version = "0.4.45", features = ["serde", "unstable-locales"] } +chrono-tz = "0.10.4" +futures = "0.3.34" +futures-util = "0.3.34" +hex = "0.4.3" +html-escape = "0.3.0" +image = { version = "0.25.10", default-features = false, features = ["png", "jpeg", "webp", "gif"] } +indexmap = "2.14.2" +minidom = "0.19" +minijinja = { version = "2", features = ["loader", "json"] } +percent-encoding = "2.3.2" +rand = "0.9" +regex = "1.13.1" +reqwest = { version = "0.13.5", default-features = false, features = ["rustls", "stream", "json"] } +sasl = "0.5" +serde = { version = "1.0.229", features = ["derive"] } +serde_json = { version = "1.0.154", features = ["preserve_order"] } +sha1 = "0.11.0" +sha2 = "0.11.1" +sqlx = { version = "0.9", features = ["runtime-tokio", "sqlite", "chrono"] } +tokio = { version = "1", features = ["full"] } +tokio-xmpp = { version = "6", features = ["insecure-tcp"] } +tower-http = { version = "0.7", features = ["fs"] } +tracing = "0.1.44" +tracing-subscriber = { version = "0.3.23", features = ["env-filter"] } +uuid = { version = "1.29.0", features = ["v4"] } +web-push-native = { version = "0.5", features = ["vapid"] } +xmpp-parsers = "0.23" +xso = "0.4" diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..dba13ed --- /dev/null +++ b/LICENSE @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. diff --git a/README.md b/README.md new file mode 100644 index 0000000..0422c1b --- /dev/null +++ b/README.md @@ -0,0 +1,55 @@ +# Movim (Rust edition) + +A rewrite of the [Movim](https://movim.eu) XMPP web client backend in Rust, keeping +Movim's frontend (CSS/JS/theme, in `frontend/`). The PHP daemon, widgets and +templates were replaced by a single Rust server (tokio, axum, tokio-xmpp, sqlx/SQLite, +minijinja). Scope: a Conversations-like chat client. + +## Features +1:1 chat, group chats (MUC, bookmarks, invitations, moderation, configuration), +MAM history, carbons, receipts and chat markers, typing states, corrections, +retractions, reactions, replies, link previews (OpenGraph cards, picture links +shown inline), HTTP file upload, avatars and vCards, OMEMO (in-browser +libsignal), 1:1 audio/video calls (Jingle + JMI), group audio/video calls in +group chats (Muji, XEP-0272: a mesh of Jingle sessions), blocking, contact +requests, search, account registration (XEP-0077), settings, Web Push, +last seen (XEP-0319 idle), Client State Indication when no tab is open, and +automatic XMPP reconnection (backoff up to 60s, rooms rejoined). + +## Run + cargo build --release + MOVIM_BIND=0.0.0.0:8080 MOVIM_DOMAIN=example.org ./target/release/movim + +Put it behind a TLS reverse proxy (WebSocket on `/ws/`, same host). + +Link previews are fetched by the server (only public addresses, every redirect +checked) and cached for 30 days. Group calls are a mesh: every participant +sends its streams to every other one, fine for a handful of people. They need a +non-anonymous room (the default for group chats created by Movim). + +Environment: `MOVIM_BIND`, `MOVIM_ROOT`, `MOVIM_DATA_DIR`, `MOVIM_DATABASE_URL`, +`MOVIM_DOMAIN`, `MOVIM_XMPP_WHITELIST`, `MOVIM_MAX_SESSIONS`, +`MOVIM_DISABLE_REGISTRATION`, `MOVIM_LOCALE`, `MOVIM_SESSION_TIMEOUT_HOURS`, +dev only: `MOVIM_XMPP_PLAINTEXT=host:port`, `MOVIM_ALLOW_PRIVATE_URLS=1`, +`MOVIM_DEBUG_XMPP=1`. + +## Tests +`cargo test` runs the unit tests. `tests/e2e/` holds end-to-end scripts that +drive the server (and the real frontend in headless Chromium) against a local +Prosody; see `tests/e2e/README.md`. + +## Frontend patches (vs upstream Movim) +- `widgets/Notif/notif.js`: guard missing service worker registration. +- `widgets/ChatOmemo/chatomemo_storage.js`: blind trust before verification + (upstream trust check crashes: `libsignal.util` is undefined). +- `scripts/movim_jingles.js`: the signaling of each call session runs through a + promise queue (a content-add could arrive before the remote description was + applied, early ICE candidates were dropped). + +## Not implemented +Movim social features (blogs, communities, stories), SFU conference calls +(Movim's own extension; Muji group calls work), sticker packs/GIFs, ad-hoc +commands, XEP-0198 stream resumption. Web Push has only been tested without a real HTTPS push +service; Dictaphone/Snap/Draw go through the upload path but are untested. + +License: AGPL-3.0 (same as Movim). diff --git a/data/movim.sqlite b/data/movim.sqlite new file mode 100644 index 0000000..6f93d91 Binary files /dev/null and b/data/movim.sqlite differ diff --git a/data/movim.sqlite-shm b/data/movim.sqlite-shm new file mode 100644 index 0000000..07da3a4 Binary files /dev/null and b/data/movim.sqlite-shm differ diff --git a/data/movim.sqlite-wal b/data/movim.sqlite-wal new file mode 100644 index 0000000..82936b9 Binary files /dev/null and b/data/movim.sqlite-wal differ diff --git a/data/vapid.key b/data/vapid.key new file mode 100644 index 0000000..9587e04 --- /dev/null +++ b/data/vapid.key @@ -0,0 +1 @@ +vr45gJQnaUJcShMOibGW9Z91mS0R-934uLz4pt7ZyJ0 \ No newline at end of file diff --git a/frontend/emojis.json b/frontend/emojis.json new file mode 100644 index 0000000..0b75729 --- /dev/null +++ b/frontend/emojis.json @@ -0,0 +1 @@ +{"1f004": "mahjong red dragon", "1f0cf": "joker", "1f170": "a button (blood type)", "1f171": "b button (blood type)", "1f17e": "o button (blood type)", "1f17f": "p button", "1f18e": "ab button (blood type)", "1f191": "cl button", "1f192": "cool button", "1f193": "free button", "1f194": "id button", "1f195": "new button", "1f196": "ng button", "1f197": "ok button", "1f198": "sos button", "1f199": "up! button", "1f19a": "vs button", "1f1e6-1f1e8": "flag ascension island", "1f1e6-1f1e9": "flag andorra", "1f1e6-1f1ea": "flag united arab emirates", "1f1e6-1f1eb": "flag afghanistan", "1f1e6-1f1ec": "flag antigua & barbuda", "1f1e6-1f1ee": "flag anguilla", "1f1e6-1f1f1": "flag albania", "1f1e6-1f1f2": "flag armenia", "1f1e6-1f1f4": "flag angola", "1f1e6-1f1f6": "flag antarctica", "1f1e6-1f1f7": "flag argentina", "1f1e6-1f1f8": "flag american samoa", "1f1e6-1f1f9": "flag austria", "1f1e6-1f1fa": "flag australia", "1f1e6-1f1fc": "flag aruba", "1f1e6-1f1fd": "flag Åland islands", "1f1e6-1f1ff": "flag azerbaijan", "1f1e7-1f1e6": "flag bosnia & herzegovina", "1f1e7-1f1e7": "flag barbados", "1f1e7-1f1e9": "flag bangladesh", "1f1e7-1f1ea": "flag belgium", "1f1e7-1f1eb": "flag burkina faso", "1f1e7-1f1ec": "flag bulgaria", "1f1e7-1f1ed": "flag bahrain", "1f1e7-1f1ee": "flag burundi", "1f1e7-1f1ef": "flag benin", "1f1e7-1f1f1": "flag st. barthélemy", "1f1e7-1f1f2": "flag bermuda", "1f1e7-1f1f3": "flag brunei", "1f1e7-1f1f4": "flag bolivia", "1f1e7-1f1f6": "flag caribbean netherlands", "1f1e7-1f1f7": "flag brazil", "1f1e7-1f1f8": "flag bahamas", "1f1e7-1f1f9": "flag bhutan", "1f1e7-1f1fb": "flag bouvet island", "1f1e7-1f1fc": "flag botswana", "1f1e7-1f1fe": "flag belarus", "1f1e7-1f1ff": "flag belize", "1f1e8-1f1e6": "flag canada", "1f1e8-1f1e8": "flag cocos (keeling) islands", "1f1e8-1f1e9": "flag congo - kinshasa", "1f1e8-1f1eb": "flag central african republic", "1f1e8-1f1ec": "flag congo - brazzaville", "1f1e8-1f1ed": "flag switzerland", "1f1e8-1f1ee": "flag côte d’ivoire", "1f1e8-1f1f0": "flag cook islands", "1f1e8-1f1f1": "flag chile", "1f1e8-1f1f2": "flag cameroon", "1f1e8-1f1f3": "flag china", "1f1e8-1f1f4": "flag colombia", "1f1e8-1f1f5": "flag clipperton island", "1f1e8-1f1f6": "flag sark", "1f1e8-1f1f7": "flag costa rica", "1f1e8-1f1fa": "flag cuba", "1f1e8-1f1fb": "flag cape verde", "1f1e8-1f1fc": "flag curaçao", "1f1e8-1f1fd": "flag christmas island", "1f1e8-1f1fe": "flag cyprus", "1f1e8-1f1ff": "flag czechia", "1f1e9-1f1ea": "flag germany", "1f1e9-1f1ec": "flag diego garcia", "1f1e9-1f1ef": "flag djibouti", "1f1e9-1f1f0": "flag denmark", "1f1e9-1f1f2": "flag dominica", "1f1e9-1f1f4": "flag dominican republic", "1f1e9-1f1ff": "flag algeria", "1f1ea-1f1e6": "flag ceuta & melilla", "1f1ea-1f1e8": "flag ecuador", "1f1ea-1f1ea": "flag estonia", "1f1ea-1f1ec": "flag egypt", "1f1ea-1f1ed": "flag western sahara", "1f1ea-1f1f7": "flag eritrea", "1f1ea-1f1f8": "flag spain", "1f1ea-1f1f9": "flag ethiopia", "1f1ea-1f1fa": "flag european union", "1f1eb-1f1ee": "flag finland", "1f1eb-1f1ef": "flag fiji", "1f1eb-1f1f0": "flag falkland islands", "1f1eb-1f1f2": "flag micronesia", "1f1eb-1f1f4": "flag faroe islands", "1f1eb-1f1f7": "flag france", "1f1ec-1f1e6": "flag gabon", "1f1ec-1f1e7": "flag united kingdom", "1f1ec-1f1e9": "flag grenada", "1f1ec-1f1ea": "flag georgia", "1f1ec-1f1eb": "flag french guiana", "1f1ec-1f1ec": "flag guernsey", "1f1ec-1f1ed": "flag ghana", "1f1ec-1f1ee": "flag gibraltar", "1f1ec-1f1f1": "flag greenland", "1f1ec-1f1f2": "flag gambia", "1f1ec-1f1f3": "flag guinea", "1f1ec-1f1f5": "flag guadeloupe", "1f1ec-1f1f6": "flag equatorial guinea", "1f1ec-1f1f7": "flag greece", "1f1ec-1f1f8": "flag south georgia & south sandwich islands", "1f1ec-1f1f9": "flag guatemala", "1f1ec-1f1fa": "flag guam", "1f1ec-1f1fc": "flag guinea-bissau", "1f1ec-1f1fe": "flag guyana", "1f1ed-1f1f0": "flag hong kong sar china", "1f1ed-1f1f2": "flag heard & mcdonald islands", "1f1ed-1f1f3": "flag honduras", "1f1ed-1f1f7": "flag croatia", "1f1ed-1f1f9": "flag haiti", "1f1ed-1f1fa": "flag hungary", "1f1ee-1f1e8": "flag canary islands", "1f1ee-1f1e9": "flag indonesia", "1f1ee-1f1ea": "flag ireland", "1f1ee-1f1f1": "flag israel", "1f1ee-1f1f2": "flag isle of man", "1f1ee-1f1f3": "flag india", "1f1ee-1f1f4": "flag british indian ocean territory", "1f1ee-1f1f6": "flag iraq", "1f1ee-1f1f7": "flag iran", "1f1ee-1f1f8": "flag iceland", "1f1ee-1f1f9": "flag italy", "1f1ef-1f1ea": "flag jersey", "1f1ef-1f1f2": "flag jamaica", "1f1ef-1f1f4": "flag jordan", "1f1ef-1f1f5": "flag japan", "1f1f0-1f1ea": "flag kenya", "1f1f0-1f1ec": "flag kyrgyzstan", "1f1f0-1f1ed": "flag cambodia", "1f1f0-1f1ee": "flag kiribati", "1f1f0-1f1f2": "flag comoros", "1f1f0-1f1f3": "flag st. kitts & nevis", "1f1f0-1f1f5": "flag north korea", "1f1f0-1f1f7": "flag south korea", "1f1f0-1f1fc": "flag kuwait", "1f1f0-1f1fe": "flag cayman islands", "1f1f0-1f1ff": "flag kazakhstan", "1f1f1-1f1e6": "flag laos", "1f1f1-1f1e7": "flag lebanon", "1f1f1-1f1e8": "flag st. lucia", "1f1f1-1f1ee": "flag liechtenstein", "1f1f1-1f1f0": "flag sri lanka", "1f1f1-1f1f7": "flag liberia", "1f1f1-1f1f8": "flag lesotho", "1f1f1-1f1f9": "flag lithuania", "1f1f1-1f1fa": "flag luxembourg", "1f1f1-1f1fb": "flag latvia", "1f1f1-1f1fe": "flag libya", "1f1f2-1f1e6": "flag morocco", "1f1f2-1f1e8": "flag monaco", "1f1f2-1f1e9": "flag moldova", "1f1f2-1f1ea": "flag montenegro", "1f1f2-1f1eb": "flag st. martin", "1f1f2-1f1ec": "flag madagascar", "1f1f2-1f1ed": "flag marshall islands", "1f1f2-1f1f0": "flag north macedonia", "1f1f2-1f1f1": "flag mali", "1f1f2-1f1f2": "flag myanmar (burma)", "1f1f2-1f1f3": "flag mongolia", "1f1f2-1f1f4": "flag macao sar china", "1f1f2-1f1f5": "flag northern mariana islands", "1f1f2-1f1f6": "flag martinique", "1f1f2-1f1f7": "flag mauritania", "1f1f2-1f1f8": "flag montserrat", "1f1f2-1f1f9": "flag malta", "1f1f2-1f1fa": "flag mauritius", "1f1f2-1f1fb": "flag maldives", "1f1f2-1f1fc": "flag malawi", "1f1f2-1f1fd": "flag mexico", "1f1f2-1f1fe": "flag malaysia", "1f1f2-1f1ff": "flag mozambique", "1f1f3-1f1e6": "flag namibia", "1f1f3-1f1e8": "flag new caledonia", "1f1f3-1f1ea": "flag niger", "1f1f3-1f1eb": "flag norfolk island", "1f1f3-1f1ec": "flag nigeria", "1f1f3-1f1ee": "flag nicaragua", "1f1f3-1f1f1": "flag netherlands", "1f1f3-1f1f4": "flag norway", "1f1f3-1f1f5": "flag nepal", "1f1f3-1f1f7": "flag nauru", "1f1f3-1f1fa": "flag niue", "1f1f3-1f1ff": "flag new zealand", "1f1f4-1f1f2": "flag oman", "1f1f5-1f1e6": "flag panama", "1f1f5-1f1ea": "flag peru", "1f1f5-1f1eb": "flag french polynesia", "1f1f5-1f1ec": "flag papua new guinea", "1f1f5-1f1ed": "flag philippines", "1f1f5-1f1f0": "flag pakistan", "1f1f5-1f1f1": "flag poland", "1f1f5-1f1f2": "flag st. pierre & miquelon", "1f1f5-1f1f3": "flag pitcairn islands", "1f1f5-1f1f7": "flag puerto rico", "1f1f5-1f1f8": "flag palestinian territories", "1f1f5-1f1f9": "flag portugal", "1f1f5-1f1fc": "flag palau", "1f1f5-1f1fe": "flag paraguay", "1f1f6-1f1e6": "flag qatar", "1f1f7-1f1ea": "flag réunion", "1f1f7-1f1f4": "flag romania", "1f1f7-1f1f8": "flag serbia", "1f1f7-1f1fa": "flag russia", "1f1f7-1f1fc": "flag rwanda", "1f1f8-1f1e6": "flag saudi arabia", "1f1f8-1f1e7": "flag solomon islands", "1f1f8-1f1e8": "flag seychelles", "1f1f8-1f1e9": "flag sudan", "1f1f8-1f1ea": "flag sweden", "1f1f8-1f1ec": "flag singapore", "1f1f8-1f1ed": "flag st. helena", "1f1f8-1f1ee": "flag slovenia", "1f1f8-1f1ef": "flag svalbard & jan mayen", "1f1f8-1f1f0": "flag slovakia", "1f1f8-1f1f1": "flag sierra leone", "1f1f8-1f1f2": "flag san marino", "1f1f8-1f1f3": "flag senegal", "1f1f8-1f1f4": "flag somalia", "1f1f8-1f1f7": "flag suriname", "1f1f8-1f1f8": "flag south sudan", "1f1f8-1f1f9": "flag são tomé & príncipe", "1f1f8-1f1fb": "flag el salvador", "1f1f8-1f1fd": "flag sint maarten", "1f1f8-1f1fe": "flag syria", "1f1f8-1f1ff": "flag eswatini", "1f1f9-1f1e6": "flag tristan da cunha", "1f1f9-1f1e8": "flag turks & caicos islands", "1f1f9-1f1e9": "flag chad", "1f1f9-1f1eb": "flag french southern territories", "1f1f9-1f1ec": "flag togo", "1f1f9-1f1ed": "flag thailand", "1f1f9-1f1ef": "flag tajikistan", "1f1f9-1f1f0": "flag tokelau", "1f1f9-1f1f1": "flag timor-leste", "1f1f9-1f1f2": "flag turkmenistan", "1f1f9-1f1f3": "flag tunisia", "1f1f9-1f1f4": "flag tonga", "1f1f9-1f1f7": "flag türkiye", "1f1f9-1f1f9": "flag trinidad & tobago", "1f1f9-1f1fb": "flag tuvalu", "1f1f9-1f1fc": "flag taiwan", "1f1f9-1f1ff": "flag tanzania", "1f1fa-1f1e6": "flag ukraine", "1f1fa-1f1ec": "flag uganda", "1f1fa-1f1f2": "flag u.s. outlying islands", "1f1fa-1f1f3": "flag united nations", "1f1fa-1f1f8": "flag united states", "1f1fa-1f1fe": "flag uruguay", "1f1fa-1f1ff": "flag uzbekistan", "1f1fb-1f1e6": "flag vatican city", "1f1fb-1f1e8": "flag st. vincent & grenadines", "1f1fb-1f1ea": "flag venezuela", "1f1fb-1f1ec": "flag british virgin islands", "1f1fb-1f1ee": "flag u.s. virgin islands", "1f1fb-1f1f3": "flag vietnam", "1f1fb-1f1fa": "flag vanuatu", "1f1fc-1f1eb": "flag wallis & futuna", "1f1fc-1f1f8": "flag samoa", "1f1fd-1f1f0": "flag kosovo", "1f1fe-1f1ea": "flag yemen", "1f1fe-1f1f9": "flag mayotte", "1f1ff-1f1e6": "flag south africa", "1f1ff-1f1f2": "flag zambia", "1f1ff-1f1fc": "flag zimbabwe", "1f201": "japanese “here” button", "1f202": "japanese “service charge” button", "1f21a": "japanese “free of charge” button", "1f22f": "japanese “reserved” button", "1f232": "japanese “prohibited” button", "1f233": "japanese “vacancy” button", "1f234": "japanese “passing grade” button", "1f235": "japanese “no vacancy” button", "1f236": "japanese “not free of charge” button", "1f237": "japanese “monthly amount” button", "1f238": "japanese “application” button", "1f239": "japanese “discount” button", "1f23a": "japanese “open for business” button", "1f250": "japanese “bargain” button", "1f251": "japanese “acceptable” button", "1f300": "cyclone", "1f301": "foggy", "1f302": "closed umbrella", "1f303": "night with stars", "1f304": "sunrise over mountains", "1f305": "sunrise", "1f306": "cityscape at dusk", "1f307": "sunset", "1f308": "rainbow", "1f309": "bridge at night", "1f30a": "water wave", "1f30b": "volcano", "1f30c": "milky way", "1f30d": "globe showing europe-africa", "1f30e": "globe showing americas", "1f30f": "globe showing asia-australia", "1f310": "globe with meridians", "1f311": "new moon", "1f312": "waxing crescent moon", "1f313": "first quarter moon", "1f314": "waxing gibbous moon", "1f315": "full moon", "1f316": "waning gibbous moon", "1f317": "last quarter moon", "1f318": "waning crescent moon", "1f319": "crescent moon", "1f31a": "new moon face", "1f31b": "first quarter moon face", "1f31c": "last quarter moon face", "1f31d": "full moon face", "1f31e": "sun with face", "1f31f": "glowing star", "1f320": "shooting star", "1f321": "thermometer", "1f324": "sun behind small cloud", "1f325": "sun behind large cloud", "1f326": "sun behind rain cloud", "1f327": "cloud with rain", "1f328": "cloud with snow", "1f329": "cloud with lightning", "1f32a": "tornado", "1f32b": "fog", "1f32c": "wind face", "1f32d": "hot dog", "1f32e": "taco", "1f32f": "burrito", "1f330": "chestnut", "1f331": "seedling", "1f332": "evergreen tree", "1f333": "deciduous tree", "1f334": "palm tree", "1f335": "cactus", "1f336": "hot pepper", "1f337": "tulip", "1f338": "cherry blossom", "1f339": "rose", "1f33a": "hibiscus", "1f33b": "sunflower", "1f33c": "blossom", "1f33d": "ear of corn", "1f33e": "sheaf of rice", "1f33f": "herb", "1f340": "four leaf clover", "1f341": "maple leaf", "1f342": "fallen leaf", "1f343": "leaf fluttering in wind", "1f344-200d-1f7eb": "brown mushroom", "1f344": "mushroom", "1f345": "tomato", "1f346": "eggplant", "1f347": "grapes", "1f348": "melon", "1f349": "watermelon", "1f34a": "tangerine", "1f34b-200d-1f7e9": "lime", "1f34b": "lemon", "1f34c": "banana", "1f34d": "pineapple", "1f34e": "red apple", "1f34f": "green apple", "1f350": "pear", "1f351": "peach", "1f352": "cherries", "1f353": "strawberry", "1f354": "hamburger", "1f355": "pizza", "1f356": "meat on bone", "1f357": "poultry leg", "1f358": "rice cracker", "1f359": "rice ball", "1f35a": "cooked rice", "1f35b": "curry rice", "1f35c": "steaming bowl", "1f35d": "spaghetti", "1f35e": "bread", "1f35f": "french fries", "1f360": "roasted sweet potato", "1f361": "dango", "1f362": "oden", "1f363": "sushi", "1f364": "fried shrimp", "1f365": "fish cake with swirl", "1f366": "soft ice cream", "1f367": "shaved ice", "1f368": "ice cream", "1f369": "doughnut", "1f36a": "cookie", "1f36b": "chocolate bar", "1f36c": "candy", "1f36d": "lollipop", "1f36e": "custard", "1f36f": "honey pot", "1f370": "shortcake", "1f371": "bento box", "1f372": "pot of food", "1f373": "cooking", "1f374": "fork and knife", "1f375": "teacup without handle", "1f376": "sake", "1f377": "wine glass", "1f378": "cocktail glass", "1f379": "tropical drink", "1f37a": "beer mug", "1f37b": "clinking beer mugs", "1f37c": "baby bottle", "1f37d": "fork and knife with plate", "1f37e": "bottle with popping cork", "1f37f": "popcorn", "1f380": "ribbon", "1f381": "wrapped gift", "1f382": "birthday cake", "1f383": "jack-o-lantern", "1f384": "christmas tree", "1f385-1f3fb": "santa claus light skin tone", "1f385-1f3fc": "santa claus medium-light skin tone", "1f385-1f3fd": "santa claus medium skin tone", "1f385-1f3fe": "santa claus medium-dark skin tone", "1f385-1f3ff": "santa claus dark skin tone", "1f385": "santa claus", "1f386": "fireworks", "1f387": "sparkler", "1f388": "balloon", "1f389": "party popper", "1f38a": "confetti ball", "1f38b": "tanabata tree", "1f38c": "crossed flags", "1f38d": "pine decoration", "1f38e": "japanese dolls", "1f38f": "carp streamer", "1f390": "wind chime", "1f391": "moon viewing ceremony", "1f392": "backpack", "1f393": "graduation cap", "1f396": "military medal", "1f397": "reminder ribbon", "1f399": "studio microphone", "1f39a": "level slider", "1f39b": "control knobs", "1f39e": "film frames", "1f39f": "admission tickets", "1f3a0": "carousel horse", "1f3a1": "ferris wheel", "1f3a2": "roller coaster", "1f3a3": "fishing pole", "1f3a4": "microphone", "1f3a5": "movie camera", "1f3a6": "cinema", "1f3a7": "headphone", "1f3a8": "artist palette", "1f3a9": "top hat", "1f3aa": "circus tent", "1f3ab": "ticket", "1f3ac": "clapper board", "1f3ad": "performing arts", "1f3ae": "video game", "1f3af": "bullseye", "1f3b0": "slot machine", "1f3b1": "pool 8 ball", "1f3b2": "game die", "1f3b3": "bowling", "1f3b4": "flower playing cards", "1f3b5": "musical note", "1f3b6": "musical notes", "1f3b7": "saxophone", "1f3b8": "guitar", "1f3b9": "musical keyboard", "1f3ba": "trumpet", "1f3bb": "violin", "1f3bc": "musical score", "1f3bd": "running shirt", "1f3be": "tennis", "1f3bf": "skis", "1f3c0": "basketball", "1f3c1": "chequered flag", "1f3c2-1f3fb": "snowboarder light skin tone", "1f3c2-1f3fc": "snowboarder medium-light skin tone", "1f3c2-1f3fd": "snowboarder medium skin tone", "1f3c2-1f3fe": "snowboarder medium-dark skin tone", "1f3c2-1f3ff": "snowboarder dark skin tone", "1f3c2": "snowboarder", "1f3c3-1f3fb-200d-2640-fe0f-200d-27a1-fe0f": "woman running facing right light skin tone", "1f3c3-1f3fb-200d-2640-fe0f": "woman running light skin tone", "1f3c3-1f3fb-200d-2642-fe0f-200d-27a1-fe0f": "man running facing right light skin tone", "1f3c3-1f3fb-200d-2642-fe0f": "man running light skin tone", "1f3c3-1f3fb-200d-27a1-fe0f": "person running facing right light skin tone", "1f3c3-1f3fb": "person running light skin tone", "1f3c3-1f3fc-200d-2640-fe0f-200d-27a1-fe0f": "woman running facing right medium-light skin tone", "1f3c3-1f3fc-200d-2640-fe0f": "woman running medium-light skin tone", "1f3c3-1f3fc-200d-2642-fe0f-200d-27a1-fe0f": "man running facing right medium-light skin tone", "1f3c3-1f3fc-200d-2642-fe0f": "man running medium-light skin tone", "1f3c3-1f3fc-200d-27a1-fe0f": "person running facing right medium-light skin tone", "1f3c3-1f3fc": "person running medium-light skin tone", "1f3c3-1f3fd-200d-2640-fe0f-200d-27a1-fe0f": "woman running facing right medium skin tone", "1f3c3-1f3fd-200d-2640-fe0f": "woman running medium skin tone", "1f3c3-1f3fd-200d-2642-fe0f-200d-27a1-fe0f": "man running facing right medium skin tone", "1f3c3-1f3fd-200d-2642-fe0f": "man running medium skin tone", "1f3c3-1f3fd-200d-27a1-fe0f": "person running facing right medium skin tone", "1f3c3-1f3fd": "person running medium skin tone", "1f3c3-1f3fe-200d-2640-fe0f-200d-27a1-fe0f": "woman running facing right medium-dark skin tone", "1f3c3-1f3fe-200d-2640-fe0f": "woman running medium-dark skin tone", "1f3c3-1f3fe-200d-2642-fe0f-200d-27a1-fe0f": "man running facing right medium-dark skin tone", "1f3c3-1f3fe-200d-2642-fe0f": "man running medium-dark skin tone", "1f3c3-1f3fe-200d-27a1-fe0f": "person running facing right medium-dark skin tone", "1f3c3-1f3fe": "person running medium-dark skin tone", "1f3c3-1f3ff-200d-2640-fe0f-200d-27a1-fe0f": "woman running facing right dark skin tone", "1f3c3-1f3ff-200d-2640-fe0f": "woman running dark skin tone", "1f3c3-1f3ff-200d-2642-fe0f-200d-27a1-fe0f": "man running facing right dark skin tone", "1f3c3-1f3ff-200d-2642-fe0f": "man running dark skin tone", "1f3c3-1f3ff-200d-27a1-fe0f": "person running facing right dark skin tone", "1f3c3-1f3ff": "person running dark skin tone", "1f3c3-200d-2640-fe0f-200d-27a1-fe0f": "woman running facing right", "1f3c3-200d-2640-fe0f": "woman running", "1f3c3-200d-2642-fe0f-200d-27a1-fe0f": "man running facing right", "1f3c3-200d-2642-fe0f": "man running", "1f3c3-200d-27a1-fe0f": "person running facing right", "1f3c3": "person running", "1f3c4-1f3fb-200d-2640-fe0f": "woman surfing light skin tone", "1f3c4-1f3fb-200d-2642-fe0f": "man surfing light skin tone", "1f3c4-1f3fb": "person surfing light skin tone", "1f3c4-1f3fc-200d-2640-fe0f": "woman surfing medium-light skin tone", "1f3c4-1f3fc-200d-2642-fe0f": "man surfing medium-light skin tone", "1f3c4-1f3fc": "person surfing medium-light skin tone", "1f3c4-1f3fd-200d-2640-fe0f": "woman surfing medium skin tone", "1f3c4-1f3fd-200d-2642-fe0f": "man surfing medium skin tone", "1f3c4-1f3fd": "person surfing medium skin tone", "1f3c4-1f3fe-200d-2640-fe0f": "woman surfing medium-dark skin tone", "1f3c4-1f3fe-200d-2642-fe0f": "man surfing medium-dark skin tone", "1f3c4-1f3fe": "person surfing medium-dark skin tone", "1f3c4-1f3ff-200d-2640-fe0f": "woman surfing dark skin tone", "1f3c4-1f3ff-200d-2642-fe0f": "man surfing dark skin tone", "1f3c4-1f3ff": "person surfing dark skin tone", "1f3c4-200d-2640-fe0f": "woman surfing", "1f3c4-200d-2642-fe0f": "man surfing", "1f3c4": "person surfing", "1f3c5": "sports medal", "1f3c6": "trophy", "1f3c7-1f3fb": "horse racing light skin tone", "1f3c7-1f3fc": "horse racing medium-light skin tone", "1f3c7-1f3fd": "horse racing medium skin tone", "1f3c7-1f3fe": "horse racing medium-dark skin tone", "1f3c7-1f3ff": "horse racing dark skin tone", "1f3c7": "horse racing", "1f3c8": "american football", "1f3c9": "rugby football", "1f3ca-1f3fb-200d-2640-fe0f": "woman swimming light skin tone", "1f3ca-1f3fb-200d-2642-fe0f": "man swimming light skin tone", "1f3ca-1f3fb": "person swimming light skin tone", "1f3ca-1f3fc-200d-2640-fe0f": "woman swimming medium-light skin tone", "1f3ca-1f3fc-200d-2642-fe0f": "man swimming medium-light skin tone", "1f3ca-1f3fc": "person swimming medium-light skin tone", "1f3ca-1f3fd-200d-2640-fe0f": "woman swimming medium skin tone", "1f3ca-1f3fd-200d-2642-fe0f": "man swimming medium skin tone", "1f3ca-1f3fd": "person swimming medium skin tone", "1f3ca-1f3fe-200d-2640-fe0f": "woman swimming medium-dark skin tone", "1f3ca-1f3fe-200d-2642-fe0f": "man swimming medium-dark skin tone", "1f3ca-1f3fe": "person swimming medium-dark skin tone", "1f3ca-1f3ff-200d-2640-fe0f": "woman swimming dark skin tone", "1f3ca-1f3ff-200d-2642-fe0f": "man swimming dark skin tone", "1f3ca-1f3ff": "person swimming dark skin tone", "1f3ca-200d-2640-fe0f": "woman swimming", "1f3ca-200d-2642-fe0f": "man swimming", "1f3ca": "person swimming", "1f3cb-1f3fb-200d-2640-fe0f": "woman lifting weights light skin tone", "1f3cb-1f3fb-200d-2642-fe0f": "man lifting weights light skin tone", "1f3cb-1f3fb": "person lifting weights light skin tone", "1f3cb-1f3fc-200d-2640-fe0f": "woman lifting weights medium-light skin tone", "1f3cb-1f3fc-200d-2642-fe0f": "man lifting weights medium-light skin tone", "1f3cb-1f3fc": "person lifting weights medium-light skin tone", "1f3cb-1f3fd-200d-2640-fe0f": "woman lifting weights medium skin tone", "1f3cb-1f3fd-200d-2642-fe0f": "man lifting weights medium skin tone", "1f3cb-1f3fd": "person lifting weights medium skin tone", "1f3cb-1f3fe-200d-2640-fe0f": "woman lifting weights medium-dark skin tone", "1f3cb-1f3fe-200d-2642-fe0f": "man lifting weights medium-dark skin tone", "1f3cb-1f3fe": "person lifting weights medium-dark skin tone", "1f3cb-1f3ff-200d-2640-fe0f": "woman lifting weights dark skin tone", "1f3cb-1f3ff-200d-2642-fe0f": "man lifting weights dark skin tone", "1f3cb-1f3ff": "person lifting weights dark skin tone", "1f3cb-fe0f-200d-2640-fe0f": "woman lifting weights", "1f3cb-fe0f-200d-2642-fe0f": "man lifting weights", "1f3cb": "person lifting weights", "1f3cc-1f3fb-200d-2640-fe0f": "woman golfing light skin tone", "1f3cc-1f3fb-200d-2642-fe0f": "man golfing light skin tone", "1f3cc-1f3fb": "person golfing light skin tone", "1f3cc-1f3fc-200d-2640-fe0f": "woman golfing medium-light skin tone", "1f3cc-1f3fc-200d-2642-fe0f": "man golfing medium-light skin tone", "1f3cc-1f3fc": "person golfing medium-light skin tone", "1f3cc-1f3fd-200d-2640-fe0f": "woman golfing medium skin tone", "1f3cc-1f3fd-200d-2642-fe0f": "man golfing medium skin tone", "1f3cc-1f3fd": "person golfing medium skin tone", "1f3cc-1f3fe-200d-2640-fe0f": "woman golfing medium-dark skin tone", "1f3cc-1f3fe-200d-2642-fe0f": "man golfing medium-dark skin tone", "1f3cc-1f3fe": "person golfing medium-dark skin tone", "1f3cc-1f3ff-200d-2640-fe0f": "woman golfing dark skin tone", "1f3cc-1f3ff-200d-2642-fe0f": "man golfing dark skin tone", "1f3cc-1f3ff": "person golfing dark skin tone", "1f3cc-fe0f-200d-2640-fe0f": "woman golfing", "1f3cc-fe0f-200d-2642-fe0f": "man golfing", "1f3cc": "person golfing", "1f3cd": "motorcycle", "1f3ce": "racing car", "1f3cf": "cricket game", "1f3d0": "volleyball", "1f3d1": "field hockey", "1f3d2": "ice hockey", "1f3d3": "ping pong", "1f3d4": "snow-capped mountain", "1f3d5": "camping", "1f3d6": "beach with umbrella", "1f3d7": "building construction", "1f3d8": "houses", "1f3d9": "cityscape", "1f3da": "derelict house", "1f3db": "classical building", "1f3dc": "desert", "1f3dd": "desert island", "1f3de": "national park", "1f3df": "stadium", "1f3e0": "house", "1f3e1": "house with garden", "1f3e2": "office building", "1f3e3": "japanese post office", "1f3e4": "post office", "1f3e5": "hospital", "1f3e6": "bank", "1f3e7": "atm sign", "1f3e8": "hotel", "1f3e9": "love hotel", "1f3ea": "convenience store", "1f3eb": "school", "1f3ec": "department store", "1f3ed": "factory", "1f3ee": "red paper lantern", "1f3ef": "japanese castle", "1f3f0": "castle", "1f3f3-fe0f-200d-1f308": "rainbow flag", "1f3f3-fe0f-200d-26a7-fe0f": "transgender flag", "1f3f3": "white flag", "1f3f4-200d-2620-fe0f": "pirate flag", "1f3f4-e0067-e0062-e0065-e006e-e0067-e007f": "flag england", "1f3f4-e0067-e0062-e0073-e0063-e0074-e007f": "flag scotland", "1f3f4-e0067-e0062-e0077-e006c-e0073-e007f": "flag wales", "1f3f4": "black flag", "1f3f5": "rosette", "1f3f7": "label", "1f3f8": "badminton", "1f3f9": "bow and arrow", "1f3fa": "amphora", "1f3fb": "light skin tone", "1f3fc": "medium-light skin tone", "1f3fd": "medium skin tone", "1f3fe": "medium-dark skin tone", "1f3ff": "dark skin tone", "1f400": "rat", "1f401": "mouse", "1f402": "ox", "1f403": "water buffalo", "1f404": "cow", "1f405": "tiger", "1f406": "leopard", "1f407": "rabbit", "1f408-200d-2b1b": "black cat", "1f408": "cat", "1f409": "dragon", "1f40a": "crocodile", "1f40b": "whale", "1f40c": "snail", "1f40d": "snake", "1f40e": "horse", "1f40f": "ram", "1f410": "goat", "1f411": "ewe", "1f412": "monkey", "1f413": "rooster", "1f414": "chicken", "1f415-200d-1f9ba": "service dog", "1f415": "dog", "1f416": "pig", "1f417": "boar", "1f418": "elephant", "1f419": "octopus", "1f41a": "spiral shell", "1f41b": "bug", "1f41c": "ant", "1f41d": "honeybee", "1f41e": "lady beetle", "1f41f": "fish", "1f420": "tropical fish", "1f421": "blowfish", "1f422": "turtle", "1f423": "hatching chick", "1f424": "baby chick", "1f425": "front-facing baby chick", "1f426-200d-1f525": "phoenix", "1f426-200d-2b1b": "black bird", "1f426": "bird", "1f427": "penguin", "1f428": "koala", "1f429": "poodle", "1f42a": "camel", "1f42b": "two-hump camel", "1f42c": "dolphin", "1f42d": "mouse face", "1f42e": "cow face", "1f42f": "tiger face", "1f430": "rabbit face", "1f431": "cat face", "1f432": "dragon face", "1f433": "spouting whale", "1f434": "horse face", "1f435": "monkey face", "1f436": "dog face", "1f437": "pig face", "1f438": "frog", "1f439": "hamster", "1f43a": "wolf", "1f43b-200d-2744-fe0f": "polar bear", "1f43b": "bear", "1f43c": "panda", "1f43d": "pig nose", "1f43e": "paw prints", "1f43f": "chipmunk", "1f440": "eyes", "1f441-200d-1f5e8": "eye in speech bubble", "1f441": "eye", "1f442-1f3fb": "ear light skin tone", "1f442-1f3fc": "ear medium-light skin tone", "1f442-1f3fd": "ear medium skin tone", "1f442-1f3fe": "ear medium-dark skin tone", "1f442-1f3ff": "ear dark skin tone", "1f442": "ear", "1f443-1f3fb": "nose light skin tone", "1f443-1f3fc": "nose medium-light skin tone", "1f443-1f3fd": "nose medium skin tone", "1f443-1f3fe": "nose medium-dark skin tone", "1f443-1f3ff": "nose dark skin tone", "1f443": "nose", "1f444": "mouth", "1f445": "tongue", "1f446-1f3fb": "backhand index pointing up light skin tone", "1f446-1f3fc": "backhand index pointing up medium-light skin tone", "1f446-1f3fd": "backhand index pointing up medium skin tone", "1f446-1f3fe": "backhand index pointing up medium-dark skin tone", "1f446-1f3ff": "backhand index pointing up dark skin tone", "1f446": "backhand index pointing up", "1f447-1f3fb": "backhand index pointing down light skin tone", "1f447-1f3fc": "backhand index pointing down medium-light skin tone", "1f447-1f3fd": "backhand index pointing down medium skin tone", "1f447-1f3fe": "backhand index pointing down medium-dark skin tone", "1f447-1f3ff": "backhand index pointing down dark skin tone", "1f447": "backhand index pointing down", "1f448-1f3fb": "backhand index pointing left light skin tone", "1f448-1f3fc": "backhand index pointing left medium-light skin tone", "1f448-1f3fd": "backhand index pointing left medium skin tone", "1f448-1f3fe": "backhand index pointing left medium-dark skin tone", "1f448-1f3ff": "backhand index pointing left dark skin tone", "1f448": "backhand index pointing left", "1f449-1f3fb": "backhand index pointing right light skin tone", "1f449-1f3fc": "backhand index pointing right medium-light skin tone", "1f449-1f3fd": "backhand index pointing right medium skin tone", "1f449-1f3fe": "backhand index pointing right medium-dark skin tone", "1f449-1f3ff": "backhand index pointing right dark skin tone", "1f449": "backhand index pointing right", "1f44a-1f3fb": "oncoming fist light skin tone", "1f44a-1f3fc": "oncoming fist medium-light skin tone", "1f44a-1f3fd": "oncoming fist medium skin tone", "1f44a-1f3fe": "oncoming fist medium-dark skin tone", "1f44a-1f3ff": "oncoming fist dark skin tone", "1f44a": "oncoming fist", "1f44b-1f3fb": "waving hand light skin tone", "1f44b-1f3fc": "waving hand medium-light skin tone", "1f44b-1f3fd": "waving hand medium skin tone", "1f44b-1f3fe": "waving hand medium-dark skin tone", "1f44b-1f3ff": "waving hand dark skin tone", "1f44b": "waving hand", "1f44c-1f3fb": "ok hand light skin tone", "1f44c-1f3fc": "ok hand medium-light skin tone", "1f44c-1f3fd": "ok hand medium skin tone", "1f44c-1f3fe": "ok hand medium-dark skin tone", "1f44c-1f3ff": "ok hand dark skin tone", "1f44c": "ok hand", "1f44d-1f3fb": "thumbs up light skin tone", "1f44d-1f3fc": "thumbs up medium-light skin tone", "1f44d-1f3fd": "thumbs up medium skin tone", "1f44d-1f3fe": "thumbs up medium-dark skin tone", "1f44d-1f3ff": "thumbs up dark skin tone", "1f44d": "thumbs up", "1f44e-1f3fb": "thumbs down light skin tone", "1f44e-1f3fc": "thumbs down medium-light skin tone", "1f44e-1f3fd": "thumbs down medium skin tone", "1f44e-1f3fe": "thumbs down medium-dark skin tone", "1f44e-1f3ff": "thumbs down dark skin tone", "1f44e": "thumbs down", "1f44f-1f3fb": "clapping hands light skin tone", "1f44f-1f3fc": "clapping hands medium-light skin tone", "1f44f-1f3fd": "clapping hands medium skin tone", "1f44f-1f3fe": "clapping hands medium-dark skin tone", "1f44f-1f3ff": "clapping hands dark skin tone", "1f44f": "clapping hands", "1f450-1f3fb": "open hands light skin tone", "1f450-1f3fc": "open hands medium-light skin tone", "1f450-1f3fd": "open hands medium skin tone", "1f450-1f3fe": "open hands medium-dark skin tone", "1f450-1f3ff": "open hands dark skin tone", "1f450": "open hands", "1f451": "crown", "1f452": "woman’s hat", "1f453": "glasses", "1f454": "necktie", "1f455": "t-shirt", "1f456": "jeans", "1f457": "dress", "1f458": "kimono", "1f459": "bikini", "1f45a": "woman’s clothes", "1f45b": "purse", "1f45c": "handbag", "1f45d": "clutch bag", "1f45e": "man’s shoe", "1f45f": "running shoe", "1f460": "high-heeled shoe", "1f461": "woman’s sandal", "1f462": "woman’s boot", "1f463": "footprints", "1f464": "bust in silhouette", "1f465": "busts in silhouette", "1f466-1f3fb": "boy light skin tone", "1f466-1f3fc": "boy medium-light skin tone", "1f466-1f3fd": "boy medium skin tone", "1f466-1f3fe": "boy medium-dark skin tone", "1f466-1f3ff": "boy dark skin tone", "1f466": "boy", "1f467-1f3fb": "girl light skin tone", "1f467-1f3fc": "girl medium-light skin tone", "1f467-1f3fd": "girl medium skin tone", "1f467-1f3fe": "girl medium-dark skin tone", "1f467-1f3ff": "girl dark skin tone", "1f467": "girl", "1f468-1f3fb-200d-1f33e": "man farmer light skin tone", "1f468-1f3fb-200d-1f373": "man cook light skin tone", "1f468-1f3fb-200d-1f37c": "man feeding baby light skin tone", "1f468-1f3fb-200d-1f393": "man student light skin tone", "1f468-1f3fb-200d-1f3a4": "man singer light skin tone", "1f468-1f3fb-200d-1f3a8": "man artist light skin tone", "1f468-1f3fb-200d-1f3eb": "man teacher light skin tone", "1f468-1f3fb-200d-1f3ed": "man factory worker light skin tone", "1f468-1f3fb-200d-1f430-200d-1f468-1f3fc": "men with bunny ears light skin tone, medium-light skin tone", "1f468-1f3fb-200d-1f430-200d-1f468-1f3fd": "men with bunny ears light skin tone, medium skin tone", "1f468-1f3fb-200d-1f430-200d-1f468-1f3fe": "men with bunny ears light skin tone, medium-dark skin tone", "1f468-1f3fb-200d-1f430-200d-1f468-1f3ff": "men with bunny ears light skin tone, dark skin tone", "1f468-1f3fb-200d-1f4bb": "man technologist light skin tone", "1f468-1f3fb-200d-1f4bc": "man office worker light skin tone", "1f468-1f3fb-200d-1f527": "man mechanic light skin tone", "1f468-1f3fb-200d-1f52c": "man scientist light skin tone", "1f468-1f3fb-200d-1f680": "man astronaut light skin tone", "1f468-1f3fb-200d-1f692": "man firefighter light skin tone", "1f468-1f3fb-200d-1f91d-200d-1f468-1f3fc": "men holding hands light skin tone, medium-light skin tone", "1f468-1f3fb-200d-1f91d-200d-1f468-1f3fd": "men holding hands light skin tone, medium skin tone", "1f468-1f3fb-200d-1f91d-200d-1f468-1f3fe": "men holding hands light skin tone, medium-dark skin tone", "1f468-1f3fb-200d-1f91d-200d-1f468-1f3ff": "men holding hands light skin tone, dark skin tone", "1f468-1f3fb-200d-1f9af-200d-27a1-fe0f": "man with white cane facing right light skin tone", "1f468-1f3fb-200d-1f9af": "man with white cane light skin tone", "1f468-1f3fb-200d-1f9b0": "man light skin tone, red hair", "1f468-1f3fb-200d-1f9b1": "man light skin tone, curly hair", "1f468-1f3fb-200d-1f9b2": "man light skin tone, bald", "1f468-1f3fb-200d-1f9b3": "man light skin tone, white hair", "1f468-1f3fb-200d-1f9bc-200d-27a1-fe0f": "man in motorized wheelchair facing right light skin tone", "1f468-1f3fb-200d-1f9bc": "man in motorized wheelchair light skin tone", "1f468-1f3fb-200d-1f9bd-200d-27a1-fe0f": "man in manual wheelchair facing right light skin tone", "1f468-1f3fb-200d-1f9bd": "man in manual wheelchair light skin tone", "1f468-1f3fb-200d-1faef-200d-1f468-1f3fc": "men wrestling light skin tone, medium-light skin tone", "1f468-1f3fb-200d-1faef-200d-1f468-1f3fd": "men wrestling light skin tone, medium skin tone", "1f468-1f3fb-200d-1faef-200d-1f468-1f3fe": "men wrestling light skin tone, medium-dark skin tone", "1f468-1f3fb-200d-1faef-200d-1f468-1f3ff": "men wrestling light skin tone, dark skin tone", "1f468-1f3fb-200d-2695-fe0f": "man health worker light skin tone", "1f468-1f3fb-200d-2696-fe0f": "man judge light skin tone", "1f468-1f3fb-200d-2708-fe0f": "man pilot light skin tone", "1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb": "couple with heart man, man, light skin tone", "1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fc": "couple with heart man, man, light skin tone, medium-light skin tone", "1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fd": "couple with heart man, man, light skin tone, medium skin tone", "1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fe": "couple with heart man, man, light skin tone, medium-dark skin tone", "1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3ff": "couple with heart man, man, light skin tone, dark skin tone", "1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb": "kiss man, man, light skin tone", "1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc": "kiss man, man, light skin tone, medium-light skin tone", "1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd": "kiss man, man, light skin tone, medium skin tone", "1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe": "kiss man, man, light skin tone, medium-dark skin tone", "1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff": "kiss man, man, light skin tone, dark skin tone", "1f468-1f3fb": "man light skin tone", "1f468-1f3fc-200d-1f33e": "man farmer medium-light skin tone", "1f468-1f3fc-200d-1f373": "man cook medium-light skin tone", "1f468-1f3fc-200d-1f37c": "man feeding baby medium-light skin tone", "1f468-1f3fc-200d-1f393": "man student medium-light skin tone", "1f468-1f3fc-200d-1f3a4": "man singer medium-light skin tone", "1f468-1f3fc-200d-1f3a8": "man artist medium-light skin tone", "1f468-1f3fc-200d-1f3eb": "man teacher medium-light skin tone", "1f468-1f3fc-200d-1f3ed": "man factory worker medium-light skin tone", "1f468-1f3fc-200d-1f430-200d-1f468-1f3fb": "men with bunny ears medium-light skin tone, light skin tone", "1f468-1f3fc-200d-1f430-200d-1f468-1f3fd": "men with bunny ears medium-light skin tone, medium skin tone", "1f468-1f3fc-200d-1f430-200d-1f468-1f3fe": "men with bunny ears medium-light skin tone, medium-dark skin tone", "1f468-1f3fc-200d-1f430-200d-1f468-1f3ff": "men with bunny ears medium-light skin tone, dark skin tone", "1f468-1f3fc-200d-1f4bb": "man technologist medium-light skin tone", "1f468-1f3fc-200d-1f4bc": "man office worker medium-light skin tone", "1f468-1f3fc-200d-1f527": "man mechanic medium-light skin tone", "1f468-1f3fc-200d-1f52c": "man scientist medium-light skin tone", "1f468-1f3fc-200d-1f680": "man astronaut medium-light skin tone", "1f468-1f3fc-200d-1f692": "man firefighter medium-light skin tone", "1f468-1f3fc-200d-1f91d-200d-1f468-1f3fb": "men holding hands medium-light skin tone, light skin tone", "1f468-1f3fc-200d-1f91d-200d-1f468-1f3fd": "men holding hands medium-light skin tone, medium skin tone", "1f468-1f3fc-200d-1f91d-200d-1f468-1f3fe": "men holding hands medium-light skin tone, medium-dark skin tone", "1f468-1f3fc-200d-1f91d-200d-1f468-1f3ff": "men holding hands medium-light skin tone, dark skin tone", "1f468-1f3fc-200d-1f9af-200d-27a1-fe0f": "man with white cane facing right medium-light skin tone", "1f468-1f3fc-200d-1f9af": "man with white cane medium-light skin tone", "1f468-1f3fc-200d-1f9b0": "man medium-light skin tone, red hair", "1f468-1f3fc-200d-1f9b1": "man medium-light skin tone, curly hair", "1f468-1f3fc-200d-1f9b2": "man medium-light skin tone, bald", "1f468-1f3fc-200d-1f9b3": "man medium-light skin tone, white hair", "1f468-1f3fc-200d-1f9bc-200d-27a1-fe0f": "man in motorized wheelchair facing right medium-light skin tone", "1f468-1f3fc-200d-1f9bc": "man in motorized wheelchair medium-light skin tone", "1f468-1f3fc-200d-1f9bd-200d-27a1-fe0f": "man in manual wheelchair facing right medium-light skin tone", "1f468-1f3fc-200d-1f9bd": "man in manual wheelchair medium-light skin tone", "1f468-1f3fc-200d-1faef-200d-1f468-1f3fb": "men wrestling medium-light skin tone, light skin tone", "1f468-1f3fc-200d-1faef-200d-1f468-1f3fd": "men wrestling medium-light skin tone, medium skin tone", "1f468-1f3fc-200d-1faef-200d-1f468-1f3fe": "men wrestling medium-light skin tone, medium-dark skin tone", "1f468-1f3fc-200d-1faef-200d-1f468-1f3ff": "men wrestling medium-light skin tone, dark skin tone", "1f468-1f3fc-200d-2695-fe0f": "man health worker medium-light skin tone", "1f468-1f3fc-200d-2696-fe0f": "man judge medium-light skin tone", "1f468-1f3fc-200d-2708-fe0f": "man pilot medium-light skin tone", "1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fb": "couple with heart man, man, medium-light skin tone, light skin tone", "1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc": "couple with heart man, man, medium-light skin tone", "1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fd": "couple with heart man, man, medium-light skin tone, medium skin tone", "1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fe": "couple with heart man, man, medium-light skin tone, medium-dark skin tone", "1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3ff": "couple with heart man, man, medium-light skin tone, dark skin tone", "1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb": "kiss man, man, medium-light skin tone, light skin tone", "1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc": "kiss man, man, medium-light skin tone", "1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd": "kiss man, man, medium-light skin tone, medium skin tone", "1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe": "kiss man, man, medium-light skin tone, medium-dark skin tone", "1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff": "kiss man, man, medium-light skin tone, dark skin tone", "1f468-1f3fc": "man medium-light skin tone", "1f468-1f3fd-200d-1f33e": "man farmer medium skin tone", "1f468-1f3fd-200d-1f373": "man cook medium skin tone", "1f468-1f3fd-200d-1f37c": "man feeding baby medium skin tone", "1f468-1f3fd-200d-1f393": "man student medium skin tone", "1f468-1f3fd-200d-1f3a4": "man singer medium skin tone", "1f468-1f3fd-200d-1f3a8": "man artist medium skin tone", "1f468-1f3fd-200d-1f3eb": "man teacher medium skin tone", "1f468-1f3fd-200d-1f3ed": "man factory worker medium skin tone", "1f468-1f3fd-200d-1f430-200d-1f468-1f3fb": "men with bunny ears medium skin tone, light skin tone", "1f468-1f3fd-200d-1f430-200d-1f468-1f3fc": "men with bunny ears medium skin tone, medium-light skin tone", "1f468-1f3fd-200d-1f430-200d-1f468-1f3fe": "men with bunny ears medium skin tone, medium-dark skin tone", "1f468-1f3fd-200d-1f430-200d-1f468-1f3ff": "men with bunny ears medium skin tone, dark skin tone", "1f468-1f3fd-200d-1f4bb": "man technologist medium skin tone", "1f468-1f3fd-200d-1f4bc": "man office worker medium skin tone", "1f468-1f3fd-200d-1f527": "man mechanic medium skin tone", "1f468-1f3fd-200d-1f52c": "man scientist medium skin tone", "1f468-1f3fd-200d-1f680": "man astronaut medium skin tone", "1f468-1f3fd-200d-1f692": "man firefighter medium skin tone", "1f468-1f3fd-200d-1f91d-200d-1f468-1f3fb": "men holding hands medium skin tone, light skin tone", "1f468-1f3fd-200d-1f91d-200d-1f468-1f3fc": "men holding hands medium skin tone, medium-light skin tone", "1f468-1f3fd-200d-1f91d-200d-1f468-1f3fe": "men holding hands medium skin tone, medium-dark skin tone", "1f468-1f3fd-200d-1f91d-200d-1f468-1f3ff": "men holding hands medium skin tone, dark skin tone", "1f468-1f3fd-200d-1f9af-200d-27a1-fe0f": "man with white cane facing right medium skin tone", "1f468-1f3fd-200d-1f9af": "man with white cane medium skin tone", "1f468-1f3fd-200d-1f9b0": "man medium skin tone, red hair", "1f468-1f3fd-200d-1f9b1": "man medium skin tone, curly hair", "1f468-1f3fd-200d-1f9b2": "man medium skin tone, bald", "1f468-1f3fd-200d-1f9b3": "man medium skin tone, white hair", "1f468-1f3fd-200d-1f9bc-200d-27a1-fe0f": "man in motorized wheelchair facing right medium skin tone", "1f468-1f3fd-200d-1f9bc": "man in motorized wheelchair medium skin tone", "1f468-1f3fd-200d-1f9bd-200d-27a1-fe0f": "man in manual wheelchair facing right medium skin tone", "1f468-1f3fd-200d-1f9bd": "man in manual wheelchair medium skin tone", "1f468-1f3fd-200d-1faef-200d-1f468-1f3fb": "men wrestling medium skin tone, light skin tone", "1f468-1f3fd-200d-1faef-200d-1f468-1f3fc": "men wrestling medium skin tone, medium-light skin tone", "1f468-1f3fd-200d-1faef-200d-1f468-1f3fe": "men wrestling medium skin tone, medium-dark skin tone", "1f468-1f3fd-200d-1faef-200d-1f468-1f3ff": "men wrestling medium skin tone, dark skin tone", "1f468-1f3fd-200d-2695-fe0f": "man health worker medium skin tone", "1f468-1f3fd-200d-2696-fe0f": "man judge medium skin tone", "1f468-1f3fd-200d-2708-fe0f": "man pilot medium skin tone", "1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fb": "couple with heart man, man, medium skin tone, light skin tone", "1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fc": "couple with heart man, man, medium skin tone, medium-light skin tone", "1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd": "couple with heart man, man, medium skin tone", "1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fe": "couple with heart man, man, medium skin tone, medium-dark skin tone", "1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3ff": "couple with heart man, man, medium skin tone, dark skin tone", "1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb": "kiss man, man, medium skin tone, light skin tone", "1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc": "kiss man, man, medium skin tone, medium-light skin tone", "1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd": "kiss man, man, medium skin tone", "1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe": "kiss man, man, medium skin tone, medium-dark skin tone", "1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff": "kiss man, man, medium skin tone, dark skin tone", "1f468-1f3fd": "man medium skin tone", "1f468-1f3fe-200d-1f33e": "man farmer medium-dark skin tone", "1f468-1f3fe-200d-1f373": "man cook medium-dark skin tone", "1f468-1f3fe-200d-1f37c": "man feeding baby medium-dark skin tone", "1f468-1f3fe-200d-1f393": "man student medium-dark skin tone", "1f468-1f3fe-200d-1f3a4": "man singer medium-dark skin tone", "1f468-1f3fe-200d-1f3a8": "man artist medium-dark skin tone", "1f468-1f3fe-200d-1f3eb": "man teacher medium-dark skin tone", "1f468-1f3fe-200d-1f3ed": "man factory worker medium-dark skin tone", "1f468-1f3fe-200d-1f430-200d-1f468-1f3fb": "men with bunny ears medium-dark skin tone, light skin tone", "1f468-1f3fe-200d-1f430-200d-1f468-1f3fc": "men with bunny ears medium-dark skin tone, medium-light skin tone", "1f468-1f3fe-200d-1f430-200d-1f468-1f3fd": "men with bunny ears medium-dark skin tone, medium skin tone", "1f468-1f3fe-200d-1f430-200d-1f468-1f3ff": "men with bunny ears medium-dark skin tone, dark skin tone", "1f468-1f3fe-200d-1f4bb": "man technologist medium-dark skin tone", "1f468-1f3fe-200d-1f4bc": "man office worker medium-dark skin tone", "1f468-1f3fe-200d-1f527": "man mechanic medium-dark skin tone", "1f468-1f3fe-200d-1f52c": "man scientist medium-dark skin tone", "1f468-1f3fe-200d-1f680": "man astronaut medium-dark skin tone", "1f468-1f3fe-200d-1f692": "man firefighter medium-dark skin tone", "1f468-1f3fe-200d-1f91d-200d-1f468-1f3fb": "men holding hands medium-dark skin tone, light skin tone", "1f468-1f3fe-200d-1f91d-200d-1f468-1f3fc": "men holding hands medium-dark skin tone, medium-light skin tone", "1f468-1f3fe-200d-1f91d-200d-1f468-1f3fd": "men holding hands medium-dark skin tone, medium skin tone", "1f468-1f3fe-200d-1f91d-200d-1f468-1f3ff": "men holding hands medium-dark skin tone, dark skin tone", "1f468-1f3fe-200d-1f9af-200d-27a1-fe0f": "man with white cane facing right medium-dark skin tone", "1f468-1f3fe-200d-1f9af": "man with white cane medium-dark skin tone", "1f468-1f3fe-200d-1f9b0": "man medium-dark skin tone, red hair", "1f468-1f3fe-200d-1f9b1": "man medium-dark skin tone, curly hair", "1f468-1f3fe-200d-1f9b2": "man medium-dark skin tone, bald", "1f468-1f3fe-200d-1f9b3": "man medium-dark skin tone, white hair", "1f468-1f3fe-200d-1f9bc-200d-27a1-fe0f": "man in motorized wheelchair facing right medium-dark skin tone", "1f468-1f3fe-200d-1f9bc": "man in motorized wheelchair medium-dark skin tone", "1f468-1f3fe-200d-1f9bd-200d-27a1-fe0f": "man in manual wheelchair facing right medium-dark skin tone", "1f468-1f3fe-200d-1f9bd": "man in manual wheelchair medium-dark skin tone", "1f468-1f3fe-200d-1faef-200d-1f468-1f3fb": "men wrestling medium-dark skin tone, light skin tone", "1f468-1f3fe-200d-1faef-200d-1f468-1f3fc": "men wrestling medium-dark skin tone, medium-light skin tone", "1f468-1f3fe-200d-1faef-200d-1f468-1f3fd": "men wrestling medium-dark skin tone, medium skin tone", "1f468-1f3fe-200d-1faef-200d-1f468-1f3ff": "men wrestling medium-dark skin tone, dark skin tone", "1f468-1f3fe-200d-2695-fe0f": "man health worker medium-dark skin tone", "1f468-1f3fe-200d-2696-fe0f": "man judge medium-dark skin tone", "1f468-1f3fe-200d-2708-fe0f": "man pilot medium-dark skin tone", "1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fb": "couple with heart man, man, medium-dark skin tone, light skin tone", "1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fc": "couple with heart man, man, medium-dark skin tone, medium-light skin tone", "1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fd": "couple with heart man, man, medium-dark skin tone, medium skin tone", "1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe": "couple with heart man, man, medium-dark skin tone", "1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3ff": "couple with heart man, man, medium-dark skin tone, dark skin tone", "1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb": "kiss man, man, medium-dark skin tone, light skin tone", "1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc": "kiss man, man, medium-dark skin tone, medium-light skin tone", "1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd": "kiss man, man, medium-dark skin tone, medium skin tone", "1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe": "kiss man, man, medium-dark skin tone", "1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff": "kiss man, man, medium-dark skin tone, dark skin tone", "1f468-1f3fe": "man medium-dark skin tone", "1f468-1f3ff-200d-1f33e": "man farmer dark skin tone", "1f468-1f3ff-200d-1f373": "man cook dark skin tone", "1f468-1f3ff-200d-1f37c": "man feeding baby dark skin tone", "1f468-1f3ff-200d-1f393": "man student dark skin tone", "1f468-1f3ff-200d-1f3a4": "man singer dark skin tone", "1f468-1f3ff-200d-1f3a8": "man artist dark skin tone", "1f468-1f3ff-200d-1f3eb": "man teacher dark skin tone", "1f468-1f3ff-200d-1f3ed": "man factory worker dark skin tone", "1f468-1f3ff-200d-1f430-200d-1f468-1f3fb": "men with bunny ears dark skin tone, light skin tone", "1f468-1f3ff-200d-1f430-200d-1f468-1f3fc": "men with bunny ears dark skin tone, medium-light skin tone", "1f468-1f3ff-200d-1f430-200d-1f468-1f3fd": "men with bunny ears dark skin tone, medium skin tone", "1f468-1f3ff-200d-1f430-200d-1f468-1f3fe": "men with bunny ears dark skin tone, medium-dark skin tone", "1f468-1f3ff-200d-1f4bb": "man technologist dark skin tone", "1f468-1f3ff-200d-1f4bc": "man office worker dark skin tone", "1f468-1f3ff-200d-1f527": "man mechanic dark skin tone", "1f468-1f3ff-200d-1f52c": "man scientist dark skin tone", "1f468-1f3ff-200d-1f680": "man astronaut dark skin tone", "1f468-1f3ff-200d-1f692": "man firefighter dark skin tone", "1f468-1f3ff-200d-1f91d-200d-1f468-1f3fb": "men holding hands dark skin tone, light skin tone", "1f468-1f3ff-200d-1f91d-200d-1f468-1f3fc": "men holding hands dark skin tone, medium-light skin tone", "1f468-1f3ff-200d-1f91d-200d-1f468-1f3fd": "men holding hands dark skin tone, medium skin tone", "1f468-1f3ff-200d-1f91d-200d-1f468-1f3fe": "men holding hands dark skin tone, medium-dark skin tone", "1f468-1f3ff-200d-1f9af-200d-27a1-fe0f": "man with white cane facing right dark skin tone", "1f468-1f3ff-200d-1f9af": "man with white cane dark skin tone", "1f468-1f3ff-200d-1f9b0": "man dark skin tone, red hair", "1f468-1f3ff-200d-1f9b1": "man dark skin tone, curly hair", "1f468-1f3ff-200d-1f9b2": "man dark skin tone, bald", "1f468-1f3ff-200d-1f9b3": "man dark skin tone, white hair", "1f468-1f3ff-200d-1f9bc-200d-27a1-fe0f": "man in motorized wheelchair facing right dark skin tone", "1f468-1f3ff-200d-1f9bc": "man in motorized wheelchair dark skin tone", "1f468-1f3ff-200d-1f9bd-200d-27a1-fe0f": "man in manual wheelchair facing right dark skin tone", "1f468-1f3ff-200d-1f9bd": "man in manual wheelchair dark skin tone", "1f468-1f3ff-200d-1faef-200d-1f468-1f3fb": "men wrestling dark skin tone, light skin tone", "1f468-1f3ff-200d-1faef-200d-1f468-1f3fc": "men wrestling dark skin tone, medium-light skin tone", "1f468-1f3ff-200d-1faef-200d-1f468-1f3fd": "men wrestling dark skin tone, medium skin tone", "1f468-1f3ff-200d-1faef-200d-1f468-1f3fe": "men wrestling dark skin tone, medium-dark skin tone", "1f468-1f3ff-200d-2695-fe0f": "man health worker dark skin tone", "1f468-1f3ff-200d-2696-fe0f": "man judge dark skin tone", "1f468-1f3ff-200d-2708-fe0f": "man pilot dark skin tone", "1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fb": "couple with heart man, man, dark skin tone, light skin tone", "1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fc": "couple with heart man, man, dark skin tone, medium-light skin tone", "1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fd": "couple with heart man, man, dark skin tone, medium skin tone", "1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fe": "couple with heart man, man, dark skin tone, medium-dark skin tone", "1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff": "couple with heart man, man, dark skin tone", "1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb": "kiss man, man, dark skin tone, light skin tone", "1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc": "kiss man, man, dark skin tone, medium-light skin tone", "1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd": "kiss man, man, dark skin tone, medium skin tone", "1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe": "kiss man, man, dark skin tone, medium-dark skin tone", "1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff": "kiss man, man, dark skin tone", "1f468-1f3ff": "man dark skin tone", "1f468-200d-1f33e": "man farmer", "1f468-200d-1f373": "man cook", "1f468-200d-1f37c": "man feeding baby", "1f468-200d-1f393": "man student", "1f468-200d-1f3a4": "man singer", "1f468-200d-1f3a8": "man artist", "1f468-200d-1f3eb": "man teacher", "1f468-200d-1f3ed": "man factory worker", "1f468-200d-1f466-200d-1f466": "family man, boy, boy", "1f468-200d-1f466": "family man, boy", "1f468-200d-1f467-200d-1f466": "family man, girl, boy", "1f468-200d-1f467-200d-1f467": "family man, girl, girl", "1f468-200d-1f467": "family man, girl", "1f468-200d-1f468-200d-1f466-200d-1f466": "family man, man, boy, boy", "1f468-200d-1f468-200d-1f466": "family man, man, boy", "1f468-200d-1f468-200d-1f467-200d-1f466": "family man, man, girl, boy", "1f468-200d-1f468-200d-1f467-200d-1f467": "family man, man, girl, girl", "1f468-200d-1f468-200d-1f467": "family man, man, girl", "1f468-200d-1f469-200d-1f466-200d-1f466": "family man, woman, boy, boy", "1f468-200d-1f469-200d-1f466": "family man, woman, boy", "1f468-200d-1f469-200d-1f467-200d-1f466": "family man, woman, girl, boy", "1f468-200d-1f469-200d-1f467-200d-1f467": "family man, woman, girl, girl", "1f468-200d-1f469-200d-1f467": "family man, woman, girl", "1f468-200d-1f4bb": "man technologist", "1f468-200d-1f4bc": "man office worker", "1f468-200d-1f527": "man mechanic", "1f468-200d-1f52c": "man scientist", "1f468-200d-1f680": "man astronaut", "1f468-200d-1f692": "man firefighter", "1f468-200d-1f9af-200d-27a1-fe0f": "man with white cane facing right", "1f468-200d-1f9af": "man with white cane", "1f468-200d-1f9b0": "man red hair", "1f468-200d-1f9b1": "man curly hair", "1f468-200d-1f9b2": "man bald", "1f468-200d-1f9b3": "man white hair", "1f468-200d-1f9bc-200d-27a1-fe0f": "man in motorized wheelchair facing right", "1f468-200d-1f9bc": "man in motorized wheelchair", "1f468-200d-1f9bd-200d-27a1-fe0f": "man in manual wheelchair facing right", "1f468-200d-1f9bd": "man in manual wheelchair", "1f468-200d-2695-fe0f": "man health worker", "1f468-200d-2696-fe0f": "man judge", "1f468-200d-2708-fe0f": "man pilot", "1f468-200d-2764-fe0f-200d-1f468": "couple with heart man, man", "1f468-200d-2764-fe0f-200d-1f48b-200d-1f468": "kiss man, man", "1f468": "man", "1f469-1f3fb-200d-1f33e": "woman farmer light skin tone", "1f469-1f3fb-200d-1f373": "woman cook light skin tone", "1f469-1f3fb-200d-1f37c": "woman feeding baby light skin tone", "1f469-1f3fb-200d-1f393": "woman student light skin tone", "1f469-1f3fb-200d-1f3a4": "woman singer light skin tone", "1f469-1f3fb-200d-1f3a8": "woman artist light skin tone", "1f469-1f3fb-200d-1f3eb": "woman teacher light skin tone", "1f469-1f3fb-200d-1f3ed": "woman factory worker light skin tone", "1f469-1f3fb-200d-1f430-200d-1f469-1f3fc": "women with bunny ears light skin tone, medium-light skin tone", "1f469-1f3fb-200d-1f430-200d-1f469-1f3fd": "women with bunny ears light skin tone, medium skin tone", "1f469-1f3fb-200d-1f430-200d-1f469-1f3fe": "women with bunny ears light skin tone, medium-dark skin tone", "1f469-1f3fb-200d-1f430-200d-1f469-1f3ff": "women with bunny ears light skin tone, dark skin tone", "1f469-1f3fb-200d-1f4bb": "woman technologist light skin tone", "1f469-1f3fb-200d-1f4bc": "woman office worker light skin tone", "1f469-1f3fb-200d-1f527": "woman mechanic light skin tone", "1f469-1f3fb-200d-1f52c": "woman scientist light skin tone", "1f469-1f3fb-200d-1f680": "woman astronaut light skin tone", "1f469-1f3fb-200d-1f692": "woman firefighter light skin tone", "1f469-1f3fb-200d-1f91d-200d-1f468-1f3fc": "woman and man holding hands light skin tone, medium-light skin tone", "1f469-1f3fb-200d-1f91d-200d-1f468-1f3fd": "woman and man holding hands light skin tone, medium skin tone", "1f469-1f3fb-200d-1f91d-200d-1f468-1f3fe": "woman and man holding hands light skin tone, medium-dark skin tone", "1f469-1f3fb-200d-1f91d-200d-1f468-1f3ff": "woman and man holding hands light skin tone, dark skin tone", "1f469-1f3fb-200d-1f91d-200d-1f469-1f3fc": "women holding hands light skin tone, medium-light skin tone", "1f469-1f3fb-200d-1f91d-200d-1f469-1f3fd": "women holding hands light skin tone, medium skin tone", "1f469-1f3fb-200d-1f91d-200d-1f469-1f3fe": "women holding hands light skin tone, medium-dark skin tone", "1f469-1f3fb-200d-1f91d-200d-1f469-1f3ff": "women holding hands light skin tone, dark skin tone", "1f469-1f3fb-200d-1f9af-200d-27a1-fe0f": "woman with white cane facing right light skin tone", "1f469-1f3fb-200d-1f9af": "woman with white cane light skin tone", "1f469-1f3fb-200d-1f9b0": "woman light skin tone, red hair", "1f469-1f3fb-200d-1f9b1": "woman light skin tone, curly hair", "1f469-1f3fb-200d-1f9b2": "woman light skin tone, bald", "1f469-1f3fb-200d-1f9b3": "woman light skin tone, white hair", "1f469-1f3fb-200d-1f9bc-200d-27a1-fe0f": "woman in motorized wheelchair facing right light skin tone", "1f469-1f3fb-200d-1f9bc": "woman in motorized wheelchair light skin tone", "1f469-1f3fb-200d-1f9bd-200d-27a1-fe0f": "woman in manual wheelchair facing right light skin tone", "1f469-1f3fb-200d-1f9bd": "woman in manual wheelchair light skin tone", "1f469-1f3fb-200d-1faef-200d-1f469-1f3fc": "women wrestling light skin tone, medium-light skin tone", "1f469-1f3fb-200d-1faef-200d-1f469-1f3fd": "women wrestling light skin tone, medium skin tone", "1f469-1f3fb-200d-1faef-200d-1f469-1f3fe": "women wrestling light skin tone, medium-dark skin tone", "1f469-1f3fb-200d-1faef-200d-1f469-1f3ff": "women wrestling light skin tone, dark skin tone", "1f469-1f3fb-200d-2695-fe0f": "woman health worker light skin tone", "1f469-1f3fb-200d-2696-fe0f": "woman judge light skin tone", "1f469-1f3fb-200d-2708-fe0f": "woman pilot light skin tone", "1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb": "couple with heart woman, man, light skin tone", "1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fc": "couple with heart woman, man, light skin tone, medium-light skin tone", "1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fd": "couple with heart woman, man, light skin tone, medium skin tone", "1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fe": "couple with heart woman, man, light skin tone, medium-dark skin tone", "1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3ff": "couple with heart woman, man, light skin tone, dark skin tone", "1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fb": "couple with heart woman, woman, light skin tone", "1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fc": "couple with heart woman, woman, light skin tone, medium-light skin tone", "1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fd": "couple with heart woman, woman, light skin tone, medium skin tone", "1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fe": "couple with heart woman, woman, light skin tone, medium-dark skin tone", "1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3ff": "couple with heart woman, woman, light skin tone, dark skin tone", "1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb": "kiss woman, man, light skin tone", "1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc": "kiss woman, man, light skin tone, medium-light skin tone", "1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd": "kiss woman, man, light skin tone, medium skin tone", "1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe": "kiss woman, man, light skin tone, medium-dark skin tone", "1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff": "kiss woman, man, light skin tone, dark skin tone", "1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb": "kiss woman, woman, light skin tone", "1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc": "kiss woman, woman, light skin tone, medium-light skin tone", "1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd": "kiss woman, woman, light skin tone, medium skin tone", "1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe": "kiss woman, woman, light skin tone, medium-dark skin tone", "1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff": "kiss woman, woman, light skin tone, dark skin tone", "1f469-1f3fb": "woman light skin tone", "1f469-1f3fc-200d-1f33e": "woman farmer medium-light skin tone", "1f469-1f3fc-200d-1f373": "woman cook medium-light skin tone", "1f469-1f3fc-200d-1f37c": "woman feeding baby medium-light skin tone", "1f469-1f3fc-200d-1f393": "woman student medium-light skin tone", "1f469-1f3fc-200d-1f3a4": "woman singer medium-light skin tone", "1f469-1f3fc-200d-1f3a8": "woman artist medium-light skin tone", "1f469-1f3fc-200d-1f3eb": "woman teacher medium-light skin tone", "1f469-1f3fc-200d-1f3ed": "woman factory worker medium-light skin tone", "1f469-1f3fc-200d-1f430-200d-1f469-1f3fb": "women with bunny ears medium-light skin tone, light skin tone", "1f469-1f3fc-200d-1f430-200d-1f469-1f3fd": "women with bunny ears medium-light skin tone, medium skin tone", "1f469-1f3fc-200d-1f430-200d-1f469-1f3fe": "women with bunny ears medium-light skin tone, medium-dark skin tone", "1f469-1f3fc-200d-1f430-200d-1f469-1f3ff": "women with bunny ears medium-light skin tone, dark skin tone", "1f469-1f3fc-200d-1f4bb": "woman technologist medium-light skin tone", "1f469-1f3fc-200d-1f4bc": "woman office worker medium-light skin tone", "1f469-1f3fc-200d-1f527": "woman mechanic medium-light skin tone", "1f469-1f3fc-200d-1f52c": "woman scientist medium-light skin tone", "1f469-1f3fc-200d-1f680": "woman astronaut medium-light skin tone", "1f469-1f3fc-200d-1f692": "woman firefighter medium-light skin tone", "1f469-1f3fc-200d-1f91d-200d-1f468-1f3fb": "woman and man holding hands medium-light skin tone, light skin tone", "1f469-1f3fc-200d-1f91d-200d-1f468-1f3fd": "woman and man holding hands medium-light skin tone, medium skin tone", "1f469-1f3fc-200d-1f91d-200d-1f468-1f3fe": "woman and man holding hands medium-light skin tone, medium-dark skin tone", "1f469-1f3fc-200d-1f91d-200d-1f468-1f3ff": "woman and man holding hands medium-light skin tone, dark skin tone", "1f469-1f3fc-200d-1f91d-200d-1f469-1f3fb": "women holding hands medium-light skin tone, light skin tone", "1f469-1f3fc-200d-1f91d-200d-1f469-1f3fd": "women holding hands medium-light skin tone, medium skin tone", "1f469-1f3fc-200d-1f91d-200d-1f469-1f3fe": "women holding hands medium-light skin tone, medium-dark skin tone", "1f469-1f3fc-200d-1f91d-200d-1f469-1f3ff": "women holding hands medium-light skin tone, dark skin tone", "1f469-1f3fc-200d-1f9af-200d-27a1-fe0f": "woman with white cane facing right medium-light skin tone", "1f469-1f3fc-200d-1f9af": "woman with white cane medium-light skin tone", "1f469-1f3fc-200d-1f9b0": "woman medium-light skin tone, red hair", "1f469-1f3fc-200d-1f9b1": "woman medium-light skin tone, curly hair", "1f469-1f3fc-200d-1f9b2": "woman medium-light skin tone, bald", "1f469-1f3fc-200d-1f9b3": "woman medium-light skin tone, white hair", "1f469-1f3fc-200d-1f9bc-200d-27a1-fe0f": "woman in motorized wheelchair facing right medium-light skin tone", "1f469-1f3fc-200d-1f9bc": "woman in motorized wheelchair medium-light skin tone", "1f469-1f3fc-200d-1f9bd-200d-27a1-fe0f": "woman in manual wheelchair facing right medium-light skin tone", "1f469-1f3fc-200d-1f9bd": "woman in manual wheelchair medium-light skin tone", "1f469-1f3fc-200d-1faef-200d-1f469-1f3fb": "women wrestling medium-light skin tone, light skin tone", "1f469-1f3fc-200d-1faef-200d-1f469-1f3fd": "women wrestling medium-light skin tone, medium skin tone", "1f469-1f3fc-200d-1faef-200d-1f469-1f3fe": "women wrestling medium-light skin tone, medium-dark skin tone", "1f469-1f3fc-200d-1faef-200d-1f469-1f3ff": "women wrestling medium-light skin tone, dark skin tone", "1f469-1f3fc-200d-2695-fe0f": "woman health worker medium-light skin tone", "1f469-1f3fc-200d-2696-fe0f": "woman judge medium-light skin tone", "1f469-1f3fc-200d-2708-fe0f": "woman pilot medium-light skin tone", "1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fb": "couple with heart woman, man, medium-light skin tone, light skin tone", "1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc": "couple with heart woman, man, medium-light skin tone", "1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fd": "couple with heart woman, man, medium-light skin tone, medium skin tone", "1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fe": "couple with heart woman, man, medium-light skin tone, medium-dark skin tone", "1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3ff": "couple with heart woman, man, medium-light skin tone, dark skin tone", "1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fb": "couple with heart woman, woman, medium-light skin tone, light skin tone", "1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fc": "couple with heart woman, woman, medium-light skin tone", "1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fd": "couple with heart woman, woman, medium-light skin tone, medium skin tone", "1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fe": "couple with heart woman, woman, medium-light skin tone, medium-dark skin tone", "1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3ff": "couple with heart woman, woman, medium-light skin tone, dark skin tone", "1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb": "kiss woman, man, medium-light skin tone, light skin tone", "1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc": "kiss woman, man, medium-light skin tone", "1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd": "kiss woman, man, medium-light skin tone, medium skin tone", "1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe": "kiss woman, man, medium-light skin tone, medium-dark skin tone", "1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff": "kiss woman, man, medium-light skin tone, dark skin tone", "1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb": "kiss woman, woman, medium-light skin tone, light skin tone", "1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc": "kiss woman, woman, medium-light skin tone", "1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd": "kiss woman, woman, medium-light skin tone, medium skin tone", "1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe": "kiss woman, woman, medium-light skin tone, medium-dark skin tone", "1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff": "kiss woman, woman, medium-light skin tone, dark skin tone", "1f469-1f3fc": "woman medium-light skin tone", "1f469-1f3fd-200d-1f33e": "woman farmer medium skin tone", "1f469-1f3fd-200d-1f373": "woman cook medium skin tone", "1f469-1f3fd-200d-1f37c": "woman feeding baby medium skin tone", "1f469-1f3fd-200d-1f393": "woman student medium skin tone", "1f469-1f3fd-200d-1f3a4": "woman singer medium skin tone", "1f469-1f3fd-200d-1f3a8": "woman artist medium skin tone", "1f469-1f3fd-200d-1f3eb": "woman teacher medium skin tone", "1f469-1f3fd-200d-1f3ed": "woman factory worker medium skin tone", "1f469-1f3fd-200d-1f430-200d-1f469-1f3fb": "women with bunny ears medium skin tone, light skin tone", "1f469-1f3fd-200d-1f430-200d-1f469-1f3fc": "women with bunny ears medium skin tone, medium-light skin tone", "1f469-1f3fd-200d-1f430-200d-1f469-1f3fe": "women with bunny ears medium skin tone, medium-dark skin tone", "1f469-1f3fd-200d-1f430-200d-1f469-1f3ff": "women with bunny ears medium skin tone, dark skin tone", "1f469-1f3fd-200d-1f4bb": "woman technologist medium skin tone", "1f469-1f3fd-200d-1f4bc": "woman office worker medium skin tone", "1f469-1f3fd-200d-1f527": "woman mechanic medium skin tone", "1f469-1f3fd-200d-1f52c": "woman scientist medium skin tone", "1f469-1f3fd-200d-1f680": "woman astronaut medium skin tone", "1f469-1f3fd-200d-1f692": "woman firefighter medium skin tone", "1f469-1f3fd-200d-1f91d-200d-1f468-1f3fb": "woman and man holding hands medium skin tone, light skin tone", "1f469-1f3fd-200d-1f91d-200d-1f468-1f3fc": "woman and man holding hands medium skin tone, medium-light skin tone", "1f469-1f3fd-200d-1f91d-200d-1f468-1f3fe": "woman and man holding hands medium skin tone, medium-dark skin tone", "1f469-1f3fd-200d-1f91d-200d-1f468-1f3ff": "woman and man holding hands medium skin tone, dark skin tone", "1f469-1f3fd-200d-1f91d-200d-1f469-1f3fb": "women holding hands medium skin tone, light skin tone", "1f469-1f3fd-200d-1f91d-200d-1f469-1f3fc": "women holding hands medium skin tone, medium-light skin tone", "1f469-1f3fd-200d-1f91d-200d-1f469-1f3fe": "women holding hands medium skin tone, medium-dark skin tone", "1f469-1f3fd-200d-1f91d-200d-1f469-1f3ff": "women holding hands medium skin tone, dark skin tone", "1f469-1f3fd-200d-1f9af-200d-27a1-fe0f": "woman with white cane facing right medium skin tone", "1f469-1f3fd-200d-1f9af": "woman with white cane medium skin tone", "1f469-1f3fd-200d-1f9b0": "woman medium skin tone, red hair", "1f469-1f3fd-200d-1f9b1": "woman medium skin tone, curly hair", "1f469-1f3fd-200d-1f9b2": "woman medium skin tone, bald", "1f469-1f3fd-200d-1f9b3": "woman medium skin tone, white hair", "1f469-1f3fd-200d-1f9bc-200d-27a1-fe0f": "woman in motorized wheelchair facing right medium skin tone", "1f469-1f3fd-200d-1f9bc": "woman in motorized wheelchair medium skin tone", "1f469-1f3fd-200d-1f9bd-200d-27a1-fe0f": "woman in manual wheelchair facing right medium skin tone", "1f469-1f3fd-200d-1f9bd": "woman in manual wheelchair medium skin tone", "1f469-1f3fd-200d-1faef-200d-1f469-1f3fb": "women wrestling medium skin tone, light skin tone", "1f469-1f3fd-200d-1faef-200d-1f469-1f3fc": "women wrestling medium skin tone, medium-light skin tone", "1f469-1f3fd-200d-1faef-200d-1f469-1f3fe": "women wrestling medium skin tone, medium-dark skin tone", "1f469-1f3fd-200d-1faef-200d-1f469-1f3ff": "women wrestling medium skin tone, dark skin tone", "1f469-1f3fd-200d-2695-fe0f": "woman health worker medium skin tone", "1f469-1f3fd-200d-2696-fe0f": "woman judge medium skin tone", "1f469-1f3fd-200d-2708-fe0f": "woman pilot medium skin tone", "1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fb": "couple with heart woman, man, medium skin tone, light skin tone", "1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fc": "couple with heart woman, man, medium skin tone, medium-light skin tone", "1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd": "couple with heart woman, man, medium skin tone", "1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fe": "couple with heart woman, man, medium skin tone, medium-dark skin tone", "1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3ff": "couple with heart woman, man, medium skin tone, dark skin tone", "1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fb": "couple with heart woman, woman, medium skin tone, light skin tone", "1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fc": "couple with heart woman, woman, medium skin tone, medium-light skin tone", "1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fd": "couple with heart woman, woman, medium skin tone", "1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fe": "couple with heart woman, woman, medium skin tone, medium-dark skin tone", "1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3ff": "couple with heart woman, woman, medium skin tone, dark skin tone", "1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb": "kiss woman, man, medium skin tone, light skin tone", "1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc": "kiss woman, man, medium skin tone, medium-light skin tone", "1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd": "kiss woman, man, medium skin tone", "1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe": "kiss woman, man, medium skin tone, medium-dark skin tone", "1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff": "kiss woman, man, medium skin tone, dark skin tone", "1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb": "kiss woman, woman, medium skin tone, light skin tone", "1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc": "kiss woman, woman, medium skin tone, medium-light skin tone", "1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd": "kiss woman, woman, medium skin tone", "1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe": "kiss woman, woman, medium skin tone, medium-dark skin tone", "1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff": "kiss woman, woman, medium skin tone, dark skin tone", "1f469-1f3fd": "woman medium skin tone", "1f469-1f3fe-200d-1f33e": "woman farmer medium-dark skin tone", "1f469-1f3fe-200d-1f373": "woman cook medium-dark skin tone", "1f469-1f3fe-200d-1f37c": "woman feeding baby medium-dark skin tone", "1f469-1f3fe-200d-1f393": "woman student medium-dark skin tone", "1f469-1f3fe-200d-1f3a4": "woman singer medium-dark skin tone", "1f469-1f3fe-200d-1f3a8": "woman artist medium-dark skin tone", "1f469-1f3fe-200d-1f3eb": "woman teacher medium-dark skin tone", "1f469-1f3fe-200d-1f3ed": "woman factory worker medium-dark skin tone", "1f469-1f3fe-200d-1f430-200d-1f469-1f3fb": "women with bunny ears medium-dark skin tone, light skin tone", "1f469-1f3fe-200d-1f430-200d-1f469-1f3fc": "women with bunny ears medium-dark skin tone, medium-light skin tone", "1f469-1f3fe-200d-1f430-200d-1f469-1f3fd": "women with bunny ears medium-dark skin tone, medium skin tone", "1f469-1f3fe-200d-1f430-200d-1f469-1f3ff": "women with bunny ears medium-dark skin tone, dark skin tone", "1f469-1f3fe-200d-1f4bb": "woman technologist medium-dark skin tone", "1f469-1f3fe-200d-1f4bc": "woman office worker medium-dark skin tone", "1f469-1f3fe-200d-1f527": "woman mechanic medium-dark skin tone", "1f469-1f3fe-200d-1f52c": "woman scientist medium-dark skin tone", "1f469-1f3fe-200d-1f680": "woman astronaut medium-dark skin tone", "1f469-1f3fe-200d-1f692": "woman firefighter medium-dark skin tone", "1f469-1f3fe-200d-1f91d-200d-1f468-1f3fb": "woman and man holding hands medium-dark skin tone, light skin tone", "1f469-1f3fe-200d-1f91d-200d-1f468-1f3fc": "woman and man holding hands medium-dark skin tone, medium-light skin tone", "1f469-1f3fe-200d-1f91d-200d-1f468-1f3fd": "woman and man holding hands medium-dark skin tone, medium skin tone", "1f469-1f3fe-200d-1f91d-200d-1f468-1f3ff": "woman and man holding hands medium-dark skin tone, dark skin tone", "1f469-1f3fe-200d-1f91d-200d-1f469-1f3fb": "women holding hands medium-dark skin tone, light skin tone", "1f469-1f3fe-200d-1f91d-200d-1f469-1f3fc": "women holding hands medium-dark skin tone, medium-light skin tone", "1f469-1f3fe-200d-1f91d-200d-1f469-1f3fd": "women holding hands medium-dark skin tone, medium skin tone", "1f469-1f3fe-200d-1f91d-200d-1f469-1f3ff": "women holding hands medium-dark skin tone, dark skin tone", "1f469-1f3fe-200d-1f9af-200d-27a1-fe0f": "woman with white cane facing right medium-dark skin tone", "1f469-1f3fe-200d-1f9af": "woman with white cane medium-dark skin tone", "1f469-1f3fe-200d-1f9b0": "woman medium-dark skin tone, red hair", "1f469-1f3fe-200d-1f9b1": "woman medium-dark skin tone, curly hair", "1f469-1f3fe-200d-1f9b2": "woman medium-dark skin tone, bald", "1f469-1f3fe-200d-1f9b3": "woman medium-dark skin tone, white hair", "1f469-1f3fe-200d-1f9bc-200d-27a1-fe0f": "woman in motorized wheelchair facing right medium-dark skin tone", "1f469-1f3fe-200d-1f9bc": "woman in motorized wheelchair medium-dark skin tone", "1f469-1f3fe-200d-1f9bd-200d-27a1-fe0f": "woman in manual wheelchair facing right medium-dark skin tone", "1f469-1f3fe-200d-1f9bd": "woman in manual wheelchair medium-dark skin tone", "1f469-1f3fe-200d-1faef-200d-1f469-1f3fb": "women wrestling medium-dark skin tone, light skin tone", "1f469-1f3fe-200d-1faef-200d-1f469-1f3fc": "women wrestling medium-dark skin tone, medium-light skin tone", "1f469-1f3fe-200d-1faef-200d-1f469-1f3fd": "women wrestling medium-dark skin tone, medium skin tone", "1f469-1f3fe-200d-1faef-200d-1f469-1f3ff": "women wrestling medium-dark skin tone, dark skin tone", "1f469-1f3fe-200d-2695-fe0f": "woman health worker medium-dark skin tone", "1f469-1f3fe-200d-2696-fe0f": "woman judge medium-dark skin tone", "1f469-1f3fe-200d-2708-fe0f": "woman pilot medium-dark skin tone", "1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fb": "couple with heart woman, man, medium-dark skin tone, light skin tone", "1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fc": "couple with heart woman, man, medium-dark skin tone, medium-light skin tone", "1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fd": "couple with heart woman, man, medium-dark skin tone, medium skin tone", "1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe": "couple with heart woman, man, medium-dark skin tone", "1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3ff": "couple with heart woman, man, medium-dark skin tone, dark skin tone", "1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fb": "couple with heart woman, woman, medium-dark skin tone, light skin tone", "1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fc": "couple with heart woman, woman, medium-dark skin tone, medium-light skin tone", "1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fd": "couple with heart woman, woman, medium-dark skin tone, medium skin tone", "1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fe": "couple with heart woman, woman, medium-dark skin tone", "1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3ff": "couple with heart woman, woman, medium-dark skin tone, dark skin tone", "1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb": "kiss woman, man, medium-dark skin tone, light skin tone", "1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc": "kiss woman, man, medium-dark skin tone, medium-light skin tone", "1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd": "kiss woman, man, medium-dark skin tone, medium skin tone", "1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe": "kiss woman, man, medium-dark skin tone", "1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff": "kiss woman, man, medium-dark skin tone, dark skin tone", "1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb": "kiss woman, woman, medium-dark skin tone, light skin tone", "1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc": "kiss woman, woman, medium-dark skin tone, medium-light skin tone", "1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd": "kiss woman, woman, medium-dark skin tone, medium skin tone", "1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe": "kiss woman, woman, medium-dark skin tone", "1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff": "kiss woman, woman, medium-dark skin tone, dark skin tone", "1f469-1f3fe": "woman medium-dark skin tone", "1f469-1f3ff-200d-1f33e": "woman farmer dark skin tone", "1f469-1f3ff-200d-1f373": "woman cook dark skin tone", "1f469-1f3ff-200d-1f37c": "woman feeding baby dark skin tone", "1f469-1f3ff-200d-1f393": "woman student dark skin tone", "1f469-1f3ff-200d-1f3a4": "woman singer dark skin tone", "1f469-1f3ff-200d-1f3a8": "woman artist dark skin tone", "1f469-1f3ff-200d-1f3eb": "woman teacher dark skin tone", "1f469-1f3ff-200d-1f3ed": "woman factory worker dark skin tone", "1f469-1f3ff-200d-1f430-200d-1f469-1f3fb": "women with bunny ears dark skin tone, light skin tone", "1f469-1f3ff-200d-1f430-200d-1f469-1f3fc": "women with bunny ears dark skin tone, medium-light skin tone", "1f469-1f3ff-200d-1f430-200d-1f469-1f3fd": "women with bunny ears dark skin tone, medium skin tone", "1f469-1f3ff-200d-1f430-200d-1f469-1f3fe": "women with bunny ears dark skin tone, medium-dark skin tone", "1f469-1f3ff-200d-1f4bb": "woman technologist dark skin tone", "1f469-1f3ff-200d-1f4bc": "woman office worker dark skin tone", "1f469-1f3ff-200d-1f527": "woman mechanic dark skin tone", "1f469-1f3ff-200d-1f52c": "woman scientist dark skin tone", "1f469-1f3ff-200d-1f680": "woman astronaut dark skin tone", "1f469-1f3ff-200d-1f692": "woman firefighter dark skin tone", "1f469-1f3ff-200d-1f91d-200d-1f468-1f3fb": "woman and man holding hands dark skin tone, light skin tone", "1f469-1f3ff-200d-1f91d-200d-1f468-1f3fc": "woman and man holding hands dark skin tone, medium-light skin tone", "1f469-1f3ff-200d-1f91d-200d-1f468-1f3fd": "woman and man holding hands dark skin tone, medium skin tone", "1f469-1f3ff-200d-1f91d-200d-1f468-1f3fe": "woman and man holding hands dark skin tone, medium-dark skin tone", "1f469-1f3ff-200d-1f91d-200d-1f469-1f3fb": "women holding hands dark skin tone, light skin tone", "1f469-1f3ff-200d-1f91d-200d-1f469-1f3fc": "women holding hands dark skin tone, medium-light skin tone", "1f469-1f3ff-200d-1f91d-200d-1f469-1f3fd": "women holding hands dark skin tone, medium skin tone", "1f469-1f3ff-200d-1f91d-200d-1f469-1f3fe": "women holding hands dark skin tone, medium-dark skin tone", "1f469-1f3ff-200d-1f9af-200d-27a1-fe0f": "woman with white cane facing right dark skin tone", "1f469-1f3ff-200d-1f9af": "woman with white cane dark skin tone", "1f469-1f3ff-200d-1f9b0": "woman dark skin tone, red hair", "1f469-1f3ff-200d-1f9b1": "woman dark skin tone, curly hair", "1f469-1f3ff-200d-1f9b2": "woman dark skin tone, bald", "1f469-1f3ff-200d-1f9b3": "woman dark skin tone, white hair", "1f469-1f3ff-200d-1f9bc-200d-27a1-fe0f": "woman in motorized wheelchair facing right dark skin tone", "1f469-1f3ff-200d-1f9bc": "woman in motorized wheelchair dark skin tone", "1f469-1f3ff-200d-1f9bd-200d-27a1-fe0f": "woman in manual wheelchair facing right dark skin tone", "1f469-1f3ff-200d-1f9bd": "woman in manual wheelchair dark skin tone", "1f469-1f3ff-200d-1faef-200d-1f469-1f3fb": "women wrestling dark skin tone, light skin tone", "1f469-1f3ff-200d-1faef-200d-1f469-1f3fc": "women wrestling dark skin tone, medium-light skin tone", "1f469-1f3ff-200d-1faef-200d-1f469-1f3fd": "women wrestling dark skin tone, medium skin tone", "1f469-1f3ff-200d-1faef-200d-1f469-1f3fe": "women wrestling dark skin tone, medium-dark skin tone", "1f469-1f3ff-200d-2695-fe0f": "woman health worker dark skin tone", "1f469-1f3ff-200d-2696-fe0f": "woman judge dark skin tone", "1f469-1f3ff-200d-2708-fe0f": "woman pilot dark skin tone", "1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fb": "couple with heart woman, man, dark skin tone, light skin tone", "1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fc": "couple with heart woman, man, dark skin tone, medium-light skin tone", "1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fd": "couple with heart woman, man, dark skin tone, medium skin tone", "1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fe": "couple with heart woman, man, dark skin tone, medium-dark skin tone", "1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff": "couple with heart woman, man, dark skin tone", "1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fb": "couple with heart woman, woman, dark skin tone, light skin tone", "1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fc": "couple with heart woman, woman, dark skin tone, medium-light skin tone", "1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fd": "couple with heart woman, woman, dark skin tone, medium skin tone", "1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fe": "couple with heart woman, woman, dark skin tone, medium-dark skin tone", "1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3ff": "couple with heart woman, woman, dark skin tone", "1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb": "kiss woman, man, dark skin tone, light skin tone", "1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc": "kiss woman, man, dark skin tone, medium-light skin tone", "1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd": "kiss woman, man, dark skin tone, medium skin tone", "1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe": "kiss woman, man, dark skin tone, medium-dark skin tone", "1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff": "kiss woman, man, dark skin tone", "1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb": "kiss woman, woman, dark skin tone, light skin tone", "1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc": "kiss woman, woman, dark skin tone, medium-light skin tone", "1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd": "kiss woman, woman, dark skin tone, medium skin tone", "1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe": "kiss woman, woman, dark skin tone, medium-dark skin tone", "1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff": "kiss woman, woman, dark skin tone", "1f469-1f3ff": "woman dark skin tone", "1f469-200d-1f33e": "woman farmer", "1f469-200d-1f373": "woman cook", "1f469-200d-1f37c": "woman feeding baby", "1f469-200d-1f393": "woman student", "1f469-200d-1f3a4": "woman singer", "1f469-200d-1f3a8": "woman artist", "1f469-200d-1f3eb": "woman teacher", "1f469-200d-1f3ed": "woman factory worker", "1f469-200d-1f466-200d-1f466": "family woman, boy, boy", "1f469-200d-1f466": "family woman, boy", "1f469-200d-1f467-200d-1f466": "family woman, girl, boy", "1f469-200d-1f467-200d-1f467": "family woman, girl, girl", "1f469-200d-1f467": "family woman, girl", "1f469-200d-1f469-200d-1f466-200d-1f466": "family woman, woman, boy, boy", "1f469-200d-1f469-200d-1f466": "family woman, woman, boy", "1f469-200d-1f469-200d-1f467-200d-1f466": "family woman, woman, girl, boy", "1f469-200d-1f469-200d-1f467-200d-1f467": "family woman, woman, girl, girl", "1f469-200d-1f469-200d-1f467": "family woman, woman, girl", "1f469-200d-1f4bb": "woman technologist", "1f469-200d-1f4bc": "woman office worker", "1f469-200d-1f527": "woman mechanic", "1f469-200d-1f52c": "woman scientist", "1f469-200d-1f680": "woman astronaut", "1f469-200d-1f692": "woman firefighter", "1f469-200d-1f9af-200d-27a1-fe0f": "woman with white cane facing right", "1f469-200d-1f9af": "woman with white cane", "1f469-200d-1f9b0": "woman red hair", "1f469-200d-1f9b1": "woman curly hair", "1f469-200d-1f9b2": "woman bald", "1f469-200d-1f9b3": "woman white hair", "1f469-200d-1f9bc-200d-27a1-fe0f": "woman in motorized wheelchair facing right", "1f469-200d-1f9bc": "woman in motorized wheelchair", "1f469-200d-1f9bd-200d-27a1-fe0f": "woman in manual wheelchair facing right", "1f469-200d-1f9bd": "woman in manual wheelchair", "1f469-200d-2695-fe0f": "woman health worker", "1f469-200d-2696-fe0f": "woman judge", "1f469-200d-2708-fe0f": "woman pilot", "1f469-200d-2764-fe0f-200d-1f468": "couple with heart woman, man", "1f469-200d-2764-fe0f-200d-1f469": "couple with heart woman, woman", "1f469-200d-2764-fe0f-200d-1f48b-200d-1f468": "kiss woman, man", "1f469-200d-2764-fe0f-200d-1f48b-200d-1f469": "kiss woman, woman", "1f469": "woman", "1f46a": "family", "1f46b-1f3fb": "woman and man holding hands light skin tone", "1f46b-1f3fc": "woman and man holding hands medium-light skin tone", "1f46b-1f3fd": "woman and man holding hands medium skin tone", "1f46b-1f3fe": "woman and man holding hands medium-dark skin tone", "1f46b-1f3ff": "woman and man holding hands dark skin tone", "1f46b": "woman and man holding hands", "1f46c-1f3fb": "men holding hands light skin tone", "1f46c-1f3fc": "men holding hands medium-light skin tone", "1f46c-1f3fd": "men holding hands medium skin tone", "1f46c-1f3fe": "men holding hands medium-dark skin tone", "1f46c-1f3ff": "men holding hands dark skin tone", "1f46c": "men holding hands", "1f46d-1f3fb": "women holding hands light skin tone", "1f46d-1f3fc": "women holding hands medium-light skin tone", "1f46d-1f3fd": "women holding hands medium skin tone", "1f46d-1f3fe": "women holding hands medium-dark skin tone", "1f46d-1f3ff": "women holding hands dark skin tone", "1f46d": "women holding hands", "1f46e-1f3fb-200d-2640-fe0f": "woman police officer light skin tone", "1f46e-1f3fb-200d-2642-fe0f": "man police officer light skin tone", "1f46e-1f3fb": "police officer light skin tone", "1f46e-1f3fc-200d-2640-fe0f": "woman police officer medium-light skin tone", "1f46e-1f3fc-200d-2642-fe0f": "man police officer medium-light skin tone", "1f46e-1f3fc": "police officer medium-light skin tone", "1f46e-1f3fd-200d-2640-fe0f": "woman police officer medium skin tone", "1f46e-1f3fd-200d-2642-fe0f": "man police officer medium skin tone", "1f46e-1f3fd": "police officer medium skin tone", "1f46e-1f3fe-200d-2640-fe0f": "woman police officer medium-dark skin tone", "1f46e-1f3fe-200d-2642-fe0f": "man police officer medium-dark skin tone", "1f46e-1f3fe": "police officer medium-dark skin tone", "1f46e-1f3ff-200d-2640-fe0f": "woman police officer dark skin tone", "1f46e-1f3ff-200d-2642-fe0f": "man police officer dark skin tone", "1f46e-1f3ff": "police officer dark skin tone", "1f46e-200d-2640-fe0f": "woman police officer", "1f46e-200d-2642-fe0f": "man police officer", "1f46e": "police officer", "1f46f-1f3fb-200d-2640-fe0f": "women with bunny ears light skin tone", "1f46f-1f3fb-200d-2642-fe0f": "men with bunny ears light skin tone", "1f46f-1f3fb": "people with bunny ears light skin tone", "1f46f-1f3fc-200d-2640-fe0f": "women with bunny ears medium-light skin tone", "1f46f-1f3fc-200d-2642-fe0f": "men with bunny ears medium-light skin tone", "1f46f-1f3fc": "people with bunny ears medium-light skin tone", "1f46f-1f3fd-200d-2640-fe0f": "women with bunny ears medium skin tone", "1f46f-1f3fd-200d-2642-fe0f": "men with bunny ears medium skin tone", "1f46f-1f3fd": "people with bunny ears medium skin tone", "1f46f-1f3fe-200d-2640-fe0f": "women with bunny ears medium-dark skin tone", "1f46f-1f3fe-200d-2642-fe0f": "men with bunny ears medium-dark skin tone", "1f46f-1f3fe": "people with bunny ears medium-dark skin tone", "1f46f-1f3ff-200d-2640-fe0f": "women with bunny ears dark skin tone", "1f46f-1f3ff-200d-2642-fe0f": "men with bunny ears dark skin tone", "1f46f-1f3ff": "people with bunny ears dark skin tone", "1f46f-200d-2640-fe0f": "women with bunny ears", "1f46f-200d-2642-fe0f": "men with bunny ears", "1f46f": "people with bunny ears", "1f470-1f3fb-200d-2640-fe0f": "woman with veil light skin tone", "1f470-1f3fb-200d-2642-fe0f": "man with veil light skin tone", "1f470-1f3fb": "person with veil light skin tone", "1f470-1f3fc-200d-2640-fe0f": "woman with veil medium-light skin tone", "1f470-1f3fc-200d-2642-fe0f": "man with veil medium-light skin tone", "1f470-1f3fc": "person with veil medium-light skin tone", "1f470-1f3fd-200d-2640-fe0f": "woman with veil medium skin tone", "1f470-1f3fd-200d-2642-fe0f": "man with veil medium skin tone", "1f470-1f3fd": "person with veil medium skin tone", "1f470-1f3fe-200d-2640-fe0f": "woman with veil medium-dark skin tone", "1f470-1f3fe-200d-2642-fe0f": "man with veil medium-dark skin tone", "1f470-1f3fe": "person with veil medium-dark skin tone", "1f470-1f3ff-200d-2640-fe0f": "woman with veil dark skin tone", "1f470-1f3ff-200d-2642-fe0f": "man with veil dark skin tone", "1f470-1f3ff": "person with veil dark skin tone", "1f470-200d-2640-fe0f": "woman with veil", "1f470-200d-2642-fe0f": "man with veil", "1f470": "person with veil", "1f471-1f3fb-200d-2640-fe0f": "woman light skin tone, blond hair", "1f471-1f3fb-200d-2642-fe0f": "man light skin tone, blond hair", "1f471-1f3fb": "person light skin tone, blond hair", "1f471-1f3fc-200d-2640-fe0f": "woman medium-light skin tone, blond hair", "1f471-1f3fc-200d-2642-fe0f": "man medium-light skin tone, blond hair", "1f471-1f3fc": "person medium-light skin tone, blond hair", "1f471-1f3fd-200d-2640-fe0f": "woman medium skin tone, blond hair", "1f471-1f3fd-200d-2642-fe0f": "man medium skin tone, blond hair", "1f471-1f3fd": "person medium skin tone, blond hair", "1f471-1f3fe-200d-2640-fe0f": "woman medium-dark skin tone, blond hair", "1f471-1f3fe-200d-2642-fe0f": "man medium-dark skin tone, blond hair", "1f471-1f3fe": "person medium-dark skin tone, blond hair", "1f471-1f3ff-200d-2640-fe0f": "woman dark skin tone, blond hair", "1f471-1f3ff-200d-2642-fe0f": "man dark skin tone, blond hair", "1f471-1f3ff": "person dark skin tone, blond hair", "1f471-200d-2640-fe0f": "woman blond hair", "1f471-200d-2642-fe0f": "man blond hair", "1f471": "person blond hair", "1f472-1f3fb": "person with skullcap light skin tone", "1f472-1f3fc": "person with skullcap medium-light skin tone", "1f472-1f3fd": "person with skullcap medium skin tone", "1f472-1f3fe": "person with skullcap medium-dark skin tone", "1f472-1f3ff": "person with skullcap dark skin tone", "1f472": "person with skullcap", "1f473-1f3fb-200d-2640-fe0f": "woman wearing turban light skin tone", "1f473-1f3fb-200d-2642-fe0f": "man wearing turban light skin tone", "1f473-1f3fb": "person wearing turban light skin tone", "1f473-1f3fc-200d-2640-fe0f": "woman wearing turban medium-light skin tone", "1f473-1f3fc-200d-2642-fe0f": "man wearing turban medium-light skin tone", "1f473-1f3fc": "person wearing turban medium-light skin tone", "1f473-1f3fd-200d-2640-fe0f": "woman wearing turban medium skin tone", "1f473-1f3fd-200d-2642-fe0f": "man wearing turban medium skin tone", "1f473-1f3fd": "person wearing turban medium skin tone", "1f473-1f3fe-200d-2640-fe0f": "woman wearing turban medium-dark skin tone", "1f473-1f3fe-200d-2642-fe0f": "man wearing turban medium-dark skin tone", "1f473-1f3fe": "person wearing turban medium-dark skin tone", "1f473-1f3ff-200d-2640-fe0f": "woman wearing turban dark skin tone", "1f473-1f3ff-200d-2642-fe0f": "man wearing turban dark skin tone", "1f473-1f3ff": "person wearing turban dark skin tone", "1f473-200d-2640-fe0f": "woman wearing turban", "1f473-200d-2642-fe0f": "man wearing turban", "1f473": "person wearing turban", "1f474-1f3fb": "old man light skin tone", "1f474-1f3fc": "old man medium-light skin tone", "1f474-1f3fd": "old man medium skin tone", "1f474-1f3fe": "old man medium-dark skin tone", "1f474-1f3ff": "old man dark skin tone", "1f474": "old man", "1f475-1f3fb": "old woman light skin tone", "1f475-1f3fc": "old woman medium-light skin tone", "1f475-1f3fd": "old woman medium skin tone", "1f475-1f3fe": "old woman medium-dark skin tone", "1f475-1f3ff": "old woman dark skin tone", "1f475": "old woman", "1f476-1f3fb": "baby light skin tone", "1f476-1f3fc": "baby medium-light skin tone", "1f476-1f3fd": "baby medium skin tone", "1f476-1f3fe": "baby medium-dark skin tone", "1f476-1f3ff": "baby dark skin tone", "1f476": "baby", "1f477-1f3fb-200d-2640-fe0f": "woman construction worker light skin tone", "1f477-1f3fb-200d-2642-fe0f": "man construction worker light skin tone", "1f477-1f3fb": "construction worker light skin tone", "1f477-1f3fc-200d-2640-fe0f": "woman construction worker medium-light skin tone", "1f477-1f3fc-200d-2642-fe0f": "man construction worker medium-light skin tone", "1f477-1f3fc": "construction worker medium-light skin tone", "1f477-1f3fd-200d-2640-fe0f": "woman construction worker medium skin tone", "1f477-1f3fd-200d-2642-fe0f": "man construction worker medium skin tone", "1f477-1f3fd": "construction worker medium skin tone", "1f477-1f3fe-200d-2640-fe0f": "woman construction worker medium-dark skin tone", "1f477-1f3fe-200d-2642-fe0f": "man construction worker medium-dark skin tone", "1f477-1f3fe": "construction worker medium-dark skin tone", "1f477-1f3ff-200d-2640-fe0f": "woman construction worker dark skin tone", "1f477-1f3ff-200d-2642-fe0f": "man construction worker dark skin tone", "1f477-1f3ff": "construction worker dark skin tone", "1f477-200d-2640-fe0f": "woman construction worker", "1f477-200d-2642-fe0f": "man construction worker", "1f477": "construction worker", "1f478-1f3fb": "princess light skin tone", "1f478-1f3fc": "princess medium-light skin tone", "1f478-1f3fd": "princess medium skin tone", "1f478-1f3fe": "princess medium-dark skin tone", "1f478-1f3ff": "princess dark skin tone", "1f478": "princess", "1f479": "ogre", "1f47a": "goblin", "1f47b": "ghost", "1f47c-1f3fb": "baby angel light skin tone", "1f47c-1f3fc": "baby angel medium-light skin tone", "1f47c-1f3fd": "baby angel medium skin tone", "1f47c-1f3fe": "baby angel medium-dark skin tone", "1f47c-1f3ff": "baby angel dark skin tone", "1f47c": "baby angel", "1f47d": "alien", "1f47e": "alien monster", "1f47f": "angry face with horns", "1f480": "skull", "1f481-1f3fb-200d-2640-fe0f": "woman tipping hand light skin tone", "1f481-1f3fb-200d-2642-fe0f": "man tipping hand light skin tone", "1f481-1f3fb": "person tipping hand light skin tone", "1f481-1f3fc-200d-2640-fe0f": "woman tipping hand medium-light skin tone", "1f481-1f3fc-200d-2642-fe0f": "man tipping hand medium-light skin tone", "1f481-1f3fc": "person tipping hand medium-light skin tone", "1f481-1f3fd-200d-2640-fe0f": "woman tipping hand medium skin tone", "1f481-1f3fd-200d-2642-fe0f": "man tipping hand medium skin tone", "1f481-1f3fd": "person tipping hand medium skin tone", "1f481-1f3fe-200d-2640-fe0f": "woman tipping hand medium-dark skin tone", "1f481-1f3fe-200d-2642-fe0f": "man tipping hand medium-dark skin tone", "1f481-1f3fe": "person tipping hand medium-dark skin tone", "1f481-1f3ff-200d-2640-fe0f": "woman tipping hand dark skin tone", "1f481-1f3ff-200d-2642-fe0f": "man tipping hand dark skin tone", "1f481-1f3ff": "person tipping hand dark skin tone", "1f481-200d-2640-fe0f": "woman tipping hand", "1f481-200d-2642-fe0f": "man tipping hand", "1f481": "person tipping hand", "1f482-1f3fb-200d-2640-fe0f": "woman guard light skin tone", "1f482-1f3fb-200d-2642-fe0f": "man guard light skin tone", "1f482-1f3fb": "guard light skin tone", "1f482-1f3fc-200d-2640-fe0f": "woman guard medium-light skin tone", "1f482-1f3fc-200d-2642-fe0f": "man guard medium-light skin tone", "1f482-1f3fc": "guard medium-light skin tone", "1f482-1f3fd-200d-2640-fe0f": "woman guard medium skin tone", "1f482-1f3fd-200d-2642-fe0f": "man guard medium skin tone", "1f482-1f3fd": "guard medium skin tone", "1f482-1f3fe-200d-2640-fe0f": "woman guard medium-dark skin tone", "1f482-1f3fe-200d-2642-fe0f": "man guard medium-dark skin tone", "1f482-1f3fe": "guard medium-dark skin tone", "1f482-1f3ff-200d-2640-fe0f": "woman guard dark skin tone", "1f482-1f3ff-200d-2642-fe0f": "man guard dark skin tone", "1f482-1f3ff": "guard dark skin tone", "1f482-200d-2640-fe0f": "woman guard", "1f482-200d-2642-fe0f": "man guard", "1f482": "guard", "1f483-1f3fb": "woman dancing light skin tone", "1f483-1f3fc": "woman dancing medium-light skin tone", "1f483-1f3fd": "woman dancing medium skin tone", "1f483-1f3fe": "woman dancing medium-dark skin tone", "1f483-1f3ff": "woman dancing dark skin tone", "1f483": "woman dancing", "1f484": "lipstick", "1f485-1f3fb": "nail polish light skin tone", "1f485-1f3fc": "nail polish medium-light skin tone", "1f485-1f3fd": "nail polish medium skin tone", "1f485-1f3fe": "nail polish medium-dark skin tone", "1f485-1f3ff": "nail polish dark skin tone", "1f485": "nail polish", "1f486-1f3fb-200d-2640-fe0f": "woman getting massage light skin tone", "1f486-1f3fb-200d-2642-fe0f": "man getting massage light skin tone", "1f486-1f3fb": "person getting massage light skin tone", "1f486-1f3fc-200d-2640-fe0f": "woman getting massage medium-light skin tone", "1f486-1f3fc-200d-2642-fe0f": "man getting massage medium-light skin tone", "1f486-1f3fc": "person getting massage medium-light skin tone", "1f486-1f3fd-200d-2640-fe0f": "woman getting massage medium skin tone", "1f486-1f3fd-200d-2642-fe0f": "man getting massage medium skin tone", "1f486-1f3fd": "person getting massage medium skin tone", "1f486-1f3fe-200d-2640-fe0f": "woman getting massage medium-dark skin tone", "1f486-1f3fe-200d-2642-fe0f": "man getting massage medium-dark skin tone", "1f486-1f3fe": "person getting massage medium-dark skin tone", "1f486-1f3ff-200d-2640-fe0f": "woman getting massage dark skin tone", "1f486-1f3ff-200d-2642-fe0f": "man getting massage dark skin tone", "1f486-1f3ff": "person getting massage dark skin tone", "1f486-200d-2640-fe0f": "woman getting massage", "1f486-200d-2642-fe0f": "man getting massage", "1f486": "person getting massage", "1f487-1f3fb-200d-2640-fe0f": "woman getting haircut light skin tone", "1f487-1f3fb-200d-2642-fe0f": "man getting haircut light skin tone", "1f487-1f3fb": "person getting haircut light skin tone", "1f487-1f3fc-200d-2640-fe0f": "woman getting haircut medium-light skin tone", "1f487-1f3fc-200d-2642-fe0f": "man getting haircut medium-light skin tone", "1f487-1f3fc": "person getting haircut medium-light skin tone", "1f487-1f3fd-200d-2640-fe0f": "woman getting haircut medium skin tone", "1f487-1f3fd-200d-2642-fe0f": "man getting haircut medium skin tone", "1f487-1f3fd": "person getting haircut medium skin tone", "1f487-1f3fe-200d-2640-fe0f": "woman getting haircut medium-dark skin tone", "1f487-1f3fe-200d-2642-fe0f": "man getting haircut medium-dark skin tone", "1f487-1f3fe": "person getting haircut medium-dark skin tone", "1f487-1f3ff-200d-2640-fe0f": "woman getting haircut dark skin tone", "1f487-1f3ff-200d-2642-fe0f": "man getting haircut dark skin tone", "1f487-1f3ff": "person getting haircut dark skin tone", "1f487-200d-2640-fe0f": "woman getting haircut", "1f487-200d-2642-fe0f": "man getting haircut", "1f487": "person getting haircut", "1f488": "barber pole", "1f489": "syringe", "1f48a": "pill", "1f48b": "kiss mark", "1f48c": "love letter", "1f48d": "ring", "1f48e": "gem stone", "1f48f-1f3fb": "kiss light skin tone", "1f48f-1f3fc": "kiss medium-light skin tone", "1f48f-1f3fd": "kiss medium skin tone", "1f48f-1f3fe": "kiss medium-dark skin tone", "1f48f-1f3ff": "kiss dark skin tone", "1f48f": "kiss", "1f490": "bouquet", "1f491-1f3fb": "couple with heart light skin tone", "1f491-1f3fc": "couple with heart medium-light skin tone", "1f491-1f3fd": "couple with heart medium skin tone", "1f491-1f3fe": "couple with heart medium-dark skin tone", "1f491-1f3ff": "couple with heart dark skin tone", "1f491": "couple with heart", "1f492": "wedding", "1f493": "beating heart", "1f494": "broken heart", "1f495": "two hearts", "1f496": "sparkling heart", "1f497": "growing heart", "1f498": "heart with arrow", "1f499": "blue heart", "1f49a": "green heart", "1f49b": "yellow heart", "1f49c": "purple heart", "1f49d": "heart with ribbon", "1f49e": "revolving hearts", "1f49f": "heart decoration", "1f4a0": "diamond with a dot", "1f4a1": "light bulb", "1f4a2": "anger symbol", "1f4a3": "bomb", "1f4a4": "zzz", "1f4a5": "collision", "1f4a6": "sweat droplets", "1f4a7": "droplet", "1f4a8": "dashing away", "1f4a9": "pile of poo", "1f4aa-1f3fb": "flexed biceps light skin tone", "1f4aa-1f3fc": "flexed biceps medium-light skin tone", "1f4aa-1f3fd": "flexed biceps medium skin tone", "1f4aa-1f3fe": "flexed biceps medium-dark skin tone", "1f4aa-1f3ff": "flexed biceps dark skin tone", "1f4aa": "flexed biceps", "1f4ab": "dizzy", "1f4ac": "speech balloon", "1f4ad": "thought balloon", "1f4ae": "white flower", "1f4af": "hundred points", "1f4b0": "money bag", "1f4b1": "currency exchange", "1f4b2": "heavy dollar sign", "1f4b3": "credit card", "1f4b4": "yen banknote", "1f4b5": "dollar banknote", "1f4b6": "euro banknote", "1f4b7": "pound banknote", "1f4b8": "money with wings", "1f4b9": "chart increasing with yen", "1f4ba": "seat", "1f4bb": "laptop", "1f4bc": "briefcase", "1f4bd": "computer disk", "1f4be": "floppy disk", "1f4bf": "optical disk", "1f4c0": "dvd", "1f4c1": "file folder", "1f4c2": "open file folder", "1f4c3": "page with curl", "1f4c4": "page facing up", "1f4c5": "calendar", "1f4c6": "tear-off calendar", "1f4c7": "card index", "1f4c8": "chart increasing", "1f4c9": "chart decreasing", "1f4ca": "bar chart", "1f4cb": "clipboard", "1f4cc": "pushpin", "1f4cd": "round pushpin", "1f4ce": "paperclip", "1f4cf": "straight ruler", "1f4d0": "triangular ruler", "1f4d1": "bookmark tabs", "1f4d2": "ledger", "1f4d3": "notebook", "1f4d4": "notebook with decorative cover", "1f4d5": "closed book", "1f4d6": "open book", "1f4d7": "green book", "1f4d8": "blue book", "1f4d9": "orange book", "1f4da": "books", "1f4db": "name badge", "1f4dc": "scroll", "1f4dd": "memo", "1f4de": "telephone receiver", "1f4df": "pager", "1f4e0": "fax machine", "1f4e1": "satellite antenna", "1f4e2": "loudspeaker", "1f4e3": "megaphone", "1f4e4": "outbox tray", "1f4e5": "inbox tray", "1f4e6": "package", "1f4e7": "e-mail", "1f4e8": "incoming envelope", "1f4e9": "envelope with arrow", "1f4ea": "closed mailbox with lowered flag", "1f4eb": "closed mailbox with raised flag", "1f4ec": "open mailbox with raised flag", "1f4ed": "open mailbox with lowered flag", "1f4ee": "postbox", "1f4ef": "postal horn", "1f4f0": "newspaper", "1f4f1": "mobile phone", "1f4f2": "mobile phone with arrow", "1f4f3": "vibration mode", "1f4f4": "mobile phone off", "1f4f5": "no mobile phones", "1f4f6": "antenna bars", "1f4f7": "camera", "1f4f8": "camera with flash", "1f4f9": "video camera", "1f4fa": "television", "1f4fb": "radio", "1f4fc": "videocassette", "1f4fd": "film projector", "1f4ff": "prayer beads", "1f500": "shuffle tracks button", "1f501": "repeat button", "1f502": "repeat single button", "1f503": "clockwise vertical arrows", "1f504": "counterclockwise arrows button", "1f505": "dim button", "1f506": "bright button", "1f507": "muted speaker", "1f508": "speaker low volume", "1f509": "speaker medium volume", "1f50a": "speaker high volume", "1f50b": "battery", "1f50c": "electric plug", "1f50d": "magnifying glass tilted left", "1f50e": "magnifying glass tilted right", "1f50f": "locked with pen", "1f510": "locked with key", "1f511": "key", "1f512": "locked", "1f513": "unlocked", "1f514": "bell", "1f515": "bell with slash", "1f516": "bookmark", "1f517": "link", "1f518": "radio button", "1f519": "back arrow", "1f51a": "end arrow", "1f51b": "on! arrow", "1f51c": "soon arrow", "1f51d": "top arrow", "1f51e": "no one under eighteen", "1f51f": "keycap 10", "1f520": "input latin uppercase", "1f521": "input latin lowercase", "1f522": "input numbers", "1f523": "input symbols", "1f524": "input latin letters", "1f525": "fire", "1f526": "flashlight", "1f527": "wrench", "1f528": "hammer", "1f529": "nut and bolt", "1f52a": "kitchen knife", "1f52b": "water pistol", "1f52c": "microscope", "1f52d": "telescope", "1f52e": "crystal ball", "1f52f": "dotted six-pointed star", "1f530": "japanese symbol for beginner", "1f531": "trident emblem", "1f532": "black square button", "1f533": "white square button", "1f534": "red circle", "1f535": "blue circle", "1f536": "large orange diamond", "1f537": "large blue diamond", "1f538": "small orange diamond", "1f539": "small blue diamond", "1f53a": "red triangle pointed up", "1f53b": "red triangle pointed down", "1f53c": "upwards button", "1f53d": "downwards button", "1f549": "om", "1f54a": "dove", "1f54b": "kaaba", "1f54c": "mosque", "1f54d": "synagogue", "1f54e": "menorah", "1f550": "one o’clock", "1f551": "two o’clock", "1f552": "three o’clock", "1f553": "four o’clock", "1f554": "five o’clock", "1f555": "six o’clock", "1f556": "seven o’clock", "1f557": "eight o’clock", "1f558": "nine o’clock", "1f559": "ten o’clock", "1f55a": "eleven o’clock", "1f55b": "twelve o’clock", "1f55c": "one-thirty", "1f55d": "two-thirty", "1f55e": "three-thirty", "1f55f": "four-thirty", "1f560": "five-thirty", "1f561": "six-thirty", "1f562": "seven-thirty", "1f563": "eight-thirty", "1f564": "nine-thirty", "1f565": "ten-thirty", "1f566": "eleven-thirty", "1f567": "twelve-thirty", "1f56f": "candle", "1f570": "mantelpiece clock", "1f573": "hole", "1f574-1f3fb": "person in suit levitating light skin tone", "1f574-1f3fc": "person in suit levitating medium-light skin tone", "1f574-1f3fd": "person in suit levitating medium skin tone", "1f574-1f3fe": "person in suit levitating medium-dark skin tone", "1f574-1f3ff": "person in suit levitating dark skin tone", "1f574": "person in suit levitating", "1f575-1f3fb-200d-2640-fe0f": "woman detective light skin tone", "1f575-1f3fb-200d-2642-fe0f": "man detective light skin tone", "1f575-1f3fb": "detective light skin tone", "1f575-1f3fc-200d-2640-fe0f": "woman detective medium-light skin tone", "1f575-1f3fc-200d-2642-fe0f": "man detective medium-light skin tone", "1f575-1f3fc": "detective medium-light skin tone", "1f575-1f3fd-200d-2640-fe0f": "woman detective medium skin tone", "1f575-1f3fd-200d-2642-fe0f": "man detective medium skin tone", "1f575-1f3fd": "detective medium skin tone", "1f575-1f3fe-200d-2640-fe0f": "woman detective medium-dark skin tone", "1f575-1f3fe-200d-2642-fe0f": "man detective medium-dark skin tone", "1f575-1f3fe": "detective medium-dark skin tone", "1f575-1f3ff-200d-2640-fe0f": "woman detective dark skin tone", "1f575-1f3ff-200d-2642-fe0f": "man detective dark skin tone", "1f575-1f3ff": "detective dark skin tone", "1f575-fe0f-200d-2640-fe0f": "woman detective", "1f575-fe0f-200d-2642-fe0f": "man detective", "1f575": "detective", "1f576": "sunglasses", "1f577": "spider", "1f578": "spider web", "1f579": "joystick", "1f57a-1f3fb": "man dancing light skin tone", "1f57a-1f3fc": "man dancing medium-light skin tone", "1f57a-1f3fd": "man dancing medium skin tone", "1f57a-1f3fe": "man dancing medium-dark skin tone", "1f57a-1f3ff": "man dancing dark skin tone", "1f57a": "man dancing", "1f587": "linked paperclips", "1f58a": "pen", "1f58b": "fountain pen", "1f58c": "paintbrush", "1f58d": "crayon", "1f590-1f3fb": "hand with fingers splayed light skin tone", "1f590-1f3fc": "hand with fingers splayed medium-light skin tone", "1f590-1f3fd": "hand with fingers splayed medium skin tone", "1f590-1f3fe": "hand with fingers splayed medium-dark skin tone", "1f590-1f3ff": "hand with fingers splayed dark skin tone", "1f590": "hand with fingers splayed", "1f595-1f3fb": "middle finger light skin tone", "1f595-1f3fc": "middle finger medium-light skin tone", "1f595-1f3fd": "middle finger medium skin tone", "1f595-1f3fe": "middle finger medium-dark skin tone", "1f595-1f3ff": "middle finger dark skin tone", "1f595": "middle finger", "1f596-1f3fb": "vulcan salute light skin tone", "1f596-1f3fc": "vulcan salute medium-light skin tone", "1f596-1f3fd": "vulcan salute medium skin tone", "1f596-1f3fe": "vulcan salute medium-dark skin tone", "1f596-1f3ff": "vulcan salute dark skin tone", "1f596": "vulcan salute", "1f5a4": "black heart", "1f5a5": "desktop computer", "1f5a8": "printer", "1f5b1": "computer mouse", "1f5b2": "trackball", "1f5bc": "framed picture", "1f5c2": "card index dividers", "1f5c3": "card file box", "1f5c4": "file cabinet", "1f5d1": "wastebasket", "1f5d2": "spiral notepad", "1f5d3": "spiral calendar", "1f5dc": "clamp", "1f5dd": "old key", "1f5de": "rolled-up newspaper", "1f5e1": "dagger", "1f5e3": "speaking head", "1f5e8": "left speech bubble", "1f5ef": "right anger bubble", "1f5f3": "ballot box with ballot", "1f5fa": "world map", "1f5fb": "mount fuji", "1f5fc": "tokyo tower", "1f5fd": "statue of liberty", "1f5fe": "map of japan", "1f5ff": "moai", "1f600": "grinning face", "1f601": "beaming face with smiling eyes", "1f602": "face with tears of joy", "1f603": "grinning face with big eyes", "1f604": "grinning face with smiling eyes", "1f605": "grinning face with sweat", "1f606": "grinning squinting face", "1f607": "smiling face with halo", "1f608": "smiling face with horns", "1f609": "winking face", "1f60a": "smiling face with smiling eyes", "1f60b": "face savoring food", "1f60c": "relieved face", "1f60d": "smiling face with heart-eyes", "1f60e": "smiling face with sunglasses", "1f60f": "smirking face", "1f610": "neutral face", "1f611": "expressionless face", "1f612": "unamused face", "1f613": "downcast face with sweat", "1f614": "pensive face", "1f615": "confused face", "1f616": "confounded face", "1f617": "kissing face", "1f618": "face blowing a kiss", "1f619": "kissing face with smiling eyes", "1f61a": "kissing face with closed eyes", "1f61b": "face with tongue", "1f61c": "winking face with tongue", "1f61d": "squinting face with tongue", "1f61e": "disappointed face", "1f61f": "worried face", "1f620": "angry face", "1f621": "enraged face", "1f622": "crying face", "1f623": "persevering face", "1f624": "face with steam from nose", "1f625": "sad but relieved face", "1f626": "frowning face with open mouth", "1f627": "anguished face", "1f628": "fearful face", "1f629": "weary face", "1f62a": "sleepy face", "1f62b": "tired face", "1f62c": "grimacing face", "1f62d": "loudly crying face", "1f62e-200d-1f4a8": "face exhaling", "1f62e": "face with open mouth", "1f62f": "hushed face", "1f630": "anxious face with sweat", "1f631": "face screaming in fear", "1f632": "astonished face", "1f633": "flushed face", "1f634": "sleeping face", "1f635-200d-1f4ab": "face with spiral eyes", "1f635": "face with crossed-out eyes", "1f636-200d-1f32b-fe0f": "face in clouds", "1f636": "face without mouth", "1f637": "face with medical mask", "1f638": "grinning cat with smiling eyes", "1f639": "cat with tears of joy", "1f63a": "grinning cat", "1f63b": "smiling cat with heart-eyes", "1f63c": "cat with wry smile", "1f63d": "kissing cat", "1f63e": "pouting cat", "1f63f": "crying cat", "1f640": "weary cat", "1f641": "slightly frowning face", "1f642-200d-2194-fe0f": "head shaking horizontally", "1f642-200d-2195-fe0f": "head shaking vertically", "1f642": "slightly smiling face", "1f643": "upside-down face", "1f644": "face with rolling eyes", "1f645-1f3fb-200d-2640-fe0f": "woman gesturing no light skin tone", "1f645-1f3fb-200d-2642-fe0f": "man gesturing no light skin tone", "1f645-1f3fb": "person gesturing no light skin tone", "1f645-1f3fc-200d-2640-fe0f": "woman gesturing no medium-light skin tone", "1f645-1f3fc-200d-2642-fe0f": "man gesturing no medium-light skin tone", "1f645-1f3fc": "person gesturing no medium-light skin tone", "1f645-1f3fd-200d-2640-fe0f": "woman gesturing no medium skin tone", "1f645-1f3fd-200d-2642-fe0f": "man gesturing no medium skin tone", "1f645-1f3fd": "person gesturing no medium skin tone", "1f645-1f3fe-200d-2640-fe0f": "woman gesturing no medium-dark skin tone", "1f645-1f3fe-200d-2642-fe0f": "man gesturing no medium-dark skin tone", "1f645-1f3fe": "person gesturing no medium-dark skin tone", "1f645-1f3ff-200d-2640-fe0f": "woman gesturing no dark skin tone", "1f645-1f3ff-200d-2642-fe0f": "man gesturing no dark skin tone", "1f645-1f3ff": "person gesturing no dark skin tone", "1f645-200d-2640-fe0f": "woman gesturing no", "1f645-200d-2642-fe0f": "man gesturing no", "1f645": "person gesturing no", "1f646-1f3fb-200d-2640-fe0f": "woman gesturing ok light skin tone", "1f646-1f3fb-200d-2642-fe0f": "man gesturing ok light skin tone", "1f646-1f3fb": "person gesturing ok light skin tone", "1f646-1f3fc-200d-2640-fe0f": "woman gesturing ok medium-light skin tone", "1f646-1f3fc-200d-2642-fe0f": "man gesturing ok medium-light skin tone", "1f646-1f3fc": "person gesturing ok medium-light skin tone", "1f646-1f3fd-200d-2640-fe0f": "woman gesturing ok medium skin tone", "1f646-1f3fd-200d-2642-fe0f": "man gesturing ok medium skin tone", "1f646-1f3fd": "person gesturing ok medium skin tone", "1f646-1f3fe-200d-2640-fe0f": "woman gesturing ok medium-dark skin tone", "1f646-1f3fe-200d-2642-fe0f": "man gesturing ok medium-dark skin tone", "1f646-1f3fe": "person gesturing ok medium-dark skin tone", "1f646-1f3ff-200d-2640-fe0f": "woman gesturing ok dark skin tone", "1f646-1f3ff-200d-2642-fe0f": "man gesturing ok dark skin tone", "1f646-1f3ff": "person gesturing ok dark skin tone", "1f646-200d-2640-fe0f": "woman gesturing ok", "1f646-200d-2642-fe0f": "man gesturing ok", "1f646": "person gesturing ok", "1f647-1f3fb-200d-2640-fe0f": "woman bowing light skin tone", "1f647-1f3fb-200d-2642-fe0f": "man bowing light skin tone", "1f647-1f3fb": "person bowing light skin tone", "1f647-1f3fc-200d-2640-fe0f": "woman bowing medium-light skin tone", "1f647-1f3fc-200d-2642-fe0f": "man bowing medium-light skin tone", "1f647-1f3fc": "person bowing medium-light skin tone", "1f647-1f3fd-200d-2640-fe0f": "woman bowing medium skin tone", "1f647-1f3fd-200d-2642-fe0f": "man bowing medium skin tone", "1f647-1f3fd": "person bowing medium skin tone", "1f647-1f3fe-200d-2640-fe0f": "woman bowing medium-dark skin tone", "1f647-1f3fe-200d-2642-fe0f": "man bowing medium-dark skin tone", "1f647-1f3fe": "person bowing medium-dark skin tone", "1f647-1f3ff-200d-2640-fe0f": "woman bowing dark skin tone", "1f647-1f3ff-200d-2642-fe0f": "man bowing dark skin tone", "1f647-1f3ff": "person bowing dark skin tone", "1f647-200d-2640-fe0f": "woman bowing", "1f647-200d-2642-fe0f": "man bowing", "1f647": "person bowing", "1f648": "see-no-evil monkey", "1f649": "hear-no-evil monkey", "1f64a": "speak-no-evil monkey", "1f64b-1f3fb-200d-2640-fe0f": "woman raising hand light skin tone", "1f64b-1f3fb-200d-2642-fe0f": "man raising hand light skin tone", "1f64b-1f3fb": "person raising hand light skin tone", "1f64b-1f3fc-200d-2640-fe0f": "woman raising hand medium-light skin tone", "1f64b-1f3fc-200d-2642-fe0f": "man raising hand medium-light skin tone", "1f64b-1f3fc": "person raising hand medium-light skin tone", "1f64b-1f3fd-200d-2640-fe0f": "woman raising hand medium skin tone", "1f64b-1f3fd-200d-2642-fe0f": "man raising hand medium skin tone", "1f64b-1f3fd": "person raising hand medium skin tone", "1f64b-1f3fe-200d-2640-fe0f": "woman raising hand medium-dark skin tone", "1f64b-1f3fe-200d-2642-fe0f": "man raising hand medium-dark skin tone", "1f64b-1f3fe": "person raising hand medium-dark skin tone", "1f64b-1f3ff-200d-2640-fe0f": "woman raising hand dark skin tone", "1f64b-1f3ff-200d-2642-fe0f": "man raising hand dark skin tone", "1f64b-1f3ff": "person raising hand dark skin tone", "1f64b-200d-2640-fe0f": "woman raising hand", "1f64b-200d-2642-fe0f": "man raising hand", "1f64b": "person raising hand", "1f64c-1f3fb": "raising hands light skin tone", "1f64c-1f3fc": "raising hands medium-light skin tone", "1f64c-1f3fd": "raising hands medium skin tone", "1f64c-1f3fe": "raising hands medium-dark skin tone", "1f64c-1f3ff": "raising hands dark skin tone", "1f64c": "raising hands", "1f64d-1f3fb-200d-2640-fe0f": "woman frowning light skin tone", "1f64d-1f3fb-200d-2642-fe0f": "man frowning light skin tone", "1f64d-1f3fb": "person frowning light skin tone", "1f64d-1f3fc-200d-2640-fe0f": "woman frowning medium-light skin tone", "1f64d-1f3fc-200d-2642-fe0f": "man frowning medium-light skin tone", "1f64d-1f3fc": "person frowning medium-light skin tone", "1f64d-1f3fd-200d-2640-fe0f": "woman frowning medium skin tone", "1f64d-1f3fd-200d-2642-fe0f": "man frowning medium skin tone", "1f64d-1f3fd": "person frowning medium skin tone", "1f64d-1f3fe-200d-2640-fe0f": "woman frowning medium-dark skin tone", "1f64d-1f3fe-200d-2642-fe0f": "man frowning medium-dark skin tone", "1f64d-1f3fe": "person frowning medium-dark skin tone", "1f64d-1f3ff-200d-2640-fe0f": "woman frowning dark skin tone", "1f64d-1f3ff-200d-2642-fe0f": "man frowning dark skin tone", "1f64d-1f3ff": "person frowning dark skin tone", "1f64d-200d-2640-fe0f": "woman frowning", "1f64d-200d-2642-fe0f": "man frowning", "1f64d": "person frowning", "1f64e-1f3fb-200d-2640-fe0f": "woman pouting light skin tone", "1f64e-1f3fb-200d-2642-fe0f": "man pouting light skin tone", "1f64e-1f3fb": "person pouting light skin tone", "1f64e-1f3fc-200d-2640-fe0f": "woman pouting medium-light skin tone", "1f64e-1f3fc-200d-2642-fe0f": "man pouting medium-light skin tone", "1f64e-1f3fc": "person pouting medium-light skin tone", "1f64e-1f3fd-200d-2640-fe0f": "woman pouting medium skin tone", "1f64e-1f3fd-200d-2642-fe0f": "man pouting medium skin tone", "1f64e-1f3fd": "person pouting medium skin tone", "1f64e-1f3fe-200d-2640-fe0f": "woman pouting medium-dark skin tone", "1f64e-1f3fe-200d-2642-fe0f": "man pouting medium-dark skin tone", "1f64e-1f3fe": "person pouting medium-dark skin tone", "1f64e-1f3ff-200d-2640-fe0f": "woman pouting dark skin tone", "1f64e-1f3ff-200d-2642-fe0f": "man pouting dark skin tone", "1f64e-1f3ff": "person pouting dark skin tone", "1f64e-200d-2640-fe0f": "woman pouting", "1f64e-200d-2642-fe0f": "man pouting", "1f64e": "person pouting", "1f64f-1f3fb": "folded hands light skin tone", "1f64f-1f3fc": "folded hands medium-light skin tone", "1f64f-1f3fd": "folded hands medium skin tone", "1f64f-1f3fe": "folded hands medium-dark skin tone", "1f64f-1f3ff": "folded hands dark skin tone", "1f64f": "folded hands", "1f680": "rocket", "1f681": "helicopter", "1f682": "locomotive", "1f683": "railway car", "1f684": "high-speed train", "1f685": "bullet train", "1f686": "train", "1f687": "metro", "1f688": "light rail", "1f689": "station", "1f68a": "tram", "1f68b": "tram car", "1f68c": "bus", "1f68d": "oncoming bus", "1f68e": "trolleybus", "1f68f": "bus stop", "1f690": "minibus", "1f691": "ambulance", "1f692": "fire engine", "1f693": "police car", "1f694": "oncoming police car", "1f695": "taxi", "1f696": "oncoming taxi", "1f697": "automobile", "1f698": "oncoming automobile", "1f699": "sport utility vehicle", "1f69a": "delivery truck", "1f69b": "articulated lorry", "1f69c": "tractor", "1f69d": "monorail", "1f69e": "mountain railway", "1f69f": "suspension railway", "1f6a0": "mountain cableway", "1f6a1": "aerial tramway", "1f6a2": "ship", "1f6a3-1f3fb-200d-2640-fe0f": "woman rowing boat light skin tone", "1f6a3-1f3fb-200d-2642-fe0f": "man rowing boat light skin tone", "1f6a3-1f3fb": "person rowing boat light skin tone", "1f6a3-1f3fc-200d-2640-fe0f": "woman rowing boat medium-light skin tone", "1f6a3-1f3fc-200d-2642-fe0f": "man rowing boat medium-light skin tone", "1f6a3-1f3fc": "person rowing boat medium-light skin tone", "1f6a3-1f3fd-200d-2640-fe0f": "woman rowing boat medium skin tone", "1f6a3-1f3fd-200d-2642-fe0f": "man rowing boat medium skin tone", "1f6a3-1f3fd": "person rowing boat medium skin tone", "1f6a3-1f3fe-200d-2640-fe0f": "woman rowing boat medium-dark skin tone", "1f6a3-1f3fe-200d-2642-fe0f": "man rowing boat medium-dark skin tone", "1f6a3-1f3fe": "person rowing boat medium-dark skin tone", "1f6a3-1f3ff-200d-2640-fe0f": "woman rowing boat dark skin tone", "1f6a3-1f3ff-200d-2642-fe0f": "man rowing boat dark skin tone", "1f6a3-1f3ff": "person rowing boat dark skin tone", "1f6a3-200d-2640-fe0f": "woman rowing boat", "1f6a3-200d-2642-fe0f": "man rowing boat", "1f6a3": "person rowing boat", "1f6a4": "speedboat", "1f6a5": "horizontal traffic light", "1f6a6": "vertical traffic light", "1f6a7": "construction", "1f6a8": "police car light", "1f6a9": "triangular flag", "1f6aa": "door", "1f6ab": "prohibited", "1f6ac": "cigarette", "1f6ad": "no smoking", "1f6ae": "litter in bin sign", "1f6af": "no littering", "1f6b0": "potable water", "1f6b1": "non-potable water", "1f6b2": "bicycle", "1f6b3": "no bicycles", "1f6b4-1f3fb-200d-2640-fe0f": "woman biking light skin tone", "1f6b4-1f3fb-200d-2642-fe0f": "man biking light skin tone", "1f6b4-1f3fb": "person biking light skin tone", "1f6b4-1f3fc-200d-2640-fe0f": "woman biking medium-light skin tone", "1f6b4-1f3fc-200d-2642-fe0f": "man biking medium-light skin tone", "1f6b4-1f3fc": "person biking medium-light skin tone", "1f6b4-1f3fd-200d-2640-fe0f": "woman biking medium skin tone", "1f6b4-1f3fd-200d-2642-fe0f": "man biking medium skin tone", "1f6b4-1f3fd": "person biking medium skin tone", "1f6b4-1f3fe-200d-2640-fe0f": "woman biking medium-dark skin tone", "1f6b4-1f3fe-200d-2642-fe0f": "man biking medium-dark skin tone", "1f6b4-1f3fe": "person biking medium-dark skin tone", "1f6b4-1f3ff-200d-2640-fe0f": "woman biking dark skin tone", "1f6b4-1f3ff-200d-2642-fe0f": "man biking dark skin tone", "1f6b4-1f3ff": "person biking dark skin tone", "1f6b4-200d-2640-fe0f": "woman biking", "1f6b4-200d-2642-fe0f": "man biking", "1f6b4": "person biking", "1f6b5-1f3fb-200d-2640-fe0f": "woman mountain biking light skin tone", "1f6b5-1f3fb-200d-2642-fe0f": "man mountain biking light skin tone", "1f6b5-1f3fb": "person mountain biking light skin tone", "1f6b5-1f3fc-200d-2640-fe0f": "woman mountain biking medium-light skin tone", "1f6b5-1f3fc-200d-2642-fe0f": "man mountain biking medium-light skin tone", "1f6b5-1f3fc": "person mountain biking medium-light skin tone", "1f6b5-1f3fd-200d-2640-fe0f": "woman mountain biking medium skin tone", "1f6b5-1f3fd-200d-2642-fe0f": "man mountain biking medium skin tone", "1f6b5-1f3fd": "person mountain biking medium skin tone", "1f6b5-1f3fe-200d-2640-fe0f": "woman mountain biking medium-dark skin tone", "1f6b5-1f3fe-200d-2642-fe0f": "man mountain biking medium-dark skin tone", "1f6b5-1f3fe": "person mountain biking medium-dark skin tone", "1f6b5-1f3ff-200d-2640-fe0f": "woman mountain biking dark skin tone", "1f6b5-1f3ff-200d-2642-fe0f": "man mountain biking dark skin tone", "1f6b5-1f3ff": "person mountain biking dark skin tone", "1f6b5-200d-2640-fe0f": "woman mountain biking", "1f6b5-200d-2642-fe0f": "man mountain biking", "1f6b5": "person mountain biking", "1f6b6-1f3fb-200d-2640-fe0f-200d-27a1-fe0f": "woman walking facing right light skin tone", "1f6b6-1f3fb-200d-2640-fe0f": "woman walking light skin tone", "1f6b6-1f3fb-200d-2642-fe0f-200d-27a1-fe0f": "man walking facing right light skin tone", "1f6b6-1f3fb-200d-2642-fe0f": "man walking light skin tone", "1f6b6-1f3fb-200d-27a1-fe0f": "person walking facing right light skin tone", "1f6b6-1f3fb": "person walking light skin tone", "1f6b6-1f3fc-200d-2640-fe0f-200d-27a1-fe0f": "woman walking facing right medium-light skin tone", "1f6b6-1f3fc-200d-2640-fe0f": "woman walking medium-light skin tone", "1f6b6-1f3fc-200d-2642-fe0f-200d-27a1-fe0f": "man walking facing right medium-light skin tone", "1f6b6-1f3fc-200d-2642-fe0f": "man walking medium-light skin tone", "1f6b6-1f3fc-200d-27a1-fe0f": "person walking facing right medium-light skin tone", "1f6b6-1f3fc": "person walking medium-light skin tone", "1f6b6-1f3fd-200d-2640-fe0f-200d-27a1-fe0f": "woman walking facing right medium skin tone", "1f6b6-1f3fd-200d-2640-fe0f": "woman walking medium skin tone", "1f6b6-1f3fd-200d-2642-fe0f-200d-27a1-fe0f": "man walking facing right medium skin tone", "1f6b6-1f3fd-200d-2642-fe0f": "man walking medium skin tone", "1f6b6-1f3fd-200d-27a1-fe0f": "person walking facing right medium skin tone", "1f6b6-1f3fd": "person walking medium skin tone", "1f6b6-1f3fe-200d-2640-fe0f-200d-27a1-fe0f": "woman walking facing right medium-dark skin tone", "1f6b6-1f3fe-200d-2640-fe0f": "woman walking medium-dark skin tone", "1f6b6-1f3fe-200d-2642-fe0f-200d-27a1-fe0f": "man walking facing right medium-dark skin tone", "1f6b6-1f3fe-200d-2642-fe0f": "man walking medium-dark skin tone", "1f6b6-1f3fe-200d-27a1-fe0f": "person walking facing right medium-dark skin tone", "1f6b6-1f3fe": "person walking medium-dark skin tone", "1f6b6-1f3ff-200d-2640-fe0f-200d-27a1-fe0f": "woman walking facing right dark skin tone", "1f6b6-1f3ff-200d-2640-fe0f": "woman walking dark skin tone", "1f6b6-1f3ff-200d-2642-fe0f-200d-27a1-fe0f": "man walking facing right dark skin tone", "1f6b6-1f3ff-200d-2642-fe0f": "man walking dark skin tone", "1f6b6-1f3ff-200d-27a1-fe0f": "person walking facing right dark skin tone", "1f6b6-1f3ff": "person walking dark skin tone", "1f6b6-200d-2640-fe0f-200d-27a1-fe0f": "woman walking facing right", "1f6b6-200d-2640-fe0f": "woman walking", "1f6b6-200d-2642-fe0f-200d-27a1-fe0f": "man walking facing right", "1f6b6-200d-2642-fe0f": "man walking", "1f6b6-200d-27a1-fe0f": "person walking facing right", "1f6b6": "person walking", "1f6b7": "no pedestrians", "1f6b8": "children crossing", "1f6b9": "men’s room", "1f6ba": "women’s room", "1f6bb": "restroom", "1f6bc": "baby symbol", "1f6bd": "toilet", "1f6be": "water closet", "1f6bf": "shower", "1f6c0-1f3fb": "person taking bath light skin tone", "1f6c0-1f3fc": "person taking bath medium-light skin tone", "1f6c0-1f3fd": "person taking bath medium skin tone", "1f6c0-1f3fe": "person taking bath medium-dark skin tone", "1f6c0-1f3ff": "person taking bath dark skin tone", "1f6c0": "person taking bath", "1f6c1": "bathtub", "1f6c2": "passport control", "1f6c3": "customs", "1f6c4": "baggage claim", "1f6c5": "left luggage", "1f6cb": "couch and lamp", "1f6cc-1f3fb": "person in bed light skin tone", "1f6cc-1f3fc": "person in bed medium-light skin tone", "1f6cc-1f3fd": "person in bed medium skin tone", "1f6cc-1f3fe": "person in bed medium-dark skin tone", "1f6cc-1f3ff": "person in bed dark skin tone", "1f6cc": "person in bed", "1f6cd": "shopping bags", "1f6ce": "bellhop bell", "1f6cf": "bed", "1f6d0": "place of worship", "1f6d1": "stop sign", "1f6d2": "shopping cart", "1f6d5": "hindu temple", "1f6d6": "hut", "1f6d7": "elevator", "1f6d8": "landslide", "1f6dc": "wireless", "1f6dd": "playground slide", "1f6de": "wheel", "1f6df": "ring buoy", "1f6e0": "hammer and wrench", "1f6e1": "shield", "1f6e2": "oil drum", "1f6e3": "motorway", "1f6e4": "railway track", "1f6e5": "motor boat", "1f6e9": "small airplane", "1f6eb": "airplane departure", "1f6ec": "airplane arrival", "1f6f0": "satellite", "1f6f3": "passenger ship", "1f6f4": "kick scooter", "1f6f5": "motor scooter", "1f6f6": "canoe", "1f6f7": "sled", "1f6f8": "flying saucer", "1f6f9": "skateboard", "1f6fa": "auto rickshaw", "1f6fb": "pickup truck", "1f6fc": "roller skate", "1f7e0": "orange circle", "1f7e1": "yellow circle", "1f7e2": "green circle", "1f7e3": "purple circle", "1f7e4": "brown circle", "1f7e5": "red square", "1f7e6": "blue square", "1f7e7": "orange square", "1f7e8": "yellow square", "1f7e9": "green square", "1f7ea": "purple square", "1f7eb": "brown square", "1f7f0": "heavy equals sign", "1f90c-1f3fb": "pinched fingers light skin tone", "1f90c-1f3fc": "pinched fingers medium-light skin tone", "1f90c-1f3fd": "pinched fingers medium skin tone", "1f90c-1f3fe": "pinched fingers medium-dark skin tone", "1f90c-1f3ff": "pinched fingers dark skin tone", "1f90c": "pinched fingers", "1f90d": "white heart", "1f90e": "brown heart", "1f90f-1f3fb": "pinching hand light skin tone", "1f90f-1f3fc": "pinching hand medium-light skin tone", "1f90f-1f3fd": "pinching hand medium skin tone", "1f90f-1f3fe": "pinching hand medium-dark skin tone", "1f90f-1f3ff": "pinching hand dark skin tone", "1f90f": "pinching hand", "1f910": "zipper-mouth face", "1f911": "money-mouth face", "1f912": "face with thermometer", "1f913": "nerd face", "1f914": "thinking face", "1f915": "face with head-bandage", "1f916": "robot", "1f917": "smiling face with open hands", "1f918-1f3fb": "sign of the horns light skin tone", "1f918-1f3fc": "sign of the horns medium-light skin tone", "1f918-1f3fd": "sign of the horns medium skin tone", "1f918-1f3fe": "sign of the horns medium-dark skin tone", "1f918-1f3ff": "sign of the horns dark skin tone", "1f918": "sign of the horns", "1f919-1f3fb": "call me hand light skin tone", "1f919-1f3fc": "call me hand medium-light skin tone", "1f919-1f3fd": "call me hand medium skin tone", "1f919-1f3fe": "call me hand medium-dark skin tone", "1f919-1f3ff": "call me hand dark skin tone", "1f919": "call me hand", "1f91a-1f3fb": "raised back of hand light skin tone", "1f91a-1f3fc": "raised back of hand medium-light skin tone", "1f91a-1f3fd": "raised back of hand medium skin tone", "1f91a-1f3fe": "raised back of hand medium-dark skin tone", "1f91a-1f3ff": "raised back of hand dark skin tone", "1f91a": "raised back of hand", "1f91b-1f3fb": "left-facing fist light skin tone", "1f91b-1f3fc": "left-facing fist medium-light skin tone", "1f91b-1f3fd": "left-facing fist medium skin tone", "1f91b-1f3fe": "left-facing fist medium-dark skin tone", "1f91b-1f3ff": "left-facing fist dark skin tone", "1f91b": "left-facing fist", "1f91c-1f3fb": "right-facing fist light skin tone", "1f91c-1f3fc": "right-facing fist medium-light skin tone", "1f91c-1f3fd": "right-facing fist medium skin tone", "1f91c-1f3fe": "right-facing fist medium-dark skin tone", "1f91c-1f3ff": "right-facing fist dark skin tone", "1f91c": "right-facing fist", "1f91d-1f3fb": "handshake light skin tone", "1f91d-1f3fc": "handshake medium-light skin tone", "1f91d-1f3fd": "handshake medium skin tone", "1f91d-1f3fe": "handshake medium-dark skin tone", "1f91d-1f3ff": "handshake dark skin tone", "1f91d": "handshake", "1f91e-1f3fb": "crossed fingers light skin tone", "1f91e-1f3fc": "crossed fingers medium-light skin tone", "1f91e-1f3fd": "crossed fingers medium skin tone", "1f91e-1f3fe": "crossed fingers medium-dark skin tone", "1f91e-1f3ff": "crossed fingers dark skin tone", "1f91e": "crossed fingers", "1f91f-1f3fb": "love-you gesture light skin tone", "1f91f-1f3fc": "love-you gesture medium-light skin tone", "1f91f-1f3fd": "love-you gesture medium skin tone", "1f91f-1f3fe": "love-you gesture medium-dark skin tone", "1f91f-1f3ff": "love-you gesture dark skin tone", "1f91f": "love-you gesture", "1f920": "cowboy hat face", "1f921": "clown face", "1f922": "nauseated face", "1f923": "rolling on the floor laughing", "1f924": "drooling face", "1f925": "lying face", "1f926-1f3fb-200d-2640-fe0f": "woman facepalming light skin tone", "1f926-1f3fb-200d-2642-fe0f": "man facepalming light skin tone", "1f926-1f3fb": "person facepalming light skin tone", "1f926-1f3fc-200d-2640-fe0f": "woman facepalming medium-light skin tone", "1f926-1f3fc-200d-2642-fe0f": "man facepalming medium-light skin tone", "1f926-1f3fc": "person facepalming medium-light skin tone", "1f926-1f3fd-200d-2640-fe0f": "woman facepalming medium skin tone", "1f926-1f3fd-200d-2642-fe0f": "man facepalming medium skin tone", "1f926-1f3fd": "person facepalming medium skin tone", "1f926-1f3fe-200d-2640-fe0f": "woman facepalming medium-dark skin tone", "1f926-1f3fe-200d-2642-fe0f": "man facepalming medium-dark skin tone", "1f926-1f3fe": "person facepalming medium-dark skin tone", "1f926-1f3ff-200d-2640-fe0f": "woman facepalming dark skin tone", "1f926-1f3ff-200d-2642-fe0f": "man facepalming dark skin tone", "1f926-1f3ff": "person facepalming dark skin tone", "1f926-200d-2640-fe0f": "woman facepalming", "1f926-200d-2642-fe0f": "man facepalming", "1f926": "person facepalming", "1f927": "sneezing face", "1f928": "face with raised eyebrow", "1f929": "star-struck", "1f92a": "zany face", "1f92b": "shushing face", "1f92c": "face with symbols on mouth", "1f92d": "face with hand over mouth", "1f92e": "face vomiting", "1f92f": "exploding head", "1f930-1f3fb": "pregnant woman light skin tone", "1f930-1f3fc": "pregnant woman medium-light skin tone", "1f930-1f3fd": "pregnant woman medium skin tone", "1f930-1f3fe": "pregnant woman medium-dark skin tone", "1f930-1f3ff": "pregnant woman dark skin tone", "1f930": "pregnant woman", "1f931-1f3fb": "breast-feeding light skin tone", "1f931-1f3fc": "breast-feeding medium-light skin tone", "1f931-1f3fd": "breast-feeding medium skin tone", "1f931-1f3fe": "breast-feeding medium-dark skin tone", "1f931-1f3ff": "breast-feeding dark skin tone", "1f931": "breast-feeding", "1f932-1f3fb": "palms up together light skin tone", "1f932-1f3fc": "palms up together medium-light skin tone", "1f932-1f3fd": "palms up together medium skin tone", "1f932-1f3fe": "palms up together medium-dark skin tone", "1f932-1f3ff": "palms up together dark skin tone", "1f932": "palms up together", "1f933-1f3fb": "selfie light skin tone", "1f933-1f3fc": "selfie medium-light skin tone", "1f933-1f3fd": "selfie medium skin tone", "1f933-1f3fe": "selfie medium-dark skin tone", "1f933-1f3ff": "selfie dark skin tone", "1f933": "selfie", "1f934-1f3fb": "prince light skin tone", "1f934-1f3fc": "prince medium-light skin tone", "1f934-1f3fd": "prince medium skin tone", "1f934-1f3fe": "prince medium-dark skin tone", "1f934-1f3ff": "prince dark skin tone", "1f934": "prince", "1f935-1f3fb-200d-2640-fe0f": "woman in tuxedo light skin tone", "1f935-1f3fb-200d-2642-fe0f": "man in tuxedo light skin tone", "1f935-1f3fb": "person in tuxedo light skin tone", "1f935-1f3fc-200d-2640-fe0f": "woman in tuxedo medium-light skin tone", "1f935-1f3fc-200d-2642-fe0f": "man in tuxedo medium-light skin tone", "1f935-1f3fc": "person in tuxedo medium-light skin tone", "1f935-1f3fd-200d-2640-fe0f": "woman in tuxedo medium skin tone", "1f935-1f3fd-200d-2642-fe0f": "man in tuxedo medium skin tone", "1f935-1f3fd": "person in tuxedo medium skin tone", "1f935-1f3fe-200d-2640-fe0f": "woman in tuxedo medium-dark skin tone", "1f935-1f3fe-200d-2642-fe0f": "man in tuxedo medium-dark skin tone", "1f935-1f3fe": "person in tuxedo medium-dark skin tone", "1f935-1f3ff-200d-2640-fe0f": "woman in tuxedo dark skin tone", "1f935-1f3ff-200d-2642-fe0f": "man in tuxedo dark skin tone", "1f935-1f3ff": "person in tuxedo dark skin tone", "1f935-200d-2640-fe0f": "woman in tuxedo", "1f935-200d-2642-fe0f": "man in tuxedo", "1f935": "person in tuxedo", "1f936-1f3fb": "mrs. claus light skin tone", "1f936-1f3fc": "mrs. claus medium-light skin tone", "1f936-1f3fd": "mrs. claus medium skin tone", "1f936-1f3fe": "mrs. claus medium-dark skin tone", "1f936-1f3ff": "mrs. claus dark skin tone", "1f936": "mrs. claus", "1f937-1f3fb-200d-2640-fe0f": "woman shrugging light skin tone", "1f937-1f3fb-200d-2642-fe0f": "man shrugging light skin tone", "1f937-1f3fb": "person shrugging light skin tone", "1f937-1f3fc-200d-2640-fe0f": "woman shrugging medium-light skin tone", "1f937-1f3fc-200d-2642-fe0f": "man shrugging medium-light skin tone", "1f937-1f3fc": "person shrugging medium-light skin tone", "1f937-1f3fd-200d-2640-fe0f": "woman shrugging medium skin tone", "1f937-1f3fd-200d-2642-fe0f": "man shrugging medium skin tone", "1f937-1f3fd": "person shrugging medium skin tone", "1f937-1f3fe-200d-2640-fe0f": "woman shrugging medium-dark skin tone", "1f937-1f3fe-200d-2642-fe0f": "man shrugging medium-dark skin tone", "1f937-1f3fe": "person shrugging medium-dark skin tone", "1f937-1f3ff-200d-2640-fe0f": "woman shrugging dark skin tone", "1f937-1f3ff-200d-2642-fe0f": "man shrugging dark skin tone", "1f937-1f3ff": "person shrugging dark skin tone", "1f937-200d-2640-fe0f": "woman shrugging", "1f937-200d-2642-fe0f": "man shrugging", "1f937": "person shrugging", "1f938-1f3fb-200d-2640-fe0f": "woman cartwheeling light skin tone", "1f938-1f3fb-200d-2642-fe0f": "man cartwheeling light skin tone", "1f938-1f3fb": "person cartwheeling light skin tone", "1f938-1f3fc-200d-2640-fe0f": "woman cartwheeling medium-light skin tone", "1f938-1f3fc-200d-2642-fe0f": "man cartwheeling medium-light skin tone", "1f938-1f3fc": "person cartwheeling medium-light skin tone", "1f938-1f3fd-200d-2640-fe0f": "woman cartwheeling medium skin tone", "1f938-1f3fd-200d-2642-fe0f": "man cartwheeling medium skin tone", "1f938-1f3fd": "person cartwheeling medium skin tone", "1f938-1f3fe-200d-2640-fe0f": "woman cartwheeling medium-dark skin tone", "1f938-1f3fe-200d-2642-fe0f": "man cartwheeling medium-dark skin tone", "1f938-1f3fe": "person cartwheeling medium-dark skin tone", "1f938-1f3ff-200d-2640-fe0f": "woman cartwheeling dark skin tone", "1f938-1f3ff-200d-2642-fe0f": "man cartwheeling dark skin tone", "1f938-1f3ff": "person cartwheeling dark skin tone", "1f938-200d-2640-fe0f": "woman cartwheeling", "1f938-200d-2642-fe0f": "man cartwheeling", "1f938": "person cartwheeling", "1f939-1f3fb-200d-2640-fe0f": "woman juggling light skin tone", "1f939-1f3fb-200d-2642-fe0f": "man juggling light skin tone", "1f939-1f3fb": "person juggling light skin tone", "1f939-1f3fc-200d-2640-fe0f": "woman juggling medium-light skin tone", "1f939-1f3fc-200d-2642-fe0f": "man juggling medium-light skin tone", "1f939-1f3fc": "person juggling medium-light skin tone", "1f939-1f3fd-200d-2640-fe0f": "woman juggling medium skin tone", "1f939-1f3fd-200d-2642-fe0f": "man juggling medium skin tone", "1f939-1f3fd": "person juggling medium skin tone", "1f939-1f3fe-200d-2640-fe0f": "woman juggling medium-dark skin tone", "1f939-1f3fe-200d-2642-fe0f": "man juggling medium-dark skin tone", "1f939-1f3fe": "person juggling medium-dark skin tone", "1f939-1f3ff-200d-2640-fe0f": "woman juggling dark skin tone", "1f939-1f3ff-200d-2642-fe0f": "man juggling dark skin tone", "1f939-1f3ff": "person juggling dark skin tone", "1f939-200d-2640-fe0f": "woman juggling", "1f939-200d-2642-fe0f": "man juggling", "1f939": "person juggling", "1f93a": "person fencing", "1f93c-1f3fb-200d-2640-fe0f": "women wrestling light skin tone", "1f93c-1f3fb-200d-2642-fe0f": "men wrestling light skin tone", "1f93c-1f3fb": "people wrestling light skin tone", "1f93c-1f3fc-200d-2640-fe0f": "women wrestling medium-light skin tone", "1f93c-1f3fc-200d-2642-fe0f": "men wrestling medium-light skin tone", "1f93c-1f3fc": "people wrestling medium-light skin tone", "1f93c-1f3fd-200d-2640-fe0f": "women wrestling medium skin tone", "1f93c-1f3fd-200d-2642-fe0f": "men wrestling medium skin tone", "1f93c-1f3fd": "people wrestling medium skin tone", "1f93c-1f3fe-200d-2640-fe0f": "women wrestling medium-dark skin tone", "1f93c-1f3fe-200d-2642-fe0f": "men wrestling medium-dark skin tone", "1f93c-1f3fe": "people wrestling medium-dark skin tone", "1f93c-1f3ff-200d-2640-fe0f": "women wrestling dark skin tone", "1f93c-1f3ff-200d-2642-fe0f": "men wrestling dark skin tone", "1f93c-1f3ff": "people wrestling dark skin tone", "1f93c-200d-2640-fe0f": "women wrestling", "1f93c-200d-2642-fe0f": "men wrestling", "1f93c": "people wrestling", "1f93d-1f3fb-200d-2640-fe0f": "woman playing water polo light skin tone", "1f93d-1f3fb-200d-2642-fe0f": "man playing water polo light skin tone", "1f93d-1f3fb": "person playing water polo light skin tone", "1f93d-1f3fc-200d-2640-fe0f": "woman playing water polo medium-light skin tone", "1f93d-1f3fc-200d-2642-fe0f": "man playing water polo medium-light skin tone", "1f93d-1f3fc": "person playing water polo medium-light skin tone", "1f93d-1f3fd-200d-2640-fe0f": "woman playing water polo medium skin tone", "1f93d-1f3fd-200d-2642-fe0f": "man playing water polo medium skin tone", "1f93d-1f3fd": "person playing water polo medium skin tone", "1f93d-1f3fe-200d-2640-fe0f": "woman playing water polo medium-dark skin tone", "1f93d-1f3fe-200d-2642-fe0f": "man playing water polo medium-dark skin tone", "1f93d-1f3fe": "person playing water polo medium-dark skin tone", "1f93d-1f3ff-200d-2640-fe0f": "woman playing water polo dark skin tone", "1f93d-1f3ff-200d-2642-fe0f": "man playing water polo dark skin tone", "1f93d-1f3ff": "person playing water polo dark skin tone", "1f93d-200d-2640-fe0f": "woman playing water polo", "1f93d-200d-2642-fe0f": "man playing water polo", "1f93d": "person playing water polo", "1f93e-1f3fb-200d-2640-fe0f": "woman playing handball light skin tone", "1f93e-1f3fb-200d-2642-fe0f": "man playing handball light skin tone", "1f93e-1f3fb": "person playing handball light skin tone", "1f93e-1f3fc-200d-2640-fe0f": "woman playing handball medium-light skin tone", "1f93e-1f3fc-200d-2642-fe0f": "man playing handball medium-light skin tone", "1f93e-1f3fc": "person playing handball medium-light skin tone", "1f93e-1f3fd-200d-2640-fe0f": "woman playing handball medium skin tone", "1f93e-1f3fd-200d-2642-fe0f": "man playing handball medium skin tone", "1f93e-1f3fd": "person playing handball medium skin tone", "1f93e-1f3fe-200d-2640-fe0f": "woman playing handball medium-dark skin tone", "1f93e-1f3fe-200d-2642-fe0f": "man playing handball medium-dark skin tone", "1f93e-1f3fe": "person playing handball medium-dark skin tone", "1f93e-1f3ff-200d-2640-fe0f": "woman playing handball dark skin tone", "1f93e-1f3ff-200d-2642-fe0f": "man playing handball dark skin tone", "1f93e-1f3ff": "person playing handball dark skin tone", "1f93e-200d-2640-fe0f": "woman playing handball", "1f93e-200d-2642-fe0f": "man playing handball", "1f93e": "person playing handball", "1f93f": "diving mask", "1f940": "wilted flower", "1f941": "drum", "1f942": "clinking glasses", "1f943": "tumbler glass", "1f944": "spoon", "1f945": "goal net", "1f947": "1st place medal", "1f948": "2nd place medal", "1f949": "3rd place medal", "1f94a": "boxing glove", "1f94b": "martial arts uniform", "1f94c": "curling stone", "1f94d": "lacrosse", "1f94e": "softball", "1f94f": "flying disc", "1f950": "croissant", "1f951": "avocado", "1f952": "cucumber", "1f953": "bacon", "1f954": "potato", "1f955": "carrot", "1f956": "baguette bread", "1f957": "green salad", "1f958": "shallow pan of food", "1f959": "stuffed flatbread", "1f95a": "egg", "1f95b": "glass of milk", "1f95c": "peanuts", "1f95d": "kiwi fruit", "1f95e": "pancakes", "1f95f": "dumpling", "1f960": "fortune cookie", "1f961": "takeout box", "1f962": "chopsticks", "1f963": "bowl with spoon", "1f964": "cup with straw", "1f965": "coconut", "1f966": "broccoli", "1f967": "pie", "1f968": "pretzel", "1f969": "cut of meat", "1f96a": "sandwich", "1f96b": "canned food", "1f96c": "leafy green", "1f96d": "mango", "1f96e": "moon cake", "1f96f": "bagel", "1f970": "smiling face with hearts", "1f971": "yawning face", "1f972": "smiling face with tear", "1f973": "partying face", "1f974": "woozy face", "1f975": "hot face", "1f976": "cold face", "1f977-1f3fb": "ninja light skin tone", "1f977-1f3fc": "ninja medium-light skin tone", "1f977-1f3fd": "ninja medium skin tone", "1f977-1f3fe": "ninja medium-dark skin tone", "1f977-1f3ff": "ninja dark skin tone", "1f977": "ninja", "1f978": "disguised face", "1f979": "face holding back tears", "1f97a": "pleading face", "1f97b": "sari", "1f97c": "lab coat", "1f97d": "goggles", "1f97e": "hiking boot", "1f97f": "flat shoe", "1f980": "crab", "1f981": "lion", "1f982": "scorpion", "1f983": "turkey", "1f984": "unicorn", "1f985": "eagle", "1f986": "duck", "1f987": "bat", "1f988": "shark", "1f989": "owl", "1f98a": "fox", "1f98b": "butterfly", "1f98c": "deer", "1f98d": "gorilla", "1f98e": "lizard", "1f98f": "rhinoceros", "1f990": "shrimp", "1f991": "squid", "1f992": "giraffe", "1f993": "zebra", "1f994": "hedgehog", "1f995": "sauropod", "1f996": "t-rex", "1f997": "cricket", "1f998": "kangaroo", "1f999": "llama", "1f99a": "peacock", "1f99b": "hippopotamus", "1f99c": "parrot", "1f99d": "raccoon", "1f99e": "lobster", "1f99f": "mosquito", "1f9a0": "microbe", "1f9a1": "badger", "1f9a2": "swan", "1f9a3": "mammoth", "1f9a4": "dodo", "1f9a5": "sloth", "1f9a6": "otter", "1f9a7": "orangutan", "1f9a8": "skunk", "1f9a9": "flamingo", "1f9aa": "oyster", "1f9ab": "beaver", "1f9ac": "bison", "1f9ad": "seal", "1f9ae": "guide dog", "1f9af": "white cane", "1f9b0": "red hair", "1f9b1": "curly hair", "1f9b2": "bald", "1f9b3": "white hair", "1f9b4": "bone", "1f9b5-1f3fb": "leg light skin tone", "1f9b5-1f3fc": "leg medium-light skin tone", "1f9b5-1f3fd": "leg medium skin tone", "1f9b5-1f3fe": "leg medium-dark skin tone", "1f9b5-1f3ff": "leg dark skin tone", "1f9b5": "leg", "1f9b6-1f3fb": "foot light skin tone", "1f9b6-1f3fc": "foot medium-light skin tone", "1f9b6-1f3fd": "foot medium skin tone", "1f9b6-1f3fe": "foot medium-dark skin tone", "1f9b6-1f3ff": "foot dark skin tone", "1f9b6": "foot", "1f9b7": "tooth", "1f9b8-1f3fb-200d-2640-fe0f": "woman superhero light skin tone", "1f9b8-1f3fb-200d-2642-fe0f": "man superhero light skin tone", "1f9b8-1f3fb": "superhero light skin tone", "1f9b8-1f3fc-200d-2640-fe0f": "woman superhero medium-light skin tone", "1f9b8-1f3fc-200d-2642-fe0f": "man superhero medium-light skin tone", "1f9b8-1f3fc": "superhero medium-light skin tone", "1f9b8-1f3fd-200d-2640-fe0f": "woman superhero medium skin tone", "1f9b8-1f3fd-200d-2642-fe0f": "man superhero medium skin tone", "1f9b8-1f3fd": "superhero medium skin tone", "1f9b8-1f3fe-200d-2640-fe0f": "woman superhero medium-dark skin tone", "1f9b8-1f3fe-200d-2642-fe0f": "man superhero medium-dark skin tone", "1f9b8-1f3fe": "superhero medium-dark skin tone", "1f9b8-1f3ff-200d-2640-fe0f": "woman superhero dark skin tone", "1f9b8-1f3ff-200d-2642-fe0f": "man superhero dark skin tone", "1f9b8-1f3ff": "superhero dark skin tone", "1f9b8-200d-2640-fe0f": "woman superhero", "1f9b8-200d-2642-fe0f": "man superhero", "1f9b8": "superhero", "1f9b9-1f3fb-200d-2640-fe0f": "woman supervillain light skin tone", "1f9b9-1f3fb-200d-2642-fe0f": "man supervillain light skin tone", "1f9b9-1f3fb": "supervillain light skin tone", "1f9b9-1f3fc-200d-2640-fe0f": "woman supervillain medium-light skin tone", "1f9b9-1f3fc-200d-2642-fe0f": "man supervillain medium-light skin tone", "1f9b9-1f3fc": "supervillain medium-light skin tone", "1f9b9-1f3fd-200d-2640-fe0f": "woman supervillain medium skin tone", "1f9b9-1f3fd-200d-2642-fe0f": "man supervillain medium skin tone", "1f9b9-1f3fd": "supervillain medium skin tone", "1f9b9-1f3fe-200d-2640-fe0f": "woman supervillain medium-dark skin tone", "1f9b9-1f3fe-200d-2642-fe0f": "man supervillain medium-dark skin tone", "1f9b9-1f3fe": "supervillain medium-dark skin tone", "1f9b9-1f3ff-200d-2640-fe0f": "woman supervillain dark skin tone", "1f9b9-1f3ff-200d-2642-fe0f": "man supervillain dark skin tone", "1f9b9-1f3ff": "supervillain dark skin tone", "1f9b9-200d-2640-fe0f": "woman supervillain", "1f9b9-200d-2642-fe0f": "man supervillain", "1f9b9": "supervillain", "1f9ba": "safety vest", "1f9bb-1f3fb": "ear with hearing aid light skin tone", "1f9bb-1f3fc": "ear with hearing aid medium-light skin tone", "1f9bb-1f3fd": "ear with hearing aid medium skin tone", "1f9bb-1f3fe": "ear with hearing aid medium-dark skin tone", "1f9bb-1f3ff": "ear with hearing aid dark skin tone", "1f9bb": "ear with hearing aid", "1f9bc": "motorized wheelchair", "1f9bd": "manual wheelchair", "1f9be": "mechanical arm", "1f9bf": "mechanical leg", "1f9c0": "cheese wedge", "1f9c1": "cupcake", "1f9c2": "salt", "1f9c3": "beverage box", "1f9c4": "garlic", "1f9c5": "onion", "1f9c6": "falafel", "1f9c7": "waffle", "1f9c8": "butter", "1f9c9": "mate", "1f9ca": "ice", "1f9cb": "bubble tea", "1f9cc": "troll", "1f9cd-1f3fb-200d-2640-fe0f": "woman standing light skin tone", "1f9cd-1f3fb-200d-2642-fe0f": "man standing light skin tone", "1f9cd-1f3fb": "person standing light skin tone", "1f9cd-1f3fc-200d-2640-fe0f": "woman standing medium-light skin tone", "1f9cd-1f3fc-200d-2642-fe0f": "man standing medium-light skin tone", "1f9cd-1f3fc": "person standing medium-light skin tone", "1f9cd-1f3fd-200d-2640-fe0f": "woman standing medium skin tone", "1f9cd-1f3fd-200d-2642-fe0f": "man standing medium skin tone", "1f9cd-1f3fd": "person standing medium skin tone", "1f9cd-1f3fe-200d-2640-fe0f": "woman standing medium-dark skin tone", "1f9cd-1f3fe-200d-2642-fe0f": "man standing medium-dark skin tone", "1f9cd-1f3fe": "person standing medium-dark skin tone", "1f9cd-1f3ff-200d-2640-fe0f": "woman standing dark skin tone", "1f9cd-1f3ff-200d-2642-fe0f": "man standing dark skin tone", "1f9cd-1f3ff": "person standing dark skin tone", "1f9cd-200d-2640-fe0f": "woman standing", "1f9cd-200d-2642-fe0f": "man standing", "1f9cd": "person standing", "1f9ce-1f3fb-200d-2640-fe0f-200d-27a1-fe0f": "woman kneeling facing right light skin tone", "1f9ce-1f3fb-200d-2640-fe0f": "woman kneeling light skin tone", "1f9ce-1f3fb-200d-2642-fe0f-200d-27a1-fe0f": "man kneeling facing right light skin tone", "1f9ce-1f3fb-200d-2642-fe0f": "man kneeling light skin tone", "1f9ce-1f3fb-200d-27a1-fe0f": "person kneeling facing right light skin tone", "1f9ce-1f3fb": "person kneeling light skin tone", "1f9ce-1f3fc-200d-2640-fe0f-200d-27a1-fe0f": "woman kneeling facing right medium-light skin tone", "1f9ce-1f3fc-200d-2640-fe0f": "woman kneeling medium-light skin tone", "1f9ce-1f3fc-200d-2642-fe0f-200d-27a1-fe0f": "man kneeling facing right medium-light skin tone", "1f9ce-1f3fc-200d-2642-fe0f": "man kneeling medium-light skin tone", "1f9ce-1f3fc-200d-27a1-fe0f": "person kneeling facing right medium-light skin tone", "1f9ce-1f3fc": "person kneeling medium-light skin tone", "1f9ce-1f3fd-200d-2640-fe0f-200d-27a1-fe0f": "woman kneeling facing right medium skin tone", "1f9ce-1f3fd-200d-2640-fe0f": "woman kneeling medium skin tone", "1f9ce-1f3fd-200d-2642-fe0f-200d-27a1-fe0f": "man kneeling facing right medium skin tone", "1f9ce-1f3fd-200d-2642-fe0f": "man kneeling medium skin tone", "1f9ce-1f3fd-200d-27a1-fe0f": "person kneeling facing right medium skin tone", "1f9ce-1f3fd": "person kneeling medium skin tone", "1f9ce-1f3fe-200d-2640-fe0f-200d-27a1-fe0f": "woman kneeling facing right medium-dark skin tone", "1f9ce-1f3fe-200d-2640-fe0f": "woman kneeling medium-dark skin tone", "1f9ce-1f3fe-200d-2642-fe0f-200d-27a1-fe0f": "man kneeling facing right medium-dark skin tone", "1f9ce-1f3fe-200d-2642-fe0f": "man kneeling medium-dark skin tone", "1f9ce-1f3fe-200d-27a1-fe0f": "person kneeling facing right medium-dark skin tone", "1f9ce-1f3fe": "person kneeling medium-dark skin tone", "1f9ce-1f3ff-200d-2640-fe0f-200d-27a1-fe0f": "woman kneeling facing right dark skin tone", "1f9ce-1f3ff-200d-2640-fe0f": "woman kneeling dark skin tone", "1f9ce-1f3ff-200d-2642-fe0f-200d-27a1-fe0f": "man kneeling facing right dark skin tone", "1f9ce-1f3ff-200d-2642-fe0f": "man kneeling dark skin tone", "1f9ce-1f3ff-200d-27a1-fe0f": "person kneeling facing right dark skin tone", "1f9ce-1f3ff": "person kneeling dark skin tone", "1f9ce-200d-2640-fe0f-200d-27a1-fe0f": "woman kneeling facing right", "1f9ce-200d-2640-fe0f": "woman kneeling", "1f9ce-200d-2642-fe0f-200d-27a1-fe0f": "man kneeling facing right", "1f9ce-200d-2642-fe0f": "man kneeling", "1f9ce-200d-27a1-fe0f": "person kneeling facing right", "1f9ce": "person kneeling", "1f9cf-1f3fb-200d-2640-fe0f": "deaf woman light skin tone", "1f9cf-1f3fb-200d-2642-fe0f": "deaf man light skin tone", "1f9cf-1f3fb": "deaf person light skin tone", "1f9cf-1f3fc-200d-2640-fe0f": "deaf woman medium-light skin tone", "1f9cf-1f3fc-200d-2642-fe0f": "deaf man medium-light skin tone", "1f9cf-1f3fc": "deaf person medium-light skin tone", "1f9cf-1f3fd-200d-2640-fe0f": "deaf woman medium skin tone", "1f9cf-1f3fd-200d-2642-fe0f": "deaf man medium skin tone", "1f9cf-1f3fd": "deaf person medium skin tone", "1f9cf-1f3fe-200d-2640-fe0f": "deaf woman medium-dark skin tone", "1f9cf-1f3fe-200d-2642-fe0f": "deaf man medium-dark skin tone", "1f9cf-1f3fe": "deaf person medium-dark skin tone", "1f9cf-1f3ff-200d-2640-fe0f": "deaf woman dark skin tone", "1f9cf-1f3ff-200d-2642-fe0f": "deaf man dark skin tone", "1f9cf-1f3ff": "deaf person dark skin tone", "1f9cf-200d-2640-fe0f": "deaf woman", "1f9cf-200d-2642-fe0f": "deaf man", "1f9cf": "deaf person", "1f9d0": "face with monocle", "1f9d1-1f3fb-200d-1f33e": "farmer light skin tone", "1f9d1-1f3fb-200d-1f373": "cook light skin tone", "1f9d1-1f3fb-200d-1f37c": "person feeding baby light skin tone", "1f9d1-1f3fb-200d-1f384": "mx claus light skin tone", "1f9d1-1f3fb-200d-1f393": "student light skin tone", "1f9d1-1f3fb-200d-1f3a4": "singer light skin tone", "1f9d1-1f3fb-200d-1f3a8": "artist light skin tone", "1f9d1-1f3fb-200d-1f3eb": "teacher light skin tone", "1f9d1-1f3fb-200d-1f3ed": "factory worker light skin tone", "1f9d1-1f3fb-200d-1f430-200d-1f9d1-1f3fc": "people with bunny ears light skin tone, medium-light skin tone", "1f9d1-1f3fb-200d-1f430-200d-1f9d1-1f3fd": "people with bunny ears light skin tone, medium skin tone", "1f9d1-1f3fb-200d-1f430-200d-1f9d1-1f3fe": "people with bunny ears light skin tone, medium-dark skin tone", "1f9d1-1f3fb-200d-1f430-200d-1f9d1-1f3ff": "people with bunny ears light skin tone, dark skin tone", "1f9d1-1f3fb-200d-1f4bb": "technologist light skin tone", "1f9d1-1f3fb-200d-1f4bc": "office worker light skin tone", "1f9d1-1f3fb-200d-1f527": "mechanic light skin tone", "1f9d1-1f3fb-200d-1f52c": "scientist light skin tone", "1f9d1-1f3fb-200d-1f680": "astronaut light skin tone", "1f9d1-1f3fb-200d-1f692": "firefighter light skin tone", "1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fb": "people holding hands light skin tone", "1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fc": "people holding hands light skin tone, medium-light skin tone", "1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fd": "people holding hands light skin tone, medium skin tone", "1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fe": "people holding hands light skin tone, medium-dark skin tone", "1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3ff": "people holding hands light skin tone, dark skin tone", "1f9d1-1f3fb-200d-1f9af-200d-27a1-fe0f": "person with white cane facing right light skin tone", "1f9d1-1f3fb-200d-1f9af": "person with white cane light skin tone", "1f9d1-1f3fb-200d-1f9b0": "person light skin tone, red hair", "1f9d1-1f3fb-200d-1f9b1": "person light skin tone, curly hair", "1f9d1-1f3fb-200d-1f9b2": "person light skin tone, bald", "1f9d1-1f3fb-200d-1f9b3": "person light skin tone, white hair", "1f9d1-1f3fb-200d-1f9bc-200d-27a1-fe0f": "person in motorized wheelchair facing right light skin tone", "1f9d1-1f3fb-200d-1f9bc": "person in motorized wheelchair light skin tone", "1f9d1-1f3fb-200d-1f9bd-200d-27a1-fe0f": "person in manual wheelchair facing right light skin tone", "1f9d1-1f3fb-200d-1f9bd": "person in manual wheelchair light skin tone", "1f9d1-1f3fb-200d-1fa70": "ballet dancer light skin tone", "1f9d1-1f3fb-200d-1faef-200d-1f9d1-1f3fc": "people wrestling light skin tone, medium-light skin tone", "1f9d1-1f3fb-200d-1faef-200d-1f9d1-1f3fd": "people wrestling light skin tone, medium skin tone", "1f9d1-1f3fb-200d-1faef-200d-1f9d1-1f3fe": "people wrestling light skin tone, medium-dark skin tone", "1f9d1-1f3fb-200d-1faef-200d-1f9d1-1f3ff": "people wrestling light skin tone, dark skin tone", "1f9d1-1f3fb-200d-2695-fe0f": "health worker light skin tone", "1f9d1-1f3fb-200d-2696-fe0f": "judge light skin tone", "1f9d1-1f3fb-200d-2708-fe0f": "pilot light skin tone", "1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc": "kiss person, person, light skin tone, medium-light skin tone", "1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd": "kiss person, person, light skin tone, medium skin tone", "1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe": "kiss person, person, light skin tone, medium-dark skin tone", "1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff": "kiss person, person, light skin tone, dark skin tone", "1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fc": "couple with heart person, person, light skin tone, medium-light skin tone", "1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fd": "couple with heart person, person, light skin tone, medium skin tone", "1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fe": "couple with heart person, person, light skin tone, medium-dark skin tone", "1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3ff": "couple with heart person, person, light skin tone, dark skin tone", "1f9d1-1f3fb": "person light skin tone", "1f9d1-1f3fc-200d-1f33e": "farmer medium-light skin tone", "1f9d1-1f3fc-200d-1f373": "cook medium-light skin tone", "1f9d1-1f3fc-200d-1f37c": "person feeding baby medium-light skin tone", "1f9d1-1f3fc-200d-1f384": "mx claus medium-light skin tone", "1f9d1-1f3fc-200d-1f393": "student medium-light skin tone", "1f9d1-1f3fc-200d-1f3a4": "singer medium-light skin tone", "1f9d1-1f3fc-200d-1f3a8": "artist medium-light skin tone", "1f9d1-1f3fc-200d-1f3eb": "teacher medium-light skin tone", "1f9d1-1f3fc-200d-1f3ed": "factory worker medium-light skin tone", "1f9d1-1f3fc-200d-1f430-200d-1f9d1-1f3fb": "people with bunny ears medium-light skin tone, light skin tone", "1f9d1-1f3fc-200d-1f430-200d-1f9d1-1f3fd": "people with bunny ears medium-light skin tone, medium skin tone", "1f9d1-1f3fc-200d-1f430-200d-1f9d1-1f3fe": "people with bunny ears medium-light skin tone, medium-dark skin tone", "1f9d1-1f3fc-200d-1f430-200d-1f9d1-1f3ff": "people with bunny ears medium-light skin tone, dark skin tone", "1f9d1-1f3fc-200d-1f4bb": "technologist medium-light skin tone", "1f9d1-1f3fc-200d-1f4bc": "office worker medium-light skin tone", "1f9d1-1f3fc-200d-1f527": "mechanic medium-light skin tone", "1f9d1-1f3fc-200d-1f52c": "scientist medium-light skin tone", "1f9d1-1f3fc-200d-1f680": "astronaut medium-light skin tone", "1f9d1-1f3fc-200d-1f692": "firefighter medium-light skin tone", "1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fb": "people holding hands medium-light skin tone, light skin tone", "1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fc": "people holding hands medium-light skin tone", "1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fd": "people holding hands medium-light skin tone, medium skin tone", "1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fe": "people holding hands medium-light skin tone, medium-dark skin tone", "1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3ff": "people holding hands medium-light skin tone, dark skin tone", "1f9d1-1f3fc-200d-1f9af-200d-27a1-fe0f": "person with white cane facing right medium-light skin tone", "1f9d1-1f3fc-200d-1f9af": "person with white cane medium-light skin tone", "1f9d1-1f3fc-200d-1f9b0": "person medium-light skin tone, red hair", "1f9d1-1f3fc-200d-1f9b1": "person medium-light skin tone, curly hair", "1f9d1-1f3fc-200d-1f9b2": "person medium-light skin tone, bald", "1f9d1-1f3fc-200d-1f9b3": "person medium-light skin tone, white hair", "1f9d1-1f3fc-200d-1f9bc-200d-27a1-fe0f": "person in motorized wheelchair facing right medium-light skin tone", "1f9d1-1f3fc-200d-1f9bc": "person in motorized wheelchair medium-light skin tone", "1f9d1-1f3fc-200d-1f9bd-200d-27a1-fe0f": "person in manual wheelchair facing right medium-light skin tone", "1f9d1-1f3fc-200d-1f9bd": "person in manual wheelchair medium-light skin tone", "1f9d1-1f3fc-200d-1fa70": "ballet dancer medium-light skin tone", "1f9d1-1f3fc-200d-1faef-200d-1f9d1-1f3fb": "people wrestling medium-light skin tone, light skin tone", "1f9d1-1f3fc-200d-1faef-200d-1f9d1-1f3fd": "people wrestling medium-light skin tone, medium skin tone", "1f9d1-1f3fc-200d-1faef-200d-1f9d1-1f3fe": "people wrestling medium-light skin tone, medium-dark skin tone", "1f9d1-1f3fc-200d-1faef-200d-1f9d1-1f3ff": "people wrestling medium-light skin tone, dark skin tone", "1f9d1-1f3fc-200d-2695-fe0f": "health worker medium-light skin tone", "1f9d1-1f3fc-200d-2696-fe0f": "judge medium-light skin tone", "1f9d1-1f3fc-200d-2708-fe0f": "pilot medium-light skin tone", "1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb": "kiss person, person, medium-light skin tone, light skin tone", "1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd": "kiss person, person, medium-light skin tone, medium skin tone", "1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe": "kiss person, person, medium-light skin tone, medium-dark skin tone", "1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff": "kiss person, person, medium-light skin tone, dark skin tone", "1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fb": "couple with heart person, person, medium-light skin tone, light skin tone", "1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fd": "couple with heart person, person, medium-light skin tone, medium skin tone", "1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fe": "couple with heart person, person, medium-light skin tone, medium-dark skin tone", "1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3ff": "couple with heart person, person, medium-light skin tone, dark skin tone", "1f9d1-1f3fc": "person medium-light skin tone", "1f9d1-1f3fd-200d-1f33e": "farmer medium skin tone", "1f9d1-1f3fd-200d-1f373": "cook medium skin tone", "1f9d1-1f3fd-200d-1f37c": "person feeding baby medium skin tone", "1f9d1-1f3fd-200d-1f384": "mx claus medium skin tone", "1f9d1-1f3fd-200d-1f393": "student medium skin tone", "1f9d1-1f3fd-200d-1f3a4": "singer medium skin tone", "1f9d1-1f3fd-200d-1f3a8": "artist medium skin tone", "1f9d1-1f3fd-200d-1f3eb": "teacher medium skin tone", "1f9d1-1f3fd-200d-1f3ed": "factory worker medium skin tone", "1f9d1-1f3fd-200d-1f430-200d-1f9d1-1f3fb": "people with bunny ears medium skin tone, light skin tone", "1f9d1-1f3fd-200d-1f430-200d-1f9d1-1f3fc": "people with bunny ears medium skin tone, medium-light skin tone", "1f9d1-1f3fd-200d-1f430-200d-1f9d1-1f3fe": "people with bunny ears medium skin tone, medium-dark skin tone", "1f9d1-1f3fd-200d-1f430-200d-1f9d1-1f3ff": "people with bunny ears medium skin tone, dark skin tone", "1f9d1-1f3fd-200d-1f4bb": "technologist medium skin tone", "1f9d1-1f3fd-200d-1f4bc": "office worker medium skin tone", "1f9d1-1f3fd-200d-1f527": "mechanic medium skin tone", "1f9d1-1f3fd-200d-1f52c": "scientist medium skin tone", "1f9d1-1f3fd-200d-1f680": "astronaut medium skin tone", "1f9d1-1f3fd-200d-1f692": "firefighter medium skin tone", "1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fb": "people holding hands medium skin tone, light skin tone", "1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fc": "people holding hands medium skin tone, medium-light skin tone", "1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fd": "people holding hands medium skin tone", "1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fe": "people holding hands medium skin tone, medium-dark skin tone", "1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3ff": "people holding hands medium skin tone, dark skin tone", "1f9d1-1f3fd-200d-1f9af-200d-27a1-fe0f": "person with white cane facing right medium skin tone", "1f9d1-1f3fd-200d-1f9af": "person with white cane medium skin tone", "1f9d1-1f3fd-200d-1f9b0": "person medium skin tone, red hair", "1f9d1-1f3fd-200d-1f9b1": "person medium skin tone, curly hair", "1f9d1-1f3fd-200d-1f9b2": "person medium skin tone, bald", "1f9d1-1f3fd-200d-1f9b3": "person medium skin tone, white hair", "1f9d1-1f3fd-200d-1f9bc-200d-27a1-fe0f": "person in motorized wheelchair facing right medium skin tone", "1f9d1-1f3fd-200d-1f9bc": "person in motorized wheelchair medium skin tone", "1f9d1-1f3fd-200d-1f9bd-200d-27a1-fe0f": "person in manual wheelchair facing right medium skin tone", "1f9d1-1f3fd-200d-1f9bd": "person in manual wheelchair medium skin tone", "1f9d1-1f3fd-200d-1fa70": "ballet dancer medium skin tone", "1f9d1-1f3fd-200d-1faef-200d-1f9d1-1f3fb": "people wrestling medium skin tone, light skin tone", "1f9d1-1f3fd-200d-1faef-200d-1f9d1-1f3fc": "people wrestling medium skin tone, medium-light skin tone", "1f9d1-1f3fd-200d-1faef-200d-1f9d1-1f3fe": "people wrestling medium skin tone, medium-dark skin tone", "1f9d1-1f3fd-200d-1faef-200d-1f9d1-1f3ff": "people wrestling medium skin tone, dark skin tone", "1f9d1-1f3fd-200d-2695-fe0f": "health worker medium skin tone", "1f9d1-1f3fd-200d-2696-fe0f": "judge medium skin tone", "1f9d1-1f3fd-200d-2708-fe0f": "pilot medium skin tone", "1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb": "kiss person, person, medium skin tone, light skin tone", "1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc": "kiss person, person, medium skin tone, medium-light skin tone", "1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe": "kiss person, person, medium skin tone, medium-dark skin tone", "1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff": "kiss person, person, medium skin tone, dark skin tone", "1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fb": "couple with heart person, person, medium skin tone, light skin tone", "1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fc": "couple with heart person, person, medium skin tone, medium-light skin tone", "1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fe": "couple with heart person, person, medium skin tone, medium-dark skin tone", "1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3ff": "couple with heart person, person, medium skin tone, dark skin tone", "1f9d1-1f3fd": "person medium skin tone", "1f9d1-1f3fe-200d-1f33e": "farmer medium-dark skin tone", "1f9d1-1f3fe-200d-1f373": "cook medium-dark skin tone", "1f9d1-1f3fe-200d-1f37c": "person feeding baby medium-dark skin tone", "1f9d1-1f3fe-200d-1f384": "mx claus medium-dark skin tone", "1f9d1-1f3fe-200d-1f393": "student medium-dark skin tone", "1f9d1-1f3fe-200d-1f3a4": "singer medium-dark skin tone", "1f9d1-1f3fe-200d-1f3a8": "artist medium-dark skin tone", "1f9d1-1f3fe-200d-1f3eb": "teacher medium-dark skin tone", "1f9d1-1f3fe-200d-1f3ed": "factory worker medium-dark skin tone", "1f9d1-1f3fe-200d-1f430-200d-1f9d1-1f3fb": "people with bunny ears medium-dark skin tone, light skin tone", "1f9d1-1f3fe-200d-1f430-200d-1f9d1-1f3fc": "people with bunny ears medium-dark skin tone, medium-light skin tone", "1f9d1-1f3fe-200d-1f430-200d-1f9d1-1f3fd": "people with bunny ears medium-dark skin tone, medium skin tone", "1f9d1-1f3fe-200d-1f430-200d-1f9d1-1f3ff": "people with bunny ears medium-dark skin tone, dark skin tone", "1f9d1-1f3fe-200d-1f4bb": "technologist medium-dark skin tone", "1f9d1-1f3fe-200d-1f4bc": "office worker medium-dark skin tone", "1f9d1-1f3fe-200d-1f527": "mechanic medium-dark skin tone", "1f9d1-1f3fe-200d-1f52c": "scientist medium-dark skin tone", "1f9d1-1f3fe-200d-1f680": "astronaut medium-dark skin tone", "1f9d1-1f3fe-200d-1f692": "firefighter medium-dark skin tone", "1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fb": "people holding hands medium-dark skin tone, light skin tone", "1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fc": "people holding hands medium-dark skin tone, medium-light skin tone", "1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fd": "people holding hands medium-dark skin tone, medium skin tone", "1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fe": "people holding hands medium-dark skin tone", "1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3ff": "people holding hands medium-dark skin tone, dark skin tone", "1f9d1-1f3fe-200d-1f9af-200d-27a1-fe0f": "person with white cane facing right medium-dark skin tone", "1f9d1-1f3fe-200d-1f9af": "person with white cane medium-dark skin tone", "1f9d1-1f3fe-200d-1f9b0": "person medium-dark skin tone, red hair", "1f9d1-1f3fe-200d-1f9b1": "person medium-dark skin tone, curly hair", "1f9d1-1f3fe-200d-1f9b2": "person medium-dark skin tone, bald", "1f9d1-1f3fe-200d-1f9b3": "person medium-dark skin tone, white hair", "1f9d1-1f3fe-200d-1f9bc-200d-27a1-fe0f": "person in motorized wheelchair facing right medium-dark skin tone", "1f9d1-1f3fe-200d-1f9bc": "person in motorized wheelchair medium-dark skin tone", "1f9d1-1f3fe-200d-1f9bd-200d-27a1-fe0f": "person in manual wheelchair facing right medium-dark skin tone", "1f9d1-1f3fe-200d-1f9bd": "person in manual wheelchair medium-dark skin tone", "1f9d1-1f3fe-200d-1fa70": "ballet dancer medium-dark skin tone", "1f9d1-1f3fe-200d-1faef-200d-1f9d1-1f3fb": "people wrestling medium-dark skin tone, light skin tone", "1f9d1-1f3fe-200d-1faef-200d-1f9d1-1f3fc": "people wrestling medium-dark skin tone, medium-light skin tone", "1f9d1-1f3fe-200d-1faef-200d-1f9d1-1f3fd": "people wrestling medium-dark skin tone, medium skin tone", "1f9d1-1f3fe-200d-1faef-200d-1f9d1-1f3ff": "people wrestling medium-dark skin tone, dark skin tone", "1f9d1-1f3fe-200d-2695-fe0f": "health worker medium-dark skin tone", "1f9d1-1f3fe-200d-2696-fe0f": "judge medium-dark skin tone", "1f9d1-1f3fe-200d-2708-fe0f": "pilot medium-dark skin tone", "1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb": "kiss person, person, medium-dark skin tone, light skin tone", "1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc": "kiss person, person, medium-dark skin tone, medium-light skin tone", "1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd": "kiss person, person, medium-dark skin tone, medium skin tone", "1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff": "kiss person, person, medium-dark skin tone, dark skin tone", "1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fb": "couple with heart person, person, medium-dark skin tone, light skin tone", "1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fc": "couple with heart person, person, medium-dark skin tone, medium-light skin tone", "1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fd": "couple with heart person, person, medium-dark skin tone, medium skin tone", "1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3ff": "couple with heart person, person, medium-dark skin tone, dark skin tone", "1f9d1-1f3fe": "person medium-dark skin tone", "1f9d1-1f3ff-200d-1f33e": "farmer dark skin tone", "1f9d1-1f3ff-200d-1f373": "cook dark skin tone", "1f9d1-1f3ff-200d-1f37c": "person feeding baby dark skin tone", "1f9d1-1f3ff-200d-1f384": "mx claus dark skin tone", "1f9d1-1f3ff-200d-1f393": "student dark skin tone", "1f9d1-1f3ff-200d-1f3a4": "singer dark skin tone", "1f9d1-1f3ff-200d-1f3a8": "artist dark skin tone", "1f9d1-1f3ff-200d-1f3eb": "teacher dark skin tone", "1f9d1-1f3ff-200d-1f3ed": "factory worker dark skin tone", "1f9d1-1f3ff-200d-1f430-200d-1f9d1-1f3fb": "people with bunny ears dark skin tone, light skin tone", "1f9d1-1f3ff-200d-1f430-200d-1f9d1-1f3fc": "people with bunny ears dark skin tone, medium-light skin tone", "1f9d1-1f3ff-200d-1f430-200d-1f9d1-1f3fd": "people with bunny ears dark skin tone, medium skin tone", "1f9d1-1f3ff-200d-1f430-200d-1f9d1-1f3fe": "people with bunny ears dark skin tone, medium-dark skin tone", "1f9d1-1f3ff-200d-1f4bb": "technologist dark skin tone", "1f9d1-1f3ff-200d-1f4bc": "office worker dark skin tone", "1f9d1-1f3ff-200d-1f527": "mechanic dark skin tone", "1f9d1-1f3ff-200d-1f52c": "scientist dark skin tone", "1f9d1-1f3ff-200d-1f680": "astronaut dark skin tone", "1f9d1-1f3ff-200d-1f692": "firefighter dark skin tone", "1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fb": "people holding hands dark skin tone, light skin tone", "1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fc": "people holding hands dark skin tone, medium-light skin tone", "1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fd": "people holding hands dark skin tone, medium skin tone", "1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fe": "people holding hands dark skin tone, medium-dark skin tone", "1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3ff": "people holding hands dark skin tone", "1f9d1-1f3ff-200d-1f9af-200d-27a1-fe0f": "person with white cane facing right dark skin tone", "1f9d1-1f3ff-200d-1f9af": "person with white cane dark skin tone", "1f9d1-1f3ff-200d-1f9b0": "person dark skin tone, red hair", "1f9d1-1f3ff-200d-1f9b1": "person dark skin tone, curly hair", "1f9d1-1f3ff-200d-1f9b2": "person dark skin tone, bald", "1f9d1-1f3ff-200d-1f9b3": "person dark skin tone, white hair", "1f9d1-1f3ff-200d-1f9bc-200d-27a1-fe0f": "person in motorized wheelchair facing right dark skin tone", "1f9d1-1f3ff-200d-1f9bc": "person in motorized wheelchair dark skin tone", "1f9d1-1f3ff-200d-1f9bd-200d-27a1-fe0f": "person in manual wheelchair facing right dark skin tone", "1f9d1-1f3ff-200d-1f9bd": "person in manual wheelchair dark skin tone", "1f9d1-1f3ff-200d-1fa70": "ballet dancer dark skin tone", "1f9d1-1f3ff-200d-1faef-200d-1f9d1-1f3fb": "people wrestling dark skin tone, light skin tone", "1f9d1-1f3ff-200d-1faef-200d-1f9d1-1f3fc": "people wrestling dark skin tone, medium-light skin tone", "1f9d1-1f3ff-200d-1faef-200d-1f9d1-1f3fd": "people wrestling dark skin tone, medium skin tone", "1f9d1-1f3ff-200d-1faef-200d-1f9d1-1f3fe": "people wrestling dark skin tone, medium-dark skin tone", "1f9d1-1f3ff-200d-2695-fe0f": "health worker dark skin tone", "1f9d1-1f3ff-200d-2696-fe0f": "judge dark skin tone", "1f9d1-1f3ff-200d-2708-fe0f": "pilot dark skin tone", "1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb": "kiss person, person, dark skin tone, light skin tone", "1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc": "kiss person, person, dark skin tone, medium-light skin tone", "1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd": "kiss person, person, dark skin tone, medium skin tone", "1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe": "kiss person, person, dark skin tone, medium-dark skin tone", "1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fb": "couple with heart person, person, dark skin tone, light skin tone", "1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fc": "couple with heart person, person, dark skin tone, medium-light skin tone", "1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fd": "couple with heart person, person, dark skin tone, medium skin tone", "1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fe": "couple with heart person, person, dark skin tone, medium-dark skin tone", "1f9d1-1f3ff": "person dark skin tone", "1f9d1-200d-1f33e": "farmer", "1f9d1-200d-1f373": "cook", "1f9d1-200d-1f37c": "person feeding baby", "1f9d1-200d-1f384": "mx claus", "1f9d1-200d-1f393": "student", "1f9d1-200d-1f3a4": "singer", "1f9d1-200d-1f3a8": "artist", "1f9d1-200d-1f3eb": "teacher", "1f9d1-200d-1f3ed": "factory worker", "1f9d1-200d-1f4bb": "technologist", "1f9d1-200d-1f4bc": "office worker", "1f9d1-200d-1f527": "mechanic", "1f9d1-200d-1f52c": "scientist", "1f9d1-200d-1f680": "astronaut", "1f9d1-200d-1f692": "firefighter", "1f9d1-200d-1f91d-200d-1f9d1": "people holding hands", "1f9d1-200d-1f9af-200d-27a1-fe0f": "person with white cane facing right", "1f9d1-200d-1f9af": "person with white cane", "1f9d1-200d-1f9b0": "person red hair", "1f9d1-200d-1f9b1": "person curly hair", "1f9d1-200d-1f9b2": "person bald", "1f9d1-200d-1f9b3": "person white hair", "1f9d1-200d-1f9bc-200d-27a1-fe0f": "person in motorized wheelchair facing right", "1f9d1-200d-1f9bc": "person in motorized wheelchair", "1f9d1-200d-1f9bd-200d-27a1-fe0f": "person in manual wheelchair facing right", "1f9d1-200d-1f9bd": "person in manual wheelchair", "1f9d1-200d-1f9d1-200d-1f9d2-200d-1f9d2": "family adult, adult, child, child", "1f9d1-200d-1f9d1-200d-1f9d2": "family adult, adult, child", "1f9d1-200d-1f9d2-200d-1f9d2": "family adult, child, child", "1f9d1-200d-1f9d2": "family adult, child", "1f9d1-200d-1fa70": "ballet dancer", "1f9d1-200d-2695-fe0f": "health worker", "1f9d1-200d-2696-fe0f": "judge", "1f9d1-200d-2708-fe0f": "pilot", "1f9d1": "person", "1f9d2-1f3fb": "child light skin tone", "1f9d2-1f3fc": "child medium-light skin tone", "1f9d2-1f3fd": "child medium skin tone", "1f9d2-1f3fe": "child medium-dark skin tone", "1f9d2-1f3ff": "child dark skin tone", "1f9d2": "child", "1f9d3-1f3fb": "older person light skin tone", "1f9d3-1f3fc": "older person medium-light skin tone", "1f9d3-1f3fd": "older person medium skin tone", "1f9d3-1f3fe": "older person medium-dark skin tone", "1f9d3-1f3ff": "older person dark skin tone", "1f9d3": "older person", "1f9d4-1f3fb-200d-2640-fe0f": "woman light skin tone, beard", "1f9d4-1f3fb-200d-2642-fe0f": "man light skin tone, beard", "1f9d4-1f3fb": "person light skin tone, beard", "1f9d4-1f3fc-200d-2640-fe0f": "woman medium-light skin tone, beard", "1f9d4-1f3fc-200d-2642-fe0f": "man medium-light skin tone, beard", "1f9d4-1f3fc": "person medium-light skin tone, beard", "1f9d4-1f3fd-200d-2640-fe0f": "woman medium skin tone, beard", "1f9d4-1f3fd-200d-2642-fe0f": "man medium skin tone, beard", "1f9d4-1f3fd": "person medium skin tone, beard", "1f9d4-1f3fe-200d-2640-fe0f": "woman medium-dark skin tone, beard", "1f9d4-1f3fe-200d-2642-fe0f": "man medium-dark skin tone, beard", "1f9d4-1f3fe": "person medium-dark skin tone, beard", "1f9d4-1f3ff-200d-2640-fe0f": "woman dark skin tone, beard", "1f9d4-1f3ff-200d-2642-fe0f": "man dark skin tone, beard", "1f9d4-1f3ff": "person dark skin tone, beard", "1f9d4-200d-2640-fe0f": "woman beard", "1f9d4-200d-2642-fe0f": "man beard", "1f9d4": "person beard", "1f9d5-1f3fb": "woman with headscarf light skin tone", "1f9d5-1f3fc": "woman with headscarf medium-light skin tone", "1f9d5-1f3fd": "woman with headscarf medium skin tone", "1f9d5-1f3fe": "woman with headscarf medium-dark skin tone", "1f9d5-1f3ff": "woman with headscarf dark skin tone", "1f9d5": "woman with headscarf", "1f9d6-1f3fb-200d-2640-fe0f": "woman in steamy room light skin tone", "1f9d6-1f3fb-200d-2642-fe0f": "man in steamy room light skin tone", "1f9d6-1f3fb": "person in steamy room light skin tone", "1f9d6-1f3fc-200d-2640-fe0f": "woman in steamy room medium-light skin tone", "1f9d6-1f3fc-200d-2642-fe0f": "man in steamy room medium-light skin tone", "1f9d6-1f3fc": "person in steamy room medium-light skin tone", "1f9d6-1f3fd-200d-2640-fe0f": "woman in steamy room medium skin tone", "1f9d6-1f3fd-200d-2642-fe0f": "man in steamy room medium skin tone", "1f9d6-1f3fd": "person in steamy room medium skin tone", "1f9d6-1f3fe-200d-2640-fe0f": "woman in steamy room medium-dark skin tone", "1f9d6-1f3fe-200d-2642-fe0f": "man in steamy room medium-dark skin tone", "1f9d6-1f3fe": "person in steamy room medium-dark skin tone", "1f9d6-1f3ff-200d-2640-fe0f": "woman in steamy room dark skin tone", "1f9d6-1f3ff-200d-2642-fe0f": "man in steamy room dark skin tone", "1f9d6-1f3ff": "person in steamy room dark skin tone", "1f9d6-200d-2640-fe0f": "woman in steamy room", "1f9d6-200d-2642-fe0f": "man in steamy room", "1f9d6": "person in steamy room", "1f9d7-1f3fb-200d-2640-fe0f": "woman climbing light skin tone", "1f9d7-1f3fb-200d-2642-fe0f": "man climbing light skin tone", "1f9d7-1f3fb": "person climbing light skin tone", "1f9d7-1f3fc-200d-2640-fe0f": "woman climbing medium-light skin tone", "1f9d7-1f3fc-200d-2642-fe0f": "man climbing medium-light skin tone", "1f9d7-1f3fc": "person climbing medium-light skin tone", "1f9d7-1f3fd-200d-2640-fe0f": "woman climbing medium skin tone", "1f9d7-1f3fd-200d-2642-fe0f": "man climbing medium skin tone", "1f9d7-1f3fd": "person climbing medium skin tone", "1f9d7-1f3fe-200d-2640-fe0f": "woman climbing medium-dark skin tone", "1f9d7-1f3fe-200d-2642-fe0f": "man climbing medium-dark skin tone", "1f9d7-1f3fe": "person climbing medium-dark skin tone", "1f9d7-1f3ff-200d-2640-fe0f": "woman climbing dark skin tone", "1f9d7-1f3ff-200d-2642-fe0f": "man climbing dark skin tone", "1f9d7-1f3ff": "person climbing dark skin tone", "1f9d7-200d-2640-fe0f": "woman climbing", "1f9d7-200d-2642-fe0f": "man climbing", "1f9d7": "person climbing", "1f9d8-1f3fb-200d-2640-fe0f": "woman in lotus position light skin tone", "1f9d8-1f3fb-200d-2642-fe0f": "man in lotus position light skin tone", "1f9d8-1f3fb": "person in lotus position light skin tone", "1f9d8-1f3fc-200d-2640-fe0f": "woman in lotus position medium-light skin tone", "1f9d8-1f3fc-200d-2642-fe0f": "man in lotus position medium-light skin tone", "1f9d8-1f3fc": "person in lotus position medium-light skin tone", "1f9d8-1f3fd-200d-2640-fe0f": "woman in lotus position medium skin tone", "1f9d8-1f3fd-200d-2642-fe0f": "man in lotus position medium skin tone", "1f9d8-1f3fd": "person in lotus position medium skin tone", "1f9d8-1f3fe-200d-2640-fe0f": "woman in lotus position medium-dark skin tone", "1f9d8-1f3fe-200d-2642-fe0f": "man in lotus position medium-dark skin tone", "1f9d8-1f3fe": "person in lotus position medium-dark skin tone", "1f9d8-1f3ff-200d-2640-fe0f": "woman in lotus position dark skin tone", "1f9d8-1f3ff-200d-2642-fe0f": "man in lotus position dark skin tone", "1f9d8-1f3ff": "person in lotus position dark skin tone", "1f9d8-200d-2640-fe0f": "woman in lotus position", "1f9d8-200d-2642-fe0f": "man in lotus position", "1f9d8": "person in lotus position", "1f9d9-1f3fb-200d-2640-fe0f": "woman mage light skin tone", "1f9d9-1f3fb-200d-2642-fe0f": "man mage light skin tone", "1f9d9-1f3fb": "mage light skin tone", "1f9d9-1f3fc-200d-2640-fe0f": "woman mage medium-light skin tone", "1f9d9-1f3fc-200d-2642-fe0f": "man mage medium-light skin tone", "1f9d9-1f3fc": "mage medium-light skin tone", "1f9d9-1f3fd-200d-2640-fe0f": "woman mage medium skin tone", "1f9d9-1f3fd-200d-2642-fe0f": "man mage medium skin tone", "1f9d9-1f3fd": "mage medium skin tone", "1f9d9-1f3fe-200d-2640-fe0f": "woman mage medium-dark skin tone", "1f9d9-1f3fe-200d-2642-fe0f": "man mage medium-dark skin tone", "1f9d9-1f3fe": "mage medium-dark skin tone", "1f9d9-1f3ff-200d-2640-fe0f": "woman mage dark skin tone", "1f9d9-1f3ff-200d-2642-fe0f": "man mage dark skin tone", "1f9d9-1f3ff": "mage dark skin tone", "1f9d9-200d-2640-fe0f": "woman mage", "1f9d9-200d-2642-fe0f": "man mage", "1f9d9": "mage", "1f9da-1f3fb-200d-2640-fe0f": "woman fairy light skin tone", "1f9da-1f3fb-200d-2642-fe0f": "man fairy light skin tone", "1f9da-1f3fb": "fairy light skin tone", "1f9da-1f3fc-200d-2640-fe0f": "woman fairy medium-light skin tone", "1f9da-1f3fc-200d-2642-fe0f": "man fairy medium-light skin tone", "1f9da-1f3fc": "fairy medium-light skin tone", "1f9da-1f3fd-200d-2640-fe0f": "woman fairy medium skin tone", "1f9da-1f3fd-200d-2642-fe0f": "man fairy medium skin tone", "1f9da-1f3fd": "fairy medium skin tone", "1f9da-1f3fe-200d-2640-fe0f": "woman fairy medium-dark skin tone", "1f9da-1f3fe-200d-2642-fe0f": "man fairy medium-dark skin tone", "1f9da-1f3fe": "fairy medium-dark skin tone", "1f9da-1f3ff-200d-2640-fe0f": "woman fairy dark skin tone", "1f9da-1f3ff-200d-2642-fe0f": "man fairy dark skin tone", "1f9da-1f3ff": "fairy dark skin tone", "1f9da-200d-2640-fe0f": "woman fairy", "1f9da-200d-2642-fe0f": "man fairy", "1f9da": "fairy", "1f9db-1f3fb-200d-2640-fe0f": "woman vampire light skin tone", "1f9db-1f3fb-200d-2642-fe0f": "man vampire light skin tone", "1f9db-1f3fb": "vampire light skin tone", "1f9db-1f3fc-200d-2640-fe0f": "woman vampire medium-light skin tone", "1f9db-1f3fc-200d-2642-fe0f": "man vampire medium-light skin tone", "1f9db-1f3fc": "vampire medium-light skin tone", "1f9db-1f3fd-200d-2640-fe0f": "woman vampire medium skin tone", "1f9db-1f3fd-200d-2642-fe0f": "man vampire medium skin tone", "1f9db-1f3fd": "vampire medium skin tone", "1f9db-1f3fe-200d-2640-fe0f": "woman vampire medium-dark skin tone", "1f9db-1f3fe-200d-2642-fe0f": "man vampire medium-dark skin tone", "1f9db-1f3fe": "vampire medium-dark skin tone", "1f9db-1f3ff-200d-2640-fe0f": "woman vampire dark skin tone", "1f9db-1f3ff-200d-2642-fe0f": "man vampire dark skin tone", "1f9db-1f3ff": "vampire dark skin tone", "1f9db-200d-2640-fe0f": "woman vampire", "1f9db-200d-2642-fe0f": "man vampire", "1f9db": "vampire", "1f9dc-1f3fb-200d-2640-fe0f": "mermaid light skin tone", "1f9dc-1f3fb-200d-2642-fe0f": "merman light skin tone", "1f9dc-1f3fb": "merperson light skin tone", "1f9dc-1f3fc-200d-2640-fe0f": "mermaid medium-light skin tone", "1f9dc-1f3fc-200d-2642-fe0f": "merman medium-light skin tone", "1f9dc-1f3fc": "merperson medium-light skin tone", "1f9dc-1f3fd-200d-2640-fe0f": "mermaid medium skin tone", "1f9dc-1f3fd-200d-2642-fe0f": "merman medium skin tone", "1f9dc-1f3fd": "merperson medium skin tone", "1f9dc-1f3fe-200d-2640-fe0f": "mermaid medium-dark skin tone", "1f9dc-1f3fe-200d-2642-fe0f": "merman medium-dark skin tone", "1f9dc-1f3fe": "merperson medium-dark skin tone", "1f9dc-1f3ff-200d-2640-fe0f": "mermaid dark skin tone", "1f9dc-1f3ff-200d-2642-fe0f": "merman dark skin tone", "1f9dc-1f3ff": "merperson dark skin tone", "1f9dc-200d-2640-fe0f": "mermaid", "1f9dc-200d-2642-fe0f": "merman", "1f9dc": "merperson", "1f9dd-1f3fb-200d-2640-fe0f": "woman elf light skin tone", "1f9dd-1f3fb-200d-2642-fe0f": "man elf light skin tone", "1f9dd-1f3fb": "elf light skin tone", "1f9dd-1f3fc-200d-2640-fe0f": "woman elf medium-light skin tone", "1f9dd-1f3fc-200d-2642-fe0f": "man elf medium-light skin tone", "1f9dd-1f3fc": "elf medium-light skin tone", "1f9dd-1f3fd-200d-2640-fe0f": "woman elf medium skin tone", "1f9dd-1f3fd-200d-2642-fe0f": "man elf medium skin tone", "1f9dd-1f3fd": "elf medium skin tone", "1f9dd-1f3fe-200d-2640-fe0f": "woman elf medium-dark skin tone", "1f9dd-1f3fe-200d-2642-fe0f": "man elf medium-dark skin tone", "1f9dd-1f3fe": "elf medium-dark skin tone", "1f9dd-1f3ff-200d-2640-fe0f": "woman elf dark skin tone", "1f9dd-1f3ff-200d-2642-fe0f": "man elf dark skin tone", "1f9dd-1f3ff": "elf dark skin tone", "1f9dd-200d-2640-fe0f": "woman elf", "1f9dd-200d-2642-fe0f": "man elf", "1f9dd": "elf", "1f9de-200d-2640-fe0f": "woman genie", "1f9de-200d-2642-fe0f": "man genie", "1f9de": "genie", "1f9df-200d-2640-fe0f": "woman zombie", "1f9df-200d-2642-fe0f": "man zombie", "1f9df": "zombie", "1f9e0": "brain", "1f9e1": "orange heart", "1f9e2": "billed cap", "1f9e3": "scarf", "1f9e4": "gloves", "1f9e5": "coat", "1f9e6": "socks", "1f9e7": "red envelope", "1f9e8": "firecracker", "1f9e9": "puzzle piece", "1f9ea": "test tube", "1f9eb": "petri dish", "1f9ec": "dna", "1f9ed": "compass", "1f9ee": "abacus", "1f9ef": "fire extinguisher", "1f9f0": "toolbox", "1f9f1": "brick", "1f9f2": "magnet", "1f9f3": "luggage", "1f9f4": "lotion bottle", "1f9f5": "thread", "1f9f6": "yarn", "1f9f7": "safety pin", "1f9f8": "teddy bear", "1f9f9": "broom", "1f9fa": "basket", "1f9fb": "roll of paper", "1f9fc": "soap", "1f9fd": "sponge", "1f9fe": "receipt", "1f9ff": "nazar amulet", "1fa70": "ballet shoes", "1fa71": "one-piece swimsuit", "1fa72": "briefs", "1fa73": "shorts", "1fa74": "thong sandal", "1fa75": "light blue heart", "1fa76": "grey heart", "1fa77": "pink heart", "1fa78": "drop of blood", "1fa79": "adhesive bandage", "1fa7a": "stethoscope", "1fa7b": "x-ray", "1fa7c": "crutch", "1fa80": "yo-yo", "1fa81": "kite", "1fa82": "parachute", "1fa83": "boomerang", "1fa84": "magic wand", "1fa85": "piñata", "1fa86": "nesting dolls", "1fa87": "maracas", "1fa88": "flute", "1fa89": "harp", "1fa8a": "trombone", "1fa8e": "treasure chest", "1fa8f": "shovel", "1fa90": "ringed planet", "1fa91": "chair", "1fa92": "razor", "1fa93": "axe", "1fa94": "diya lamp", "1fa95": "banjo", "1fa96": "military helmet", "1fa97": "accordion", "1fa98": "long drum", "1fa99": "coin", "1fa9a": "carpentry saw", "1fa9b": "screwdriver", "1fa9c": "ladder", "1fa9d": "hook", "1fa9e": "mirror", "1fa9f": "window", "1faa0": "plunger", "1faa1": "sewing needle", "1faa2": "knot", "1faa3": "bucket", "1faa4": "mouse trap", "1faa5": "toothbrush", "1faa6": "headstone", "1faa7": "placard", "1faa8": "rock", "1faa9": "mirror ball", "1faaa": "identification card", "1faab": "low battery", "1faac": "hamsa", "1faad": "folding hand fan", "1faae": "hair pick", "1faaf": "khanda", "1fab0": "fly", "1fab1": "worm", "1fab2": "beetle", "1fab3": "cockroach", "1fab4": "potted plant", "1fab5": "wood", "1fab6": "feather", "1fab7": "lotus", "1fab8": "coral", "1fab9": "empty nest", "1faba": "nest with eggs", "1fabb": "hyacinth", "1fabc": "jellyfish", "1fabd": "wing", "1fabe": "leafless tree", "1fabf": "goose", "1fac0": "anatomical heart", "1fac1": "lungs", "1fac2": "people hugging", "1fac3-1f3fb": "pregnant man light skin tone", "1fac3-1f3fc": "pregnant man medium-light skin tone", "1fac3-1f3fd": "pregnant man medium skin tone", "1fac3-1f3fe": "pregnant man medium-dark skin tone", "1fac3-1f3ff": "pregnant man dark skin tone", "1fac3": "pregnant man", "1fac4-1f3fb": "pregnant person light skin tone", "1fac4-1f3fc": "pregnant person medium-light skin tone", "1fac4-1f3fd": "pregnant person medium skin tone", "1fac4-1f3fe": "pregnant person medium-dark skin tone", "1fac4-1f3ff": "pregnant person dark skin tone", "1fac4": "pregnant person", "1fac5-1f3fb": "person with crown light skin tone", "1fac5-1f3fc": "person with crown medium-light skin tone", "1fac5-1f3fd": "person with crown medium skin tone", "1fac5-1f3fe": "person with crown medium-dark skin tone", "1fac5-1f3ff": "person with crown dark skin tone", "1fac5": "person with crown", "1fac6": "fingerprint", "1fac8": "hairy creature", "1facd": "orca", "1face": "moose", "1facf": "donkey", "1fad0": "blueberries", "1fad1": "bell pepper", "1fad2": "olive", "1fad3": "flatbread", "1fad4": "tamale", "1fad5": "fondue", "1fad6": "teapot", "1fad7": "pouring liquid", "1fad8": "beans", "1fad9": "jar", "1fada": "ginger root", "1fadb": "pea pod", "1fadc": "root vegetable", "1fadf": "splatter", "1fae0": "melting face", "1fae1": "saluting face", "1fae2": "face with open eyes and hand over mouth", "1fae3": "face with peeking eye", "1fae4": "face with diagonal mouth", "1fae5": "dotted line face", "1fae6": "biting lip", "1fae7": "bubbles", "1fae8": "shaking face", "1fae9": "face with bags under eyes", "1faea": "distorted face", "1faef": "fight cloud", "1faf0-1f3fb": "hand with index finger and thumb crossed light skin tone", "1faf0-1f3fc": "hand with index finger and thumb crossed medium-light skin tone", "1faf0-1f3fd": "hand with index finger and thumb crossed medium skin tone", "1faf0-1f3fe": "hand with index finger and thumb crossed medium-dark skin tone", "1faf0-1f3ff": "hand with index finger and thumb crossed dark skin tone", "1faf0": "hand with index finger and thumb crossed", "1faf1-1f3fb-200d-1faf2-1f3fc": "handshake light skin tone, medium-light skin tone", "1faf1-1f3fb-200d-1faf2-1f3fd": "handshake light skin tone, medium skin tone", "1faf1-1f3fb-200d-1faf2-1f3fe": "handshake light skin tone, medium-dark skin tone", "1faf1-1f3fb-200d-1faf2-1f3ff": "handshake light skin tone, dark skin tone", "1faf1-1f3fb": "rightwards hand light skin tone", "1faf1-1f3fc-200d-1faf2-1f3fb": "handshake medium-light skin tone, light skin tone", "1faf1-1f3fc-200d-1faf2-1f3fd": "handshake medium-light skin tone, medium skin tone", "1faf1-1f3fc-200d-1faf2-1f3fe": "handshake medium-light skin tone, medium-dark skin tone", "1faf1-1f3fc-200d-1faf2-1f3ff": "handshake medium-light skin tone, dark skin tone", "1faf1-1f3fc": "rightwards hand medium-light skin tone", "1faf1-1f3fd-200d-1faf2-1f3fb": "handshake medium skin tone, light skin tone", "1faf1-1f3fd-200d-1faf2-1f3fc": "handshake medium skin tone, medium-light skin tone", "1faf1-1f3fd-200d-1faf2-1f3fe": "handshake medium skin tone, medium-dark skin tone", "1faf1-1f3fd-200d-1faf2-1f3ff": "handshake medium skin tone, dark skin tone", "1faf1-1f3fd": "rightwards hand medium skin tone", "1faf1-1f3fe-200d-1faf2-1f3fb": "handshake medium-dark skin tone, light skin tone", "1faf1-1f3fe-200d-1faf2-1f3fc": "handshake medium-dark skin tone, medium-light skin tone", "1faf1-1f3fe-200d-1faf2-1f3fd": "handshake medium-dark skin tone, medium skin tone", "1faf1-1f3fe-200d-1faf2-1f3ff": "handshake medium-dark skin tone, dark skin tone", "1faf1-1f3fe": "rightwards hand medium-dark skin tone", "1faf1-1f3ff-200d-1faf2-1f3fb": "handshake dark skin tone, light skin tone", "1faf1-1f3ff-200d-1faf2-1f3fc": "handshake dark skin tone, medium-light skin tone", "1faf1-1f3ff-200d-1faf2-1f3fd": "handshake dark skin tone, medium skin tone", "1faf1-1f3ff-200d-1faf2-1f3fe": "handshake dark skin tone, medium-dark skin tone", "1faf1-1f3ff": "rightwards hand dark skin tone", "1faf1": "rightwards hand", "1faf2-1f3fb": "leftwards hand light skin tone", "1faf2-1f3fc": "leftwards hand medium-light skin tone", "1faf2-1f3fd": "leftwards hand medium skin tone", "1faf2-1f3fe": "leftwards hand medium-dark skin tone", "1faf2-1f3ff": "leftwards hand dark skin tone", "1faf2": "leftwards hand", "1faf3-1f3fb": "palm down hand light skin tone", "1faf3-1f3fc": "palm down hand medium-light skin tone", "1faf3-1f3fd": "palm down hand medium skin tone", "1faf3-1f3fe": "palm down hand medium-dark skin tone", "1faf3-1f3ff": "palm down hand dark skin tone", "1faf3": "palm down hand", "1faf4-1f3fb": "palm up hand light skin tone", "1faf4-1f3fc": "palm up hand medium-light skin tone", "1faf4-1f3fd": "palm up hand medium skin tone", "1faf4-1f3fe": "palm up hand medium-dark skin tone", "1faf4-1f3ff": "palm up hand dark skin tone", "1faf4": "palm up hand", "1faf5-1f3fb": "index pointing at the viewer light skin tone", "1faf5-1f3fc": "index pointing at the viewer medium-light skin tone", "1faf5-1f3fd": "index pointing at the viewer medium skin tone", "1faf5-1f3fe": "index pointing at the viewer medium-dark skin tone", "1faf5-1f3ff": "index pointing at the viewer dark skin tone", "1faf5": "index pointing at the viewer", "1faf6-1f3fb": "heart hands light skin tone", "1faf6-1f3fc": "heart hands medium-light skin tone", "1faf6-1f3fd": "heart hands medium skin tone", "1faf6-1f3fe": "heart hands medium-dark skin tone", "1faf6-1f3ff": "heart hands dark skin tone", "1faf6": "heart hands", "1faf7-1f3fb": "leftwards pushing hand light skin tone", "1faf7-1f3fc": "leftwards pushing hand medium-light skin tone", "1faf7-1f3fd": "leftwards pushing hand medium skin tone", "1faf7-1f3fe": "leftwards pushing hand medium-dark skin tone", "1faf7-1f3ff": "leftwards pushing hand dark skin tone", "1faf7": "leftwards pushing hand", "1faf8-1f3fb": "rightwards pushing hand light skin tone", "1faf8-1f3fc": "rightwards pushing hand medium-light skin tone", "1faf8-1f3fd": "rightwards pushing hand medium skin tone", "1faf8-1f3fe": "rightwards pushing hand medium-dark skin tone", "1faf8-1f3ff": "rightwards pushing hand dark skin tone", "1faf8": "rightwards pushing hand", "203c": "double exclamation mark", "2049": "exclamation question mark", "2122": "trade mark", "2139": "information", "2194": "left-right arrow", "2195": "up-down arrow", "2196": "up-left arrow", "2197": "up-right arrow", "2198": "down-right arrow", "2199": "down-left arrow", "21a9": "right arrow curving left", "21aa": "left arrow curving right", "231a": "watch", "231b": "hourglass done", "2328": "keyboard", "23cf": "eject button", "23e9": "fast-forward button", "23ea": "fast reverse button", "23eb": "fast up button", "23ec": "fast down button", "23ed": "next track button", "23ee": "last track button", "23ef": "play or pause button", "23f0": "alarm clock", "23f1": "stopwatch", "23f2": "timer clock", "23f3": "hourglass not done", "23f8": "pause button", "23f9": "stop button", "23fa": "record button", "24c2": "circled m", "25aa": "black small square", "25ab": "white small square", "25b6": "play button", "25c0": "reverse button", "25fb": "white medium square", "25fc": "black medium square", "25fd": "white medium-small square", "25fe": "black medium-small square", "2600": "sun", "2601": "cloud", "2602": "umbrella", "2603": "snowman", "2604": "comet", "260e": "telephone", "2611": "check box with check", "2614": "umbrella with rain drops", "2615": "hot beverage", "2618": "shamrock", "261d-1f3fb": "index pointing up light skin tone", "261d-1f3fc": "index pointing up medium-light skin tone", "261d-1f3fd": "index pointing up medium skin tone", "261d-1f3fe": "index pointing up medium-dark skin tone", "261d-1f3ff": "index pointing up dark skin tone", "261d": "index pointing up", "2620": "skull and crossbones", "2622": "radioactive", "2623": "biohazard", "2626": "orthodox cross", "262a": "star and crescent", "262e": "peace symbol", "262f": "yin yang", "2638": "wheel of dharma", "2639": "frowning face", "263a": "smiling face", "2640": "female sign", "2642": "male sign", "2648": "aries", "2649": "taurus", "264a": "gemini", "264b": "cancer", "264c": "leo", "264d": "virgo", "264e": "libra", "264f": "scorpio", "2650": "sagittarius", "2651": "capricorn", "2652": "aquarius", "2653": "pisces", "265f": "chess pawn", "2660": "spade suit", "2663": "club suit", "2665": "heart suit", "2666": "diamond suit", "2668": "hot springs", "267b": "recycling symbol", "267e": "infinity", "267f": "wheelchair symbol", "2692": "hammer and pick", "2693": "anchor", "2694": "crossed swords", "2695": "medical symbol", "2696": "balance scale", "2697": "alembic", "2699": "gear", "269b": "atom symbol", "269c": "fleur-de-lis", "26a0": "warning", "26a1": "high voltage", "26a7": "transgender symbol", "26aa": "white circle", "26ab": "black circle", "26b0": "coffin", "26b1": "funeral urn", "26bd": "soccer ball", "26be": "baseball", "26c4": "snowman without snow", "26c5": "sun behind cloud", "26c8": "cloud with lightning and rain", "26ce": "ophiuchus", "26cf": "pick", "26d1": "rescue worker’s helmet", "26d3-fe0f-200d-1f4a5": "broken chain", "26d3": "chains", "26d4": "no entry", "26e9": "shinto shrine", "26ea": "church", "26f0": "mountain", "26f1": "umbrella on ground", "26f2": "fountain", "26f3": "flag in hole", "26f4": "ferry", "26f5": "sailboat", "26f7": "skier", "26f8": "ice skate", "26f9-1f3fb-200d-2640-fe0f": "woman bouncing ball light skin tone", "26f9-1f3fb-200d-2642-fe0f": "man bouncing ball light skin tone", "26f9-1f3fb": "person bouncing ball light skin tone", "26f9-1f3fc-200d-2640-fe0f": "woman bouncing ball medium-light skin tone", "26f9-1f3fc-200d-2642-fe0f": "man bouncing ball medium-light skin tone", "26f9-1f3fc": "person bouncing ball medium-light skin tone", "26f9-1f3fd-200d-2640-fe0f": "woman bouncing ball medium skin tone", "26f9-1f3fd-200d-2642-fe0f": "man bouncing ball medium skin tone", "26f9-1f3fd": "person bouncing ball medium skin tone", "26f9-1f3fe-200d-2640-fe0f": "woman bouncing ball medium-dark skin tone", "26f9-1f3fe-200d-2642-fe0f": "man bouncing ball medium-dark skin tone", "26f9-1f3fe": "person bouncing ball medium-dark skin tone", "26f9-1f3ff-200d-2640-fe0f": "woman bouncing ball dark skin tone", "26f9-1f3ff-200d-2642-fe0f": "man bouncing ball dark skin tone", "26f9-1f3ff": "person bouncing ball dark skin tone", "26f9-fe0f-200d-2640-fe0f": "woman bouncing ball", "26f9-fe0f-200d-2642-fe0f": "man bouncing ball", "26f9": "person bouncing ball", "26fa": "tent", "26fd": "fuel pump", "2702": "scissors", "2705": "check mark button", "2708": "airplane", "2709": "envelope", "270a-1f3fb": "raised fist light skin tone", "270a-1f3fc": "raised fist medium-light skin tone", "270a-1f3fd": "raised fist medium skin tone", "270a-1f3fe": "raised fist medium-dark skin tone", "270a-1f3ff": "raised fist dark skin tone", "270a": "raised fist", "270b-1f3fb": "raised hand light skin tone", "270b-1f3fc": "raised hand medium-light skin tone", "270b-1f3fd": "raised hand medium skin tone", "270b-1f3fe": "raised hand medium-dark skin tone", "270b-1f3ff": "raised hand dark skin tone", "270b": "raised hand", "270c-1f3fb": "victory hand light skin tone", "270c-1f3fc": "victory hand medium-light skin tone", "270c-1f3fd": "victory hand medium skin tone", "270c-1f3fe": "victory hand medium-dark skin tone", "270c-1f3ff": "victory hand dark skin tone", "270c": "victory hand", "270d-1f3fb": "writing hand light skin tone", "270d-1f3fc": "writing hand medium-light skin tone", "270d-1f3fd": "writing hand medium skin tone", "270d-1f3fe": "writing hand medium-dark skin tone", "270d-1f3ff": "writing hand dark skin tone", "270d": "writing hand", "270f": "pencil", "2712": "black nib", "2714": "check mark", "2716": "multiply", "271d": "latin cross", "2721": "star of david", "2728": "sparkles", "2733": "eight-spoked asterisk", "2734": "eight-pointed star", "2744": "snowflake", "2747": "sparkle", "274c": "cross mark", "274e": "cross mark button", "2753": "red question mark", "2754": "white question mark", "2755": "white exclamation mark", "2757": "red exclamation mark", "2763": "heart exclamation", "2764-fe0f-200d-1f525": "heart on fire", "2764-fe0f-200d-1fa79": "mending heart", "2764": "red heart", "2795": "plus", "2796": "minus", "2797": "divide", "27a1": "right arrow", "27b0": "curly loop", "27bf": "double curly loop", "2934": "right arrow curving up", "2935": "right arrow curving down", "2b05": "left arrow", "2b06": "up arrow", "2b07": "down arrow", "2b1b": "black large square", "2b1c": "white large square", "2b50": "star", "2b55": "hollow red circle", "3030": "wavy dash", "303d": "part alternation mark", "3297": "japanese “congratulations” button", "3299": "japanese “secret” button"} \ No newline at end of file diff --git a/frontend/languages.json b/frontend/languages.json new file mode 100644 index 0000000..65f1eb2 --- /dev/null +++ b/frontend/languages.json @@ -0,0 +1,64 @@ +{ +"ach": "Acholi", +"ady": "ady", +"af": "Afrikaans", +"am": "Amharic", +"ar": "عربي", +"be": "Беларускі", +"bg": "български", +"bn": "Bengali; Bangla", +"br": "brezhoneg", +"ca": "Català", +"cs": "čeština", +"da": "Dansk", +"de": "Deutsch", +"el": "ελληνικά", +"en": "English", +"en_ca": "English", +"en_sg": "English", +"eo": "Esperanto", +"es": "Español", +"eu": "Euskara", +"fa": "فارسى", +"fi": "Suomi", +"fr": "Français", +"ga": "Irish", +"gl": "Galego", +"he": "עברית", +"hr": "Hrvatski", +"hu": "Magyar", +"id": "Indonesia", +"io": "Ido", +"is": "íslenska", +"it": "Italiano", +"ja": "日本語", +"jbo": "Lojban", +"kk": "कोंकणी", +"ko": "한국어", +"lb": "Lëtzebuergesch", +"lt": "Lietuvių", +"lv": "Latviešu", +"my": "Burmese", +"nb": "Norsk bokmål", +"ne": "Nepali", +"nl": "Nederlands", +"oc": "Òc", +"pl": "Polski", +"pt": "Português", +"pt_br": "Português do Brasil", +"ro": "Română", +"ru": "русский", +"sk": "Slovenčina", +"sl": "Slovenščina", +"sq": "Shqip", +"sv": "Svenska", +"sw": "Kiswahili", +"tr": "Türkçe", +"ug": "Uighur", +"uk": "українська", +"ur": "ٱردو", +"ur_pk": "ٱردو", +"vi": "Tiếng Việt", +"zh": "中文", +"zh_tw": "台灣中文" +} \ No newline at end of file diff --git a/frontend/locales/ach.po b/frontend/locales/ach.po new file mode 100644 index 0000000..93b675f --- /dev/null +++ b/frontend/locales/ach.po @@ -0,0 +1,4154 @@ +# +# Translators: +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Acoli (http://app.transifex.com/movim/movim/language/ach/)\n" +"Language: ach\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "" + +#: [about]developers +msgid "Developers" +msgstr "" + +#: [about]translators +msgid "Translators" +msgstr "" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "" + +#: [about]software +msgid "Software" +msgstr "" + +#: [about]resources +msgid "Resources" +msgstr "" + +#: [about]api +msgid "API" +msgstr "" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "" + +#: [account]delete +msgid "Delete your account" +msgstr "" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "" + +#: [general]theme +msgid "Theme" +msgstr "" + +#: [general]language +msgid "Default language" +msgstr "" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "" + +#: [credentials]re_password +msgid "Retype password" +msgstr "" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "" + +#: [general]gender +msgid "Gender" +msgstr "" + +#: [general]marital +msgid "Marital Status" +msgstr "" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "" + +#: [general]about +msgid "About Me" +msgstr "" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "" + +#: [day]tuesday +msgid "Tuesday" +msgstr "" + +#: [day]wednesday +msgid "Wednesday" +msgstr "" + +#: [day]thursday +msgid "Thursday" +msgstr "" + +#: [day]friday +msgid "Friday" +msgstr "" + +#: [day]saturday +msgid "Saturday" +msgstr "" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "" + +#: [presence]away +msgid "Away" +msgstr "" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "" + +#: [month]february +msgid "February" +msgstr "" + +#: [month]march +msgid "March" +msgstr "" + +#: [month]april +msgid "April" +msgstr "" + +#: [month]may +msgid "May" +msgstr "" + +#: [month]june +msgid "June" +msgstr "" + +#: [month]july +msgid "July" +msgstr "" + +#: [month]august +msgid "August" +msgstr "" + +#: [month]september +msgid "September" +msgstr "" + +#: [month]october +msgid "October" +msgstr "" + +#: [month]november +msgid "November" +msgstr "" + +#: [month]december +msgid "December" +msgstr "" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "" + +#: [date]yesterday +msgid "Yesterday" +msgstr "" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/ady.po b/frontend/locales/ady.po new file mode 100644 index 0000000..f760b58 --- /dev/null +++ b/frontend/locales/ady.po @@ -0,0 +1,4154 @@ +# +# Translators: +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Adyghe (http://app.transifex.com/movim/movim/language/ady/)\n" +"Language: ady\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "" + +#: [about]developers +msgid "Developers" +msgstr "" + +#: [about]translators +msgid "Translators" +msgstr "" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "" + +#: [about]software +msgid "Software" +msgstr "" + +#: [about]resources +msgid "Resources" +msgstr "" + +#: [about]api +msgid "API" +msgstr "" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "" + +#: [account]delete +msgid "Delete your account" +msgstr "" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "" + +#: [general]theme +msgid "Theme" +msgstr "" + +#: [general]language +msgid "Default language" +msgstr "" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "" + +#: [credentials]re_password +msgid "Retype password" +msgstr "" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "" + +#: [general]gender +msgid "Gender" +msgstr "" + +#: [general]marital +msgid "Marital Status" +msgstr "" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "" + +#: [general]about +msgid "About Me" +msgstr "" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "" + +#: [day]tuesday +msgid "Tuesday" +msgstr "" + +#: [day]wednesday +msgid "Wednesday" +msgstr "" + +#: [day]thursday +msgid "Thursday" +msgstr "" + +#: [day]friday +msgid "Friday" +msgstr "" + +#: [day]saturday +msgid "Saturday" +msgstr "" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "" + +#: [presence]away +msgid "Away" +msgstr "" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "" + +#: [month]february +msgid "February" +msgstr "" + +#: [month]march +msgid "March" +msgstr "" + +#: [month]april +msgid "April" +msgstr "" + +#: [month]may +msgid "May" +msgstr "" + +#: [month]june +msgid "June" +msgstr "" + +#: [month]july +msgid "July" +msgstr "" + +#: [month]august +msgid "August" +msgstr "" + +#: [month]september +msgid "September" +msgstr "" + +#: [month]october +msgid "October" +msgstr "" + +#: [month]november +msgid "November" +msgstr "" + +#: [month]december +msgid "December" +msgstr "" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "" + +#: [date]yesterday +msgid "Yesterday" +msgstr "" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/af.po b/frontend/locales/af.po new file mode 100644 index 0000000..a3a0d5f --- /dev/null +++ b/frontend/locales/af.po @@ -0,0 +1,4154 @@ +# +# Translators: +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Afrikaans (http://app.transifex.com/movim/movim/language/af/)\n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "" + +#: [about]developers +msgid "Developers" +msgstr "" + +#: [about]translators +msgid "Translators" +msgstr "" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "" + +#: [about]software +msgid "Software" +msgstr "" + +#: [about]resources +msgid "Resources" +msgstr "" + +#: [about]api +msgid "API" +msgstr "" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "" + +#: [account]delete +msgid "Delete your account" +msgstr "" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "" + +#: [general]theme +msgid "Theme" +msgstr "" + +#: [general]language +msgid "Default language" +msgstr "" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "" + +#: [credentials]re_password +msgid "Retype password" +msgstr "" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "" + +#: [general]gender +msgid "Gender" +msgstr "" + +#: [general]marital +msgid "Marital Status" +msgstr "" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "" + +#: [general]about +msgid "About Me" +msgstr "" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "" + +#: [day]tuesday +msgid "Tuesday" +msgstr "" + +#: [day]wednesday +msgid "Wednesday" +msgstr "" + +#: [day]thursday +msgid "Thursday" +msgstr "" + +#: [day]friday +msgid "Friday" +msgstr "" + +#: [day]saturday +msgid "Saturday" +msgstr "" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "" + +#: [presence]away +msgid "Away" +msgstr "" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "" + +#: [month]february +msgid "February" +msgstr "" + +#: [month]march +msgid "March" +msgstr "" + +#: [month]april +msgid "April" +msgstr "" + +#: [month]may +msgid "May" +msgstr "" + +#: [month]june +msgid "June" +msgstr "" + +#: [month]july +msgid "July" +msgstr "" + +#: [month]august +msgid "August" +msgstr "" + +#: [month]september +msgid "September" +msgstr "" + +#: [month]october +msgid "October" +msgstr "" + +#: [month]november +msgid "November" +msgstr "" + +#: [month]december +msgid "December" +msgstr "" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "" + +#: [date]yesterday +msgid "Yesterday" +msgstr "" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/am.po b/frontend/locales/am.po new file mode 100644 index 0000000..a3fdc88 --- /dev/null +++ b/frontend/locales/am.po @@ -0,0 +1,4154 @@ +# +# Translators: +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Amharic (Ethiopia) (http://app.transifex.com/movim/movim/language/am_ET/)\n" +"Language: am_ET\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "" + +#: [about]developers +msgid "Developers" +msgstr "" + +#: [about]translators +msgid "Translators" +msgstr "" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "" + +#: [about]software +msgid "Software" +msgstr "" + +#: [about]resources +msgid "Resources" +msgstr "" + +#: [about]api +msgid "API" +msgstr "" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "" + +#: [account]delete +msgid "Delete your account" +msgstr "" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "" + +#: [general]theme +msgid "Theme" +msgstr "" + +#: [general]language +msgid "Default language" +msgstr "" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "" + +#: [credentials]re_password +msgid "Retype password" +msgstr "" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "" + +#: [general]gender +msgid "Gender" +msgstr "" + +#: [general]marital +msgid "Marital Status" +msgstr "" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "" + +#: [general]about +msgid "About Me" +msgstr "" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "" + +#: [day]tuesday +msgid "Tuesday" +msgstr "" + +#: [day]wednesday +msgid "Wednesday" +msgstr "" + +#: [day]thursday +msgid "Thursday" +msgstr "" + +#: [day]friday +msgid "Friday" +msgstr "" + +#: [day]saturday +msgid "Saturday" +msgstr "" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "" + +#: [presence]away +msgid "Away" +msgstr "" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "" + +#: [month]february +msgid "February" +msgstr "" + +#: [month]march +msgid "March" +msgstr "" + +#: [month]april +msgid "April" +msgstr "" + +#: [month]may +msgid "May" +msgstr "" + +#: [month]june +msgid "June" +msgstr "" + +#: [month]july +msgid "July" +msgstr "" + +#: [month]august +msgid "August" +msgstr "" + +#: [month]september +msgid "September" +msgstr "" + +#: [month]october +msgid "October" +msgstr "" + +#: [month]november +msgid "November" +msgstr "" + +#: [month]december +msgid "December" +msgstr "" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "" + +#: [date]yesterday +msgid "Yesterday" +msgstr "" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/ar.po b/frontend/locales/ar.po new file mode 100644 index 0000000..b80767a --- /dev/null +++ b/frontend/locales/ar.po @@ -0,0 +1,4156 @@ +# +# Translators: +# Djeber Boudiba , 2016 +# Med Touhami MAHDI , 2017 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Med Touhami MAHDI , 2017\n" +"Language-Team: Arabic (http://app.transifex.com/movim/movim/language/ar/)\n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "شكرًا" + +#: [about]developers +msgid "Developers" +msgstr "المطوّرون" + +#: [about]translators +msgid "Translators" +msgstr "المترجمون" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "شكر لكل المترجمين" + +#: [about]software +msgid "Software" +msgstr "البرنامج" + +#: [about]resources +msgid "Resources" +msgstr "الموارد" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "موفيم عبارة عن مصفحة تواصل مرتكزة على XMPP. المشروع بأكمله بإستناء البرامج والموارد التالية هي تحت" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "حساب" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "تغيير كلمة السر" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "كلمة السّر" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "تأكيد كلمة السر" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "تم تحديث كلمة المرور" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "كلمتي السر مختلفتين" + +#: [account]delete +msgid "Delete your account" +msgstr "احذف حسابك" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "إجراءات" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "الإعدادات العامة" + +#: [general]theme +msgid "Theme" +msgstr "المظهر" + +#: [general]language +msgid "Default language" +msgstr "اللغة الإفتراضيّة" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "اسم المستخدم" + +#: [credentials]re_password +msgid "Retype password" +msgstr "أعِد كتابة كلمة السر" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "إترك هذا الحقل فارغا للسماح النفود لجميع حسابات XMPP." + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "الوصف" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "رسالة معلومات" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "الكل" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "ضبط" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "اللغة" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "الاسم" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "الكنية" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "تاريخ الميلاد" + +#: [general]gender +msgid "Gender" +msgstr "النوع" + +#: [general]marital +msgid "Marital Status" +msgstr "الحالة الاجتماعية" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "موقع الوِب" + +#: [general]about +msgid "About Me" +msgstr "عنّي" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "الكنية" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "اسم مستخدم غير صحيح" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "عطل داخلي في الخادوم" + +#: [error]session +msgid "Session error" +msgstr "عطل في الجلسة" + +#: [error]account_created +msgid "Account successfully created" +msgstr "تمَ بنجاح إنشاء الحساب" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "خطأ غير معروف" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "تعذّر استيثاق Movim. أدخلت بيانات غير صحيحة" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "تعذّر استيثاق XMPP" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "عنوان بريدي" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "حذف هذه التدوينة" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "مساعدة" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "أنشئ حسابًا جديدًا" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "لم يم العثور على أي إستمارة لﻹنشاء حساب على الخادم." + +#: [create]server_on +msgid "on" +msgstr "في" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "جارٍ التحميل" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "الملف الشخصي" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "أودِع" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "تصفير" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "إنشاء الحساب" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "المدونة" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "استكشاف" + +#: [page]feed +msgid "Feed" +msgstr "تلقيمة" + +#: [page]home +msgid "Home" +msgstr "البداية" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "اﻷخبار" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "خطأ: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "لا يمكن تحميل الملف '%s'" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "اقبل" + +#: [button]add +msgid "Add" +msgstr "أضِف" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "لا" + +#: [button]bool_yes +msgid "Yes" +msgstr "نعم" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "ألغِ" + +#: [button]chat +msgid "Chat" +msgstr "المحادثة" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "يجري الإيداع" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "يوم" + +#: [day]monday +msgid "Monday" +msgstr "الاثنين" + +#: [day]tuesday +msgid "Tuesday" +msgstr "الثّلاثاء" + +#: [day]wednesday +msgid "Wednesday" +msgstr "الأربعاء" + +#: [day]thursday +msgid "Thursday" +msgstr "الخميس" + +#: [day]friday +msgid "Friday" +msgstr "الجمعة" + +#: [day]saturday +msgid "Saturday" +msgstr "السّبت" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "روبوت" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "سطح المكتب" + +#: [client]phone +msgid "Phone" +msgstr "هاتف" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "حاضر" + +#: [presence]away +msgid "Away" +msgstr "غائب" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "لا تزعجوني" + +#: [presence]xa +msgid "Extended Away" +msgstr "غائب طويلا" + +#: [presence]offline +msgid "Offline" +msgstr "غير متصل" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "غاضب" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "بارد" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "مبدع" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "شهر" + +#: [month]january +msgid "January" +msgstr "يناير" + +#: [month]february +msgid "February" +msgstr "فبراير" + +#: [month]march +msgid "March" +msgstr "مارس" + +#: [month]april +msgid "April" +msgstr "أبريل" + +#: [month]may +msgid "May" +msgstr "مايو" + +#: [month]june +msgid "June" +msgstr "يونيو" + +#: [month]july +msgid "July" +msgstr "يوليو" + +#: [month]august +msgid "August" +msgstr "أغسطس" + +#: [month]september +msgid "September" +msgstr "سبتمبر" + +#: [month]october +msgid "October" +msgstr "أكتوبر" + +#: [month]november +msgid "November" +msgstr "نوفمبر" + +#: [month]december +msgid "December" +msgstr "ديسمبر" + +#: [year]title +msgid "Year" +msgstr "سنة" + +#: [date]today +msgid "Today" +msgstr "اليوم" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "غدًا" + +#: [date]yesterday +msgid "Yesterday" +msgstr "أمس" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "يوم" + +#: [post]title +msgid "Title" +msgstr "العنوان" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "اجلب المداخلات الأسبق" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "الحصول على تعليقات" + +#: [post]comment_add +msgid "Add a comment" +msgstr "أضف تعليق" + +#: [post]share +msgid "Share with" +msgstr "المشاركة مع" + +#: [post]share_everyone +msgid "Everyone" +msgstr "الجميع" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/be.po b/frontend/locales/be.po new file mode 100644 index 0000000..bbe34e7 --- /dev/null +++ b/frontend/locales/be.po @@ -0,0 +1,4154 @@ +# +# Translators: +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Belarusian (http://app.transifex.com/movim/movim/language/be/)\n" +"Language: be\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "" + +#: [about]developers +msgid "Developers" +msgstr "" + +#: [about]translators +msgid "Translators" +msgstr "" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "" + +#: [about]software +msgid "Software" +msgstr "" + +#: [about]resources +msgid "Resources" +msgstr "" + +#: [about]api +msgid "API" +msgstr "" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Пароль" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "" + +#: [account]delete +msgid "Delete your account" +msgstr "" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "" + +#: [general]theme +msgid "Theme" +msgstr "" + +#: [general]language +msgid "Default language" +msgstr "" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "" + +#: [credentials]re_password +msgid "Retype password" +msgstr "" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Канфігурацыя" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "Мова" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "" + +#: [general]gender +msgid "Gender" +msgstr "" + +#: [general]marital +msgid "Marital Status" +msgstr "" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "" + +#: [general]about +msgid "About Me" +msgstr "" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "Мой адрас" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Даслаць" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Скід" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Стварэнне логiна" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "Галоўная" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "Чат" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "" + +#: [day]tuesday +msgid "Tuesday" +msgstr "" + +#: [day]wednesday +msgid "Wednesday" +msgstr "" + +#: [day]thursday +msgid "Thursday" +msgstr "" + +#: [day]friday +msgid "Friday" +msgstr "" + +#: [day]saturday +msgid "Saturday" +msgstr "" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "" + +#: [presence]away +msgid "Away" +msgstr "Далёка" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "" + +#: [month]february +msgid "February" +msgstr "" + +#: [month]march +msgid "March" +msgstr "" + +#: [month]april +msgid "April" +msgstr "" + +#: [month]may +msgid "May" +msgstr "" + +#: [month]june +msgid "June" +msgstr "" + +#: [month]july +msgid "July" +msgstr "" + +#: [month]august +msgid "August" +msgstr "" + +#: [month]september +msgid "September" +msgstr "" + +#: [month]october +msgid "October" +msgstr "" + +#: [month]november +msgid "November" +msgstr "" + +#: [month]december +msgid "December" +msgstr "" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "" + +#: [date]yesterday +msgid "Yesterday" +msgstr "" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/bg.po b/frontend/locales/bg.po new file mode 100644 index 0000000..1b15408 --- /dev/null +++ b/frontend/locales/bg.po @@ -0,0 +1,4157 @@ +# +# Translators: +# FIRST AUTHOR , 2012 +# Rossen Karpuzov , 2021 +# Rossen Karpuzov , 2020-2023,2025-2026 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Rossen Karpuzov , 2020-2023,2025-2026\n" +"Language-Team: Bulgarian (http://app.transifex.com/movim/movim/language/bg/)\n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Благодарности" + +#: [about]developers +msgid "Developers" +msgstr "Разработчици" + +#: [about]translators +msgid "Translators" +msgstr "Преводачи" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Благодарности за всички преводачи" + +#: [about]software +msgid "Software" +msgstr "Софтуер" + +#: [about]resources +msgid "Resources" +msgstr "Ресурси" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim e XMPP-ориентирана комуникационна платформа. Целият проект, освен следния софтуер и ресурси, са под" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Сметка" + +#: [account]account_management +msgid "Account management" +msgstr "Управление на сметка" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Промени ми паролата" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Парола" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Потвърди парола" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "Паролата е актуализирана" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "Предоставената парола не е същата" + +#: [account]delete +msgid "Delete your account" +msgstr "Изтрийте вашата сметка" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "Вие ще изтриете вашата XMPP сметка и всяка отнасяща се информация свързана към нея (профил, контакти и публикации)." + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "Въведете вашето пълно потребителско име" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "Моля, предоставете валидно потребителско име!" + +#: [account]gateway_title +msgid "Gateways" +msgstr "Шлюзове" + +#: [account]clear +msgid "Leave this instance" +msgstr "Напуснете тази инстанция" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "Ще изтриете всяка свързана информация отнасяща се за сметката ви на тази Movim инстанция (профил, контакти и публикации)." + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "Това действие няма да изтрие сметката ви, но ще ви изхвърли от тази инстанция." + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "Изтриване на ключове за OMEMO" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "На път сте да унищожите следния OMEMO ключ. Вашите контакти повече няма да могат да шифроват съобщения ползвайки този ключ. Това действие е безвъзвратно. Сигурен ли сте?" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Действия" + +#: [adhoc]completed +msgid "Action completed" +msgstr "Действието приключи" + +#: [tools]title +msgid "Developer Tools" +msgstr "Инструменти за разработчици" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "Конвертиране на SDP към Jingle" + +#: [tools]sdp_title +msgid "SDP" +msgstr "SDP" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "Конвертиране на Jingle към SDP" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "Основни настройки" + +#: [general]theme +msgid "Theme" +msgstr "Тема" + +#: [general]language +msgid "Default language" +msgstr "Език по подразбиране" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "Подробност на лога" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "Вашата инстанция публична ли е?" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "Регистрирайте вашата инстанция на join.movim.eu и се включете в Movim федерацията!" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "Ограничете предложенията" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "Предлагайте само чат стаи, общности и друго съдържание, което е достъпно на потребителския XMPP сървър и свързаните с него услуги" + +#: [chatonly]title +msgid "Chat only" +msgstr "Само чат" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "Забрани всички социални функции (Общности, Блог ...) и запази само тези за чат" + +#: [credentials]title +msgid "Administration Credential" +msgstr "Административно удостоверяване" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Потребителско име" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Повторете паролата" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "Забрани възможността за XMPP регистрация" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "Премахнете XMPP регистрационния процес и бутоните от интерфейса " + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "Позволени XMPP сървъри" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "Ако искате да посочите списък с упълномощени XMPP сървъри във вашия Movim кошер и да забраните връзката на всички останали, моля, поставете името(имената) на домейна им тук, със запетая (напр. Movim.eu, jabber.fr) " + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "Оставете това поле празно, ако позволявате достъп до всички XMPP сметки." + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "Списък на позволените XMPP сървъри" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Описание" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "Основно описание на инстанцията" + +#: [information]banner +msgid "Main banner" +msgstr "Основен банер" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "Уверете се, че картината не е твърде голяма и може да бъде достигната от всякакви уеб страници" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "Това съобщение ще се покаже на страницата за вход. То може да се използва за свързване на Общите условия на вашия екземпляр на Movim например." + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "Оставете това поле празно, ако не искате да се показва съобщение." + +#: [information]label +msgid "Information Message" +msgstr "Информационно съобщение" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "XMPP сървър по подразбиране" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "Основен домейн на XMPP сървър" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "Основно описание на XMPP сървър" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "Основна държава на XMPP сървър" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "Изберете държава от списъка" + +#: [tenor]title +msgid "Tenor integration" +msgstr "Tenor вграждане" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "Вашият Tenor API ключ" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "Movim интегрира Tenor API за да позволи търсене и публикуване на GIF в Чат" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "Достъпете Tenor и вземете API ключ" + +#: [log]empty +msgid "Empty" +msgstr "Празно" + +#: [log]syslog +msgid "Syslog" +msgstr "Syslog" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "Syslog и файлове" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "Докладвани от %s потребителя" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "Тези сметки са докладвани от няколко Movim потребителя" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "Можеш да избереш да ги блокираш за всички други потребители" + +#: [adminsessions]title +msgid "Sessions" +msgstr "Сесии" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "В момента свързани потребители на кошер" + +#: [avatar]file +msgid "File" +msgstr "Файл" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "Профилната снимка е актуализирана" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "Профилната снимка не е актуализирана" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "Смени моята профилна снимка" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "Твоята картинка е твърде голяма" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "Няма аватар още" + +#: [banner]change +msgid "Change my banner" +msgstr "Смени моя банер" + +#: [banner]updated +msgid "Banner Updated" +msgstr "Банерът е обновен" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "Банерът не е обновен" + +#: [banner]missing +msgid "No banner yet" +msgstr "Няма банер още" + +#: [blocked]title +msgid "Blocked" +msgstr "Спряна" + +#: [blocked]block_account +msgid "Block the account" +msgstr "Спри сметката" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "Позволи сметката" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "Сметката е спряна" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "Сметката е пусната" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "Тук ще откриете поребителите, които сте спрели" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "Следните потребители са спрени от Movim и не могат да се свържат с вас повече" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "Блогът на%s" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "Това съдържание е частно, моля, влезте, за да го видите" + +#: [message]published +msgid "Message Published" +msgstr "Съобщението е публикувано" + +#: [message]react +msgid "Add a reaction" +msgstr "Добави реакция" + +#: [message]retract +msgid "Retract" +msgstr "Оттегляне" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "Вашето съобщение не може да бъде изпратено, моля, опитайте отново по-късно " + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "Шифровано съобщение" + +#: [message]retracted +msgid "Retracted message" +msgstr "Оттеглено съобщение" + +#: [message]composing +msgid "Composing…" +msgstr "Създаване..." + +#: [message]invitation +msgid "Invitation" +msgstr "Покана" + +#: [message]paused +msgid "Paused…" +msgstr "Задържано..." + +#: [message]gone +msgid "Contact gone" +msgstr "Контактът изчезна" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "↑ за да редактирате предишното си съобщение" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr ":shortcut: за да вмъкнете емоджи" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "Не ви е позволено да изпращате съобщения в тази чат стая" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%sсе нуждае от вашето внимание " + +#: [chat]placeholder +msgid "Your message here…" +msgstr "Твоето съобщение тук..." + +#: [chat]smileys +msgid "Smileys" +msgstr "Усмивки " + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "Чести контакти" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "Тук няма нищо все още..." + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "Не се притеснявайте, изпратете първо съобщение, за да започнете дискусията" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "Получихте покана да се присъедините в чат стая" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "Изпратихте покана за присъединяване в чат стая" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "Присъединете %s" + +#: [chat]profile +msgid "See the profile" +msgstr "Виж профила" + +#: [chat]clear +msgid "Clear the history" +msgstr "Изчисти историята" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "Редакция на последното съобщение" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "Съобщете за злоупотреба" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "Входящо прозвъняване" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "Изходящо прозвъняване" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "Пропуснато обаждане" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "Отказано обаждане" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "Разговора приключи" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "%s часа %s минути" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "%s минути и %s секунди" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "%s секунди" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "%s е сега админ" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "%s е сега собственик" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "%s е сега блокиран" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "%s е вече член" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "Възникна грешка при изпращане на съобщението" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "Изчисти локалната история" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr " Ще изтриете%s съобщения, сигурни ли сте?" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "Невъзможно действие в шифровани чатове" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "Това е началото на този разговор" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "Може да избереш да го добавиш като нов контакт или го блокирай, за да предотвратиш непоискани съобщения" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "Добави към моите контакти" + +#: [chat]first_messages_block +msgid "Block" +msgstr "Спри" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "Копирай текста" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "Текста е копиран" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "Търси съобщения по съдържание" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "Няма открити съобщения" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "Пръстови отпечатъци" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "OMEMO Пръстови отпечатъци" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "Създаване на шифроващи ключове, моля изкачайте..." + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "Шифроващите ключове са създадени" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "Разрешаване на OMEMO устройства" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "Създаване на собствена шифрована сесия" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "Шифроването е забранено" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "Изпрати съобщение, за да се създаде шифрованата сесия" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "Разрешаване на шифроването за абоната" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "Разрешаване на шифроване за чат стаята" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "Забраняване на шифроването за абоната" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "Забраняване на шифроване за чат стаята" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "Последна активност" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "%s сесии създадени" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "Все още няма чатове... " + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr " Започнете нов разговор, като щракнете върху %s бутон." + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "Чат с контакт" + +#: [chats]me +msgid "Me" +msgstr "Аз" + +#: [chats]picture +msgid "Picture" +msgstr "Картинка" + +#: [chats]video +msgid "Video" +msgstr "Видео" + +#: [chats]audio +msgid "Audio" +msgstr "Звук" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "Всичко" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "Контакти" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "Откривайте, следвайте и споделяйте" + +#: [communities]counter +msgid "%s communities" +msgstr "%s общности" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "Търсене за нов сървър" + +#: [communities]servers +msgid "Communities servers" +msgstr "Сървъри на общности" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "Открийте общностите по сървъри" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "Открит е сървър на общности" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "Този сървър не съществува" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "Общности, които може да ви харесат" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "Общността е създадена успешно" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "Все още няма общности на този сървър." + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "Създайте нова общност на %s" + +#: [communitiesserver]name +msgid "Community name" +msgstr "Име на общността" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "Моето малко пони - Фен клуб" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "Моля, подайте валидно име на общността (минимум 4 знака)" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "Не можете да създадете нова общност на този сървър" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "Сървърът %s не може да бъде открит" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "Все още няма сървъри на общности..." + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "Изглежда, че за момента не можем да намерим общности" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Настройки" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "Абонаменти" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "Публични абонаменти" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "Моите aбонаменти за общности" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "Общността беше изтрита успешно" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "Изтрийте общността" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "Ще изтриете следната общност. Моля, потвърдете действието си." + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "Изглежда, че тази общност вече не съществува. Искате ли да го премахнете от абонаментите си?" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "Настройките са запазени" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "Грешка по време на прилагането на конфигурацията на възела" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "Собственици" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "Издатели" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "Роли" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "Правилно зададена роля" + +#: [communityconfig]publication +msgid "Publication" +msgstr "Публикация" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "Публична" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "Всеки може да публикува" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "Издателите могат да публикуват" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "Абонати" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "Абонатите могат да публикуват" + +#: [communityconfig]type +msgid "Community type" +msgstr "Тип на общността" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "Статии" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "Публикуване и четене на статии" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "Галерия" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "Публикуване и преглед на снимки" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "%s абоната" + +#: [communitydata]num +msgid "%s posts" +msgstr "%s публикации" + +#: [communitydata]public +msgid "Public page" +msgstr "Публична страница" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "Само издателите могат да публикуват" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "Само абонатите могат да публикуват" + +#: [communityheader]follow +msgid "Follow" +msgstr "Следвай" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "Не следвай" + +#: [communityheader]followed +msgid "Followed" +msgstr "Последван" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "Непоследван" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "Абонаментите са деактивирани за тази общност" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "Дайте етикет за тази общност" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "Име на моята общност" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "Сподели това следване с всички" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "То ще се появи във вашия профил" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "Ще спрете следването на тази общност" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "Сигурен ли сте?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "Пусни моята първа публикация" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "Частна сметка" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "Не можете да следвате този контакт към момента" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "Абонирани общности" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "Здравей" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "Тук ще можете да управлявате всичките си абонаменти." + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "Все още нямате абонаменти за общности." + +#: [config]general +msgid "General" +msgstr "Общ" + +#: [config]language +msgid "Language" +msgstr "Език" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "Показване на контактите извън линия" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "Скриване на контактите извън линия" + +#: [config]appearence +msgid "Appearance" +msgstr "Външен вид" + +#: [config]updated +msgid "Configuration updated" +msgstr "Настройките са обновени" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "Конфигурирането е неправилно" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "Разширено конфигуриране" + +#: [config]nsfw +msgid "Display adult content" +msgstr "Покажи съдържание за възрастни" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "Ще ви позволи да прочетете публикациите, маркирани с етикета #nsfw" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "Ползвай OMEMO" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "Позволи на Movim да криптира от край до край за твоята сметка" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "Нощен режим" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "Използвайте тъмни цветове, за да почиват очите ви" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "Начална чат страница" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "Направете страницата за чат като подразбираща се, когато отваряте Movim" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "Предпочитания за архивиране на чат съобщения от страна на сървъра" + +#: [config]mam_always +msgid "Always" +msgstr "Винаги" + +#: [config]mam_never +msgid "Never" +msgstr "Никога" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "Предпочитанията за архивиране са запазени" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "Поверителност на личния блог" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "Публичен блог" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "Достъпно за всички в мрежата" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "Частен блог" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "Ограничен до вашите абонати само" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "Поверителността на личния блог е запазена" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "Поверителност" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "Звукови известия" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "Входящо съобщение" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "Бъди внимателен" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "Потвърждение за удостоверяване" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "Следната платформа иска вашето потвърждение за удостоверяване на този акаунт" + +#: [confirm]code +msgid "Authentication code" +msgstr "Код за удостоверяване" + +#: [roster]add_title +msgid "Add a contact" +msgstr "Добави контакт" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "Натиснете Enter за потвърждение." + +#: [roster]added +msgid "Contact added" +msgstr "Контактът е добавен" + +#: [roster]updated +msgid "Contact updated" +msgstr "Контактът е обновен" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "Контактът е изтрит" + +#: [general]legend +msgid "General Information" +msgstr "Обща информация" + +#: [general]name +msgid "Name" +msgstr "Име" + +#: [general]pronouns +msgid "Pronouns" +msgstr "Местоимения" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "Той/Тя/Те" + +#: [general]nickname +msgid "Nickname" +msgstr "Псевдоним" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Дата на раждане" + +#: [general]gender +msgid "Gender" +msgstr "Пол" + +#: [general]marital +msgid "Marital Status" +msgstr "Семейно положение" + +#: [general]email +msgid "Email" +msgstr "Имейл" + +#: [general]website +msgid "Website" +msgstr "Уеб-страница" + +#: [general]about +msgid "About Me" +msgstr "За мен" + +#: [general]accounts +msgid "Other Accounts" +msgstr "Други сметки" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "Картинки" + +#: [general]links +msgid "Links" +msgstr "Връзки" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "Вашата сметка е частна" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "Географско положение" + +#: [position]locality +msgid "Locality" +msgstr "Местоположение" + +#: [position]country +msgid "Country" +msgstr "Държава" + +#: [listen]title +msgid "Listening" +msgstr "Слушане" + +#: [last]title +msgid "Last seen" +msgstr "Последно видян/а" + +#: [clients]title +msgid "Clients" +msgstr "Клиенти" + +#: [clients]title_full +msgid "Clients information" +msgstr "Информация за клиенти" + +#: [explore]last_registered +msgid "Last registered" +msgstr "Последна регистрация" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "Намерете нови контакти" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "Редактиране" + +#: [edit]alias +msgid "Alias" +msgstr "Псевдоним" + +#: [edit]group +msgid "Group" +msgstr "Група" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "Ще изтриете един от контактите си, моля, потвърдете действието си" + +#: [age]years +msgid "%s years" +msgstr "%s години" + +#: [blog]last +msgid "Last public post" +msgstr "Последна публична публикация" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "Посетете публичния блог" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "Можете да видите това състояние на контакт" + +#: [subscription]to_button +msgid "Share my status" +msgstr "Споделете състоянието ми" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "Но този контакт не може да види вашия" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "Не сте абонирани за този контакт" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "Заяви абонамент" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "Но този контакт все още може да види дали сте онлайн" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "Не сте абонирани към някой" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "Поканете" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "Този контакт е във вашия списък с контакти, но нямате абонамент помежду си" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "Препоръки за теб" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "Диктофон" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "Натисни за запис" + +#: [dictaphone]recording +msgid "Recording" +msgstr "Записване" + +#: [draw]title +msgid "Draw" +msgstr "Рисуване" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "Емоджита" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "Моите любими емоджита" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "Избери емоджита от пакетите по-долу, каквито искате да се добавят като любими" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "Подреди любими емоджита" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "Често задавани въпроси " + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "Какво прави настройката за разрешение?" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "По подразбиране съдържанието е достъпно само за вашите контакти. Можете да направите своя профил и публикации обществени, като активирате съответната настройка." + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "Подобно на вашите публикации в блога, с изключение на това, че по подразбиране публикациите са достъпни само за членовете или абонатите на Общността (освен ако изрично отворите цялото съдържание на Общността)" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "Къде мога да намеря контактите си?" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "Чрез отваряне на панела за търсене." + +#: [apps]title +msgid "Applications" +msgstr "Приложения" + +#: [apps]install +msgid "Movim App" +msgstr "Movim App" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "Инсталирайте Movim на вашето устройство" + +#: [apps]recommend +msgid "We also recommend" +msgstr "Ние също препоръчваме" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "Администратори и Връзка" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "Чат с екипа на Movim?" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "Добавете стаята за разговори" + +#: [error]username +msgid "Wrong username" +msgstr "Грешно име" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "Невалиден XMPP адрес" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "Празно предизвикателство от сървъра" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "Някои данни липсват!" + +#: [error]internal +msgid "Internal server error" +msgstr "Вътрешна грешка на сървъра" + +#: [error]session +msgid "Session error" +msgstr "Грешка в сесията" + +#: [error]account_created +msgid "Account successfully created" +msgstr "Сметката е успешно създадена" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "Невъзможно влизане" + +#: [error]default +msgid "Unknown error" +msgstr "Непозната грешка" + +#: [error]login_format +msgid "Invalid username format" +msgstr "Неправилен формат на потребителското име" + +#: [error]password_format +msgid "Invalid password format" +msgstr "Неправилен формат на паролата" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "Вашият XMPP сървър е неоторизиран" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "Movim не успя да удостовери. Въведохте грешни данни" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "Механизмът за удостоверяване не се поддържа от Movim" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "Грешка при автентикацията по XMPP" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "Свързан със сървъра" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "Удостоверен към сървъра" + +#: [form]username +msgid "My address" +msgstr "Моят адрес" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "Влезте с акаунти от тези сървъри" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "Влезте с помощта на всеки XMPP акаунт или създайте нов" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "Свързан" + +#: [form]population +msgid "Population" +msgstr "Население" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "%sВи покани да се присъедините към чат стая" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "Администриране от" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "Все още няма новини ..." + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "Мои публикации" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "Напишете нова публикация ..." + +#: [notification]request_title +msgid "Notifications request" +msgstr "Заявка за известия" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "Movim изисква вашето позволение, за да показва известия" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "Заяви" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "Известия" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "Непознат четец" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "Непозната платформа" + +#: [invitations]received +msgid "Received Invitations" +msgstr "Получени покани" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "%s иска да те добави" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "Няма нови покани" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "Няма чакащи абонаменти" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%s иска да говори с теб" + +#: [notifs]empty +msgid "No new notifications" +msgstr "Няма нови известия" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "Movim може да ви уведоми, когато е публикувана нова публикация или ако получавате съобщения" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "Винаги можете да ги деактивирате след това" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "Публичен профил" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "Направете своя профил обществен и позволете на други потребители да ви намират и да създават нови контакти по-лесно" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "Винаги можете да деактивирате това в конфигурацията след това" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "Новинарскa емисия" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "Открийте и се регистрирайте в групите, които ви интересуват" + +#: [post]content +msgid "Content" +msgstr "Съдържание" + +#: [post]published +msgid "Post published" +msgstr "Поста е публикуван" + +#: [post]deleted +msgid "Post deleted" +msgstr "Поста е изтрит" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "Публикации, публикувани наскоро в общности, за които не сте абонирани (все още)" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "Това е пре-постнато от %s" + +#: [post]see_profile +msgid "See %s profile" +msgstr "Виж на %s профила" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "Непознат контакт" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "%s минута" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "%s минути" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "Този пост е публичен" + +#: [post]public_no +msgid "This post is private" +msgstr "Този пост е частен" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "Публичен URL адрес на този пост" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "Забрани коментарите" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "Никой не може да харесва или коментира" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "Коментарите са забранени за тази статия" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "Коментарите са позволени за тази статия" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "Изтрий този пост" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "Ще изтриете тази публикация, моля, потвърдете действието си" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "Наистина ли искате да изтриете този коментар?" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "Прочети повече" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "Коментарите са забранени" + +#: [post]comment_published +msgid "Comment published" +msgstr "Коментарите са публични" + +#: [post]comment_like_published +msgid "Liked" +msgstr "Харесано" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "Коментарът не може да бъде публикуван" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "Коментарът е изтрит" + +#: [post]liked +msgid "Liked your publication" +msgstr "Харесана ваша публикация" + +#: [post]commented +msgid "Commented" +msgstr "Коментирано" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "Публикация за връзка" + +#: [hello]share_title +msgid "Universal share button" +msgstr "Универсален бутон за споделяне" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "Поставете отметка или плъзнете и пуснете следния бутон в лентата с инструменти и го използвайте на всички страници, които искате да споделите в Movim" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "Споделете в Movim" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "О! Здравейте!" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "Проверете менюто" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "Всички основни функции на Movim са достъпни там. Не се колебайте да навигирате из страниците, за да откриете повече!" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "Изглежда, че още не сте попълнили потребителския си профил" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "Можете да отидете на страницата за конфигуриране, за да се опишете и да поставите хубава снимка" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "Прекъснете връзката" + +#: [status]presence +msgid "Presence" +msgstr "Присъствие" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "Наистина ли искате да излезете?" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "Връзката е копирана в клипборда" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "Какво ново?" + +#: [publish]brief_title +msgid "Brief" +msgstr "Кратко" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "Публикация" + +#: [publish]post +msgid "Write a post" +msgstr "Напиши публикация" + +#: [publish]add_link +msgid "Add a link" +msgstr "Добави връзка" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "Направи снимка" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "Моля, посочи заглавие" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "Поне една картинка е необходима" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "Преглед" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "Добави файл или снимка" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "Не можете да публикувате публикация тук" + +#: [publish]new +msgid "New post" +msgstr "Нов пост" + +#: [publish]title +msgid "Post title" +msgstr "Заглавие на публикация" + +#: [publish]content +msgid "Markdown content" +msgstr "Markdown съдържание" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "Моля, въведете валиден URL адрес" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "Можете да форматирате съдържанието си чрез Markdown" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "Черновата е запазена" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "Богат текстов редактор" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "Помощ" + +#: [publishhelp]more +msgid "More help" +msgstr "Още помощ" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "Ръководство за синтаксис на Markdown" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "Качване на разказа" + +#: [story]publishing +msgid "Publishing the story" +msgstr "Публикуване на разказа" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "Почти готово...." + +#: [story]published +msgid "Story published" +msgstr "Разказа публикуван" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Създайте нова сметка" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "Не е открита форма за създаване на сметки на сървъра" + +#: [create]server_on +msgid "on" +msgstr "на" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "Вашата сметка е успешно регистрирана." + +#: [create]loading +msgid "Loading" +msgstr "Зареждане" + +#: [create]placeholder +msgid "…and start playing" +msgstr "...и започва играта" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Не е позволено" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "Към момента регистрацията към този сървър не е възможна" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "Регистрация забранена" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "Присъединете се към тази чат стая при влизане" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "Лош адрес на чат стая" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "Моля, въведете правилен псевдоним (2 до 40 символа)" + +#: [chatrooms]banned +msgid "Banned" +msgstr "Ограничени" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "Потребителското име е вече заето" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "Създай стая за разговори" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "Чат стаята е създадена" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "Стандартна чат стая" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "Сигурни ли сте, че искате да унищожите за постоянно следната чат стая?" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "Унищожи чат стаята" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "Чат стаята е унищожена" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "Необходима е регистрация преди използване на услугата" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "Напусна чат стаята" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "Празно име" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "Все още нямате чат стая." + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "Добавете такъв, като кликнете върху бутона за добавяне." + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "Име или описание" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "Скриване на несвързаните чат стаи" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "Адрес на чат стая" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "Стаята за разговори не съществува" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "Вашият псевдоним не е правилен" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "Присъедини се към чат стая" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "Присъедини се към персонализирана чат стая" + +#: [chatrooms]members +msgid "Members" +msgstr "Членове" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "Непозволен/а" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "Нужна е парола" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "Забоди тази чат стая" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "Напускане за постоянно на чат стая" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "Покажи всички чат стаи" + +#: [chatrooms]subject +msgid "Subject" +msgstr "Относно" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "Стаи за разговори" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "Тип на чат стая" + +#: [chatrooms]users +msgid "Users" +msgstr "Потребители" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "Отметките са актуализирани" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "В момента сте влезли като анонимен потребител." + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "Можете да се присъедините, като използвате свой собствен акаунт или да създадете такъв на страницата за вход, като излезете с помощта на кръста в горния десен ъгъл." + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "Вход на %s" + +#: [room]invite +msgid "Invite a contact" +msgstr "Поканете контакт" + +#: [room]invited +msgid "Invitation sent" +msgstr "Поканата е изпратена" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "Изпратете тази връзка на вашите контакти" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "Тази чат стая е обществено откриваема" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "Публични профили" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "Участниците в тази чат стая могат да виждат един другиму XMPP адреса" + +#: [room]archived +msgid "Archived" +msgstr "Архивиран" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "Съобщенията от чат стаята са архивирани" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "Групов разговор" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "Частен групов чат с поканени членове" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "Добавете нов член" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "Ограничи някой" + +#: [room]banned_remove +msgid "Unban" +msgstr "Освободи" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "Причина" + +#: [room]channel +msgid "Channel" +msgstr "Канал" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "Публичен канал, който може да бъде обществено откриваем и присъединяем" + +#: [room]notify_never +msgid "Never notify" +msgstr "Никога не уведомявайте" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "Винаги уведомявайте" + +#: [room]pinned +msgid "Pinned" +msgstr "Забоден" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "Посетител" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "Не са открити чат стаи локално" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "Не са открити чат стаи глобално" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "Какво търсите?" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "#котки, username@server.com, Иван…" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "Все още нямате контакти?" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "Тагове" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "Показване на всичките контакти" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "Прикачете към публикация в блога" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "Сподели в нова публикация" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "Публикацията е споделена" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "Повече контакти" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "Споделете извън Movim" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "Стикери" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "Стикер е изпратен чрез Movim" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "Въведете ключова дума" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "Намерете GIF" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "Осъществено от Tenor" + +#: [stories]publish +msgid "New Story" +msgstr "Нов разказ" + +#: [stories]title +msgid "Stories" +msgstr "Разкази" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "Нов разказ от %s" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "Някои от твоите контакти може да няма достъп до този разказ" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "Изпрати коментар на %s" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "Изтриване на разказ" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "Разказ изтрит" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "Емисии на %s" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "Няма обществена емисия за този контакт" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "Качване" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "Изберете файл за качване" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "Файла е твърде голям" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "Качването се провали" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "Не ви е позволено да качвате файл" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "Вие надхвърлихте ограничението" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "Плъзнете и пуснете файла си в тази област" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "Максимум на файл е %s" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Профил" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "Профила е актуализиран" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "Профилът не е актуализиран" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "Профилът ви вече е обществен" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "Потребителският ви профил вече е ограничен" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "Изберете Ваш настоящ псевдоним" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "Задайте местен псевдоним, за да позволите на други потребители тук да ви открият лесно." + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "Вашият псевдоним е %s." + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "John_Bob96" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "Псевдонимът е зает" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "Псевдонимът се запази" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Изпращане" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Презареждане" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "... ви прозвънява" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "Входящо видео прозвъняване" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "Входящо гласово прозвъняване" + +#: [visio]ringing +msgid "…ringing" +msgstr "... звъни" + +#: [visio]declined +msgid "Declined" +msgstr "Отказан" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "Текущ разговор" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "Провален" + +#: [visio]connecting +msgid "…connecting" +msgstr "...свързване" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "%s ви прозвънява" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "Подразбиращ се микрофон" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "Подразбираща се камера" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "Movim изисква Javascript да е разрешен, за да работи коректно." + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "Зареждане..." + +#: [global]or +msgid "Or" +msgstr "или" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "Смяна към друг кошер" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "Относно" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Създаване на сметка" + +#: [page]administration +msgid "Administration" +msgstr "Администрация" + +#: [page]avatar +msgid "Profile Picture" +msgstr "Профилна снимка" + +#: [page]blog +msgid "Blog" +msgstr "Блог" + +#: [page]chats +msgid "Messages" +msgstr "Съобщения" + +#: [page]communities +msgid "Communities" +msgstr "Общности" + +#: [page]explore +msgid "Explore" +msgstr "Открийте" + +#: [page]feed +msgid "Feed" +msgstr "Емисия" + +#: [page]home +msgid "Home" +msgstr "Начало" + +#: [page]login +msgid "Login" +msgstr "Вход" + +#: [page]news +msgid "News" +msgstr "Новини" + +#: [page]not_found +msgid "Not Found" +msgstr "Не е открит" + +#: [page]posts +msgid "Posts" +msgstr "Публикации" + +#: [page]publish +msgid "Publish" +msgstr "Публикуване" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "Споделете" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "Таг" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "Грешка: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "Грешка при зареждане на файла \"%s\"" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "Опааа!" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "Свързване със сървъра" + +#: [error]oops +msgid "Oops!" +msgstr "Опаа!" + +#: [button]accept +msgid "Accept" +msgstr "Приемане" + +#: [button]add +msgid "Add" +msgstr "Добавете" + +#: [button]audio_call +msgid "Audio Call" +msgstr "Гласово прозвъняване" + +#: [button]bool_no +msgid "No" +msgstr "Не" + +#: [button]bool_yes +msgid "Yes" +msgstr "Да" + +#: [button]call +msgid "Call" +msgstr "Прозвъняване" + +#: [button]cancel +msgid "Cancel" +msgstr "Отказ" + +#: [button]chat +msgid "Chat" +msgstr "Разговор" + +#: [button]clear +msgid "Clear" +msgstr "Изчисти" + +#: [button]close +msgid "Close" +msgstr "Затворете" + +#: [button]connecting +msgid "Connecting" +msgstr "Свързване" + +#: [button]copy_link +msgid "Copy Link" +msgstr "Копирай връзка" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "Изтрийте" + +#: [button]destroy +msgid "Destroy" +msgstr "Унищожете" + +#: [button]discover +msgid "Discover" +msgstr "Открий" + +#: [button]enable +msgid "Enable" +msgstr "Позволи" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "Харесай" + +#: [button]more +msgid "More" +msgstr "Повече" + +#: [button]new +msgid "New conversation" +msgstr "Нов разговор" + +#: [button]next +msgid "Next" +msgstr "Следващ" + +#: [button]not_now +msgid "Not Now" +msgstr "Не сега" + +#: [button]open +msgid "Open" +msgstr "Отвори" + +#: [button]previous +msgid "Previous" +msgstr "Предишен" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "Обновяване" + +#: [button]refuse +msgid "Refuse" +msgstr "Отказване" + +#: [button]register +msgid "Register" +msgstr "Регистриране" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "Отговор" + +#: [button]return +msgid "Return" +msgstr "Връщане" + +#: [button]save +msgid "Save" +msgstr "Запазване" + +#: [button]search +msgid "Search" +msgstr "Търсене" + +#: [button]send_to +msgid "Send to" +msgstr "Изпрати до" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "Сподели" + +#: [button]sign_up +msgid "Sign Up" +msgstr "Регистрирайте се" + +#: [button]submitting +msgid "Submitting" +msgstr "Изпращане" + +#: [button]unregister +msgid "Unregister" +msgstr "Де-регистриран" + +#: [button]update +msgid "Update" +msgstr "Обнови" + +#: [button]updating +msgid "Updating" +msgstr "Обновяване" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "Видео прозвъняване" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "Ден" + +#: [day]monday +msgid "Monday" +msgstr "Понеделник" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Вторник" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Сряда" + +#: [day]thursday +msgid "Thursday" +msgstr "Четвъртък" + +#: [day]friday +msgid "Friday" +msgstr "Петък" + +#: [day]saturday +msgid "Saturday" +msgstr "Събота" + +#: [day]sunday +msgid "Sunday" +msgstr "Неделя" + +#: [client]bot +msgid "Bot" +msgstr "Бот" + +#: [client]console +msgid "Console" +msgstr "Конзола" + +#: [client]desktop +msgid "Desktop" +msgstr "Плот" + +#: [client]phone +msgid "Phone" +msgstr "Телефон" + +#: [client]web +msgid "Web" +msgstr "Web" + +#: [client]registered +msgid "Registered" +msgstr "Регистриран" + +#: [client]gateway +msgid "Gateway" +msgstr "Шлюз" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "На линия" + +#: [presence]away +msgid "Away" +msgstr "Отсъства" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "Не ме безпокойте" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "Извън линия" + +#: [presence]error +msgid "Error" +msgstr "Грешка" + +#: [mood]afraid +msgid "afraid" +msgstr "уплашен/а" + +#: [mood]amazed +msgid "amazed" +msgstr "изумен/а" + +#: [mood]amorous +msgid "amorous" +msgstr "влюбен/а" + +#: [mood]angry +msgid "angry" +msgstr "ядосан/а" + +#: [mood]annoyed +msgid "annoyed" +msgstr "раздразнен/а" + +#: [mood]anxious +msgid "anxious" +msgstr "разтревожен/а" + +#: [mood]aroused +msgid "aroused" +msgstr "възбуден/а" + +#: [mood]ashamed +msgid "ashamed" +msgstr "засрамен/а" + +#: [mood]bored +msgid "bored" +msgstr "отегчен/а" + +#: [mood]brave +msgid "brave" +msgstr "смел/а" + +#: [mood]calm +msgid "calm" +msgstr "calm/а" + +#: [mood]cautious +msgid "cautious" +msgstr "предпазлив/а" + +#: [mood]cold +msgid "cold" +msgstr "студ" + +#: [mood]confident +msgid "confident" +msgstr "уверен/а" + +#: [mood]confused +msgid "confused" +msgstr "объркан/а" + +#: [mood]contemplative +msgid "contemplative" +msgstr "съзерцателен/а" + +#: [mood]contented +msgid "contented" +msgstr "доволен/а" + +#: [mood]cranky +msgid "cranky" +msgstr "капризен/а" + +#: [mood]crazy +msgid "crazy" +msgstr "луд/а" + +#: [mood]creative +msgid "creative" +msgstr "творчески" + +#: [mood]curious +msgid "curious" +msgstr "любопитен/а" + +#: [mood]dejected +msgid "dejected" +msgstr "унил/а" + +#: [mood]depressed +msgid "depressed" +msgstr "депресиран/а" + +#: [mood]disappointed +msgid "disappointed" +msgstr "разочарован/а" + +#: [mood]disgusted +msgid "disgusted" +msgstr "отвратен/а" + +#: [mood]dismayed +msgid "dismayed" +msgstr "потресен/а" + +#: [mood]distracted +msgid "distracted" +msgstr "разсеян/а" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "засрамен/а" + +#: [mood]envious +msgid "envious" +msgstr "завистлив/а" + +#: [mood]excited +msgid "excited" +msgstr "развълнуван/а" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "флиртуващ/а" + +#: [mood]frustrated +msgid "frustrated" +msgstr "разочарован/а" + +#: [mood]grateful +msgid "grateful" +msgstr "благодарен/а" + +#: [mood]grieving +msgid "grieving" +msgstr "скърбящ/а" + +#: [mood]grumpy +msgid "grumpy" +msgstr "нахален/а" + +#: [mood]guilty +msgid "guilty" +msgstr "виновен/а" + +#: [mood]happy +msgid "happy" +msgstr "щастлив/а" + +#: [mood]hopeful +msgid "hopeful" +msgstr "обнадежден/а" + +#: [mood]hot +msgid "hot" +msgstr "горещ/а" + +#: [mood]humbled +msgid "humbled" +msgstr "смирен/а" + +#: [mood]humiliated +msgid "humiliated" +msgstr "унижен/а" + +#: [mood]hungry +msgid "hungry" +msgstr "гладен/а" + +#: [mood]hurt +msgid "hurt" +msgstr "наранен/а" + +#: [mood]impressed +msgid "impressed" +msgstr "впечатлен/а" + +#: [mood]in_awe +msgid "in awe" +msgstr "в страхопочитание" + +#: [mood]in_love +msgid "in love" +msgstr "влюбен/а" + +#: [mood]indignant +msgid "indignant" +msgstr "възмутен/а" + +#: [mood]interested +msgid "interested" +msgstr "заинтересован/а" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "опиянен/а" + +#: [mood]invincible +msgid "invincible" +msgstr "непобедим/а" + +#: [mood]jealous +msgid "jealous" +msgstr "ревнив/а" + +#: [mood]lonely +msgid "lonely" +msgstr "самотен/а" + +#: [mood]lost +msgid "lost" +msgstr "изгубен/а" + +#: [mood]lucky +msgid "lucky" +msgstr "късметлия/ка" + +#: [mood]mean +msgid "mean" +msgstr "гаден/а" + +#: [mood]moody +msgid "moody" +msgstr "капризен/а" + +#: [mood]nervous +msgid "nervous" +msgstr "нервен/а" + +#: [mood]neutral +msgid "neutral" +msgstr "неутрален/а" + +#: [mood]offended +msgid "offended" +msgstr "обиден/а" + +#: [mood]outraged +msgid "outraged" +msgstr "възмутен/а" + +#: [mood]playful +msgid "playful" +msgstr "закачлив/а" + +#: [mood]proud +msgid "proud" +msgstr "горд/а" + +#: [mood]relaxed +msgid "relaxed" +msgstr "отпуснат/а" + +#: [mood]relieved +msgid "relieved" +msgstr "облекчен/а" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "неспокоен/а" + +#: [mood]sad +msgid "sad" +msgstr "тъжно" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "саркастичен/а" + +#: [mood]satisfied +msgid "satisfied" +msgstr "удовлетворен/а" + +#: [mood]serious +msgid "serious" +msgstr "сериозен/а" + +#: [mood]shocked +msgid "shocked" +msgstr "шокиран/а" + +#: [mood]shy +msgid "shy" +msgstr "срамежлив/а" + +#: [mood]sick +msgid "sick" +msgstr "болен/а" + +#: [mood]sleepy +msgid "sleepy" +msgstr "сънлив/а" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "спонтанен/а" + +#: [mood]stressed +msgid "stressed" +msgstr "сресиран/а" + +#: [mood]strong +msgid "strong" +msgstr "силен/а" + +#: [mood]surprised +msgid "surprised" +msgstr "изненадан/а" + +#: [mood]thankful +msgid "thankful" +msgstr "благодарен/а" + +#: [mood]thirsty +msgid "thirsty" +msgstr "жаден/а" + +#: [mood]tired +msgid "tired" +msgstr "изморен/а" + +#: [mood]undefined +msgid "undefined" +msgstr "неопределен/а" + +#: [mood]weak +msgid "weak" +msgstr "слаб/а" + +#: [mood]worried +msgid "worried" +msgstr "притеснен/а" + +#: [month]title +msgid "Month" +msgstr "Месец" + +#: [month]january +msgid "January" +msgstr "Януари" + +#: [month]february +msgid "February" +msgstr "Февруари" + +#: [month]march +msgid "March" +msgstr "Март" + +#: [month]april +msgid "April" +msgstr "Април" + +#: [month]may +msgid "May" +msgstr "Май" + +#: [month]june +msgid "June" +msgstr "Юни" + +#: [month]july +msgid "July" +msgstr "Юли" + +#: [month]august +msgid "August" +msgstr "Август" + +#: [month]september +msgid "September" +msgstr "Септември" + +#: [month]october +msgid "October" +msgstr "Октомври" + +#: [month]november +msgid "November" +msgstr "Ноември" + +#: [month]december +msgid "December" +msgstr "Декември" + +#: [year]title +msgid "Year" +msgstr "Година" + +#: [date]today +msgid "Today" +msgstr "днес" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "утре" + +#: [date]yesterday +msgid "Yesterday" +msgstr "вчера" + +#: [date]ago +msgid "%d days ago" +msgstr "%d дни назад" + +#: [date]day +msgid "day" +msgstr "ден" + +#: [post]title +msgid "Title" +msgstr "Заглавие" + +#: [post]place +msgid "Place" +msgstr "Място" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "Местонахождение" + +#: [post]email +msgid "email" +msgstr "имейл" + +#: [post]empty +msgid "No content" +msgstr "Няма съдържание" + +#: [post]no_comments +msgid "No comments yet" +msgstr "Без коментари все още" + +#: [post]older +msgid "Get older posts" +msgstr "Вземи по-стари публикации" + +#: [post]new_items +msgid "%s new items" +msgstr "%s нови неща" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "Грешка при публикуване на коментар" + +#: [post]comments_get +msgid "Get the comments" +msgstr "Вземи коментарите" + +#: [post]comment_add +msgid "Add a comment" +msgstr "Добави коментар" + +#: [post]share +msgid "Share with" +msgstr "Сподели с" + +#: [post]share_everyone +msgid "Everyone" +msgstr "Всеки" + +#: [post]updated +msgid "Updated" +msgstr "Актуализирано" + +#: [post]content_not_found +msgid "Content not found" +msgstr "Съдържанието не е намерено" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "Коментари" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "Оригиналната публикация е изтрита" + +#: [filesize]byte +msgid "B" +msgstr "Б" + +#: [filesize]kilobyte +msgid "KB" +msgstr "КБ" + +#: [filesize]megabyte +msgid "MB" +msgstr "МБ" + +#: [filesize]gigabyte +msgid "GB" +msgstr "ГБ" + +#: [filesize]terabyte +msgid "TB" +msgstr "ТБ" + +#: [affiliation]owner +msgid "Owner" +msgstr "Собственик" + +#: [affiliation]admin +msgid "Admin" +msgstr "Админ" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "Издател" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "Член" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "Потребителя е забранен" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "Пиши тук" diff --git a/frontend/locales/bn.po b/frontend/locales/bn.po new file mode 100644 index 0000000..374a6aa --- /dev/null +++ b/frontend/locales/bn.po @@ -0,0 +1,4155 @@ +# +# Translators: +# FIRST AUTHOR , 2013 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: FIRST AUTHOR , 2013\n" +"Language-Team: Bengali (http://app.transifex.com/movim/movim/language/bn/)\n" +"Language: bn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "" + +#: [about]developers +msgid "Developers" +msgstr "" + +#: [about]translators +msgid "Translators" +msgstr "" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "" + +#: [about]software +msgid "Software" +msgstr "" + +#: [about]resources +msgid "Resources" +msgstr "" + +#: [about]api +msgid "API" +msgstr "" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "" + +#: [account]delete +msgid "Delete your account" +msgstr "" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "" + +#: [general]theme +msgid "Theme" +msgstr "" + +#: [general]language +msgid "Default language" +msgstr "" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "" + +#: [credentials]re_password +msgid "Retype password" +msgstr "" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "" + +#: [general]gender +msgid "Gender" +msgstr "" + +#: [general]marital +msgid "Marital Status" +msgstr "" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "" + +#: [general]about +msgid "About Me" +msgstr "" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "নথি '%s' লোড করা যাচ্ছে না" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "সোমবার" + +#: [day]tuesday +msgid "Tuesday" +msgstr "মঙ্গলবার" + +#: [day]wednesday +msgid "Wednesday" +msgstr "বুধবার" + +#: [day]thursday +msgid "Thursday" +msgstr "বৃহস্পতিবার" + +#: [day]friday +msgid "Friday" +msgstr "শুক্রবার" + +#: [day]saturday +msgid "Saturday" +msgstr "শনিবার" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "অনলাইন" + +#: [presence]away +msgid "Away" +msgstr "অনুপস্থিত" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "জ্বালিয়ো না" + +#: [presence]xa +msgid "Extended Away" +msgstr "অনেকক্ষণ যাবৎ দূরে" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "ভীত" + +#: [mood]amazed +msgid "amazed" +msgstr "অভিভূত" + +#: [mood]amorous +msgid "amorous" +msgstr "প্রেমালু" + +#: [mood]angry +msgid "angry" +msgstr "ক্ষীপ্ত" + +#: [mood]annoyed +msgid "annoyed" +msgstr "বিরক্ত" + +#: [mood]anxious +msgid "anxious" +msgstr "উদ্বিগ্ন" + +#: [mood]aroused +msgid "aroused" +msgstr "জাগ্রত" + +#: [mood]ashamed +msgid "ashamed" +msgstr "লজ্জিত" + +#: [mood]bored +msgid "bored" +msgstr "একঘেয়ে" + +#: [mood]brave +msgid "brave" +msgstr "সাহসী" + +#: [mood]calm +msgid "calm" +msgstr "শান্ত" + +#: [mood]cautious +msgid "cautious" +msgstr "সাবধানী" + +#: [mood]cold +msgid "cold" +msgstr "ঠাণ্ডা" + +#: [mood]confident +msgid "confident" +msgstr "আত্মবিশ্বাসী" + +#: [mood]confused +msgid "confused" +msgstr "সন্দিগ্ন" + +#: [mood]contemplative +msgid "contemplative" +msgstr "ধার্মিক" + +#: [mood]contented +msgid "contented" +msgstr "সুখী" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "জানুয়ারী" + +#: [month]february +msgid "February" +msgstr "ফেব্রুয়ারী" + +#: [month]march +msgid "March" +msgstr "মার্চ" + +#: [month]april +msgid "April" +msgstr "এপ্রিল" + +#: [month]may +msgid "May" +msgstr "মে" + +#: [month]june +msgid "June" +msgstr "জুন" + +#: [month]july +msgid "July" +msgstr "জুলাই" + +#: [month]august +msgid "August" +msgstr "আগষ্ট" + +#: [month]september +msgid "September" +msgstr "সেপ্টেম্বর" + +#: [month]october +msgid "October" +msgstr "অক্টোবর" + +#: [month]november +msgid "November" +msgstr "নভেম্বর" + +#: [month]december +msgid "December" +msgstr "ডিসেম্বর" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "আজ" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "আগামীকাল" + +#: [date]yesterday +msgid "Yesterday" +msgstr "গতোকাল" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "দিন" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/br.po b/frontend/locales/br.po new file mode 100644 index 0000000..7cc471f --- /dev/null +++ b/frontend/locales/br.po @@ -0,0 +1,4155 @@ +# +# Translators: +# Irriep Nala Novram , 2017 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Irriep Nala Novram , 2017\n" +"Language-Team: Breton (http://app.transifex.com/movim/movim/language/br/)\n" +"Language: br\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Trugarez" + +#: [about]developers +msgid "Developers" +msgstr "Diorroerien" + +#: [about]translators +msgid "Translators" +msgstr "Troerien" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Trugarez d'an holl droerien" + +#: [about]software +msgid "Software" +msgstr "Meziant" + +#: [about]resources +msgid "Resources" +msgstr "" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Kont" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Kemm ma ger-tremen" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Ger-tremen" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Kadarnadur ar ger-tremen" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "Hizivaet eo bet ar ger-tremen" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "N'eo ket heñvel ar gerioù-tremen roet" + +#: [account]delete +msgid "Delete your account" +msgstr "Dilemel ho kont" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "Kuitaat an instañs-mañ" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Oberennoù" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "" + +#: [general]theme +msgid "Theme" +msgstr "" + +#: [general]language +msgid "Default language" +msgstr "" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "" + +#: [credentials]re_password +msgid "Retype password" +msgstr "" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Kefluniadur" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "Yezh" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "Anv" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "Lezanv" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Devezh ganedigezh" + +#: [general]gender +msgid "Gender" +msgstr "Jener" + +#: [general]marital +msgid "Marital Status" +msgstr "Statud Familh" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "Lec'hienn web" + +#: [general]about +msgid "About Me" +msgstr "Diwar ma fenn" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "Alias" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "Anv-implijer direizh" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "Fazi diabarzh ar servijer" + +#: [error]session +msgid "Session error" +msgstr "Fazi dalc'h" + +#: [error]account_created +msgid "Account successfully created" +msgstr "Kont krouet gant berzh" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "Fazi dianavezet" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "N'eo ket deuet a-benn Movim da vezañ anavezet. Roadennoù fall ho peus ebarzhet." + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "An dilesadur XMPP a zo c'hwitet" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "Ma chomlec'h" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "Sikour" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Kouiñ ur gont nevez" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Profil" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Kas" + +#: [save]reset [button]reset +msgid "Reset" +msgstr " Adderaouekaat " + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Krouadur ar gont" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "Gwazh" + +#: [page]home +msgid "Home" +msgstr "Degemer" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "Nevezenti" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "Fazi: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "N'haller ket kargañ ar restr '%s'" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "Asantiñ" + +#: [button]add +msgid "Add" +msgstr "Ouzhpennañ" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "Nann" + +#: [button]bool_yes +msgid "Yes" +msgstr "Ya" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "Flapva" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "O kas" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "Devezh" + +#: [day]monday +msgid "Monday" +msgstr "Lun" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Meurzh" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Merc'her" + +#: [day]thursday +msgid "Thursday" +msgstr "Yaou" + +#: [day]friday +msgid "Friday" +msgstr "Gwener" + +#: [day]saturday +msgid "Saturday" +msgstr "Sadorn" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "Robot" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "Urzhiataer" + +#: [client]phone +msgid "Phone" +msgstr "Pellgomz" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "Treuzell" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "Enlinenn" + +#: [presence]away +msgid "Away" +msgstr "Ezvezant" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "Arabat direnkañ" + +#: [presence]xa +msgid "Extended Away" +msgstr "Ezvezant e-pad pell" + +#: [presence]offline +msgid "Offline" +msgstr "Digevreet" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "Miz" + +#: [month]january +msgid "January" +msgstr "Genver" + +#: [month]february +msgid "February" +msgstr "C'hwevrer" + +#: [month]march +msgid "March" +msgstr "Meurzh" + +#: [month]april +msgid "April" +msgstr "Ebrel" + +#: [month]may +msgid "May" +msgstr "Mae" + +#: [month]june +msgid "June" +msgstr "Mezheven" + +#: [month]july +msgid "July" +msgstr "Gouere" + +#: [month]august +msgid "August" +msgstr "Eost" + +#: [month]september +msgid "September" +msgstr "Gwengolo" + +#: [month]october +msgid "October" +msgstr "Here" + +#: [month]november +msgid "November" +msgstr "Du" + +#: [month]december +msgid "December" +msgstr "Kerzu" + +#: [year]title +msgid "Year" +msgstr "Bloavezh" + +#: [date]today +msgid "Today" +msgstr "Hiziv" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "Warc'hoazh" + +#: [date]yesterday +msgid "Yesterday" +msgstr "Dec'h" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "devezh" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "Kaout postadurioù koshoc'h" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/ca.po b/frontend/locales/ca.po new file mode 100644 index 0000000..d38b995 --- /dev/null +++ b/frontend/locales/ca.po @@ -0,0 +1,4157 @@ +# +# Translators: +# rob ehub, 2026 +# T3rr0rz0n3 , 2019 +# Xals Xaloc <33xaloc@gmail.com>, 2016 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: rob ehub, 2026\n" +"Language-Team: Catalan (http://app.transifex.com/movim/movim/language/ca/)\n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Gràcies" + +#: [about]developers +msgid "Developers" +msgstr "Desenvolupadors" + +#: [about]translators +msgid "Translators" +msgstr "Traductors" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Gràcies a tots els traductors" + +#: [about]software +msgid "Software" +msgstr "Programari" + +#: [about]resources +msgid "Resources" +msgstr "Recursos" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim és una plataforma de comunicació basada en XMPP. Tot el projecte, a excepció del software i els recursos a continuació, estan sota" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "Codi font" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Compte " + +#: [account]account_management +msgid "Account management" +msgstr "Gestió del compte" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Canvia la contrasenya" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Contrasenya" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Repeteix la contrasenya" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "S'ha actualitzat la contrasenya" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "Les contrasenyes no coincideixen" + +#: [account]delete +msgid "Delete your account" +msgstr "Esborra el teu compte" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "Escriu el nom d'usuari complert" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "Si et plau escriu un nom d'usuari vàlid" + +#: [account]gateway_title +msgid "Gateways" +msgstr "Passarel·les" + +#: [account]clear +msgid "Leave this instance" +msgstr "Sortir d'aquesta instància" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "Esborrat OMEMO Key" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Accions" + +#: [adhoc]completed +msgid "Action completed" +msgstr "Acció finalitzada" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "Paràmetres Generals" + +#: [general]theme +msgid "Theme" +msgstr "Tema" + +#: [general]language +msgid "Default language" +msgstr "Idioma per defecte" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "Registre de detall" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "Paraula de pas per l'administrador" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Nom d'usuari" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Repeteix la contrasenya" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "Deixa en aquest camp en blanc si permets la connexió a tots els comptes XMPP." + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Descripció" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "Missatge d'informació" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "Servidor XMPP per defecte" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "Domini principal del servidor XMPP" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "Descripció principal del servidor XMPP" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "País principal del servidor XMPP" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "Escull un país de la llista" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "Buit" + +#: [log]syslog +msgid "Syslog" +msgstr "Registre del sistema" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "Registre del sistema i fitxers" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "Sessions " + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "Fitxer" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "Aquest contingut és privat, siusplau connectat per poder veure-ho." + +#: [message]published +msgid "Message Published" +msgstr "Missatge publicat" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "Missatge encriptat" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%s necessita la teva atenció" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "Contactes freqüents" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "Xateja amb un contacte" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "Contactes" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "Descobreix, segueix i comparteix" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "Busca un nou servidor" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Configuració" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "Subscripcions" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "Configuració guardada" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "%s subscriptors" + +#: [communitydata]num +msgid "%s posts" +msgstr "%s publicacions" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "N'estàs segur?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "Hola" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "Aquí podràs gestionar totes les teves subscripcions." + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "General" + +#: [config]language +msgid "Language" +msgstr "Idioma" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "Mostra els contactes desconnectats" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "Amaga els contactes desconnectats" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "Configuració actualitzada" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "Configuració invàlida" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "Configuració avançada" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "Contacte actualitzat" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "Nom " + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "Sobrenom" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Data de naixement" + +#: [general]gender +msgid "Gender" +msgstr "Sexe" + +#: [general]marital +msgid "Marital Status" +msgstr "Estat civil" + +#: [general]email +msgid "Email" +msgstr "Correu electrònic" + +#: [general]website +msgid "Website" +msgstr "Pàgina web" + +#: [general]about +msgid "About Me" +msgstr "Sobre mi" + +#: [general]accounts +msgid "Other Accounts" +msgstr "Altres comptes" + +#: [general]tune +msgid "Is Listening" +msgstr "Està escoltant" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "Posició geogràfica" + +#: [position]locality +msgid "Locality" +msgstr "Localitat" + +#: [position]country +msgid "Country" +msgstr "País" + +#: [listen]title +msgid "Listening" +msgstr "Escoltant" + +#: [last]title +msgid "Last seen" +msgstr "Última connexió" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "Edita" + +#: [edit]alias +msgid "Alias" +msgstr "Àlies" + +#: [edit]group +msgid "Group" +msgstr "Grup" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "%s anys" + +#: [blog]last +msgid "Last public post" +msgstr "Última publicació pública" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "Pots veure l'estat d'aquest contacte" + +#: [subscription]to_button +msgid "Share my status" +msgstr "Comparteix el meu estat" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "Però aquest contacte no pot veure el teu" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "No estàs subscrit a aquest contacte" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "Demana per subscriure't" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "Però aquest contacte encara pot veure si estas connectat" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "Convida" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "Afegeix la sala de xat" + +#: [error]username +msgid "Wrong username" +msgstr "" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "Comparteix a Movim" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "Ei! Hola!" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "Mira el Menú" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Crea un compte nou" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "No s'ha trobat cap formulari de creació de compte en aquest servidor" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "Carregant" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Inacceptable" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "El sistema de registrament d'aquest servidor no està disponible" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "Registre prohibit" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "Membres" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "Tema" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "%s canals" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "Missatges" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "Notícies" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "Publicacions" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "Xat" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "" + +#: [day]tuesday +msgid "Tuesday" +msgstr "" + +#: [day]wednesday +msgid "Wednesday" +msgstr "" + +#: [day]thursday +msgid "Thursday" +msgstr "" + +#: [day]friday +msgid "Friday" +msgstr "" + +#: [day]saturday +msgid "Saturday" +msgstr "" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "Passarel·la" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "" + +#: [presence]away +msgid "Away" +msgstr "" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "" + +#: [month]february +msgid "February" +msgstr "" + +#: [month]march +msgid "March" +msgstr "" + +#: [month]april +msgid "April" +msgstr "" + +#: [month]may +msgid "May" +msgstr "" + +#: [month]june +msgid "June" +msgstr "" + +#: [month]july +msgid "July" +msgstr "" + +#: [month]august +msgid "August" +msgstr "" + +#: [month]september +msgid "September" +msgstr "" + +#: [month]october +msgid "October" +msgstr "" + +#: [month]november +msgid "November" +msgstr "" + +#: [month]december +msgid "December" +msgstr "" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "" + +#: [date]yesterday +msgid "Yesterday" +msgstr "" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/cs.po b/frontend/locales/cs.po new file mode 100644 index 0000000..b6d8b38 --- /dev/null +++ b/frontend/locales/cs.po @@ -0,0 +1,4159 @@ +# +# Translators: +# Egon Borovan , 2019 +# Jakub Hlusička , 2016 +# Tom Dienstbier , 2017 +# Tom Dienstbier , 2017 +# Vít Beran, 2026 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Vít Beran, 2026\n" +"Language-Team: Czech (Czech Republic) (http://app.transifex.com/movim/movim/language/cs_CZ/)\n" +"Language: cs_CZ\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Díky" + +#: [about]developers +msgid "Developers" +msgstr "Vývojáři" + +#: [about]translators +msgid "Translators" +msgstr "Překladatelé" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Děkujeme všem překladatelům" + +#: [about]software +msgid "Software" +msgstr "Software" + +#: [about]resources +msgid "Resources" +msgstr "Zdroje" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim je komunikační platforma založená na protokolu XMPP. Celý projekt, kromě následujícího softwaru a zdrojů, je pod" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "Zdrojový kód" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "Prohlédněte si zdrojový kód v repozitáři na GitHubu" + +#: [account]title [page]account +msgid "Account" +msgstr "Účet" + +#: [account]account_management +msgid "Account management" +msgstr "Správa účtu" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Změnit mé heslo" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Heslo" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Potvrzení hesla" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "Heslo bylo aktualizováno" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "Zadaná hesla nejsou stejná" + +#: [account]delete +msgid "Delete your account" +msgstr "Smazat váš účet" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "Smažete svůj XMPP účet a všechny informace související s ním (profil, kontakty, a příspěvky)" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "Zadejte své celé uživatelské jméno" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "Zadejte platné uživatelské jméno." + +#: [account]gateway_title +msgid "Gateways" +msgstr "Brány" + +#: [account]clear +msgid "Leave this instance" +msgstr "Opusťte tuto instanci" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "Smažete všechny informace související s Vaším účtem na této instanci služby Movim (profil, kontakty, a příspěvky)" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "Tato akce nesmaže Váš účet, ale zruší jeho propojení se službou Movim." + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "Smazání OMEMO klíče" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "Touto akcí odstraníte následující? OMEMO klíč. Vaše kontakty již nebudou moci zašifrovat zprávy pomocí tohoto klíče. Tato akce je nevratná. Jste si jistí?" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Akce" + +#: [adhoc]completed +msgid "Action completed" +msgstr "Akce byla dokončena" + +#: [tools]title +msgid "Developer Tools" +msgstr "Vývojářské nástroje" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "Převést SDP na Jingle" + +#: [tools]sdp_title +msgid "SDP" +msgstr "SDP" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "Převést Jingle na SDP" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "Obecné nastavení" + +#: [general]theme +msgid "Theme" +msgstr "Téma" + +#: [general]language +msgid "Default language" +msgstr "Standardní jazyk" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "Je Vaše instance veřejná?" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "Zaregistrujte svou instanci na join.movim.eu a přidejte se k federaci Movim!" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "Omezit návrhy" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "Navrhovat pouze chatovací místnosti, komunity a další obsah, který je dostupný na XMPP serveru uživatele a souvisejících službách" + +#: [chatonly]title +msgid "Chat only" +msgstr "Pouze chat" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "Deaktivovat všechny sociální funkce (komunity, blog…) a ponechat pouze chatovací funkce" + +#: [credentials]title +msgid "Administration Credential" +msgstr "Administrační přístupové údaje" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Uživatelské jméno" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Zadejte heslo znovu" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "Deaktivovat možnost registrace XMPP účtů " + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "Odstranit z rozhraní proces registrace XMPP účtu a tlačítka pro registraci" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "Povolené XMPP servery" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "Pokud chcete na svém Movim podu povolit pouze konkrétní XMPP servery a zakázat připojení ke všem ostatním, zadejte sem jejich doménové názvy oddělené čárkou (např.: movim.eu,jabber.fr)" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "Ponechte toto pole prázdné, chcete-li povolit přístup ke všem XMPP účtům" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "Seznam povolených XMPP serverů" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "Povolené domény pro ochranu proti SSRF" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "Movim vás chrání před zranitelnostmi typu SSRF. To znamená, že Movim blokuje všechny URL adresy (sdílené odkazy, avatary a obrázky), které odkazují na IP adresy ve vaší lokální síti." + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "Související dokumentace k ochraně proti SSRF dostupná na developer.mozilla.org." + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "Zde přidejte všechny domény hostované lokálně (např. pokud zde provozujete blog, službu pro nahrávání souborů přes XMPP nebo jiné webové služby)." + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "Toto nastavení se projeví po restartování daemona." + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "Seznam lokálně autorizovaných domén." + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Popis" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "Obecný popis této instance" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "Ujistěte se, že obrázek není příliš velký a je dostupný z libovolné webové stránky" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "Tato zpráva se zobrazí na přihlašovací stránce. Lze ji použít například k odkazu na smluvní podmínky vaší instance Movim." + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "Pokud nechcete zobrazovat žádnou zprávu, ponechte toto pole prázdné." + +#: [information]label +msgid "Information Message" +msgstr "Informační zpráva" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "Výchozí XMPP server" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "Doména hlavního XMPP serveru" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "Popis hlavního XMPP serveru" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "Vyberte zemi/stát ze seznamu" + +#: [tenor]title +msgid "Tenor integration" +msgstr "Integrace Tenoru" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "Váš Tenor API klíč" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "Movim využívá API Tenor k vyhledávání a sdílení GIFů v chatu" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "Přejděte na Tenor a získejte svůj API klíč" + +#: [log]empty +msgid "Empty" +msgstr "Prázdné" + +#: [log]syslog +msgid "Syslog" +msgstr "Syslog" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "Syslog a soubory" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "Maximální počet připojených sezení" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "Po dosažení tohoto limitu Movim zablokuje připojení nových uživatelů. Nastavením hodnoty na 0 limit deaktivujete" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "Nahlášeno%s uživatelů" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "Tyto účty byly nahlášeny některými Movim uživateli" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "Můžete zvolit, že je zablokujete pro všechny ostatní uživatele" + +#: [adminsessions]title +msgid "Sessions" +msgstr "Sezení" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "Aktuálně připojení uživatelé na podu" + +#: [avatar]file +msgid "File" +msgstr "Soubor" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "Profilový obrázek aktualizován" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "Profilový obrázek nebyl aktualizován" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "Změnit profilový obrázek" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "Obrázek je příliš velký" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "Zatím bez avatara" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "Zablokován" + +#: [blocked]block_account +msgid "Block the account" +msgstr "Zablokuj účet" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "Odblokuj účet" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "Účet zablokován" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "Účet odblokován" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "Zde naleznete seznam uživatelů, které jste zablokovali" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "Tito uživatelé byli zablokování Movimem a nemůžou Vás již kontaktovat" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "Administrátor o tomto seznamu ví, a může proto tyto uživatele zablokovat v celém systému" + +#: [blog]title +msgid "%s’s blog" +msgstr "Blog uživatele %s" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "Tento obsah je soukromý, přihlašte se pro zobrazení" + +#: [message]published +msgid "Message Published" +msgstr "Zpráva zveřejněna" + +#: [message]react +msgid "Add a reaction" +msgstr "Přidat reakci" + +#: [message]retract +msgid "Retract" +msgstr "Odebrat" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "Tato zpráva moderována" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "Vaše zpráva nemohla být poslána, prosím zkuste znovu později" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "Zašifrovaná zpráva" + +#: [message]retracted +msgid "Retracted message" +msgstr "Odebraná zpráva" + +#: [message]composing +msgid "Composing…" +msgstr "Píše..." + +#: [message]invitation +msgid "Invitation" +msgstr "Pozvánka" + +#: [message]paused +msgid "Paused…" +msgstr "Pozastaveno..." + +#: [message]gone +msgid "Contact gone" +msgstr "Kontakt pryč" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "↑ pro úpravu předchozí zprávy" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr ":shortcut: k vložení emotikonu" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "V této chatovací místnosti nemůžete posílat zprávy" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%s potřebuje vaši pozornost" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "Smajlíci" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "Časté kontakty" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "Zatím tu nic není" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "Nebojte se a pošlete první zprávu, abyste zahájili konverzaci" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "Obdržel jste pozvánku k přidání do chatovací místnosti" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "Poslali jste pozvánku k připojení do chatovací místnosti" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "Přidejte se k %s" + +#: [chat]profile +msgid "See the profile" +msgstr "Zobrazit profil" + +#: [chat]clear +msgid "Clear the history" +msgstr "Vymazat historii" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "Upravte poslední zprávu" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "Nahlásit nevhodný obsah" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "Příchozí hovor" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "Odchozí hovor" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "Zmeškaný hovor" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "Odmítnutý hovor" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "Hovor ukončen" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "%s hodin %s minut" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "%s minut a %s sekund" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "%ssekund" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "%s je nyní administrátorem" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "%sje nyní vlastníkem" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "%sje nyní zablokovaný" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "%sje nyní členem" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "Při odesílání zprávy došlo k chybě" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "Vyčistěte lokální historii" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "Chystáte se smazat místní zprávy uživatele %s. Opravdu chcete pokračovat?" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "Tuto akci nelze provést v šifrovaných chatech" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "Toto je začátek této konverzace" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "Můžete se rozhodnout přidat ho jako nový kontakt, nebo ho zablokovat, abyste zabránili dalším nevyžádaným zprávám." + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "Přidat do mých kontaktů" + +#: [chat]first_messages_block +msgid "Block" +msgstr "Zablokovat" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "Zkopírovat text" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "Text byl zkopírovaný" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "Vyhledávat zprávy podle obsahu" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "Nebyly nalezeny žádné zprávy" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "Zahájit konverzaci s kontaktem." + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "Obrázek" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "Vše" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "Kontakty" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "Objevuj, následuj a sdílej" + +#: [communities]counter +msgid "%s communities" +msgstr "%s komunit" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "Vyhledat nový server" + +#: [communities]servers +msgid "Communities servers" +msgstr "Komunitní servery" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "Procházet komunity podle serverů" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "Tento server neexistuje" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "Komunity, které by se Vám mohly líbit" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "Komunita úspěšně vytvořena" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "Na tomto server ještě nejsou žádné komunity" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "Vytvořte novou komunitu na %s" + +#: [communitiesserver]name +msgid "Community name" +msgstr "Název komunity" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "My Little Pony - Klub fanoušků" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "Zadejte platný název komunity (minimálně 4 znaky)" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "Na tomto serveru nemůžete vytvořit novou komunitu" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "Při pokusu o vyhledání položek se naskytl problém" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "Server %s není dostupný" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "Zatím bez komunitních serverů..." + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "Zdá se, že se nám nyní nedaří nalézt žádné komunity" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Konfigurace" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "Odběry" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "Veřejné odběry" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "Komunity byla úspěšně smazána" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "Smazat komunitu" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "Chystáte se smazat následující komunitu. Prosím, potvrďte svoji akci. " + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "Zdá se, že tato komunita již neexistuje. Chcete ji odstranitt ze sledovaných komunit?" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "Konfigurace uložena" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "Vlastníci" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "Role" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "Role nastavena" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "Galerie" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "%s odběratelů" + +#: [communitydata]num +msgid "%s posts" +msgstr "%s příspěvků" + +#: [communitydata]public +msgid "Public page" +msgstr "Veřejná stránka" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "Název mé komunity" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "Objeví se na Vašem profilu" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "Jste si jisti?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "Soukromý účet" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "Ahoj" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "Zde budete moci spravovat všechny vaše odběry." + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "Obecné" + +#: [config]language +msgid "Language" +msgstr "Jazyk" + +#: [config]roster +msgid "Roster display" +msgstr "Zobrazení seznamu" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "Zobrazovat offline kontakty" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "Skrýt offline kontakty" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "Konfigurace aktualizována" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "Konfigurace není validní" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "Pokročilá konfigurace" + +#: [config]nsfw +msgid "Display adult content" +msgstr "Zobrazit obsah pro dospělé" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "Umožní Vám číst příspěvky označené #nsfw" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "Noční režim" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "Hlavní stránka chatu" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "Vždy" + +#: [config]mam_never +msgid "Never" +msgstr "Nikdy" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "Ověřovací kód" + +#: [roster]add_title +msgid "Add a contact" +msgstr "Přidej kontakt" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "Zmáčkněte enter pro potvrzení." + +#: [roster]added +msgid "Contact added" +msgstr "Kontakt přidán" + +#: [roster]updated +msgid "Contact updated" +msgstr "Kontakt aktualizován" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "Kontakt odebrán" + +#: [general]legend +msgid "General Information" +msgstr "Obecné informace" + +#: [general]name +msgid "Name" +msgstr "Jméno" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "Přezdívka" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Datum narození" + +#: [general]gender +msgid "Gender" +msgstr "Pohlaví" + +#: [general]marital +msgid "Marital Status" +msgstr "Rodinný stav" + +#: [general]email +msgid "Email" +msgstr "E-Mail" + +#: [general]website +msgid "Website" +msgstr "Web" + +#: [general]about +msgid "About Me" +msgstr "O mně" + +#: [general]accounts +msgid "Other Accounts" +msgstr "Ostatní účty" + +#: [general]tune +msgid "Is Listening" +msgstr "Poslouchá" + +#: [general]pictures +msgid "Pictures" +msgstr "Obrázky" + +#: [general]links +msgid "Links" +msgstr "Odkazy" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "Váš účet je soukromý" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "Geografická pozice" + +#: [position]locality +msgid "Locality" +msgstr "Lokalita" + +#: [position]country +msgid "Country" +msgstr "Země" + +#: [listen]title +msgid "Listening" +msgstr "Poslouchá" + +#: [last]title +msgid "Last seen" +msgstr "Naposledy viděno" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "Naposledy registrováno" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "Upravit" + +#: [edit]alias +msgid "Alias" +msgstr "Přezdívka" + +#: [edit]group +msgid "Group" +msgstr "Skupina" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "Chystáte se odstranit jeden ze svých kontaktů. Prosím, potvrďte tuto akci. " + +#: [age]years +msgid "%s years" +msgstr "%s let" + +#: [blog]last +msgid "Last public post" +msgstr "Poslední veřejný příspěvek" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "Můžete vidět stav tohoto kontaktu" + +#: [subscription]to_button +msgid "Share my status" +msgstr "Sdílet můj status" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "Ale tento nemůže vidět váš" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "Nejste přihlášení k odebírání tohoto kontaktu" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "Požádat o povolení k odebírání" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "Ale tento kontakt může vidět, zda jste online" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "Pozvat" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "Emotikony" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "Moje oblíbené emotikony" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "Z níže uvedených sad emoji vyberte ty, které chcete přidat mezi oblíbené" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "Spravovat oblíbený emotikon" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "Zkratka může obsahovat pouze malá písmena, číslice a pomlčky" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "Nový oblíbený emotikon přidán" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "Tato zkratka se již používá u jiného emotikonu" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "Často kladené dotazy (FAQ)" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "Kde mohu nalézt seznam skupinových konverzací?" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "Kde najdu své kontakty?" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "Otevřením vyhledávacího panelu." + +#: [apps]title +msgid "Applications" +msgstr "Aplikace" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "Doporučujeme také" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "Přidat do konverzace" + +#: [error]username +msgid "Wrong username" +msgstr "Nesprávné uživatelské jméno" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "Prázdný Challenge od serveru" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "Vnitřní chyba serveru" + +#: [error]session +msgid "Session error" +msgstr "Chyba sezení" + +#: [error]account_created +msgid "Account successfully created" +msgstr "Účet úspěšně vytvořen" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "Nemožné přihlášení" + +#: [error]default +msgid "Unknown error" +msgstr "Neznámá chyba" + +#: [error]login_format +msgid "Invalid username format" +msgstr "Nesprávný formát uživatelského jména" + +#: [error]password_format +msgid "Invalid password format" +msgstr "Nesprávný formát hesla" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "Váš XMPP server není autorizován" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "Movimu se nepodařilo přihlásit. Zadali jste nesprávné přihlašovací údaje." + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "Přihlašovací mechanismus není podporován Movimem" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "XMPP přihlášení selhalo" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "Moje adresa" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "Připojeno" + +#: [form]population +msgid "Population" +msgstr "Populace" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "Zatím žádné novinky..." + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "Moje příspěvky" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "Napsat nový příspěvek" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "Oznámení" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%s s vámi chce mluvit" + +#: [notifs]empty +msgid "No new notifications" +msgstr "Žádná nová oznámení" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "Movim Vás může upozornit, pokud je zveřejněn nový příspěvek nebo zda obdržíte zprávy" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "Můžete je vždy později vypnout" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "Veřejný profil" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "Zeď novinek" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "Objevujte a registrujte nové skupiny, které vás zajímají" + +#: [post]content +msgid "Content" +msgstr "Obsah" + +#: [post]published +msgid "Post published" +msgstr "Příspěvek zveřejněn" + +#: [post]deleted +msgid "Post deleted" +msgstr "Příspěvek smazán" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "Toto je re-post od %s" + +#: [post]see_profile +msgid "See %s profile" +msgstr "Navštivte profil %s" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "Neznámý kontakt" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "Tento příspěvek je veřejný" + +#: [post]public_no +msgid "This post is private" +msgstr "Tento příspěvek je soukromý" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "Veřejná URL tohoto příspěvku" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "Odstranit tento příspěvek" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "Odstraníte tento příspěvek, potvrďte prosím akci" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "Komentáře vypnuty" + +#: [post]comment_published +msgid "Comment published" +msgstr "Komentář zveřejněn" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "Komentář smazán" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "Odeslat kontakt" + +#: [hello]share_title +msgid "Universal share button" +msgstr "Univerzální tlačítko sdílení" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "Přidejte si následující tlačítko do záložek ve vašem prohlížeči, nebo jej přetáhněte do lišty nástrojů; kliknutím na záložku lze sdílet jakoukoliv stránku na Movimu" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "Sdílet na Movimu" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "Ah! Ahoj!" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "Zdá se, že jste tu noví! Vítejte v Movimu!" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "Prohlédněte si menu" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "Zdá se, že jste ještě nedokončili svůj profil" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "Odpojit" + +#: [status]presence +msgid "Presence" +msgstr "Přítomnost" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "Chcete se skutečně odhlásit?" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "Můj profilový obrázek" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "Odkaz byl zkopírován do schránky" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "Co je nového?" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "Napsat příspěvek" + +#: [publish]add_link +msgid "Add a link" +msgstr "Přidat odkaz" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "Zadejte prosím nadpis" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "Ukázka" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "Nové příspěvky" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "Markdown obsah" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "Prosím, zadejte platný URL odkaz" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "Můžete svůj obsah formátovat syntaxí Markdown" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "Návrh uložen" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "Váš příspěvek je přiliš dlouhý, a proto jej nelze zveřejnit" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "Váš text je příliš dlouhý. Maximálně %s znaků " + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "Váš blog je přístupný pouze Vašim odběratelům. V kartě nastavení ho můžete zpřístupnit všem." + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "Pomoc" + +#: [publishhelp]more +msgid "More help" +msgstr "Další pomoc" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "Návod na syntaxi Markdown" + +#: [story]new +msgid "New story" +msgstr "Nový příběh" + +#: [story]new_edit +msgid "Edit your story" +msgstr "Upravit příběh" + +#: [story]new_publish +msgid "Publish your story" +msgstr "Zveřejnit příběh" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "Zveřejnit mým kontaktům" + +#: [story]uploading +msgid "Uploading the story" +msgstr "Nahrávání příběhu" + +#: [story]publishing +msgid "Publishing the story" +msgstr "Zveřejňování příběhu" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Vytvořit nový účet" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "Žádný formulář pro vytvoření účtu nebyl nalezen na cílovém serveru" + +#: [create]server_on +msgid "on" +msgstr "na" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "Načítání" + +#: [create]placeholder +msgid "…and start playing" +msgstr "... a začněte hrát" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Nepřijatelné" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "Registrační systém tohoto serveru není momentálně dostupný" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "Registrace zakázána" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "Prázdné jméno" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "Přidejte konverzaci kliknutím na tlačítko přidat." + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "Členi" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "Předmět" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "Konverzace" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "Záložky aktualizovány" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "Přihlásit na %s" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "Štítky" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "Nálepka byla odeslána pomocí Movim" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "Tento kontakt nemá žádnou veřejnou zeď" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "Neuveden žádný kontakt" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "Nahrát" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "Vyberte soubor pro nahrání" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Profil" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "Profil aktualizován" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "Profil neaktualizován" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "Váš profil je nyní veřejný" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "Váš profil je nyní omezený" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Odeslat" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Resetovat" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "Příchozí videohovor" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "Příchozí hlasový hovor" + +#: [visio]ringing +msgid "…ringing" +msgstr "...vyzvání" + +#: [visio]declined +msgid "Declined" +msgstr "Hovor odmítnut" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "Načítání..." + +#: [global]or +msgid "Or" +msgstr "Nebo" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "Připojte se k jinému podu" + +#: [global]main_menu +msgid "Main menu" +msgstr "Hlavní nabídka" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "Spodní nabídka" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "O nás" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Vytvoření účtu" + +#: [page]administration +msgid "Administration" +msgstr "Administrace" + +#: [page]avatar +msgid "Profile Picture" +msgstr "Profilový obrázek" + +#: [page]blog +msgid "Blog" +msgstr "Blog" + +#: [page]chats +msgid "Messages" +msgstr "Zprávy" + +#: [page]communities +msgid "Communities" +msgstr "Komunity" + +#: [page]explore +msgid "Explore" +msgstr "Prohlížení" + +#: [page]feed +msgid "Feed" +msgstr "Zeď" + +#: [page]home +msgid "Home" +msgstr "Domů" + +#: [page]login +msgid "Login" +msgstr "Přihlášení" + +#: [page]news +msgid "News" +msgstr "Novinky" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "Příspěvky" + +#: [page]publish +msgid "Publish" +msgstr "Zveřejnit" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "Sdílet" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "Štítek" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "Chyba: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "Nelze načíst soubor \"%s\"" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "Vyžádaná událost \"%s\" není zaregistrována." + +#: [error]whoops +msgid "Whoops!" +msgstr "Ups!" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "Ups!" + +#: [button]accept +msgid "Accept" +msgstr "Přijmout" + +#: [button]add +msgid "Add" +msgstr "Přidat" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "Ne" + +#: [button]bool_yes +msgid "Yes" +msgstr "Ano" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "Zrušit" + +#: [button]chat +msgid "Chat" +msgstr "Konverzace" + +#: [button]clear +msgid "Clear" +msgstr "Vymazat" + +#: [button]close +msgid "Close" +msgstr "Zavřít" + +#: [button]connecting +msgid "Connecting" +msgstr "Připojuji" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "Odstranit" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "Objevit" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "Nová konverzace" + +#: [button]next +msgid "Next" +msgstr "Následující" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "Předchozí" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "Obnovit" + +#: [button]refuse +msgid "Refuse" +msgstr "Odmítnout" + +#: [button]register +msgid "Register" +msgstr "Registrovat" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "Navrátit se zpět" + +#: [button]save +msgid "Save" +msgstr "Uložit" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "Sdílet" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "Odesílám" + +#: [button]unregister +msgid "Unregister" +msgstr "Odregistrovat" + +#: [button]update +msgid "Update" +msgstr "Aktualizovat" + +#: [button]updating +msgid "Updating" +msgstr "Aktualizuji" + +#: [button]validate +msgid "Validate" +msgstr "Validovat" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "Den" + +#: [day]monday +msgid "Monday" +msgstr "Pondělí" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Úterý" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Středa" + +#: [day]thursday +msgid "Thursday" +msgstr "Čtvrtek" + +#: [day]friday +msgid "Friday" +msgstr "Pátek" + +#: [day]saturday +msgid "Saturday" +msgstr "Sobota" + +#: [day]sunday +msgid "Sunday" +msgstr "Neděle" + +#: [client]bot +msgid "Bot" +msgstr "Bot" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "Počítač" + +#: [client]phone +msgid "Phone" +msgstr "Mobil" + +#: [client]web +msgid "Web" +msgstr "Web" + +#: [client]registered +msgid "Registered" +msgstr "Registrován" + +#: [client]gateway +msgid "Gateway" +msgstr "Brána" + +#: [client]im +msgid "Server" +msgstr "Server" + +#: [presence]online +msgid "Online" +msgstr "Online" + +#: [presence]away +msgid "Away" +msgstr "Pryč" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "Nerušit" + +#: [presence]xa +msgid "Extended Away" +msgstr "Déle pryč" + +#: [presence]offline +msgid "Offline" +msgstr "Offline" + +#: [presence]error +msgid "Error" +msgstr "Chyba" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "zamilovaný" + +#: [mood]angry +msgid "angry" +msgstr "rozlobený" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "znuděný" + +#: [mood]brave +msgid "brave" +msgstr "statečný" + +#: [mood]calm +msgid "calm" +msgstr "klidný" + +#: [mood]cautious +msgid "cautious" +msgstr "opatrný" + +#: [mood]cold +msgid "cold" +msgstr "chladný" + +#: [mood]confident +msgid "confident" +msgstr "sebejistý" + +#: [mood]confused +msgid "confused" +msgstr "zmatený" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "výstřední" + +#: [mood]crazy +msgid "crazy" +msgstr "bláznivý" + +#: [mood]creative +msgid "creative" +msgstr "tvůrčí" + +#: [mood]curious +msgid "curious" +msgstr "zvědavý" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "šťastný" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "žhavý" + +#: [mood]humbled +msgid "humbled" +msgstr "pokořený" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "hladový" + +#: [mood]hurt +msgid "hurt" +msgstr "zraněný" + +#: [mood]impressed +msgid "impressed" +msgstr "zapůsobil" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "smutný" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "sarkastický" + +#: [mood]satisfied +msgid "satisfied" +msgstr "spokojený" + +#: [mood]serious +msgid "serious" +msgstr "vážný" + +#: [mood]shocked +msgid "shocked" +msgstr "vylekaný" + +#: [mood]shy +msgid "shy" +msgstr "stydlivý" + +#: [mood]sick +msgid "sick" +msgstr "nemocný" + +#: [mood]sleepy +msgid "sleepy" +msgstr "ospalý" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "spontánní" + +#: [mood]stressed +msgid "stressed" +msgstr "stresovaný" + +#: [mood]strong +msgid "strong" +msgstr "silný" + +#: [mood]surprised +msgid "surprised" +msgstr "překvapený" + +#: [mood]thankful +msgid "thankful" +msgstr "vděčný" + +#: [mood]thirsty +msgid "thirsty" +msgstr "žíznivý" + +#: [mood]tired +msgid "tired" +msgstr "unavený" + +#: [mood]undefined +msgid "undefined" +msgstr "nedefinovaný" + +#: [mood]weak +msgid "weak" +msgstr "slabý" + +#: [mood]worried +msgid "worried" +msgstr "znepokojený" + +#: [month]title +msgid "Month" +msgstr "Měsíc" + +#: [month]january +msgid "January" +msgstr "Leden" + +#: [month]february +msgid "February" +msgstr "Únor" + +#: [month]march +msgid "March" +msgstr "Březen" + +#: [month]april +msgid "April" +msgstr "Duben" + +#: [month]may +msgid "May" +msgstr "Květen" + +#: [month]june +msgid "June" +msgstr "Červen" + +#: [month]july +msgid "July" +msgstr "Červenec" + +#: [month]august +msgid "August" +msgstr "Srpen" + +#: [month]september +msgid "September" +msgstr "Září" + +#: [month]october +msgid "October" +msgstr "Říjen" + +#: [month]november +msgid "November" +msgstr "Listopad" + +#: [month]december +msgid "December" +msgstr "Prosinec" + +#: [year]title +msgid "Year" +msgstr "Rok" + +#: [date]today +msgid "Today" +msgstr "Dnes" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "Zítra" + +#: [date]yesterday +msgid "Yesterday" +msgstr "Včera" + +#: [date]ago +msgid "%d days ago" +msgstr "Před %d dny" + +#: [date]day +msgid "day" +msgstr "den" + +#: [post]title +msgid "Title" +msgstr "Nadpis" + +#: [post]place +msgid "Place" +msgstr "Místo" + +#: [post]by +msgid "by" +msgstr "od" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "Geolokace" + +#: [post]email +msgid "email" +msgstr "e-mail" + +#: [post]empty +msgid "No content" +msgstr "Žádný obsah" + +#: [post]no_comments +msgid "No comments yet" +msgstr "Zatím žádné komentáře" + +#: [post]older +msgid "Get older posts" +msgstr "Získat starší příspěvky" + +#: [post]new_items +msgid "%s new items" +msgstr "%s nových věcí" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "Chyba při zveřejňování komentáře" + +#: [post]comments_get +msgid "Get the comments" +msgstr "Získat komentáře" + +#: [post]comment_add +msgid "Add a comment" +msgstr "Přidat komentář" + +#: [post]share +msgid "Share with" +msgstr "Sdílet s" + +#: [post]share_everyone +msgid "Everyone" +msgstr "Všichni" + +#: [post]updated +msgid "Updated" +msgstr "Aktualizováno" + +#: [post]content_not_found +msgid "Content not found" +msgstr "Obsah nenalezen" + +#: [post]default_title +msgid "Contact publication" +msgstr "Kontakt příspěvek" + +#: [post]comments +msgid "Comments" +msgstr "Komentáře" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "Vlastník" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "Vydavatel" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "Člen" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "API je nedostupná, zkuste to znovu později" + +#: [field]type_here +msgid "Type here" +msgstr "Pište sem" diff --git a/frontend/locales/da.po b/frontend/locales/da.po new file mode 100644 index 0000000..ba9baaa --- /dev/null +++ b/frontend/locales/da.po @@ -0,0 +1,4155 @@ +# +# Translators: +# Mikkel Kirkgaard Nielsen , 2016 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Mikkel Kirkgaard Nielsen , 2016\n" +"Language-Team: Danish (http://app.transifex.com/movim/movim/language/da/)\n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Tak" + +#: [about]developers +msgid "Developers" +msgstr "Udviklere" + +#: [about]translators +msgid "Translators" +msgstr "Oversættere" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Tak til alle oversætterne" + +#: [about]software +msgid "Software" +msgstr "Software" + +#: [about]resources +msgid "Resources" +msgstr "Ressourcer" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim er en XMPP-baseret kommunikationsplatform. Hele projektet, med undtagelse af den følgende software og ressourcer er udgivet under" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Konto" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Ændr adgangskode" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Adgangskode" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Bekræft adgangskode" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "Adgangskoden er opdateret" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "De angivne adgangskoder er ikke ens" + +#: [account]delete +msgid "Delete your account" +msgstr "Slet min konto" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Handlinger" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "Generelle indstillinger" + +#: [general]theme +msgid "Theme" +msgstr "Tema" + +#: [general]language +msgid "Default language" +msgstr "Standardsprog" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "Log detaljerethed" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "Administrations legitimationsstyring" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Brugernavn" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Gentag adgangskode" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "Efterlad dette felt tomt hvis du vil tillade adgang til alle XMPP-konti." + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Beskrivelse" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "Informationsbesked" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "Tomt" + +#: [log]syslog +msgid "Syslog" +msgstr "Syslog" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "Syslog og filer" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "Sessioner" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "Fil" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "Dette indhold er privat, log ind for at se det" + +#: [message]published +msgid "Message Published" +msgstr "Besked publiceret" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "Krypteret meddelelse" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "Kontakt er væk" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%s har brug for din opmærksomhed" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "Smileyer" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "Ofte brugte kontakter" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "Snak med en kontakt" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "Alle" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "Kontakter" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "Opdag, følg og del" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "Led efter en ny server" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "My Little Pony - Fanklub" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Opsætning" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "Abonnementer" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "Opsætning gemt" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "Galleri" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "%s abonnenter" + +#: [communitydata]num +msgid "%s posts" +msgstr "%s indlæg" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "Er du sikker?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "Hej" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "Her kan du håndtere alle dine abonnementer." + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "Generelt" + +#: [config]language +msgid "Language" +msgstr "Sprog" + +#: [config]roster +msgid "Roster display" +msgstr "Kontaktliste" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "Vis offline kontakter" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "Skjul offline kontakter" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "Opsætning opdateret" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "Ugyldig opsætning" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "Avanceret Opsætning" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "Tryk enter vor at validere." + +#: [roster]added +msgid "Contact added" +msgstr "Kontakt tilføjet" + +#: [roster]updated +msgid "Contact updated" +msgstr "Kontakt opdateret" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "Kontakt slettet" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "Navn" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "Kaldenavn" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Fødselsdag" + +#: [general]gender +msgid "Gender" +msgstr "Køn" + +#: [general]marital +msgid "Marital Status" +msgstr "Ægteskabelig Status" + +#: [general]email +msgid "Email" +msgstr "E-mail" + +#: [general]website +msgid "Website" +msgstr "Hjemmeside" + +#: [general]about +msgid "About Me" +msgstr "Om mig" + +#: [general]accounts +msgid "Other Accounts" +msgstr "Andre Konti" + +#: [general]tune +msgid "Is Listening" +msgstr "Lytter" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "Geografisk Placering" + +#: [position]locality +msgid "Locality" +msgstr "Lokalitet" + +#: [position]country +msgid "Country" +msgstr "Land" + +#: [listen]title +msgid "Listening" +msgstr "Lytter" + +#: [last]title +msgid "Last seen" +msgstr "Sidst set" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "Sidst registreret" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "Redigér" + +#: [edit]alias +msgid "Alias" +msgstr "Alias" + +#: [edit]group +msgid "Group" +msgstr "Gruppe" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "%s år" + +#: [blog]last +msgid "Last public post" +msgstr "Sidste offentlige indlæg" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "Du kan se denne kontakts status" + +#: [subscription]to_button +msgid "Share my status" +msgstr "Del min status" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "Men denne kontakt kan ikke se din" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "Du abonnerer ikke på denne kontakt" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "Forespørg om abonnement" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "Men denne kontakt kan alligevel se om du er online" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "Inviter" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "Ofte Stillede Spørgsmål" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "Tilføj chatrummet" + +#: [error]username +msgid "Wrong username" +msgstr "Forkert brugernavn" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "Tom Challenge fra serveren" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "Intern serverfejl" + +#: [error]session +msgid "Session error" +msgstr "Sessionsfejl" + +#: [error]account_created +msgid "Account successfully created" +msgstr "Konto er oprettet" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "Login ikke muligt" + +#: [error]default +msgid "Unknown error" +msgstr "Ukendt fejl" + +#: [error]login_format +msgid "Invalid username format" +msgstr "Ugyldigt brugernavn" + +#: [error]password_format +msgid "Invalid password format" +msgstr "Ugyldigt adgangskode-format" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "Din XMPP server er ikke tilladt" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "Movim kunne ikke autentificere sig. Du indtastede forkert data" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "Autentificeringsmekanismen er ikke understøttet af Movim" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "XMPP-autentifikationen fejlede" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "Min adresse" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "Forbundet" + +#: [form]population +msgid "Population" +msgstr "Befolkning" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%s vil gerne snakke med dig" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "Nyhedsfeed" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "Opdag og tilmeld dig til de grupper du er interesseret i" + +#: [post]content +msgid "Content" +msgstr "Indhold" + +#: [post]published +msgid "Post published" +msgstr "Indlæg udgivet" + +#: [post]deleted +msgid "Post deleted" +msgstr "Indlæg slettet" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "Dette er et delt inlæg fra %s" + +#: [post]see_profile +msgid "See %s profile" +msgstr "Se profilen for %s" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "Dette indlæg er offentligt" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "Slet dette indlæg" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "Du er ved at slette dette indlæg, bekræft venligst din handling" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "Kommentarer slået fra" + +#: [post]comment_published +msgid "Comment published" +msgstr "Kommentar udgivet" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "Kontakt indlæg" + +#: [hello]share_title +msgid "Universal share button" +msgstr "Universel dele-knap" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "Bogmærk eller træk og slip følgende knap ind på din værktøjslinje og brug den på alle de sider du gerne vil dele på Movim" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "Del på Movim" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "Jamen, goddag!" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "Gå på opdagelse i menuen" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "Afbryd" + +#: [status]presence +msgid "Presence" +msgstr "Tilstedeværelse" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "Angiv venligst en titel" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "Forhåndsvisning" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "Nyt indlæg" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "Du kan formatere indhold ved brug af Markdown" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "Hjælp" + +#: [publishhelp]more +msgid "More help" +msgstr "Mere hjælp" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "Markdown-syntaksmanual" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Opret en ny konto" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "Kontooprettelsesformular ikke fundet på serveren" + +#: [create]server_on +msgid "on" +msgstr "på" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "Indlæser" + +#: [create]placeholder +msgid "…and start playing" +msgstr "..og begynd at lege" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Ikke acceptabel" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "Registreringssystemet på denne server er i øjeblikket ikke tilgængeligt" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "Tomt navn" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "Tilføj ved at klikke på tilføj-knappen" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "Medlemmer" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "Emne" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "Chatrum" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "Bogmærker opdateret" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "Log ind på %s" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "Mærkater" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "Intet offentligt feed for kontakt" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "Ingen kontakt specificeret" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "Upload" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "Vælg en fil at uploade" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Profil" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "Profil opdateret" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "Profil ikke opdateret" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "Din profil er nu offentlig" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "Din profil er nu begrænset" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Indsend" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Nulstil" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "Afslået" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "Om" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Kontooprettelse" + +#: [page]administration +msgid "Administration" +msgstr "Administration" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "Blog" + +#: [page]chats +msgid "Messages" +msgstr "Beskeder" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "Udforsk" + +#: [page]feed +msgid "Feed" +msgstr "Kilde" + +#: [page]home +msgid "Home" +msgstr "Start" + +#: [page]login +msgid "Login" +msgstr "Log ind" + +#: [page]news +msgid "News" +msgstr "Nyheder" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "Indlæg" + +#: [page]publish +msgid "Publish" +msgstr "Publicer" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "Del" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "Mærkat" + +#: [page]visio +msgid "Visio-conference" +msgstr "Visio-konference" + +#: [error]error +msgid "Error: %s" +msgstr "Fejl: '%s'" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "Kan ikke indlæse fil '%s'" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "Efterspurgte event '%s' er ikke registreret" + +#: [error]whoops +msgid "Whoops!" +msgstr "Hovsa!" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "Uups!" + +#: [button]accept +msgid "Accept" +msgstr "Godkend" + +#: [button]add +msgid "Add" +msgstr "Tilføj" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "Nej" + +#: [button]bool_yes +msgid "Yes" +msgstr "Ja" + +#: [button]call +msgid "Call" +msgstr "Ring op" + +#: [button]cancel +msgid "Cancel" +msgstr "Annullér" + +#: [button]chat +msgid "Chat" +msgstr "Chat" + +#: [button]clear +msgid "Clear" +msgstr "Rens" + +#: [button]close +msgid "Close" +msgstr "Luk" + +#: [button]connecting +msgid "Connecting" +msgstr "Forbinder" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "Slet" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "Opdag" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "Næste" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "Forrige" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "Genopfrisk" + +#: [button]refuse +msgid "Refuse" +msgstr "Afvis" + +#: [button]register +msgid "Register" +msgstr "Registrér" + +#: [button]remove +msgid "Remove" +msgstr "Fjern" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "Returnér" + +#: [button]save +msgid "Save" +msgstr "Gem" + +#: [button]search +msgid "Search" +msgstr "Søg" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "Del" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "Indsender" + +#: [button]unregister +msgid "Unregister" +msgstr "Afmeld" + +#: [button]update +msgid "Update" +msgstr "Opdatér" + +#: [button]updating +msgid "Updating" +msgstr "Opdatérer" + +#: [button]validate +msgid "Validate" +msgstr "Validér" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "Dag" + +#: [day]monday +msgid "Monday" +msgstr "Mandag" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Tirsdag" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Onsdag" + +#: [day]thursday +msgid "Thursday" +msgstr "Torsdag" + +#: [day]friday +msgid "Friday" +msgstr "Fredag" + +#: [day]saturday +msgid "Saturday" +msgstr "Lørdag" + +#: [day]sunday +msgid "Sunday" +msgstr "Søndag" + +#: [client]bot +msgid "Bot" +msgstr "Bot" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "Skrivebord" + +#: [client]phone +msgid "Phone" +msgstr "Telefon" + +#: [client]web +msgid "Web" +msgstr "Web" + +#: [client]registered +msgid "Registered" +msgstr "Registreret" + +#: [client]gateway +msgid "Gateway" +msgstr "Gateway" + +#: [client]im +msgid "Server" +msgstr "Server" + +#: [presence]online +msgid "Online" +msgstr "Online" + +#: [presence]away +msgid "Away" +msgstr "Ikke tilstede" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "Vil ikke forstyrres" + +#: [presence]xa +msgid "Extended Away" +msgstr "Væk i længere tid" + +#: [presence]offline +msgid "Offline" +msgstr "Offline" + +#: [presence]error +msgid "Error" +msgstr "Fejl" + +#: [mood]afraid +msgid "afraid" +msgstr "bange" + +#: [mood]amazed +msgid "amazed" +msgstr "forbløffet" + +#: [mood]amorous +msgid "amorous" +msgstr "kælen" + +#: [mood]angry +msgid "angry" +msgstr "vred" + +#: [mood]annoyed +msgid "annoyed" +msgstr "irriteret" + +#: [mood]anxious +msgid "anxious" +msgstr "nervøs" + +#: [mood]aroused +msgid "aroused" +msgstr "opstemt" + +#: [mood]ashamed +msgid "ashamed" +msgstr "skamfuld" + +#: [mood]bored +msgid "bored" +msgstr "kedsom" + +#: [mood]brave +msgid "brave" +msgstr "modig" + +#: [mood]calm +msgid "calm" +msgstr "fredfyldt" + +#: [mood]cautious +msgid "cautious" +msgstr "forsigtig" + +#: [mood]cold +msgid "cold" +msgstr "kold" + +#: [mood]confident +msgid "confident" +msgstr "selvsikker" + +#: [mood]confused +msgid "confused" +msgstr "forvirret" + +#: [mood]contemplative +msgid "contemplative" +msgstr "eftertænksom" + +#: [mood]contented +msgid "contented" +msgstr "tilfreds" + +#: [mood]cranky +msgid "cranky" +msgstr "småsur" + +#: [mood]crazy +msgid "crazy" +msgstr "skør" + +#: [mood]creative +msgid "creative" +msgstr "kreativ" + +#: [mood]curious +msgid "curious" +msgstr "nysgerrig" + +#: [mood]dejected +msgid "dejected" +msgstr "modløs" + +#: [mood]depressed +msgid "depressed" +msgstr "depressiv" + +#: [mood]disappointed +msgid "disappointed" +msgstr "skuffet" + +#: [mood]disgusted +msgid "disgusted" +msgstr "væmmet" + +#: [mood]dismayed +msgid "dismayed" +msgstr "forfærdet" + +#: [mood]distracted +msgid "distracted" +msgstr "distraheret" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "flov" + +#: [mood]envious +msgid "envious" +msgstr "misundelig" + +#: [mood]excited +msgid "excited" +msgstr "begejstret" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "flirtende" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "taknemmelig" + +#: [mood]grieving +msgid "grieving" +msgstr "sørgende" + +#: [mood]grumpy +msgid "grumpy" +msgstr "gnaven" + +#: [mood]guilty +msgid "guilty" +msgstr "skyldig" + +#: [mood]happy +msgid "happy" +msgstr "glad" + +#: [mood]hopeful +msgid "hopeful" +msgstr "håbefuld" + +#: [mood]hot +msgid "hot" +msgstr "hot" + +#: [mood]humbled +msgid "humbled" +msgstr "ydmyg" + +#: [mood]humiliated +msgid "humiliated" +msgstr "ydmyget" + +#: [mood]hungry +msgid "hungry" +msgstr "sulten" + +#: [mood]hurt +msgid "hurt" +msgstr "såret" + +#: [mood]impressed +msgid "impressed" +msgstr "imponeret" + +#: [mood]in_awe +msgid "in awe" +msgstr "i ærefrygt" + +#: [mood]in_love +msgid "in love" +msgstr "forelsket" + +#: [mood]indignant +msgid "indignant" +msgstr "indigneret" + +#: [mood]interested +msgid "interested" +msgstr "interreseret" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "beruset" + +#: [mood]invincible +msgid "invincible" +msgstr "uovervindelig" + +#: [mood]jealous +msgid "jealous" +msgstr "jaloux" + +#: [mood]lonely +msgid "lonely" +msgstr "ensom" + +#: [mood]lost +msgid "lost" +msgstr "fortabt" + +#: [mood]lucky +msgid "lucky" +msgstr "heldig" + +#: [mood]mean +msgid "mean" +msgstr "ondskabfuld" + +#: [mood]moody +msgid "moody" +msgstr "humørsyg" + +#: [mood]nervous +msgid "nervous" +msgstr "nervøs" + +#: [mood]neutral +msgid "neutral" +msgstr "neutral" + +#: [mood]offended +msgid "offended" +msgstr "forarget" + +#: [mood]outraged +msgid "outraged" +msgstr "rasende" + +#: [mood]playful +msgid "playful" +msgstr "legesyg" + +#: [mood]proud +msgid "proud" +msgstr "stolt" + +#: [mood]relaxed +msgid "relaxed" +msgstr "afslappet" + +#: [mood]relieved +msgid "relieved" +msgstr "lettet" + +#: [mood]remorseful +msgid "remorseful" +msgstr "angrende" + +#: [mood]restless +msgid "restless" +msgstr "rastløs" + +#: [mood]sad +msgid "sad" +msgstr "ked af det" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "sarkastisk" + +#: [mood]satisfied +msgid "satisfied" +msgstr "tilfredsstillet" + +#: [mood]serious +msgid "serious" +msgstr "seriøs" + +#: [mood]shocked +msgid "shocked" +msgstr "chokeret" + +#: [mood]shy +msgid "shy" +msgstr "genert" + +#: [mood]sick +msgid "sick" +msgstr "syg" + +#: [mood]sleepy +msgid "sleepy" +msgstr "søvnig" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "spontan" + +#: [mood]stressed +msgid "stressed" +msgstr "stresset" + +#: [mood]strong +msgid "strong" +msgstr "stærk" + +#: [mood]surprised +msgid "surprised" +msgstr "overrasket" + +#: [mood]thankful +msgid "thankful" +msgstr "taknemlig" + +#: [mood]thirsty +msgid "thirsty" +msgstr "tøstig" + +#: [mood]tired +msgid "tired" +msgstr "træt" + +#: [mood]undefined +msgid "undefined" +msgstr "udefineret" + +#: [mood]weak +msgid "weak" +msgstr "svag" + +#: [mood]worried +msgid "worried" +msgstr "bekymret" + +#: [month]title +msgid "Month" +msgstr "Måned" + +#: [month]january +msgid "January" +msgstr "Januar" + +#: [month]february +msgid "February" +msgstr "Februar" + +#: [month]march +msgid "March" +msgstr "Marts" + +#: [month]april +msgid "April" +msgstr "April" + +#: [month]may +msgid "May" +msgstr "Maj" + +#: [month]june +msgid "June" +msgstr "Juni" + +#: [month]july +msgid "July" +msgstr "Juli" + +#: [month]august +msgid "August" +msgstr "August" + +#: [month]september +msgid "September" +msgstr "September" + +#: [month]october +msgid "October" +msgstr "Oktober" + +#: [month]november +msgid "November" +msgstr "November" + +#: [month]december +msgid "December" +msgstr "December" + +#: [year]title +msgid "Year" +msgstr "År" + +#: [date]today +msgid "Today" +msgstr "I dag" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "I morgen" + +#: [date]yesterday +msgid "Yesterday" +msgstr "I går" + +#: [date]ago +msgid "%d days ago" +msgstr "%d dage siden" + +#: [date]day +msgid "day" +msgstr "dag" + +#: [post]title +msgid "Title" +msgstr "Titel" + +#: [post]place +msgid "Place" +msgstr "Sted" + +#: [post]by +msgid "by" +msgstr "af" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "Geolokalisering" + +#: [post]email +msgid "email" +msgstr "e-mail" + +#: [post]empty +msgid "No content" +msgstr "Intet indhold" + +#: [post]no_comments +msgid "No comments yet" +msgstr "Endnu ingen kommentarer" + +#: [post]older +msgid "Get older posts" +msgstr "Hent ældre indlæg" + +#: [post]new_items +msgid "%s new items" +msgstr "%s nye elementer" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "Kommentar udgivelsesfejl" + +#: [post]comments_get +msgid "Get the comments" +msgstr "Hent kommentarerne" + +#: [post]comment_add +msgid "Add a comment" +msgstr "Tilføj en kommentar" + +#: [post]share +msgid "Share with" +msgstr "Del med" + +#: [post]share_everyone +msgid "Everyone" +msgstr "Alle" + +#: [post]updated +msgid "Updated" +msgstr "Opdateret" + +#: [post]content_not_found +msgid "Content not found" +msgstr "Indhold ikke fundet" + +#: [post]default_title +msgid "Contact publication" +msgstr "Kontaktudgivelse" + +#: [post]comments +msgid "Comments" +msgstr "Kommentarer" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "API'et kan ikke nåes, prøv igen senere" + +#: [field]type_here +msgid "Type here" +msgstr "Skriv her" diff --git a/frontend/locales/de.po b/frontend/locales/de.po new file mode 100644 index 0000000..473f193 --- /dev/null +++ b/frontend/locales/de.po @@ -0,0 +1,4178 @@ +# +# Translators: +# a9da1daea11d7960a1b6b8bfb4ef2632_b05ed48 <16327868bab12392b248b0f6f68a1655_152836>, 2015 +# bbccd56199dff1756d18cc89f7ff4628, 2018 +# a9da1daea11d7960a1b6b8bfb4ef2632_b05ed48 <16327868bab12392b248b0f6f68a1655_152836>, 2015 +# Christian , 2017 +# dbd0fc79e069aa359d552fe33b3bbf67_0532028, 2016 +# Dominik George , 2017-2019 +# Fabian Thiele , 2016 +# Henri , 2016 +# Jaussoin Timothée , 2017,2023 +# j k , 2016 +# Johann Philipp Strathausen , 2015 +# Lyn, 2022 +# Lyn, 2022 +# Maurice Breznik , 2015 +# No , 2015 +# Peter Grman , 2016 +# Henri , 2016 +# dbd0fc79e069aa359d552fe33b3bbf67_0532028, 2016 +# Roland , 2016 +# Roland , 2016 +# Rüdiger Holzmann , 2015 +# bbccd56199dff1756d18cc89f7ff4628, 2018 +# Tobias Bannert , 2015 +# Tom Teichler , 2018-2020 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Tobias Bannert , 2015\n" +"Language-Team: German (http://app.transifex.com/movim/movim/language/de/)\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Danke" + +#: [about]developers +msgid "Developers" +msgstr "Entwickler" + +#: [about]translators +msgid "Translators" +msgstr "Übersetzer" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Danke an alle Übersetzer" + +#: [about]software +msgid "Software" +msgstr "Programm" + +#: [about]resources +msgid "Resources" +msgstr "Ressourcen" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim ist eine XMPP-basierte Kommunikationsplattform. Das gesamte Projekt, ausgenommen der folgenden Anwendung und Ressourcen, sind unter" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "Quellcode" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Konto" + +#: [account]account_management +msgid "Account management" +msgstr "Kontoverwaltung" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Mein Passwort ändern" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Passwort" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Passwortbestätigung" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "Das Passwort wurde aktualisiert" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "Die eingegebenen Passwörter stimmen nicht überein" + +#: [account]delete +msgid "Delete your account" +msgstr "Ihr Konto löschen" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "Du wirst dein XMPP-Konto und alle verbundenen Informationen (Profil, Kontakte, Veröffentlichungen) löschen." + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "Gib deinen vollen Benutzernamen ein" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "Bitte gib einen richtigen Benutzernamen ein" + +#: [account]gateway_title +msgid "Gateways" +msgstr "Gateways" + +#: [account]clear +msgid "Leave this instance" +msgstr "Diesen Pod verlassen" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "Du wirst alle Informationen löschen, die mit deinem Konto auf dieser Movim-Instanz verbunden sind (Profil, Kontakte und Veröffentlichungen)." + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "Diese Aktion wird dein Konto nicht löschen, sondern dich von Movim abmelden." + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "OMEMO-Schlüssellöschung" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "Du bist dabei, den folgenden OMEMO-Schlüssel zu zerstören. Deine Kontakte werden Nachrichten nicht mehr mit diesem Schlüssel verschlüsseln können. Diese Aktion kann nicht rückgängig gemacht werden. Bist du sicher?" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Aktionen" + +#: [adhoc]completed +msgid "Action completed" +msgstr "Vorgang abgeschlossen" + +#: [tools]title +msgid "Developer Tools" +msgstr "Entwicklerwerkzeuge" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "SDP zu Jingle konvertieren" + +#: [tools]sdp_title +msgid "SDP" +msgstr "SDP" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "Jingle zu SDP konvertieren" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "Jingle-Stanza" + +#: [admin]general +msgid "General Settings" +msgstr "Grundeinstellungen" + +#: [general]theme +msgid "Theme" +msgstr "Thema" + +#: [general]language +msgid "Default language" +msgstr "Standardsprache" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "Protokollstufe" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "Deine Instanz ist öffentlich?" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "Registriere deine Instanz auf join.movim.eu und tritt der Movim-Föderation bei!" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "Vorschläge einschränken" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "Nur Chaträume, Gemeinschaften und andere Inhalte vorschlagen, die auf dem XMPP-Server und den verbundenen Diensten des Benutzers verfügbar sind" + +#: [chatonly]title +msgid "Chat only" +msgstr "Nur Nachrichten" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "Alle Social-Funktionen (Gemeinschaften, Blog,…) deaktivieren und nur die Nachrichten-Funktion behalten." + +#: [credentials]title +msgid "Administration Credential" +msgstr "Systemverwaltungsberechtigung" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Benutzername" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Passwort erneut eingeben" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "XMPP-Registrierung deaktivieren" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "Entfernt den XMPP-Registrierprozess und die dazugehörigen Buttons vom Interface" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "Erlaubte XMPP-Server" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "Wenn du eine Liste von autorisierten XMPP-Servern auf deinem Movim-Pod spezifizieren und die Verbindung von allen anderen Servern verbieten möchtest, füge die Domain-Namen hier ein und trenne sie mit einem Komma (z.B. movim.eu,jabber.fr)" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "Dieses Feld leer lassen, um den Zugriff auf alle XMPP-Konten zu erlauben." + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "Liste der erlaubten XMPP-Server" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Beschreibung" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "Generelle Beschreibung der Instanz." + +#: [information]banner +msgid "Main banner" +msgstr "Hauptbanner" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "Stelle sicher, dass das Bild nicht zu groß und von allen Webseiten erreichbar ist" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "Dieser Text wird auf der Anmeldeseite angezeigt. Er kann genutzt werden, um rechtliche Bestimmungen und Nutzungshinweise Ihrer Movim-Instanz zu verlinken." + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "Lassen Sie dieses Feld leer wenn Sie keine Nachricht anzeigen wollen." + +#: [information]label +msgid "Information Message" +msgstr "Informationsmeldung" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "Standard XMPP Server" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "Haupt-XMPP-Server-Domain" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "Beschreibung des Haupt-XMPP-Servers" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "Land des Haupt-XMPP-Servers" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "Wähle ein Land aus der Liste" + +#: [tenor]title +msgid "Tenor integration" +msgstr "Tenor-Integration" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "Dein Tenor API-Key" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "Movim integriert die Tenor-API, um GIFs zu suchen und im Chat zu senden" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "Greife auf Tenor zu und erhalte deinen API-Key" + +#: [log]empty +msgid "Empty" +msgstr "Leer" + +#: [log]syslog +msgid "Syslog" +msgstr "Systemprotokoll" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "Systemprotokoll und Dateien" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "Maximum an verbundenen Sitzungen" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "Ist das Limit erreicht, können sich keine weiteren Benutzer verbinden. Setze es auf 0, um es zu deaktivieren." + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "Von %s Benutzern gemeldet" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "Diese Konten wurden von einigen Movim-Benutzern gemeldet" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "Du kannst dich entscheiden, sie für alle anderen Benutzer zu blockieren" + +#: [adminsessions]title +msgid "Sessions" +msgstr "Sitzungen" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "Zurzeit verbundene Nutzer auf dem Pod" + +#: [avatar]file +msgid "File" +msgstr "Datei" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "Profilbild aktualisiert" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "Profilbild nicht aktualisiert" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "Ändere mein Profilbild" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "Das Bild ist zu groß" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "Noch kein Avatar" + +#: [banner]change +msgid "Change my banner" +msgstr "Ändere mein Banner" + +#: [banner]updated +msgid "Banner Updated" +msgstr "Banner aktualisiert" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "Banner nicht aktualisiert" + +#: [banner]missing +msgid "No banner yet" +msgstr "Noch kein Banner" + +#: [blocked]title +msgid "Blocked" +msgstr "Blockiert" + +#: [blocked]block_account +msgid "Block the account" +msgstr "Blockiere das Konto" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "Konto freigeben" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "Konto blockiert" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "Konto freigegeben" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "Hier wirst du die Benutzer finden, die du blockier hast" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "Die folgenden Benutzer wurden von Movim blockiert und können dich nicht weiter kontaktieren" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "Der Administrator kennt diese Liste ebenfalls und kann die Benutzer daher systemweit blockieren" + +#: [blog]title +msgid "%s’s blog" +msgstr "%ss Blog" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "Dieser Inhalt ist privat, bitte melde dich an, um ihn zu sehen" + +#: [message]published +msgid "Message Published" +msgstr "Nachricht veröffentlicht" + +#: [message]react +msgid "Add a reaction" +msgstr "Reaktion hinzufügen" + +#: [message]retract +msgid "Retract" +msgstr "Nachricht löschen" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "Dein Kontakt hat versucht, eine vorherige Nachricht zurückzuziehen, aber dies wird durch deinen Client nicht unterstützt" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "Diese Nachricht wurde moderiert" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "Die Nachricht konnte nicht gesendet werden. Bitte später noch einmal versuchen" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "Verschlüsselte Nachricht" + +#: [message]retracted +msgid "Retracted message" +msgstr "Zurückgezogene Nachricht" + +#: [message]composing +msgid "Composing…" +msgstr "Schreibt…" + +#: [message]invitation +msgid "Invitation" +msgstr "Einladung" + +#: [message]paused +msgid "Paused…" +msgstr "Pausiert..." + +#: [message]gone +msgid "Contact gone" +msgstr "Kontakt verschwunden" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "↑ um deine letzte Nachricht zu editieren " + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr ":shortcut: um ein Emoji einzufügen" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "Du darfst in diesem Chatraum keine Nachrichten verschicken" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%s braucht Ihre Aufmerksamkeit" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "Ihre Nachricht..." + +#: [chat]smileys +msgid "Smileys" +msgstr "Smileys" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "Häufige Kontakte" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "Bisher gibt es hier nichts…" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "Nur Mut - schreiben Sie eine erste Nachricht um die Diskussion zu starten" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "Sie haben eine Einladung erhalten, einem Chatraum beizutreten" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "Du hast eine Einladung verschickt, einen Chatraum beizutreten" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "%sbeitreten" + +#: [chat]profile +msgid "See the profile" +msgstr "Profil ansehen" + +#: [chat]clear +msgid "Clear the history" +msgstr "Verlauf löschen" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "Letzte Nachricht bearbeiten" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "Missbrauch melden" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "Eingehender Anruf" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "Ausgehender Anruf" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "Verpasster Anruf" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "Abgelehnter Anruf" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "Anruf beendet" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "%s Stunden %s Minuten" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "%s Minuten und %s Sekunden" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "%s Sekunden" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "%s ist jetzt Administrator" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "%s ist jetzt Eigentümer" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "%s ist jetzt verbannt" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "% ist jetzt Mitglied" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "Ein Fehler ist beim Senden der Nachricht aufgetreten" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "Lokalen Verlauf löschen" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "Du wirst %s lokale Nachrichten löschen. Bist du sicher?" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "Aktion in verschlüsselten Chats nicht möglich" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "Dies ist der Beginn dieser Unterhaltung" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "Du kannst dieses Konto als neuen Kontakt hinzufügen oder ihn blockieren, um weitere ungebetene Nachrichten zu verhindern." + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "Zu meinen Kontakten hinzufügen" + +#: [chat]first_messages_block +msgid "Block" +msgstr "Blockieren" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "Text kopieren" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "Text kopiert" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "Nachrichten nach Inhalt suchen" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "Keine Nachrichten gefunden" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "Fingerabdrücke" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "OMEMO Fingerabdrücke" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "Schlüssel werden generiert, bitte warten …" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "Schlüssel generiert" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "Bestimme OMEMO-Geräte" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "Erstelle eigene Verschlüsselungssitzungen" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "Verschlüsselung deaktiviert" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "Sende eine Nachricht, um die verschlüsselte Sitzung zu erstellen" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "Aktiviere Verschlüsselung für den Kontakt" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "Aktiviere Verschlüsselung für den Chatraum" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "Deaktiviere Verschlüsselung für den Kontakt" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "Deaktiviere Verschlüsselung für den Chatraum" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "Letzte Aktivität" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "%s Sitzungen erstellt" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "Keine Chats bisher..." + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "Beginne eine neue Unterhaltung durch Klicken auf die %sSchaltfläche." + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "Mit einem Kontakt chatten" + +#: [chats]me +msgid "Me" +msgstr "Ich" + +#: [chats]picture +msgid "Picture" +msgstr "Bild" + +#: [chats]video +msgid "Video" +msgstr "Video" + +#: [chats]audio +msgid "Audio" +msgstr "Audio" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "Alle" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "Kontakte" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "Entdecken, folgen und teilen" + +#: [communities]counter +msgid "%s communities" +msgstr "%s Gemeinschaften" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "Einen neuen Server suchen" + +#: [communities]servers +msgid "Communities servers" +msgstr "Gemeinschaftsserver" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "Entdecke Gemeinschaften nach Servern" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "Gemeinschafts-Server entdeckt" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "Der Server existiert nicht." + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "Gemeinschaften, die dir gefallen könnten" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "Gemeinschaft erfolgreich angelegt" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "Es gibt noch keine Gemeinschaften auf diesem Server." + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "Neue Gemeinschaft auf %s anlegen" + +#: [communitiesserver]name +msgid "Community name" +msgstr "Name der Gemeinschaft" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "My Little Pony - Fanclub" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "Bitte geben Sie einen gültigen Namen für die Gemeinschaft an (mindestens 4 Zeichen)" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "Sie können keine neue Gemeinschaft auf diesem Server anlegen" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "Problem beim Versuch, die Einträge zu entdecken" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "Der Server %s ist nicht erreichbar" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "Es gibt aktuell keine Gemeinschaftsserver" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "Es sieht so aus, als könnten wir im Moment keine Gemeinschaften finden" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Einstellungen" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "Abonnements" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "Öffentliche Abonnements" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "Meine abonnierten Gemeinschaften" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "Gemeinschaft erfolgreich gelöscht" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "Diese Gemeinschaft löschen" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "Sie werden die folgende Gemeinschaft löschen. Bitte bestätigen Sie Ihre Aktion." + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "Anscheinend existiert diese Gemeinschaft nicht mehr. Möchten Sie das Abonnement löschen?" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "Fehler bei der Node-Löschung" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "Einstellungen gespeichert" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "Fehler beim Anwenden der Node-Konfiguration" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "Besitzer" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "Herausgeber" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "Rollen" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "Rolle richtig gesetzt" + +#: [communityconfig]publication +msgid "Publication" +msgstr "Veröffentlichung" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "Öffentlich" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "Jeder kann veröffentlichen" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "Die Veröffentlicher können veröffentlichen" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "Abonnenten" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "Die Abonnenten können veröffentlichen" + +#: [communityconfig]type +msgid "Community type" +msgstr "Gemeinschaftstyp" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "Artikel" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "Artikel veröffentlichen und lesen" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "Galerie" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "Bilder veröffentlichen und lesen" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "%s Abonnenten" + +#: [communitydata]num +msgid "%s posts" +msgstr "%s Beiträge" + +#: [communitydata]public +msgid "Public page" +msgstr "Öffentliche Seite" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "Nur Veröffentlicher können Beiträge veröffentlichen" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "Nur Abonnenten können Beiträge veröffentlichen" + +#: [communityheader]follow +msgid "Follow" +msgstr "Folgen" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "Entfolgen" + +#: [communityheader]followed +msgid "Followed" +msgstr "Gefolgt" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "Entfolgt" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "Abonnements sind für diese Gemeinschaft deaktiviert" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "Der Gemeinschaft eine Bezeichnung geben" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "Mein Gemeinschaftsname" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "Dieses Folgen mit allen teilen" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "Es wird auf Ihrem Profil angezeigt" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "Du bist dabei, dieser Gemeinschaft zu entfolgen" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "Sind Sie sicher?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "Noch keine Veröffentlichungen? Schreibe deinen ersten Beitrag, damit andere dein Profil entdecken" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "Meinen ersten Beitrag veröffentlichen" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "Privates Konto" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "Frage %s, deinen Kontakten beizutreten, um deine Veröffentlichungen zu sehen" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "Schicke eine Einladung, bevor du dem Kontakt folgst" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "Du kannst diesem Kontakt aktuell nicht folgen" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "Abonnierte Gemeinschaften" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "Hallo" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "Hier können Sie Ihre Abonnements verwalten." + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "Du kannst noch keine Gemeinschaften abonniert." + +#: [config]general +msgid "General" +msgstr "Allgemein" + +#: [config]language +msgid "Language" +msgstr "Sprache" + +#: [config]roster +msgid "Roster display" +msgstr "Kontaktlistenansicht" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "Abgemeldete Kontakte anzeigen" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "Abgemeldete Kontakte ausblenden" + +#: [config]appearence +msgid "Appearance" +msgstr "Darstellung" + +#: [config]updated +msgid "Configuration updated" +msgstr "Konfiguration aktualisiert" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "Konfiguration ungültig" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "Erweiterte Einstellungen" + +#: [config]nsfw +msgid "Display adult content" +msgstr "Erwachseneninhalt anzeigen" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "Erlaubt Ihnen, Posts mit dem Tag #nsfw zu sehen" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "OMEMO benutzen" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "Ende-zu-Ende-Verschlüsselung auf Movim für dein Konto aktivieren" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "Nachtmodus" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "Dunkle Farben benutzen, um die Augen zu entspannen" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "Dein Browser lässt Movim bereits standardmäßig den Nachtmodus benutzen" + +#: [config]chatmain +msgid "Main chat page" +msgstr "Haupt-Nachrichten-Seite" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "Die Chat-Seite als Standard beim Öffnen von Movim setzen" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "Einstellungen zur serverseitigen Nachrichtenarchivierung" + +#: [config]mam_always +msgid "Always" +msgstr "Immer" + +#: [config]mam_never +msgid "Never" +msgstr "Nie" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "Archivierungseinstellungen gespeichert" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "Vertraulichkeit des persönlichen Blogs" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "Öffentlicher Blog" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "Für alle im Netzwerk verfügbar" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "Privater Blog" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "Nur für Abonnenten verfügbar" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "Vertraulichkeit des persönlichen Blogs gespeichert" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "Vertraulichkeit" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "Benachrichtigungstöne" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "Neue Nachricht" + +#: [config]accent_color +msgid "Accent color" +msgstr "Akzentfarbe" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "Vorsicht" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "Das Ändern deines Spitznamens wird deinen öffentlichen Blog, Feed und die URL der Artikel ändern" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "Bestätigung der Authentifikation" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "Die folgende Plattform möchte Ihre Bestätigung zur Authentifikation einholen" + +#: [confirm]code +msgid "Authentication code" +msgstr "Authentifikations-Code" + +#: [roster]add_title +msgid "Add a contact" +msgstr "Kontakt hinzufügen" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "Gib die XMPP-Adresse deines Kontakts ein." + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "Drücke Enter zum Überprüfen" + +#: [roster]added +msgid "Contact added" +msgstr "Kontakt hinzugefügt" + +#: [roster]updated +msgid "Contact updated" +msgstr "Kontakt aktualisiert" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "Kontakt gelöscht" + +#: [general]legend +msgid "General Information" +msgstr "Allgemeine Informationen" + +#: [general]name +msgid "Name" +msgstr "Name" + +#: [general]pronouns +msgid "Pronouns" +msgstr "Pronomen" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "er/sie/them …" + +#: [general]nickname +msgid "Nickname" +msgstr "Spitzname" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Geburtsdatum" + +#: [general]gender +msgid "Gender" +msgstr "Geschlecht" + +#: [general]marital +msgid "Marital Status" +msgstr "Familienstand" + +#: [general]email +msgid "Email" +msgstr "E-Mail" + +#: [general]website +msgid "Website" +msgstr "Internetseite" + +#: [general]about +msgid "About Me" +msgstr "Persönliche Angaben" + +#: [general]accounts +msgid "Other Accounts" +msgstr "Weitere Konten" + +#: [general]tune +msgid "Is Listening" +msgstr "hört zu" + +#: [general]pictures +msgid "Pictures" +msgstr "Bilder" + +#: [general]links +msgid "Links" +msgstr "Links" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "Dein Konto ist privat" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "Erstelle einen öffentlichen Blog in den Einstellungen und lasse andere andere Benutzer dich finden" + +#: [position]legend +msgid "Geographic Position" +msgstr "Standort" + +#: [position]locality +msgid "Locality" +msgstr "Ort" + +#: [position]country +msgid "Country" +msgstr "Land" + +#: [listen]title +msgid "Listening" +msgstr "Hört zu" + +#: [last]title +msgid "Last seen" +msgstr "Zuletzt gesehen" + +#: [clients]title +msgid "Clients" +msgstr "Clients" + +#: [clients]title_full +msgid "Clients information" +msgstr "Client-Informationen" + +#: [explore]last_registered +msgid "Last registered" +msgstr "Zuletzt angemeldet" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "Neue Kontakte finden" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "Bearbeiten" + +#: [edit]alias +msgid "Alias" +msgstr "Pseudonym" + +#: [edit]group +msgid "Group" +msgstr "Gruppe" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "Du bist dabei, einen deiner Kontakte zu entfernen. Bitte bestätige deine Aktion." + +#: [age]years +msgid "%s years" +msgstr "%s Jahre" + +#: [blog]last +msgid "Last public post" +msgstr "Letzter öffentlicher Beitrag" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "Öffentlichen Blog besuchen" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "Sie können diesen Kontaktstatus sehen" + +#: [subscription]to_button +msgid "Share my status" +msgstr "Meinen Status freigeben" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "Aber dieser Kontakt kann Ihren nicht sehen" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "Sie haben diesen Kontakt nicht abonniert" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "Abonnement erfragen" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "Aber dieser Kontakt kann immer noch sehen, ob Sie verbunden sind" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "Du hast niemanden abonniert" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "Einladen" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "Dieser Kontakt ist in deiner Kontaktliste, aber ihr habt euch nicht gegenseitig abonniert" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "Vorschläge für dich" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "Diktierfunktion" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "Drücke zum Aufnehmen" + +#: [dictaphone]recording +msgid "Recording" +msgstr "Aufnahme läuft" + +#: [draw]title +msgid "Draw" +msgstr "Zeichnen" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "Emojis" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "Meine Emoji-Favoriten" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "Wähle Emojis von den Paketen unten, die du zu deinen Favoriten hinzufügen möchtest" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "Emoji-Favoriten verwalten" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "Dieser Kurzbefehl sollte nur Kleinbuchstaben, Zahlen und Bindestriche enthalten" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "Neuer Emoji-Favorit hinzugefügt" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "Dieser Kurzbefehl wird bereits für einen anderen Emoji verwendet" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "Noch keine Favoriten, prüfe die Einstellungen um welche hinzuzufügen" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "Häufig gestellte Fragen" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "Wie funktionieren die Berechtigungseinstellungen?" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "Standardmäßig sind deine Inhalte nur für deine Kontakte verfügbar. Du kannst dein Profil und deine Veröffentlichungen öffentlich zugänglich machen, indem du die entsprechende Einstellung aktivierst." + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "Wie wirkt sich das auf Gemeinschaftsbeiträge aus?" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "Ähnlich wie bei Blog-Veröffentlichungen, außer, dass standardmäßig Veröffentlichungen nur für die Mitglieder und Abonnenten der Gemeinschaft zugänglich sind (außer, wenn du ausdrücklich den gesamten Inhalt der Gemeinschaft freigibst)" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "Wo kann ich eine Liste mit Gruppenchats finden?" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "Wo finde ich meine Kontakte?" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "Durch das Öffnen der Such-Seite." + +#: [apps]title +msgid "Applications" +msgstr "Programme" + +#: [apps]install +msgid "Movim App" +msgstr "Movim-App" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "Installiere Movim auf deinem Gerät" + +#: [apps]recommend +msgid "We also recommend" +msgstr "Wir empfehlen auch" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "Administratoren und Kontakt" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "Mit dem Movim-Team unterhalten?" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "Chatraum hinzufügen" + +#: [error]username +msgid "Wrong username" +msgstr "Falscher Benutzername" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "Ungültige XMPP-Adresse" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "Leere Aufforderung vom Server" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "XMPP-Domainfehler, dein Konto ist keine gültige XMPP-Adresse" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "Einige Angaben fehlen!" + +#: [error]internal +msgid "Internal server error" +msgstr "Interner Server-Fehler" + +#: [error]session +msgid "Session error" +msgstr "Sitzungsfehler" + +#: [error]account_created +msgid "Account successfully created" +msgstr "Das Benutzerkonto wurde erfolgreich angelegt." + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "Movim kann sich nicht mit dem Server verbinden" + +#: [error]impossible +msgid "Impossible login" +msgstr "Anmeldung nicht möglich" + +#: [error]default +msgid "Unknown error" +msgstr "Unbekannter Fehler" + +#: [error]login_format +msgid "Invalid username format" +msgstr "Ungültiges Benutzernamenformat" + +#: [error]password_format +msgid "Invalid password format" +msgstr "Ungültiges Passwortformat" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "Ihr XMPP-Server ist nicht legitimiert" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "Movim konnte nicht authentifiziert werden. Sie haben falsche Daten eingegeben." + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "Authentifizierungsmechanismus wird von Movim nicht unterstützt" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "XMPP-Authentifizierung ist fehlgeschlagen" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "Diese Movim-Instanz ist aktuell voll." + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "Probiere eine andere auf %s" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "Mit dem Server verbunden" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "Mit dem Server authentifiziert" + +#: [form]username +msgid "My address" +msgstr "Adresse" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "Mit Konten dieser Server einloggen" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "Logge dich mit einem XMPP-Konto ein oder erstelle ein neues" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "Verbunden" + +#: [form]population +msgid "Population" +msgstr "Einwohner" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "%shat Sie eingeladen, einen Chatraum zu betreten" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "Administriert von" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "Movim ist eine föderierte Blogging- und Chatplattform" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "Besuche die offizielle Projektwebsite %s." + +#: [menu]empty_title +msgid "No news yet…" +msgstr "Nichts Neues bisher ..." + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "Willkommen zu deinem Newsfeed. Hier wirst du alle Beiträge von deinen Kontakten und in deinen abonnierten Gemeinschaften sehen." + +#: [menu]mine +msgid "My publications" +msgstr "Meine Veröffentlichungen" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "Neuen Post schreiben…" + +#: [notification]request_title +msgid "Notifications request" +msgstr "Benachrichtigungsanfrage" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "Movim braucht deine Erlaubnis, um Benachrichtigungen anzuzeigen" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "Diese Erlaubnis kann jederzeit widerrufen werden" + +#: [notification]request_button +msgid "Request" +msgstr "Anfrage" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "Erlaubnis erteitl" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "Erlaubnis verweigert" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "Benachrichtigungen" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "Push-Benachrichtigungen" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "Movim wird Push-Benachrichtigungen an die folgenden registrierten Geräte senden" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "Push-Benachrichtigungen für dieses Gerät aktiviert" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "Push-Benachrichtigungen für dieses Gerät deaktiviert" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "Unbekannter Browser" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "Unbekannte Plattform" + +#: [invitations]received +msgid "Received Invitations" +msgstr "Erhaltene Einladungen" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "%s möchte dich hinzufügen" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "Keine neuen Einladungen" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "Keine ausstehenden Abonnements" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%s möchte mit dir reden" + +#: [notifs]empty +msgid "No new notifications" +msgstr "Keine neuen Benachrichtigungen" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "Movim kann dich benachrichtigen, wenn ein neuer Post veröffentlicht wird oder du eine neue Nachricht erhältst" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "Du kannst sie später jederzeit wieder deaktivieren" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "Öffentliches Profil" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "Mach dein Profil öffentlich und erlaube anderen Benutzern dich zu finden und knüpfe dadurch einfacher neue Kontakte" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "Du kannst das in den Einstellungen jederzeit wieder deaktivieren" + +#: [post]publish_something +msgid "Publish something" +msgstr "Etwas veröffentlichen" + +#: [post]news_feed +msgid "News Feed" +msgstr "Newsfeed" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "Gruppen, die Sie interessieren, entdecken und dort registrieren" + +#: [post]content +msgid "Content" +msgstr "Inhalt" + +#: [post]published +msgid "Post published" +msgstr "Beitrag veröffentlicht" + +#: [post]deleted +msgid "Post deleted" +msgstr "Beitrag gelöscht" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "Posts die vor kurzem in Gemeinschaften veröffentlicht wurden, die du (bisher) noch nicht abonniert hast" + +#: [post]new_blog +msgid "New blog post" +msgstr "Neuer Blogeintrag" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "Dies ist ein weitergeleiteter Beitrag von %s" + +#: [post]see_profile +msgid "See %s profile" +msgstr "Profil %s ansehen" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "Unbekannter Kontakt" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "%s Minute" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "%s Minuten " + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "Vorschau-URL: %s" + +#: [post]public_yes +msgid "This post is public" +msgstr "Dieser Beitrag ist öffentlich" + +#: [post]public_no +msgid "This post is private" +msgstr "Dieses Posting ist privat" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "Öffentliche URL dieses Postings" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "Kommentare deaktivieren" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "Niemand wird liken oder kommentieren können" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "Kommentare für diesen Beitrag deaktiviert" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "Kommentare für diesen Beitrag aktiviert" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "Diesen Beitrag löschen" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "Sie sind dabei Ihren Beitrag zu löschen. Möchten Sie fortfahren?" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "Sind Sie sicher, dass Sie diesen Kommentar entfernen möchten?" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "Entdecke mehr Beiträge auf der Gemeinschaften-Seite" + +#: [post]more +msgid "Read more" +msgstr "Mehr lesen" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "Kommentare deaktiviert" + +#: [post]comment_published +msgid "Comment published" +msgstr "Kommentar veröffentlicht" + +#: [post]comment_like_published +msgid "Liked" +msgstr "Gefällt dir" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "Der Kommentar kann nicht veröffentlicht werden" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "Kommentar gelöscht" + +#: [post]liked +msgid "Liked your publication" +msgstr "Gefällt dein Beitrag" + +#: [post]commented +msgid "Commented" +msgstr "Kommentiert" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "Du musst %s abonniert haben, um diese Veröffentlichung zu sehen" + +#: [hello]contact_post +msgid "Contact post" +msgstr "Kontaktnachricht" + +#: [hello]share_title +msgid "Universal share button" +msgstr "Universeller Freigabeknopf" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "Ein Lesezeichen erstellen oder den folgenden Knopf in Ihre Werkzeugleiste ziehen und ihn auf allen Seiten die Sie in Movim teilen möchten benutzen." + +#: [hello]share_button +msgid "Share on Movim" +msgstr "Auf Movim teilen" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "Oh, hallo!" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "Es sieht so aus, als wärst du neu hier! Willkommen bei Movim!" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "Menü ansehen" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "Alle Features von Movim sind hier zugänglich. Zögern Sie nicht in den Seiten zu stöbern und mehr zu entdecken!" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "Anscheinend ist Ihr Profil noch nicht vollständig." + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "Sie können zu den Einstellungen gehen, sich selbst beschreiben und ein nettes Bild hinzufügen" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "Besuche meinen Blog" + +#: [status]disconnect +msgid "Disconnect" +msgstr "Trennen" + +#: [status]presence +msgid "Presence" +msgstr "Präsenz" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "Möchtest Du dich wirklich abmelden?" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "Link in die Zwischenablage kopiert" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "Was gibt es neues?" + +#: [publish]brief_title +msgid "Brief" +msgstr "Kurzbeitrag" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "Post" + +#: [publish]post +msgid "Write a post" +msgstr "Einen Post schreiben" + +#: [publish]add_link +msgid "Add a link" +msgstr "Link hinzufügen" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "Nimm ein Foto auf" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "Bitte einen Titel angeben" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "Mindestens ein Bild wird benötigt" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "Vorschau" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "Datei oder Bild hinzufügen" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "Sie können hier keinen Beitrag veröffentlichen" + +#: [publish]new +msgid "New post" +msgstr "Neuer Beitrag" + +#: [publish]title +msgid "Post title" +msgstr "Beitragstitel" + +#: [publish]content +msgid "Markdown content" +msgstr "Markdown-Inhalt" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "Bitte eine gültige URL eingeben" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "Sie können ihren Text mithilfe der Markdown-Sprache formatieren" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "Entwurf gespeichert" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "Rich Text-Editor" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "Benutze #hashtags im Titel oder Inhalt, damit dein Beitrag entdeckt werden kann" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "Du bist nicht autorisiert, hier zu veröffentlichen" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "Dein Beitrag ist zu groß, um veröffentlicht zu werden" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "Dein Text ist zu lang (max %s Zeichen)" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "Dein Blog ist nur für deine Abonnenten verfügbar. Du kannst ihn in den Einstellungen für alle verfügbar machen." + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "Das Medium wird eingebettet werden" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "Erstelle eine öffentliche HTTP-URL von dieser Veröffentlichung" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "Das wird allen außerhalb von Movim erlauben, auf deine Veröffentlichung zuzugreifen" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "Hilfe" + +#: [publishhelp]more +msgid "More help" +msgstr "Weitere Hilfe" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "Markdown-Anleitung" + +#: [story]new +msgid "New story" +msgstr "Neue Story" + +#: [story]new_edit +msgid "Edit your story" +msgstr "Story bearbeiten" + +#: [story]new_publish +msgid "Publish your story" +msgstr "Story veröffentlichen" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "Für meine Kontakte veröffentlichen" + +#: [story]uploading +msgid "Uploading the story" +msgstr "Lädt Story hoch" + +#: [story]publishing +msgid "Publishing the story" +msgstr "Veröffentlicht Story" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "Fast fertig …" + +#: [story]published +msgid "Story published" +msgstr "Story veröffentlicht" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Neues Konto erstellen" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "Keine Kontoerstellungseingabemaske auf dem Server gefunden" + +#: [create]server_on +msgid "on" +msgstr "an" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "Dein Konto wurde erfolgreich registriert" + +#: [create]loading +msgid "Loading" +msgstr "Wird geladen" + +#: [create]placeholder +msgid "…and start playing" +msgstr "...und beginne es auszuprobieren" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Inakzeptabel" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "Derzeit kann man sich auf diesem Server nicht registrieren" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "Registrierung abgelehnt" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "Chatraum beim Login betreten" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "Ungültige Chatraumadresse" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "Bitte gib einen gültigen Spitznamen ein (2-40 Zeichen)" + +#: [chatrooms]banned +msgid "Banned" +msgstr "Verbannt" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "Spitzname existiert bereits" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "Chatraum betreten" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "Chatraum erstellen" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "Chatraum erstellt" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "Standard-Chatraum" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "Bist du sicher, dass du den folgenden Chatraum permanent zerstören möchtest?" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "Chatraum zerstören" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "Chatraum zerstört" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "Eine Registrierung ist erforderlich, um den Dienst zu benutzen" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "Chatraum verlassen" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "Leerer Name" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "Du hast noch keine Chaträume." + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "Zum Hinzufügen klicken Sie oben auf den Hinzufügen-Knopf." + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "Name oder Beschreibung" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "Sie sind nicht berechtigt, diesen Raum zu betreten" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "Gateway-Chatraum" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "Alle getrennten Chaträume ausblenden" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "Chatraumadresse" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "Dieser Chatraum existiert nicht" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "Dein Spitzname ist nicht gültig" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "Chatraum betreten" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "Benutzerdefinierter Chatraum" + +#: [chatrooms]members +msgid "Members" +msgstr "Mitglieder" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "Nicht akzeptabel" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "Du bist nicht berechtigt, dort einen Chatraum zu erstellen" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "Ein Passwort ist erforderlich" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "Chatraum merken" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "Der Chatraum kann nicht betreten werden - Registrierung erforderlich" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "Der Remote-Server für diesen Chatraum existiert nicht" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "Zeitüberschreitung der Verbindung zum Remote-Server" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "Du wirst den folgenden Chatraum dauerhaft verlassen. Bitte bestätige deine Aktion." + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "Einen Chatraum dauerhaft verlassen" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "Das Teilnehmer-Limit des Chatraums wurde erreicht" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "Alle Chaträume zeigen" + +#: [chatrooms]subject +msgid "Subject" +msgstr "Betreff" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "Chaträume" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "Art des Chatraums" + +#: [chatrooms]users +msgid "Users" +msgstr "Benutzer" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "Lesezeichen aktualisiert" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "Öffentlicher Kanal" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "Sie sind momentan als anonymer Benutzer angemeldet." + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "Du kannst mit deinem eigenen Konto beitreten oder eines auf der Login-Seite erstellen, indem du dich mit dem Kreuz in der oberen rechten Ecke ausloggst." + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "Bei %s anmelden" + +#: [room]invite +msgid "Invite a contact" +msgstr "Kontakt einladen" + +#: [room]invited +msgid "Invitation sent" +msgstr "Einladung versendet" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "Senden Sie diesen Link an Ihre Kontakte" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "Dieser Chatraum ist öffentlich entdeckbar" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "Öffentliche Profile" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "Die Teilnehmer dieses Chatraums können gegenseitig ihre XMPP-Adressen sehen" + +#: [room]archived +msgid "Archived" +msgstr "Archiviert" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "Die Nachrichten im Chatraum werden archiviert" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "Gruppenchat" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "Privater Gruppenchat mit eingeladenen Mitgliedern" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "Füge ein neues Mitglied hinzu" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "Jemanden verbannen" + +#: [room]banned_remove +msgid "Unban" +msgstr "Verbannen rückgängig machen" + +#: [room]configure_user +msgid "Configure the user" +msgstr "Benutzer konfigurieren" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "Du bist nicht autorisiert, diese Zugehörigkeit zu ändern" + +#: [room]affiliation +msgid "Affiliation" +msgstr "Zugehörigkeit" + +#: [room]role +msgid "Role" +msgstr "Rolle" + +#: [room]reason +msgid "Reason" +msgstr "Grund" + +#: [room]channel +msgid "Channel" +msgstr "Kanal" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "Öffentlicher Kanal, der öffentlich entdeckt und betreten werden kann" + +#: [room]notify_never +msgid "Never notify" +msgstr "Niemals benachrichtigen" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "Benachrichtigen bei Erwähnung" + +#: [room]notify_always +msgid "Always notify" +msgstr "Immer benachrichtigen" + +#: [room]pinned +msgid "Pinned" +msgstr "Angepinnt" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "Admins" + +#: [room]visitor +msgid "Visitor" +msgstr "Besucher" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "Ist der Benutzer berechtigt, Nachrichten zu versenden?" + +#: [room]role_changed +msgid "Role changed" +msgstr "Rolle geändert" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "Keine lokalen Chaträume gefunden" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "Kanäle" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "Keine globalen Chaträume gefunden" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "Mehr Kanäle finden" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "%s insgesamt" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "Was suchen Sie?" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "#cats, username@server.com, John…" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "Noch keine Kontakte?" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "Finde welche, indem du nach ihrem Namen oder ihrer Adresse suchst" + +#: [search]tags +msgid "Tags" +msgstr "Schlagwörter" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "Alle Kontakte anzeigen" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "An einen Blogbeitrag anheften" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "In einer neuen Veröffentlichung teilen" + +#: [sendto]selected +msgid "contacts selected" +msgstr "Kontakte ausgewählt" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "Wähle die Kontakte aus, mit denen du diesen Inhalt teilen möchtest" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "Post geteilt" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "Beitrag mit %s Kontakten geteilt" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "Mehr Kontakte" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "Außerhalb von Movim teilen" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "Beitrag via Movim geteilt" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "Story via Movim geteilt" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "Space-Einstellungen" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "Space-Einstellungen gespeichert" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "Space-Einstellungsfehler" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "Space zerstören" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "Du wirst den folgenden Space zerstören. Alle enthaltenen Chaträume werden ebenfalls zerstört." + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "Neue Kontakte einladen" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "Ein Moderator muss die Beitrittsanfrage bewilligen" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "Schicke einen Einladungsschlüssel an deine Kontakte" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "Diesen Space verlassen" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "Einen Raum hinzufügen" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "%s Abonnementsanfragen erwarten deine Bewilligung" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "%s erwartet deine Bewilligung, um dem Space beizutreten" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "Anfrage verwalten" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "Space merken" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "Ein Eigentümer kann seinen eigenen Space nicht verlassen" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "Vom Space entfernen" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "Hast du eine Einladung?" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "Space-Titel" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "Dein Space-Titel ist leer" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "Space erstellt" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "Space wird geladen" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "Space abonniert" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "Nutze einen Einladungsschlüssel" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "Ein gültiger Schlüssel ist erforderlich" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "Geschlossener Space" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "Sie sind nicht berechtigt, diesen Space zu betreten" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "Versuchs noch mal" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "Sind Sie sicher, dass Sie diesen Space verlassen möchten?" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "Eine Anfrage wurde an einen Moderator gesendet." + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "Du kannst dem Space beitreten, sobald sie akzeptiert wurde." + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "%s zum Space hinzufügen" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "Zutritt verweigern" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "Kontakt zum Space hinzugefügt" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "Zutritt für den Kontakt verweigert" + +#: [sticker]title +msgid "Stickers" +msgstr "Sticker" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "Ein Sticker wurde versendet" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "Schreibe ein Schlüsselwort" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "Finde eine GIF" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "Unterstützt von Tenor" + +#: [stories]publish +msgid "New Story" +msgstr "Neue Story" + +#: [stories]title +msgid "Stories" +msgstr "Storys" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "Neue Story von %s" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "Du hast keinen Zugriff auf diese Story, schicke eine Einladung an den Ersteller um darauf zuzugreifen" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "Einige deiner Kontakte haben eventuell keinen Zugriff auf diese Story" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "Sie müssten gegebenenfalls das Konto des Erstellers abonnieren" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "Schicke %s einen Kommentar" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "Story löschen" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "Bist du sicher, dass du diese Story löschen möchtest?" + +#: [stories]deleted +msgid "Story deleted" +msgstr "Story gelöscht" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "Movim ist ein dezentralisiertes soziales Netzwerk. Du wurdest eingeladen, dich auf den folgenden XMPP-Servern zu registrieren." + +#: [feed]title +msgid "%s’s feed" +msgstr "%s's Newsfeed" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "Kein öffentlicher Newsfeed für diesen Kontakt" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "Keinen Kontakt angegeben" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "Hochladen" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "Wählen Sie eine Datei zum Hochladen." + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "Große Bilder werden in der Größe angepasst und komprimiert" + +#: [upload]error_filesize +msgid "File too large" +msgstr "Datei zu groß" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "Hochladen fehlgeschlagen" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "Du darfst keine Datei hochladen" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "Du hast das Kontingent überschritten" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "Ziehe eine Datei in diesen Bereich" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "Maximale Dateigröße %s" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "Lädt in dein Konto hoch" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Profil" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "Profil aktualisiert" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "Profil nicht aktualisiert" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "Ihr Profil ist jetzt öffentlich" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "Ihr Profil ist jetzt eingeschränkt" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "Konfiguriere deinen Instanz-Spitznamen" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "Setze einen lokalen Spitznamen, so dass andere Nutzer der Instanz dich einfach finden können." + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "Dein Spitzname ist %s." + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "John_Bob96" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "Der Spitzname ist schon registriert." + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "Spitzname gespeichert" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Absenden" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Zurücksetzen" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "Movim arbeitet gerade im eingeschränkten Modus" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "Dein Server unterstützt keine XMPP Pubsub-Funktionen oder die sozialen Funktionen (Gemeinschaften, Newsfeed und Profil) wurden vom Administrator deaktiviert." + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "Bitte kontaktieren Sie den Administrators Ihres Servers, um dieses Feature zu aktivieren" + +#: [visio]calling +msgid "…is calling you" +msgstr "…ruft Sie an" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "Eingehender Videoanruf" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "Eingehender Sprachanruf" + +#: [visio]ringing +msgid "…ringing" +msgstr "…klingelt" + +#: [visio]declined +msgid "Declined" +msgstr "Abgelehnt" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "Laufender Anruf" + +#: [visio]joined_call +msgid "Joined call" +msgstr "Anruf beigetreten" + +#: [visio]failed +msgid "Failed" +msgstr "Fehlgeschlagen" + +#: [visio]connecting +msgid "…connecting" +msgstr "…verbinden" + +#: [visio]ended +msgid "End of call" +msgstr "Anruf beendet" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "Alle Teilnehmer haben den Anruf verlassen" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "Auflegen" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "Du bist dabei, den Anruf zu beenden. Bist du sicher?" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "%s ruft dich an" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "Ruft %s an" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "Erstellt einen Gruppenanruf in %s" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "Tritt Gruppenanruf bei" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "Kamera und Mikrofon einstellen" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "Bitte erlaube deinem Browser, deine Geräte zu teilen, um sie einzustellen" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "Standardmikrofon" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "Standardkamera" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "Standardmikrofon geändert" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "Standardkamera geändert" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "Kein Signal vom Mikrofon erkannt" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "Mach ein paar Geräusche, wähle eine andere Quelle oder prüfe deine Systemeinstellungen" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "Movim benötigt JavaScript, um richtig zu funktionieren" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "Movim ist eine tolle dezentralisierte Plattform für soziale Netzwerke, das deine Privatsphäre respektiert und eine Menge cooler Funktionen bietet." + +#: [global]loading +msgid "Loading…" +msgstr "Lädt…" + +#: [global]or +msgid "Or" +msgstr "Oder" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "Zu einem anderen Pod wechseln" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "Info" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Konto erstellen" + +#: [page]administration +msgid "Administration" +msgstr "Administration" + +#: [page]avatar +msgid "Profile Picture" +msgstr "Profilbild" + +#: [page]blog +msgid "Blog" +msgstr "Blog" + +#: [page]chats +msgid "Messages" +msgstr "Nachrichten" + +#: [page]communities +msgid "Communities" +msgstr "Gemeinschaften" + +#: [page]explore +msgid "Explore" +msgstr "Durchsuchen" + +#: [page]feed +msgid "Feed" +msgstr "Newsfeed" + +#: [page]home +msgid "Home" +msgstr "Hauptansicht" + +#: [page]login +msgid "Login" +msgstr "Anmelden" + +#: [page]news +msgid "News" +msgstr "Neuigkeiten" + +#: [page]not_found +msgid "Not Found" +msgstr "Nicht gefunden" + +#: [page]posts +msgid "Posts" +msgstr "Beiträge" + +#: [page]publish +msgid "Publish" +msgstr "Veröffentlichen" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "Teilen" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "Schlagwort" + +#: [page]visio +msgid "Visio-conference" +msgstr "Videokonferenz" + +#: [error]error +msgid "Error: %s" +msgstr "Fehler: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "Datei »%s« kann nicht geladen werden." + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "Das angeforderte Widget '%s' existiert nicht." + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "Das geforderte Event »%s« ist nicht registriert." + +#: [error]whoops +msgid "Whoops!" +msgstr "Huch!" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "Movim kann den Server nicht erreichen, bitte versuchen Sie es später nochmal" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "Verbinde wieder zum Server…" + +#: [error]oops +msgid "Oops!" +msgstr "Huch!" + +#: [button]accept +msgid "Accept" +msgstr "Annehmen" + +#: [button]add +msgid "Add" +msgstr "Hinzufügen" + +#: [button]audio_call +msgid "Audio Call" +msgstr "Audio-Anruf" + +#: [button]bool_no +msgid "No" +msgstr "Nein" + +#: [button]bool_yes +msgid "Yes" +msgstr "Ja" + +#: [button]call +msgid "Call" +msgstr "Anruf" + +#: [button]cancel +msgid "Cancel" +msgstr "Abbrechen" + +#: [button]chat +msgid "Chat" +msgstr "Sofortnachrichten" + +#: [button]clear +msgid "Clear" +msgstr "Leeren" + +#: [button]close +msgid "Close" +msgstr "Schließen" + +#: [button]connecting +msgid "Connecting" +msgstr "Verbindung wird hergestellt" + +#: [button]copy_link +msgid "Copy Link" +msgstr "Link kopieren" + +#: [button]create +msgid "Create" +msgstr "Erstellen" + +#: [button]delete +msgid "Delete" +msgstr "Löschen" + +#: [button]destroy +msgid "Destroy" +msgstr "Zerstören" + +#: [button]discover +msgid "Discover" +msgstr "Entdecken" + +#: [button]enable +msgid "Enable" +msgstr "Aktivieren" + +#: [button]join +msgid "Join" +msgstr "Beitreten" + +#: [button]leave +msgid "Leave" +msgstr "Verlassen" + +#: [button]like +msgid "Like" +msgstr "Gefällt mir" + +#: [button]more +msgid "More" +msgstr "Mehr" + +#: [button]new +msgid "New conversation" +msgstr "Neuer Chat" + +#: [button]next +msgid "Next" +msgstr "Weiter" + +#: [button]not_now +msgid "Not Now" +msgstr "Nicht jetzt" + +#: [button]open +msgid "Open" +msgstr "Öffnen" + +#: [button]previous +msgid "Previous" +msgstr "Zurück" + +#: [button]quote +msgid "Quote" +msgstr "Zitat" + +#: [button]refresh +msgid "Refresh" +msgstr "Aktualisieren" + +#: [button]refuse +msgid "Refuse" +msgstr "Ablehnen" + +#: [button]register +msgid "Register" +msgstr "Registrieren" + +#: [button]remove +msgid "Remove" +msgstr "Entfernen" + +#: [button]reply +msgid "Reply" +msgstr "Antworten" + +#: [button]return +msgid "Return" +msgstr "Zurück" + +#: [button]save +msgid "Save" +msgstr "Speichern" + +#: [button]search +msgid "Search" +msgstr "Suche" + +#: [button]send_to +msgid "Send to" +msgstr "Senden an" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "Teilen" + +#: [button]sign_up +msgid "Sign Up" +msgstr "Registrieren" + +#: [button]submitting +msgid "Submitting" +msgstr "Wird gesendet" + +#: [button]unregister +msgid "Unregister" +msgstr "Registrierung löschen" + +#: [button]update +msgid "Update" +msgstr "Aktualisieren" + +#: [button]updating +msgid "Updating" +msgstr "Aktualisierung läuft" + +#: [button]validate +msgid "Validate" +msgstr "Bestätigen" + +#: [button]video_call +msgid "Video Call" +msgstr "Video-Anruf" + +#: [input]optional +msgid "Optional" +msgstr "Optional" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "Verbundene Gemeinschaft" + +#: [input]open_me_using +msgid "Open me using" +msgstr "Öffne mich mit" + +#: [day]title +msgid "Day" +msgstr "Tag" + +#: [day]monday +msgid "Monday" +msgstr "Montag" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Dienstag" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Mittwoch" + +#: [day]thursday +msgid "Thursday" +msgstr "Donnerstag" + +#: [day]friday +msgid "Friday" +msgstr "Freitag" + +#: [day]saturday +msgid "Saturday" +msgstr "Samstag" + +#: [day]sunday +msgid "Sunday" +msgstr "Sonntag" + +#: [client]bot +msgid "Bot" +msgstr "Bot" + +#: [client]console +msgid "Console" +msgstr "Konsole" + +#: [client]desktop +msgid "Desktop" +msgstr "Desktop" + +#: [client]phone +msgid "Phone" +msgstr "Telefon" + +#: [client]web +msgid "Web" +msgstr "Internet" + +#: [client]registered +msgid "Registered" +msgstr "Registriert" + +#: [client]gateway +msgid "Gateway" +msgstr "Gateway" + +#: [client]im +msgid "Server" +msgstr "Server" + +#: [presence]online +msgid "Online" +msgstr "Verbunden" + +#: [presence]away +msgid "Away" +msgstr "Abwesend" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "Bitte nicht stören" + +#: [presence]xa +msgid "Extended Away" +msgstr "Länger abwesend" + +#: [presence]offline +msgid "Offline" +msgstr "Nicht verbunden" + +#: [presence]error +msgid "Error" +msgstr "Fehler" + +#: [mood]afraid +msgid "afraid" +msgstr "verängstigt" + +#: [mood]amazed +msgid "amazed" +msgstr "begeistert" + +#: [mood]amorous +msgid "amorous" +msgstr "verliebt" + +#: [mood]angry +msgid "angry" +msgstr "wütend" + +#: [mood]annoyed +msgid "annoyed" +msgstr "verärgert" + +#: [mood]anxious +msgid "anxious" +msgstr "besorgt" + +#: [mood]aroused +msgid "aroused" +msgstr "aufgeregt" + +#: [mood]ashamed +msgid "ashamed" +msgstr "beschämt" + +#: [mood]bored +msgid "bored" +msgstr "gelangweilt" + +#: [mood]brave +msgid "brave" +msgstr "tapfer" + +#: [mood]calm +msgid "calm" +msgstr "ruhig" + +#: [mood]cautious +msgid "cautious" +msgstr "vorsichtig" + +#: [mood]cold +msgid "cold" +msgstr "kalt" + +#: [mood]confident +msgid "confident" +msgstr "zuversichtlich" + +#: [mood]confused +msgid "confused" +msgstr "verwirrt" + +#: [mood]contemplative +msgid "contemplative" +msgstr "nachdenklich" + +#: [mood]contented +msgid "contented" +msgstr "glücklich" + +#: [mood]cranky +msgid "cranky" +msgstr "reizbar" + +#: [mood]crazy +msgid "crazy" +msgstr "verrückt" + +#: [mood]creative +msgid "creative" +msgstr "kreativ" + +#: [mood]curious +msgid "curious" +msgstr "neugierig" + +#: [mood]dejected +msgid "dejected" +msgstr "niedergeschlagen" + +#: [mood]depressed +msgid "depressed" +msgstr "bedrückt" + +#: [mood]disappointed +msgid "disappointed" +msgstr "enttäuscht" + +#: [mood]disgusted +msgid "disgusted" +msgstr "angewidert" + +#: [mood]dismayed +msgid "dismayed" +msgstr "bestürzt" + +#: [mood]distracted +msgid "distracted" +msgstr "abgelenkt" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "verlegen" + +#: [mood]envious +msgid "envious" +msgstr "neidisch" + +#: [mood]excited +msgid "excited" +msgstr "begeistert" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "kokett" + +#: [mood]frustrated +msgid "frustrated" +msgstr "frustriert" + +#: [mood]grateful +msgid "grateful" +msgstr "dankbar" + +#: [mood]grieving +msgid "grieving" +msgstr "trauernd" + +#: [mood]grumpy +msgid "grumpy" +msgstr "missmutig" + +#: [mood]guilty +msgid "guilty" +msgstr "schuldbewusst" + +#: [mood]happy +msgid "happy" +msgstr "fröhlich" + +#: [mood]hopeful +msgid "hopeful" +msgstr "hoffnungsvoll" + +#: [mood]hot +msgid "hot" +msgstr "heiß" + +#: [mood]humbled +msgid "humbled" +msgstr "geehrt" + +#: [mood]humiliated +msgid "humiliated" +msgstr "gedemütigt" + +#: [mood]hungry +msgid "hungry" +msgstr "hungrig" + +#: [mood]hurt +msgid "hurt" +msgstr "verletzt" + +#: [mood]impressed +msgid "impressed" +msgstr "beeindruckt" + +#: [mood]in_awe +msgid "in awe" +msgstr "bewundernd" + +#: [mood]in_love +msgid "in love" +msgstr "verliebt" + +#: [mood]indignant +msgid "indignant" +msgstr "empört" + +#: [mood]interested +msgid "interested" +msgstr "interessiert" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "berauscht" + +#: [mood]invincible +msgid "invincible" +msgstr "unbesiegbar" + +#: [mood]jealous +msgid "jealous" +msgstr "eifersüchtig" + +#: [mood]lonely +msgid "lonely" +msgstr "einsam" + +#: [mood]lost +msgid "lost" +msgstr "verloren" + +#: [mood]lucky +msgid "lucky" +msgstr "glücklich" + +#: [mood]mean +msgid "mean" +msgstr "gemein" + +#: [mood]moody +msgid "moody" +msgstr "mürrisch" + +#: [mood]nervous +msgid "nervous" +msgstr "nervös" + +#: [mood]neutral +msgid "neutral" +msgstr "gleichgültig" + +#: [mood]offended +msgid "offended" +msgstr "beleidigt" + +#: [mood]outraged +msgid "outraged" +msgstr "empört" + +#: [mood]playful +msgid "playful" +msgstr "verspielt" + +#: [mood]proud +msgid "proud" +msgstr "stolz" + +#: [mood]relaxed +msgid "relaxed" +msgstr "entspannt" + +#: [mood]relieved +msgid "relieved" +msgstr "erleichtert" + +#: [mood]remorseful +msgid "remorseful" +msgstr "reumütig" + +#: [mood]restless +msgid "restless" +msgstr "ruhelos" + +#: [mood]sad +msgid "sad" +msgstr "betrübt" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "sarkastisch" + +#: [mood]satisfied +msgid "satisfied" +msgstr "zufrieden" + +#: [mood]serious +msgid "serious" +msgstr "ernst" + +#: [mood]shocked +msgid "shocked" +msgstr "schockiert" + +#: [mood]shy +msgid "shy" +msgstr "schüchtern" + +#: [mood]sick +msgid "sick" +msgstr "krank" + +#: [mood]sleepy +msgid "sleepy" +msgstr "schläfrig" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "spontan" + +#: [mood]stressed +msgid "stressed" +msgstr "gestresst" + +#: [mood]strong +msgid "strong" +msgstr "stark" + +#: [mood]surprised +msgid "surprised" +msgstr "überrascht" + +#: [mood]thankful +msgid "thankful" +msgstr "dankbar" + +#: [mood]thirsty +msgid "thirsty" +msgstr "durstig" + +#: [mood]tired +msgid "tired" +msgstr "müde" + +#: [mood]undefined +msgid "undefined" +msgstr "unbestimmt" + +#: [mood]weak +msgid "weak" +msgstr "schwach" + +#: [mood]worried +msgid "worried" +msgstr "besorgt" + +#: [month]title +msgid "Month" +msgstr "Monat" + +#: [month]january +msgid "January" +msgstr "Januar" + +#: [month]february +msgid "February" +msgstr "Februar" + +#: [month]march +msgid "March" +msgstr "März" + +#: [month]april +msgid "April" +msgstr "April" + +#: [month]may +msgid "May" +msgstr "Mai" + +#: [month]june +msgid "June" +msgstr "Juni" + +#: [month]july +msgid "July" +msgstr "Juli" + +#: [month]august +msgid "August" +msgstr "August" + +#: [month]september +msgid "September" +msgstr "September" + +#: [month]october +msgid "October" +msgstr "Oktober" + +#: [month]november +msgid "November" +msgstr "November" + +#: [month]december +msgid "December" +msgstr "Dezember" + +#: [year]title +msgid "Year" +msgstr "Jahr" + +#: [date]today +msgid "Today" +msgstr "Heute" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "Morgen" + +#: [date]yesterday +msgid "Yesterday" +msgstr "Gestern" + +#: [date]ago +msgid "%d days ago" +msgstr "vor %d Tagen" + +#: [date]day +msgid "day" +msgstr "Tag" + +#: [post]title +msgid "Title" +msgstr "Titel" + +#: [post]place +msgid "Place" +msgstr "Ort" + +#: [post]by +msgid "by" +msgstr "von" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "Standortbestimmung" + +#: [post]email +msgid "email" +msgstr "E-Mail" + +#: [post]empty +msgid "No content" +msgstr "Ohne Inhalt" + +#: [post]no_comments +msgid "No comments yet" +msgstr "Noch keine Kommentare" + +#: [post]older +msgid "Get older posts" +msgstr "Ältere Beiträge" + +#: [post]new_items +msgid "%s new items" +msgstr "%s neue Einträge" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "Fehler beim Veröffentlichen des Kommentars" + +#: [post]comments_get +msgid "Get the comments" +msgstr "Die Kommentare erhalten" + +#: [post]comment_add +msgid "Add a comment" +msgstr "Einen Kommentar hinzufügen" + +#: [post]share +msgid "Share with" +msgstr "Teilen mit" + +#: [post]share_everyone +msgid "Everyone" +msgstr "Jeder" + +#: [post]updated +msgid "Updated" +msgstr "Aktualisiert" + +#: [post]content_not_found +msgid "Content not found" +msgstr "Inhalt nicht gefunden" + +#: [post]default_title +msgid "Contact publication" +msgstr "Kontaktveröffentlichung" + +#: [post]comments +msgid "Comments" +msgstr "Kommentare" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "Ursprünglicher Beitrag gelöscht" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "Besitzer" + +#: [affiliation]admin +msgid "Admin" +msgstr "Administrator" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "Herausgeber" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "Nur Veröffentlichen" + +#: [affiliation]member +msgid "Member" +msgstr "Mitglied" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "Ausgestoßen" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "Nicht zugehörig" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "Benutzer zum Eigentümer gemacht" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "Benutzer zum Administrator gemacht" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "Benutzer zum Mitglied gemacht" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "Benutzer verbannt" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "Zugehörigkeit des Benutzers entfernt" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "Die API ist nicht erreichbar, bitte später erneut versuchen" + +#: [field]type_here +msgid "Type here" +msgstr "Hier schreiben" diff --git a/frontend/locales/el.po b/frontend/locales/el.po new file mode 100644 index 0000000..772c404 --- /dev/null +++ b/frontend/locales/el.po @@ -0,0 +1,4155 @@ +# +# Translators: +# Marinus Savoritias , 2016 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Marinus Savoritias , 2016\n" +"Language-Team: Greek (http://app.transifex.com/movim/movim/language/el/)\n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Ευχαριστώ" + +#: [about]developers +msgid "Developers" +msgstr "" + +#: [about]translators +msgid "Translators" +msgstr "Μεταφράστες" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "" + +#: [about]software +msgid "Software" +msgstr "Λογισμικό" + +#: [about]resources +msgid "Resources" +msgstr "" + +#: [about]api +msgid "API" +msgstr "" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Λογαριασμός" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Αλλαγή κωδικού" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Συνθηματικό" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Επιβεβαίωση κωδικού" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "Ο κωδικός έχει αλλάξει" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "" + +#: [account]delete +msgid "Delete your account" +msgstr "Διαγραφή του λογαριασμού σου" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Ενέργειες" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "Γενικές ρυθμίσεις" + +#: [general]theme +msgid "Theme" +msgstr "Θέμα" + +#: [general]language +msgid "Default language" +msgstr "" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Όνομα χρήστη" + +#: [credentials]re_password +msgid "Retype password" +msgstr "" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Περιγραφή" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "Άδειο" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "Συνεδρίες" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "Αρχείο" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Ρύθμιση" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "Είσαι σίγουρος;" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "Γενικά" + +#: [config]language +msgid "Language" +msgstr "Γλώσσα" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "Επαφή προσθέθηκε" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "Επαφή διαγράφθηκε" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "Όνομα" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "Ψευδώνυμο" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Ημερομ. γεννήσεως" + +#: [general]gender +msgid "Gender" +msgstr "" + +#: [general]marital +msgid "Marital Status" +msgstr "" + +#: [general]email +msgid "Email" +msgstr "Email" + +#: [general]website +msgid "Website" +msgstr "Ιστότοπος" + +#: [general]about +msgid "About Me" +msgstr "Σχετικά με εμένα" + +#: [general]accounts +msgid "Other Accounts" +msgstr "Άλλοι λογαριασμοί" + +#: [general]tune +msgid "Is Listening" +msgstr "Ακούει" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "Χώρα" + +#: [listen]title +msgid "Listening" +msgstr "Ακούει" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "Ψευδώνυμο" + +#: [edit]group +msgid "Group" +msgstr "Ομάδα" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "Λάθος όνομα χρήστη" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "Ο λογαριασμός δημιουργήθηκε επιτυχώς" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "Η διεύθυνσή μου" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Δημιουργία νέου λογαριασμού" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "Φόρτωση" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Δεν είναι αποδεκτό" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "Άδειο όνομα" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "Πρόσθεσε ένα κάνοντας κλικ στο κουμπί προσθήκης" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "Μέλη" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "Δωμάτιο συνομιλίας" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "Ένα αυτοκόλλητο στάλθηκε χρησιμοποιώντας Movim" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "Δεν διευκρινίζεται κάποια επαφή" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "Μεταφόρτωση" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "Διαλέξτε ένα αρχείο για να μεταφορτώσετε" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Προφίλ" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "Το προφίλ ενημερώθηκε" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "Το προφίλ δεν ενημερώθηκε" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "Το προφίλ είναι πλέον δημόσιο" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Υποβολή" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Επαναφορά" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Δημιουργία Λογαριασμού" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "Feed" + +#: [page]home +msgid "Home" +msgstr "Αρχική Σελίδα" + +#: [page]login +msgid "Login" +msgstr "Σύνδεση" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "Δημοσίευση" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "Κοινωποίηση" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "Σφάλμα: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "Αδύνατη η φόρτωση του αρχείου '%s'" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "Ουπς!" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "Αποδοχή" + +#: [button]add +msgid "Add" +msgstr "Προσθήκη" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "Όχι" + +#: [button]bool_yes +msgid "Yes" +msgstr "Ναί" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "Ακύρωση" + +#: [button]chat +msgid "Chat" +msgstr "Συνομιλία" + +#: [button]clear +msgid "Clear" +msgstr "Εκκαθάριση" + +#: [button]close +msgid "Close" +msgstr "Κλείσιμο" + +#: [button]connecting +msgid "Connecting" +msgstr "Συνδέεται" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "Διαγραφή" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "Νέα συζήτηση" + +#: [button]next +msgid "Next" +msgstr "Επόμενο" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "Προηγούμενο" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "Ανανέωση" + +#: [button]refuse +msgid "Refuse" +msgstr "Άρνηση" + +#: [button]register +msgid "Register" +msgstr "Εγγραφή" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "Επιστροφή" + +#: [button]save +msgid "Save" +msgstr "Αποθήκευση" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "Κοινωποίηση" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "Υποβάλεται" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "Ενημέρωση" + +#: [button]updating +msgid "Updating" +msgstr "Ενημερώνεται" + +#: [button]validate +msgid "Validate" +msgstr "Επικύρωση" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "Μέρα" + +#: [day]monday +msgid "Monday" +msgstr "Δευτέρα" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Τρίτη" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Τετάρτη" + +#: [day]thursday +msgid "Thursday" +msgstr "Πέμπτη" + +#: [day]friday +msgid "Friday" +msgstr "Παρασκευή" + +#: [day]saturday +msgid "Saturday" +msgstr "Σάββατο" + +#: [day]sunday +msgid "Sunday" +msgstr "Κυριακή" + +#: [client]bot +msgid "Bot" +msgstr "Ρομπότ" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "Τηλέφωνο" + +#: [client]web +msgid "Web" +msgstr "Διαδίκτυο" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "Συνδεδεμένος" + +#: [presence]away +msgid "Away" +msgstr "Απών" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "Μην Ενοχλείτε" + +#: [presence]xa +msgid "Extended Away" +msgstr "Παρατεταμένη απουσία" + +#: [presence]offline +msgid "Offline" +msgstr "Εκτός σύνδεσης" + +#: [presence]error +msgid "Error" +msgstr "Σφάλμα" + +#: [mood]afraid +msgid "afraid" +msgstr "Φοβισμένος" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "νευριασμένος" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "Γενναίος" + +#: [mood]calm +msgid "calm" +msgstr "Ήρεμος" + +#: [mood]cautious +msgid "cautious" +msgstr "Προσεκτικός" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "Τρελός" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "Ενθουσιασμένος" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "Ευγνώμων" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "Ένοχος" + +#: [mood]happy +msgid "happy" +msgstr "Χαρούμενος" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "Πεινασμένος" + +#: [mood]hurt +msgid "hurt" +msgstr "Πληγωμένος" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "Ερωτευμένος" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "Ανίκητος" + +#: [mood]jealous +msgid "jealous" +msgstr "Ζηλιάρης" + +#: [mood]lonely +msgid "lonely" +msgstr "Μοναχικός" + +#: [mood]lost +msgid "lost" +msgstr "Χαμένος" + +#: [mood]lucky +msgid "lucky" +msgstr "Τυχερός" + +#: [mood]mean +msgid "mean" +msgstr "Κακός" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "Αγχωμένος" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "Παιχνιδιάρης" + +#: [mood]proud +msgid "proud" +msgstr "περήφανος" + +#: [mood]relaxed +msgid "relaxed" +msgstr "Χαλαρός" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "Λυπημένος" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "Σαρκαστικός" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "Σοβαρός" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "Ντροπαλός" + +#: [mood]sick +msgid "sick" +msgstr "Άρρωστος" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "Δυνατός" + +#: [mood]surprised +msgid "surprised" +msgstr "Έκπληκτός" + +#: [mood]thankful +msgid "thankful" +msgstr "Ευγνώμων" + +#: [mood]thirsty +msgid "thirsty" +msgstr "Διψασμένος" + +#: [mood]tired +msgid "tired" +msgstr "Κουρασμένος" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "Αδύναμος" + +#: [mood]worried +msgid "worried" +msgstr "Ανήσυχος" + +#: [month]title +msgid "Month" +msgstr "Μήνας" + +#: [month]january +msgid "January" +msgstr "Ιανουάριος" + +#: [month]february +msgid "February" +msgstr "Φεβρουάριος" + +#: [month]march +msgid "March" +msgstr "Μάρτιος" + +#: [month]april +msgid "April" +msgstr "Απρίλιος" + +#: [month]may +msgid "May" +msgstr "Μάιος" + +#: [month]june +msgid "June" +msgstr "Ιούνιος" + +#: [month]july +msgid "July" +msgstr "Ιούλιος" + +#: [month]august +msgid "August" +msgstr "Αύγουστος" + +#: [month]september +msgid "September" +msgstr "Σεπτέμβριος" + +#: [month]october +msgid "October" +msgstr "Οκτώβριος" + +#: [month]november +msgid "November" +msgstr "Νοέμβριος" + +#: [month]december +msgid "December" +msgstr "Δεκέμβριος" + +#: [year]title +msgid "Year" +msgstr "Χρόνος" + +#: [date]today +msgid "Today" +msgstr "Σήμερα" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "Αύριο" + +#: [date]yesterday +msgid "Yesterday" +msgstr "Χθες" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "ημέρα" + +#: [post]title +msgid "Title" +msgstr "Τίτλος" + +#: [post]place +msgid "Place" +msgstr "Μέρος" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "email" + +#: [post]empty +msgid "No content" +msgstr "Δεν υπάρχει περιεχόμενο" + +#: [post]no_comments +msgid "No comments yet" +msgstr "Δεν υπάρχουν σχόλια ακόμα" + +#: [post]older +msgid "Get older posts" +msgstr "Ανάκτηση παλαιότερων αναρτήσεων" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "Ανάκτηση σχόλιων" + +#: [post]comment_add +msgid "Add a comment" +msgstr "Προσθήκη σχόλιου" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "Όλοι" + +#: [post]updated +msgid "Updated" +msgstr "Ενημερώθηκε" + +#: [post]content_not_found +msgid "Content not found" +msgstr "Το περιεχόμενο δεν βρέθηκε" + +#: [post]default_title +msgid "Contact publication" +msgstr "Κοινοποιησή επαφής" + +#: [post]comments +msgid "Comments" +msgstr "Σχόλια" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "Πληκτρολογήστε εδώ" diff --git a/frontend/locales/en.po b/frontend/locales/en.po new file mode 100644 index 0000000..5561aad --- /dev/null +++ b/frontend/locales/en.po @@ -0,0 +1,4154 @@ +# +# Translators: +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: English (http://app.transifex.com/movim/movim/language/en/)\n" +"Language: en\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Thanks" + +#: [about]developers +msgid "Developers" +msgstr "Developers" + +#: [about]translators +msgid "Translators" +msgstr "Translators" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Thanks to all the translators" + +#: [about]software +msgid "Software" +msgstr "Software" + +#: [about]resources +msgid "Resources" +msgstr "Resources" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "Sourcecode" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "Check out the sourcecode on the Github repository" + +#: [account]title [page]account +msgid "Account" +msgstr "Account" + +#: [account]account_management +msgid "Account management" +msgstr "Account management" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Change my password" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Password" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Password confirmation" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "The password has been updated" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "The provided passwords are not the same" + +#: [account]delete +msgid "Delete your account" +msgstr "Delete your account" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "Type your full username" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "Please provide a valid username." + +#: [account]gateway_title +msgid "Gateways" +msgstr "Gateways" + +#: [account]clear +msgid "Leave this instance" +msgstr "Leave this instance" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "This action will not delete your account but will disconnect you from Movim." + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "OMEMO Key deletion" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "XMPP Server Information" + +#: [adhoc]title +msgid "Actions" +msgstr "Actions" + +#: [adhoc]completed +msgid "Action completed" +msgstr "Action completed" + +#: [tools]title +msgid "Developer Tools" +msgstr "Developer Tools" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "Convert SDP to Jingle" + +#: [tools]sdp_title +msgid "SDP" +msgstr "SDP" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "Convert Jingle to SDP" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "Jingle stanza" + +#: [admin]general +msgid "General Settings" +msgstr "General Settings" + +#: [general]theme +msgid "Theme" +msgstr "Theme" + +#: [general]language +msgid "Default language" +msgstr "Default language" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "Log verbosity" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "Your instance is public?" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "Register your instance on join.movim.eu and join the Movim federation!" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "Restrict suggestions" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" + +#: [chatonly]title +msgid "Chat only" +msgstr "Chat only" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "Disable all the social feature (Communities, Blog…) and keep only the chat ones" + +#: [credentials]title +msgid "Administration Credential" +msgstr "Administration Credential" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Username" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Retype password" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "Disable the XMPP registration feature" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "Remove the XMPP registration flow and buttons from the interface" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "Allowed XMPP Servers" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "Leave this field blank if you allow the access to all the XMPP accounts." + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "List of allowed XMPP servers" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "Whitelisted Domains for SSRF Protection" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "See the related SSRF documentation on developer.mozilla.org." + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "This setting will be applied after a daemon restart." + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "List of Locally Authorized Domains" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Description" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "General description of the instance" + +#: [information]banner +msgid "Main banner" +msgstr "Main banner" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "Ensure that the picture is not too large and can be reached from any webpages" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "Leave this field blank if you don’t want to show any message." + +#: [information]label +msgid "Information Message" +msgstr "Information Message" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "Default XMPP server" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "Main XMPP server domain" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "Main XMPP server description" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "Main XMPP server country" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "Pick a country in the list" + +#: [tenor]title +msgid "Tenor integration" +msgstr "Tenor integration" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "Your Tenor API Key" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "Movim integrates the Tenor API to allow GIF search and publication in Chat" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "Access Tenor and get your API key" + +#: [log]empty +msgid "Empty" +msgstr "Empty" + +#: [log]syslog +msgid "Syslog" +msgstr "Syslog" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "Syslog and files" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "Maximum of connected sessions" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "Reported by %s users" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "Those accounts were reported by some Movim users" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "You can choose to block them for all the other users" + +#: [adminsessions]title +msgid "Sessions" +msgstr "Sessions" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "Currently connected users on the pod" + +#: [avatar]file +msgid "File" +msgstr "File" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "Profile Picture Updated" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "Profile Picture Not Updated" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "Change my profile picture" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "Your picture is too big" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "No avatar yet" + +#: [banner]change +msgid "Change my banner" +msgstr "Change my banner" + +#: [banner]updated +msgid "Banner Updated" +msgstr "Banner Updated" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "Banner Not Updated" + +#: [banner]missing +msgid "No banner yet" +msgstr "No banner yet" + +#: [blocked]title +msgid "Blocked" +msgstr "Blocked" + +#: [blocked]block_account +msgid "Block the account" +msgstr "Block the account" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "Unblock the account" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "Account blocked" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "Account unblocked" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "You will find here the users you have blocked" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "The following users are blocked by Movim and cannot contact you anymore" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "The administrator is also aware of this list and can therefore block those users system wide" + +#: [blog]title +msgid "%s’s blog" +msgstr "%s’s blog" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "This content is private, please login to see it" + +#: [message]published +msgid "Message Published" +msgstr "Message Published" + +#: [message]react +msgid "Add a reaction" +msgstr "Add a reaction" + +#: [message]retract +msgid "Retract" +msgstr "Retract" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "Your contact attempted to retract a previous message, but it's unsupported by your client" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "This message was moderated" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "Your message could not be sent, please try again later" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "Encrypted message" + +#: [message]retracted +msgid "Retracted message" +msgstr "Retracted message" + +#: [message]composing +msgid "Composing…" +msgstr "Composing…" + +#: [message]invitation +msgid "Invitation" +msgstr "Invitation" + +#: [message]paused +msgid "Paused…" +msgstr "Paused…" + +#: [message]gone +msgid "Contact gone" +msgstr "Contact gone" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "↑ to edit your previous message" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr ":shortcut: to insert an emoji" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "You are not allowed to send messages in this chatroom" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%s needs your attention" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "Your message here…" + +#: [chat]smileys +msgid "Smileys" +msgstr "Smileys" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "Frequent contacts" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "Nothing here yet…" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "Don’t be shy, send a first message to start the discussion" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "You received an invitation to join a chatroom" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "You sent an invitation to join a chatroom" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "Join %s" + +#: [chat]profile +msgid "See the profile" +msgstr "See the profile" + +#: [chat]clear +msgid "Clear the history" +msgstr "Clear the history" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "Edit last message" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "Report abuse" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "Incoming call" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "Outgoing call" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "Missed call" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "Refused call" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "Call ended" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "%s hours %s minutes" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "%s minutes and %s seconds" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "%s seconds" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "%s is now admin" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "%s is now owner" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "%s is now banned" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "%s is now member" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "An error occurred when sending the message" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "Clear the local history" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "You are going to delete %s local messages, are you sure?" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "Action impossible in encrypted chats" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "This is the beginning of this conversation" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "Add to my contacts" + +#: [chat]first_messages_block +msgid "Block" +msgstr "Block" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "Enable Wide Conference Call" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "Scale this call to more participants." + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "Enabling Wide Conference Call will invite the SFU service into this conference call." + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "Copy the text" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "Text copied" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "Search messages by content" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "No messages found" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "Fingerprints" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "OMEMO Fingerprints" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "Generating the encryption keys, please wait…" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "Encryption keys generated" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "Resolving OMEMO devices" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "Building encrypted sessions" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "Building own encryption sessions" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "Encryption disabled" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "Send a message to build the encrypted session" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "Enabling encryption for the contact" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "Enabling encryption for the chatroom" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "Disabling encryption for the contact" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "Disabling encryption for the chatroom" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "Last activity" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "%s sessions built" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "No chats yet…" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "Start a new conversation by clicking on the %s button." + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "Start a new conversation" + +#: [chats]add +msgid "Chat with a contact" +msgstr "Chat with a contact" + +#: [chats]me +msgid "Me" +msgstr "Me" + +#: [chats]picture +msgid "Picture" +msgstr "Picture" + +#: [chats]video +msgid "Video" +msgstr "Video" + +#: [chats]audio +msgid "Audio" +msgstr "Audio" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "All" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "Contacts" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "Discover, follow and share" + +#: [communities]counter +msgid "%s communities" +msgstr "%s communities" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "Search for a new server" + +#: [communities]servers +msgid "Communities servers" +msgstr "Communities servers" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "Discover the Communities by servers" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "Communities server discovered" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "This server doesn’t exists" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "Communities you might like" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "Community created successfully" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "There is no Communities yet on this server." + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "Create a new community on %s" + +#: [communitiesserver]name +msgid "Community name" +msgstr "Community name" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "My Little Pony - Fan Club" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "Please provide a valid community name (4 characters minimum)" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "You cannot create a new community on this server" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "Issue when trying to discover the items" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "The server %s cannot be reached" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "No Communities Servers yet…" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "It seems that we can't find any communities for the moment" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Configuration" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "Subscriptions" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "Public subscriptions" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "My Communities subscriptions" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "Community deleted successfully" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "Delete the community" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "You are going to delete the following community. Please confirm your action." + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "Error during the node deletion" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "Configuration saved" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "Error during the application of the node configuration" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "Owners" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "Publishers" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "Roles" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "Role correctly set" + +#: [communityconfig]publication +msgid "Publication" +msgstr "Publication" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "Public" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "Everyone can publish" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "The publishers can publish" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "Subscribers" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "The subscribers can publish" + +#: [communityconfig]type +msgid "Community type" +msgstr "Community type" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "Articles" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "Publish and read articles" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "Gallery" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "Publish and browse pictures" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "%s subscribers" + +#: [communitydata]num +msgid "%s posts" +msgstr "%s posts" + +#: [communitydata]public +msgid "Public page" +msgstr "Public page" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "Only publishers can publish" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "Only subscribers can publish" + +#: [communityheader]follow +msgid "Follow" +msgstr "Follow" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "Unfollow" + +#: [communityheader]followed +msgid "Followed" +msgstr "Followed" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "Unfollowed" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "The subscriptions are disabled for this community" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "Give a label for this community" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "My Community Name" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "Share this follow to everyone" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "It will appear on your profile" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "You are going to unfollow this community" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "Are you sure?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "No publication yet? Write your first post to make people discover your profile" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "Publish my first post" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "Private account" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "Ask %s to be in your contacts to see the publications" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "Send an invitation request before following the contact" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "You can't follow the contact at the moment" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "Subscribed Communities" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "Hello" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "Here you will be able to manage all your subscriptions." + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "You don’t have any community subscriptions yet." + +#: [config]general +msgid "General" +msgstr "General" + +#: [config]language +msgid "Language" +msgstr "Language" + +#: [config]roster +msgid "Roster display" +msgstr "Roster display" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "Show the offline contacts" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "Hide the offline contacts" + +#: [config]appearence +msgid "Appearance" +msgstr "Appearance" + +#: [config]updated +msgid "Configuration updated" +msgstr "Configuration updated" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "Configuration invalid" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "Advanced Configuration" + +#: [config]nsfw +msgid "Display adult content" +msgstr "Display adult content" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "Will allow you to read the posts tagged with the #nsfw tag" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "Use OMEMO" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "Enable end to end encryption on Movim for your account" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." + +#: [config]night_mode +msgid "Night Mode" +msgstr "Night Mode" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "Use dark colors to rest your eyes" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "Your browser is already telling Movim to use the Night Mode by default" + +#: [config]chatmain +msgid "Main chat page" +msgstr "Main chat page" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "Set the chat page to the default when opening Movim" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "Server-side chat messages archiving preferences" + +#: [config]mam_always +msgid "Always" +msgstr "Always" + +#: [config]mam_never +msgid "Never" +msgstr "Never" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "Archiving preferences saved" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "Personal blog confidentiality" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "Public blog" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "Accessible to everyone on the network" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "Private blog" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "Restricted to your subscribers only" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "Personal blog confidentiality saved" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "Confidentiality" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "Audio notifications" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "Incoming message" + +#: [config]accent_color +msgid "Accent color" +msgstr "Accent color" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "Be careful" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "Changing your nickname will change your public blog, feed, and articles URLs" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "Confirmation of authentication" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "The following platform would like your confirmation to authentify this account" + +#: [confirm]code +msgid "Authentication code" +msgstr "Authentication code" + +#: [roster]add_title +msgid "Add a contact" +msgstr "Add a contact" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "Enter the XMPP Address of your contact." + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "Press enter to validate." + +#: [roster]added +msgid "Contact added" +msgstr "Contact added" + +#: [roster]updated +msgid "Contact updated" +msgstr "Contact updated" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "Contact deleted" + +#: [general]legend +msgid "General Information" +msgstr "General Information" + +#: [general]name +msgid "Name" +msgstr "Name" + +#: [general]pronouns +msgid "Pronouns" +msgstr "Pronouns" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "he/she/they/…" + +#: [general]nickname +msgid "Nickname" +msgstr "Nickname" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Date of Birth" + +#: [general]gender +msgid "Gender" +msgstr "Gender" + +#: [general]marital +msgid "Marital Status" +msgstr "Marital Status" + +#: [general]email +msgid "Email" +msgstr "Email" + +#: [general]website +msgid "Website" +msgstr "Website" + +#: [general]about +msgid "About Me" +msgstr "About Me" + +#: [general]accounts +msgid "Other Accounts" +msgstr "Other Accounts" + +#: [general]tune +msgid "Is Listening" +msgstr "Is Listening" + +#: [general]pictures +msgid "Pictures" +msgstr "Pictures" + +#: [general]links +msgid "Links" +msgstr "Links" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "Your account is private" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "Go to the Settings page to create a public blog and allow the other users to find you" + +#: [position]legend +msgid "Geographic Position" +msgstr "Geographic Position" + +#: [position]locality +msgid "Locality" +msgstr "Locality" + +#: [position]country +msgid "Country" +msgstr "Country" + +#: [listen]title +msgid "Listening" +msgstr "Listening" + +#: [last]title +msgid "Last seen" +msgstr "Last seen" + +#: [clients]title +msgid "Clients" +msgstr "Clients" + +#: [clients]title_full +msgid "Clients information" +msgstr "Clients information" + +#: [explore]last_registered +msgid "Last registered" +msgstr "Last registered" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "Find some new contacts" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "Edit" + +#: [edit]alias +msgid "Alias" +msgstr "Alias" + +#: [edit]group +msgid "Group" +msgstr "Group" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "You are going to remove one of your contacts, please confirm your action" + +#: [age]years +msgid "%s years" +msgstr "%s years" + +#: [blog]last +msgid "Last public post" +msgstr "Last public post" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "Visit the public blog" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "You can see this contact status" + +#: [subscription]to_button +msgid "Share my status" +msgstr "Share my status" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "But this contact cannot see yours" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "You are not subscribed to this contact" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "Ask to subscribe" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "But this contact can still see if you are online" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "You are not subscribed to anyone" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "Invite" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "This contact is in your contact list but you are not subscribed to each other" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "Suggestions for you" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "Dictaphone" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "Push to record" + +#: [dictaphone]recording +msgid "Recording" +msgstr "Recording" + +#: [draw]title +msgid "Draw" +msgstr "Draw" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "Emojis" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "My favorite emojis" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "Pick emojis from the packs bellow that you want to add to your favorites ones" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "Manage a favorite emoji" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "The shortcut should only contains lowercase letters, numbers and dashes" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "New favorite emoji added" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "The shortcut is already used on another emoji" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "No favorites yet, check the settings page to add some" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "Frequently Asked Questions" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "What does the permission setting do?" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "How does it apply to Communities posts?" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "Where can I find a list of group chats?" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "Where can I find my contacts?" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "By opening the search panel." + +#: [apps]title +msgid "Applications" +msgstr "Applications" + +#: [apps]install +msgid "Movim App" +msgstr "Movim App" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "Install Movim on your device" + +#: [apps]recommend +msgid "We also recommend" +msgstr "We also recommend" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "Administrators & Contact" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "Chat with the Movim team?" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "Add the chatroom" + +#: [error]username +msgid "Wrong username" +msgstr "Wrong username" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "Invalid XMPP Address" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "Empty Challenge from the server" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "XMPP Domain error, your account is not a valid XMPP Address" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "Some data are missing!" + +#: [error]internal +msgid "Internal server error" +msgstr "Internal server error" + +#: [error]session +msgid "Session error" +msgstr "Session error" + +#: [error]account_created +msgid "Account successfully created" +msgstr "Account successfully created" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "Movim cannot connect to the server" + +#: [error]impossible +msgid "Impossible login" +msgstr "Impossible login" + +#: [error]default +msgid "Unknown error" +msgstr "Unknown error" + +#: [error]login_format +msgid "Invalid username format" +msgstr "Invalid username format" + +#: [error]password_format +msgid "Invalid password format" +msgstr "Invalid password format" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "Your XMPP server is unauthorized" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "Movim failed to authenticate. You entered wrong data" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "Authentication mechanism not supported by Movim" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "The XMPP authentification failed" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "This Movim instance is currently full." + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "Try a different one on %s" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "Connected to the server" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "Authenticated to the server" + +#: [form]username +msgid "My address" +msgstr "My address" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "Login with accounts from these servers" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "Login using any XMPP account or create a new one" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "Connected" + +#: [form]population +msgid "Population" +msgstr "Population" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "%s invited you to join a chatroom" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "Administrated by" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "Movim is a federated blogging and chat platform." + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "Visit the project official website %s." + +#: [menu]empty_title +msgid "No news yet…" +msgstr "No news yet…" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." + +#: [menu]mine +msgid "My publications" +msgstr "My publications" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "Write a new post…" + +#: [notification]request_title +msgid "Notifications request" +msgstr "Notifications request" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "Movim requires your approval to display notifications" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "This authorization can be revoked at any time" + +#: [notification]request_button +msgid "Request" +msgstr "Request" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "Authorization granted" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "Authorization refused" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "Notifications" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "Push notifications" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "Movim will send push notifications to the following registered devices" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "Push notifications enabled for this device" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "Push notifications disabled for this device" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "Unknown browser" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "Unknown platform" + +#: [invitations]received +msgid "Received Invitations" +msgstr "Received Invitations" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "%s wants to add you" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "No new invitations" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "No pending subscriptions" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%s wants to talk with you" + +#: [notifs]empty +msgid "No new notifications" +msgstr "No new notifications" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "Movim can notify you when a new post is published or if you receive messages" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "You can always disable them afterwards" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "Public profile" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "Make your profile public and allow other users to find you and make new contacts more easily" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "You can always disable this in the configuration afterwards" + +#: [post]publish_something +msgid "Publish something" +msgstr "Publish something" + +#: [post]news_feed +msgid "News Feed" +msgstr "News Feed" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "Discover and register to the groups you are interested in" + +#: [post]content +msgid "Content" +msgstr "Content" + +#: [post]published +msgid "Post published" +msgstr "Post published" + +#: [post]deleted +msgid "Post deleted" +msgstr "Post deleted" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "Posts recently published in communities that you are not subscribed (yet)" + +#: [post]new_blog +msgid "New blog post" +msgstr "New blog post" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "This is a re-post from %s" + +#: [post]see_profile +msgid "See %s profile" +msgstr "See %s profile" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "Unknown contact" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "%s minute" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "%s minutes" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "Preview URL: %s" + +#: [post]public_yes +msgid "This post is public" +msgstr "This post is public" + +#: [post]public_no +msgid "This post is private" +msgstr "This post is private" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "Public URL of this post" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "Disable the comments" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "Nobody will be able to like or comment" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "Comments disabled for this post" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "Comments enabled for this post" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "Delete this post" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "You are going to delete this post, please confirm your action" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "Are you sure that you want to delete this comment?" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "Discover more posts on the communities page" + +#: [post]more +msgid "Read more" +msgstr "Read more" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "Comments disabled" + +#: [post]comment_published +msgid "Comment published" +msgstr "Comment published" + +#: [post]comment_like_published +msgid "Liked" +msgstr "Liked" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "The comment cannot be published" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "Comment deleted" + +#: [post]liked +msgid "Liked your publication" +msgstr "Liked your publication" + +#: [post]commented +msgid "Commented" +msgstr "Commented" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "You must be subscribed to %s to see this publication" + +#: [hello]contact_post +msgid "Contact post" +msgstr "Contact post" + +#: [hello]share_title +msgid "Universal share button" +msgstr "Universal share button" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "Share on Movim" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "Oh! Hello!" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "It seems that you are new here! Welcome to Movim!" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "Check the Menu" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "Looks like you didn’t complete your profile yet" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "You can go in the Configuration page to describe yourself and put a nice picture" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "Visit my blog" + +#: [status]disconnect +msgid "Disconnect" +msgstr "Disconnect" + +#: [status]presence +msgid "Presence" +msgstr "Presence" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "Do you really want to log out?" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "My profile picture" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "Link copied to clipboard" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "What’s new?" + +#: [publish]brief_title +msgid "Brief" +msgstr "Brief" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "Post" + +#: [publish]post +msgid "Write a post" +msgstr "Write a post" + +#: [publish]add_link +msgid "Add a link" +msgstr "Add a link" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "Take a picture" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "Please provide a title" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "At least one picture is required" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "Preview" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "Add a file or a picture" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "You cannot publish a post here" + +#: [publish]new +msgid "New post" +msgstr "New post" + +#: [publish]title +msgid "Post title" +msgstr "Post title" + +#: [publish]content +msgid "Markdown content" +msgstr "Markdown content" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "Please enter a valid URL" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "You can format your content using Markdown" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "Draft saved" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "Rich text editor" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "Add #hashtags in your title or content to allow your post to be discovered" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "You are not authorized to publish there" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "Your post is too big to be published" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "Your text is too long, %s characters max" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "The media will be embedded" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "Create a public HTTP URL from this publication" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "This will allow anyone outside Movim to have access to your publication" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "Help" + +#: [publishhelp]more +msgid "More help" +msgstr "More help" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "Markdown syntax manual" + +#: [story]new +msgid "New story" +msgstr "New story" + +#: [story]new_edit +msgid "Edit your story" +msgstr "Edit your story" + +#: [story]new_publish +msgid "Publish your story" +msgstr "Publish your story" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "Publish to my contacts" + +#: [story]uploading +msgid "Uploading the story" +msgstr "Uploading the story" + +#: [story]publishing +msgid "Publishing the story" +msgstr "Publishing the story" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "Almost there…" + +#: [story]published +msgid "Story published" +msgstr "Story published" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Create a new account" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "No account creation form found on the server" + +#: [create]server_on +msgid "on" +msgstr "on" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "Your account has been successfully registered" + +#: [create]loading +msgid "Loading" +msgstr "Loading" + +#: [create]placeholder +msgid "…and start playing" +msgstr "…and start playing" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Not Acceptable" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "The registration system of this server is currently unavailable" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "Registration forbidden" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "Join this chatroom on login" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "Change the chatroom avatar" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "Bad Chatroom Address" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "Please enter a valid nickname (2 to 40 characters)" + +#: [chatrooms]banned +msgid "Banned" +msgstr "Banned" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "Conference call" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "Edit the conference call" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "Call your contacts and share your webcam or screen" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "Configure the chatroom" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "Nickname already taken" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "Joined the chatroom" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "Create a chatroom" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "Chatroom created" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "Standard chatroom" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "Are you sure you want to permanently destroy the following chatroom?" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "Destroy the chatroom" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "Chatroom destroyed" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "Movim was not able to find a valid chatroom. Try maybe with another identifier." + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "You are trying to add something that is not a chatroom" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "A registration is required before using the service" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "Left the chatroom" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "Discover a chatroom" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "Edit the chatroom" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "Empty name" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "You don’t have any chatroom yet." + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "Add one by clicking on the add button." + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "Name or description" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "Press the %s button to add a first chatroom" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "You are not allowed to join this chatroom" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "Gateway chatroom" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "Hide disconnected chatrooms" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "Chatroom Address" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "The chatroom doesn’t exist" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "Your nickname is not valid" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "Join a chatroom" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "Join a custom chatroom" + +#: [chatrooms]members +msgid "Members" +msgstr "Members" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "My Favorite Chatroom" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "Not acceptable" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "You are not allowed to create a chatroom there" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "A password is required" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "Pin this chatroom" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "Chatroom cannot be joined, registration required" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "The remote server for this chatroom doesn’t exist" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "Connection to remote server timed out" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "You are going to permanently leave the following chatroom. Please confirm your action." + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "Permanently leave a chatroom" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "The chatroom participant limit has been reached" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "Show all chatrooms" + +#: [chatrooms]subject +msgid "Subject" +msgstr "Subject" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "Chatrooms" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "Type of chatroom" + +#: [chatrooms]users +msgid "Users" +msgstr "Users" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "Bookmarks updated" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "Public Channel" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "You are currently logged as an anonymous user." + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "Login on %s" + +#: [room]invite +msgid "Invite a contact" +msgstr "Invite a contact" + +#: [room]invited +msgid "Invitation sent" +msgstr "Invitation sent" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "Send this link to your contacts" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "This chatroom is publicly discoverable" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "Public profiles" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "The participants of this chatroom can see each other's XMPP Addresses" + +#: [room]archived +msgid "Archived" +msgstr "Archived" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "The chatroom messages are archived" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "Group Chat" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "Private group chat with invited members" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "Add a new member" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "Remove a member" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "You will remove the following member, are you sure?" + +#: [room]banned_add +msgid "Ban someone" +msgstr "Ban someone" + +#: [room]banned_remove +msgid "Unban" +msgstr "Unban" + +#: [room]configure_user +msgid "Configure the user" +msgstr "Configure the user" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "You are not authorized to change this affiliation" + +#: [room]affiliation +msgid "Affiliation" +msgstr "Affiliation" + +#: [room]role +msgid "Role" +msgstr "Role" + +#: [room]reason +msgid "Reason" +msgstr "Reason" + +#: [room]channel +msgid "Channel" +msgstr "Channel" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "Public channel that can be publicly discoverable and joinable" + +#: [room]notify_never +msgid "Never notify" +msgstr "Never notify" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "Notify when mentioned" + +#: [room]notify_always +msgid "Always notify" +msgstr "Always notify" + +#: [room]pinned +msgid "Pinned" +msgstr "Pinned" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "Admins" + +#: [room]visitor +msgid "Visitor" +msgstr "Visitor" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "Is the user allowed to send messages?" + +#: [room]role_changed +msgid "Role changed" +msgstr "Role changed" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "No chatrooms found locally" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "Channels" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "No chatrooms found globally" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "Find more channels" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "%s in total" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "What are you looking for?" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "#cats, username@server.com, John…" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "No contacts yet?" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "Find one by searching for their name or address" + +#: [search]tags +msgid "Tags" +msgstr "Tags" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "Show all the contacts" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "Attach to a blog publication" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "Share in a new publication" + +#: [sendto]selected +msgid "contacts selected" +msgstr "contacts selected" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "Pick the contacts you want to share this content with" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "Post shared" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "Post shared with %s contacts" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "More contacts" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "Share outside Movim" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "Post shared using Movim" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "Story shared using Movim" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "Space configuration" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "Space configuration saved" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "Space configuration error" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "Space administration" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "Destroy the space" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "Invite new contacts" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "A moderator will have to approve the join request" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "Send an invitation key to your contacts" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "Leave the space" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "Add a room" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "Add a directory" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "Edit a directory" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "Remove a directory" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "Do you really want to remove this directory?" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "The %s rooms will be preserved" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "Edited directories" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "Edited room" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "%s subscriptions requests are waiting for your approval" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "%s is waiting for your approval to join the space" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "Manage the request" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "Pin this space in the bar" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "An owner cannot leave his own Space" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "Remove from the space" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "Create a space" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "Add a new space" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "Join a space" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "You got an invite?" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "Space title" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "Your Space title is empty" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "Space created" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "Loading the space" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "Subscribed to the space" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "Use an invitation key" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "A valid key is required" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "Locked space" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "You are not authorized to join the space at the moment" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "Try again" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "Are you sure that you want to leave the space?" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "A request has been send to a moderator." + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "You will be able to join the space once its accepted." + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "Add %s to the space" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "Deny the access" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "Contact added in the space" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "Contact denied in the space" + +#: [sticker]title +msgid "Stickers" +msgstr "Stickers" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "A sticker has been sent using Movim" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "Type a keyword" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "Find a GIF" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "Powered by Tenor" + +#: [stories]publish +msgid "New Story" +msgstr "New Story" + +#: [stories]title +msgid "Stories" +msgstr "Stories" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "New Story from %s" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "You don't have access to this story, send an invitation to the author to access it" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "Some of your contacts might not have access to this story" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "They might have to subscribe to the publisher account" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "Send a comment to %s" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "Story deletion" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "Are you sure that you want to delete this story?" + +#: [stories]deleted +msgid "Story deleted" +msgstr "Story deleted" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" + +#: [feed]title +msgid "%s’s feed" +msgstr "%s’s feed" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "No public feed for this contact" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "No contact specified" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "Upload" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "Choose a file to upload" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "Large pictures will be resized and compressed" + +#: [upload]error_filesize +msgid "File too large" +msgstr "File too large" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "Upload failed" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "You are not allowed to upload a file" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "You exceeded the quota" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "Drag and drop your file in this area" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "Max file size %s" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "Uploading to your account" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Profile" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "Profile Updated" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "Profile Not Updated" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "This will also be used as your default nickname when joining a chatroom" + +#: [profile]public +msgid "Your profile is now public" +msgstr "Your profile is now public" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "Your profile is now restricted" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "Configure your instance nickname" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "Is this account public on this Movim instance?" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "Set a local nickname to allow the other users of the instance to find you easily." + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "Your nickname is %s." + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "John_Bob96" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "Your nickname should only contain letters, numbers, - and _" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "The nickname is already registered" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "Nickname saved" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Submit" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Reset" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "Movim is currently working in degraded mode" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "Please contact your server administrator to see if this feature can be enabled." + +#: [visio]calling +msgid "…is calling you" +msgstr "…is calling you" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "Incoming video call" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "Incoming audio call" + +#: [visio]ringing +msgid "…ringing" +msgstr "…ringing" + +#: [visio]declined +msgid "Declined" +msgstr "Declined" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "Ongoing call" + +#: [visio]joined_call +msgid "Joined call" +msgstr "Joined call" + +#: [visio]failed +msgid "Failed" +msgstr "Failed" + +#: [visio]connecting +msgid "…connecting" +msgstr "…connecting" + +#: [visio]ended +msgid "End of call" +msgstr "End of call" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "Waiting for incoming participants" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "All participants have left the call" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "Hang up the call" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "You are going to hang up the current call, are you sure?" + +#: [visio]pinned +msgid "%s pinned" +msgstr "%s pinned" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "Unpinned" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "%s is calling you" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "Calling %s" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "Creating a conference call in %s" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "Joining the conference call" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "Setting up your camera and microphone" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "Please allow your browser to share your devices to configure them" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "Default microphone" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "Default camera" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "Default microphone changed" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "Default camera changed" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "No sound detected from your microphone" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "Try make some noise, select another source or check your system settings" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "Movim requires Javascript to be enabled to work properly." + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." + +#: [global]loading +msgid "Loading…" +msgstr "Loading…" + +#: [global]or +msgid "Or" +msgstr "Or" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "Switch to another pod" + +#: [global]main_menu +msgid "Main menu" +msgstr "Main menu" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "Bottom menu" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "Skip to main content" + +#: [page]about +msgid "About" +msgstr "About" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Account Creation" + +#: [page]administration +msgid "Administration" +msgstr "Administration" + +#: [page]avatar +msgid "Profile Picture" +msgstr "Profile Picture" + +#: [page]blog +msgid "Blog" +msgstr "Blog" + +#: [page]chats +msgid "Messages" +msgstr "Messages" + +#: [page]communities +msgid "Communities" +msgstr "Communities" + +#: [page]explore +msgid "Explore" +msgstr "Explore" + +#: [page]feed +msgid "Feed" +msgstr "Feed" + +#: [page]home +msgid "Home" +msgstr "Home" + +#: [page]login +msgid "Login" +msgstr "Login" + +#: [page]news +msgid "News" +msgstr "News" + +#: [page]not_found +msgid "Not Found" +msgstr "Not Found" + +#: [page]posts +msgid "Posts" +msgstr "Posts" + +#: [page]publish +msgid "Publish" +msgstr "Publish" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "Share" + +#: [page]space +msgid "Space" +msgstr "Space" + +#: [page]tag +msgid "Tag" +msgstr "Tag" + +#: [page]visio +msgid "Visio-conference" +msgstr "Visio-conference" + +#: [error]error +msgid "Error: %s" +msgstr "Error: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "Cannot load file '%s'" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "Requested widget '%s' doesn’t exist." + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "Requested event '%s' not registered." + +#: [error]whoops +msgid "Whoops!" +msgstr "Whoops!" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "Movim cannot talk with the server, please try again later" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "Reconnection to the server…" + +#: [error]oops +msgid "Oops!" +msgstr "Oops!" + +#: [button]accept +msgid "Accept" +msgstr "Accept" + +#: [button]add +msgid "Add" +msgstr "Add" + +#: [button]audio_call +msgid "Audio Call" +msgstr "Audio Call" + +#: [button]bool_no +msgid "No" +msgstr "No" + +#: [button]bool_yes +msgid "Yes" +msgstr "Yes" + +#: [button]call +msgid "Call" +msgstr "Call" + +#: [button]cancel +msgid "Cancel" +msgstr "Cancel" + +#: [button]chat +msgid "Chat" +msgstr "Chat" + +#: [button]clear +msgid "Clear" +msgstr "Clear" + +#: [button]close +msgid "Close" +msgstr "Close" + +#: [button]connecting +msgid "Connecting" +msgstr "Connecting" + +#: [button]copy_link +msgid "Copy Link" +msgstr "Copy Link" + +#: [button]create +msgid "Create" +msgstr "Create" + +#: [button]delete +msgid "Delete" +msgstr "Delete" + +#: [button]destroy +msgid "Destroy" +msgstr "Destroy" + +#: [button]discover +msgid "Discover" +msgstr "Discover" + +#: [button]enable +msgid "Enable" +msgstr "Enable" + +#: [button]join +msgid "Join" +msgstr "Join" + +#: [button]leave +msgid "Leave" +msgstr "Leave" + +#: [button]like +msgid "Like" +msgstr "Like" + +#: [button]more +msgid "More" +msgstr "More" + +#: [button]new +msgid "New conversation" +msgstr "New conversation" + +#: [button]next +msgid "Next" +msgstr "Next" + +#: [button]not_now +msgid "Not Now" +msgstr "Not Now" + +#: [button]open +msgid "Open" +msgstr "Open" + +#: [button]previous +msgid "Previous" +msgstr "Previous" + +#: [button]quote +msgid "Quote" +msgstr "Quote" + +#: [button]refresh +msgid "Refresh" +msgstr "Refresh" + +#: [button]refuse +msgid "Refuse" +msgstr "Refuse" + +#: [button]register +msgid "Register" +msgstr "Register" + +#: [button]remove +msgid "Remove" +msgstr "Remove" + +#: [button]reply +msgid "Reply" +msgstr "Reply" + +#: [button]return +msgid "Return" +msgstr "Return" + +#: [button]save +msgid "Save" +msgstr "Save" + +#: [button]search +msgid "Search" +msgstr "Search" + +#: [button]send_to +msgid "Send to" +msgstr "Send to" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "Share" + +#: [button]sign_up +msgid "Sign Up" +msgstr "Sign Up" + +#: [button]submitting +msgid "Submitting" +msgstr "Submitting" + +#: [button]unregister +msgid "Unregister" +msgstr "Unregister" + +#: [button]update +msgid "Update" +msgstr "Update" + +#: [button]updating +msgid "Updating" +msgstr "Updating" + +#: [button]validate +msgid "Validate" +msgstr "Validate" + +#: [button]video_call +msgid "Video Call" +msgstr "Video Call" + +#: [input]optional +msgid "Optional" +msgstr "Optional" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "Associated Community" + +#: [input]open_me_using +msgid "Open me using" +msgstr "Open me using" + +#: [day]title +msgid "Day" +msgstr "Day" + +#: [day]monday +msgid "Monday" +msgstr "Monday" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Tuesday" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Wednesday" + +#: [day]thursday +msgid "Thursday" +msgstr "Thursday" + +#: [day]friday +msgid "Friday" +msgstr "Friday" + +#: [day]saturday +msgid "Saturday" +msgstr "Saturday" + +#: [day]sunday +msgid "Sunday" +msgstr "Sunday" + +#: [client]bot +msgid "Bot" +msgstr "Bot" + +#: [client]console +msgid "Console" +msgstr "Console" + +#: [client]desktop +msgid "Desktop" +msgstr "Desktop" + +#: [client]phone +msgid "Phone" +msgstr "Phone" + +#: [client]web +msgid "Web" +msgstr "Web" + +#: [client]registered +msgid "Registered" +msgstr "Registered" + +#: [client]gateway +msgid "Gateway" +msgstr "Gateway" + +#: [client]im +msgid "Server" +msgstr "Server" + +#: [presence]online +msgid "Online" +msgstr "Online" + +#: [presence]away +msgid "Away" +msgstr "Away" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "Do Not Disturb" + +#: [presence]xa +msgid "Extended Away" +msgstr "Extended Away" + +#: [presence]offline +msgid "Offline" +msgstr "Offline" + +#: [presence]error +msgid "Error" +msgstr "Error" + +#: [mood]afraid +msgid "afraid" +msgstr "afraid" + +#: [mood]amazed +msgid "amazed" +msgstr "amazed" + +#: [mood]amorous +msgid "amorous" +msgstr "amorous" + +#: [mood]angry +msgid "angry" +msgstr "angry" + +#: [mood]annoyed +msgid "annoyed" +msgstr "annoyed" + +#: [mood]anxious +msgid "anxious" +msgstr "anxious" + +#: [mood]aroused +msgid "aroused" +msgstr "aroused" + +#: [mood]ashamed +msgid "ashamed" +msgstr "ashamed" + +#: [mood]bored +msgid "bored" +msgstr "bored" + +#: [mood]brave +msgid "brave" +msgstr "brave" + +#: [mood]calm +msgid "calm" +msgstr "calm" + +#: [mood]cautious +msgid "cautious" +msgstr "cautious" + +#: [mood]cold +msgid "cold" +msgstr "cold" + +#: [mood]confident +msgid "confident" +msgstr "confident" + +#: [mood]confused +msgid "confused" +msgstr "confused" + +#: [mood]contemplative +msgid "contemplative" +msgstr "contemplative" + +#: [mood]contented +msgid "contented" +msgstr "contented" + +#: [mood]cranky +msgid "cranky" +msgstr "cranky" + +#: [mood]crazy +msgid "crazy" +msgstr "crazy" + +#: [mood]creative +msgid "creative" +msgstr "creative" + +#: [mood]curious +msgid "curious" +msgstr "curious" + +#: [mood]dejected +msgid "dejected" +msgstr "dejected" + +#: [mood]depressed +msgid "depressed" +msgstr "depressed" + +#: [mood]disappointed +msgid "disappointed" +msgstr "disappointed" + +#: [mood]disgusted +msgid "disgusted" +msgstr "disgusted" + +#: [mood]dismayed +msgid "dismayed" +msgstr "dismayed" + +#: [mood]distracted +msgid "distracted" +msgstr "distracted" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "embarrassed" + +#: [mood]envious +msgid "envious" +msgstr "envious" + +#: [mood]excited +msgid "excited" +msgstr "excited" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "flirtatious" + +#: [mood]frustrated +msgid "frustrated" +msgstr "frustrated" + +#: [mood]grateful +msgid "grateful" +msgstr "grateful" + +#: [mood]grieving +msgid "grieving" +msgstr "grieving" + +#: [mood]grumpy +msgid "grumpy" +msgstr "grumpy" + +#: [mood]guilty +msgid "guilty" +msgstr "guilty" + +#: [mood]happy +msgid "happy" +msgstr "happy" + +#: [mood]hopeful +msgid "hopeful" +msgstr "hopeful" + +#: [mood]hot +msgid "hot" +msgstr "hot" + +#: [mood]humbled +msgid "humbled" +msgstr "humbled" + +#: [mood]humiliated +msgid "humiliated" +msgstr "humiliated" + +#: [mood]hungry +msgid "hungry" +msgstr "hungry" + +#: [mood]hurt +msgid "hurt" +msgstr "hurt" + +#: [mood]impressed +msgid "impressed" +msgstr "impressed" + +#: [mood]in_awe +msgid "in awe" +msgstr "in awe" + +#: [mood]in_love +msgid "in love" +msgstr "in love" + +#: [mood]indignant +msgid "indignant" +msgstr "indignant" + +#: [mood]interested +msgid "interested" +msgstr "interested" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "intoxicated" + +#: [mood]invincible +msgid "invincible" +msgstr "invincible" + +#: [mood]jealous +msgid "jealous" +msgstr "jealous" + +#: [mood]lonely +msgid "lonely" +msgstr "lonely" + +#: [mood]lost +msgid "lost" +msgstr "lost" + +#: [mood]lucky +msgid "lucky" +msgstr "lucky" + +#: [mood]mean +msgid "mean" +msgstr "mean" + +#: [mood]moody +msgid "moody" +msgstr "moody" + +#: [mood]nervous +msgid "nervous" +msgstr "nervous" + +#: [mood]neutral +msgid "neutral" +msgstr "neutral" + +#: [mood]offended +msgid "offended" +msgstr "offended" + +#: [mood]outraged +msgid "outraged" +msgstr "outraged" + +#: [mood]playful +msgid "playful" +msgstr "playful" + +#: [mood]proud +msgid "proud" +msgstr "proud" + +#: [mood]relaxed +msgid "relaxed" +msgstr "relaxed" + +#: [mood]relieved +msgid "relieved" +msgstr "relieved" + +#: [mood]remorseful +msgid "remorseful" +msgstr "remorseful" + +#: [mood]restless +msgid "restless" +msgstr "restless" + +#: [mood]sad +msgid "sad" +msgstr "sad" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "sarcastic" + +#: [mood]satisfied +msgid "satisfied" +msgstr "satisfied" + +#: [mood]serious +msgid "serious" +msgstr "serious" + +#: [mood]shocked +msgid "shocked" +msgstr "shocked" + +#: [mood]shy +msgid "shy" +msgstr "shy" + +#: [mood]sick +msgid "sick" +msgstr "sick" + +#: [mood]sleepy +msgid "sleepy" +msgstr "sleepy" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "spontaneous" + +#: [mood]stressed +msgid "stressed" +msgstr "stressed" + +#: [mood]strong +msgid "strong" +msgstr "strong" + +#: [mood]surprised +msgid "surprised" +msgstr "surprised" + +#: [mood]thankful +msgid "thankful" +msgstr "thankful" + +#: [mood]thirsty +msgid "thirsty" +msgstr "thirsty" + +#: [mood]tired +msgid "tired" +msgstr "tired" + +#: [mood]undefined +msgid "undefined" +msgstr "undefined" + +#: [mood]weak +msgid "weak" +msgstr "weak" + +#: [mood]worried +msgid "worried" +msgstr "worried" + +#: [month]title +msgid "Month" +msgstr "Month" + +#: [month]january +msgid "January" +msgstr "January" + +#: [month]february +msgid "February" +msgstr "February" + +#: [month]march +msgid "March" +msgstr "March" + +#: [month]april +msgid "April" +msgstr "April" + +#: [month]may +msgid "May" +msgstr "May" + +#: [month]june +msgid "June" +msgstr "June" + +#: [month]july +msgid "July" +msgstr "July" + +#: [month]august +msgid "August" +msgstr "August" + +#: [month]september +msgid "September" +msgstr "September" + +#: [month]october +msgid "October" +msgstr "October" + +#: [month]november +msgid "November" +msgstr "November" + +#: [month]december +msgid "December" +msgstr "December" + +#: [year]title +msgid "Year" +msgstr "Year" + +#: [date]today +msgid "Today" +msgstr "Today" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "Tomorrow" + +#: [date]yesterday +msgid "Yesterday" +msgstr "Yesterday" + +#: [date]ago +msgid "%d days ago" +msgstr "%d days ago" + +#: [date]day +msgid "day" +msgstr "day" + +#: [post]title +msgid "Title" +msgstr "Title" + +#: [post]place +msgid "Place" +msgstr "Place" + +#: [post]by +msgid "by" +msgstr "by" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "Geolocalisation" + +#: [post]email +msgid "email" +msgstr "email" + +#: [post]empty +msgid "No content" +msgstr "No content" + +#: [post]no_comments +msgid "No comments yet" +msgstr "No comments yet" + +#: [post]older +msgid "Get older posts" +msgstr "Get older posts" + +#: [post]new_items +msgid "%s new items" +msgstr "%s new items" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "Comment publication error" + +#: [post]comments_get +msgid "Get the comments" +msgstr "Get the comments" + +#: [post]comment_add +msgid "Add a comment" +msgstr "Add a comment" + +#: [post]share +msgid "Share with" +msgstr "Share with" + +#: [post]share_everyone +msgid "Everyone" +msgstr "Everyone" + +#: [post]updated +msgid "Updated" +msgstr "Updated" + +#: [post]content_not_found +msgid "Content not found" +msgstr "Content not found" + +#: [post]default_title +msgid "Contact publication" +msgstr "Contact publication" + +#: [post]comments +msgid "Comments" +msgstr "Comments" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "Original post deleted" + +#: [filesize]byte +msgid "B" +msgstr "B" + +#: [filesize]kilobyte +msgid "KB" +msgstr "KB" + +#: [filesize]megabyte +msgid "MB" +msgstr "MB" + +#: [filesize]gigabyte +msgid "GB" +msgstr "GB" + +#: [filesize]terabyte +msgid "TB" +msgstr "TB" + +#: [affiliation]owner +msgid "Owner" +msgstr "Owner" + +#: [affiliation]admin +msgid "Admin" +msgstr "Admin" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "Publisher" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "Publish only" + +#: [affiliation]member +msgid "Member" +msgstr "Member" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "Outcast" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "No affiliation" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "User granted as owner" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "User granted as admin" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "User granted as member" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "User banned" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "Affiliation removed for the user" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "The API is not reachable, try again later" + +#: [field]type_here +msgid "Type here" +msgstr "Type here" diff --git a/frontend/locales/en_ca.po b/frontend/locales/en_ca.po new file mode 100644 index 0000000..bb262a4 --- /dev/null +++ b/frontend/locales/en_ca.po @@ -0,0 +1,4154 @@ +# +# Translators: +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: English (Canada) (http://app.transifex.com/movim/movim/language/en_CA/)\n" +"Language: en_CA\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "" + +#: [about]developers +msgid "Developers" +msgstr "" + +#: [about]translators +msgid "Translators" +msgstr "" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "" + +#: [about]software +msgid "Software" +msgstr "" + +#: [about]resources +msgid "Resources" +msgstr "" + +#: [about]api +msgid "API" +msgstr "" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "" + +#: [account]delete +msgid "Delete your account" +msgstr "" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "" + +#: [general]theme +msgid "Theme" +msgstr "" + +#: [general]language +msgid "Default language" +msgstr "" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "" + +#: [credentials]re_password +msgid "Retype password" +msgstr "" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "" + +#: [general]gender +msgid "Gender" +msgstr "" + +#: [general]marital +msgid "Marital Status" +msgstr "" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "" + +#: [general]about +msgid "About Me" +msgstr "" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "" + +#: [day]tuesday +msgid "Tuesday" +msgstr "" + +#: [day]wednesday +msgid "Wednesday" +msgstr "" + +#: [day]thursday +msgid "Thursday" +msgstr "" + +#: [day]friday +msgid "Friday" +msgstr "" + +#: [day]saturday +msgid "Saturday" +msgstr "" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "" + +#: [presence]away +msgid "Away" +msgstr "" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "" + +#: [month]february +msgid "February" +msgstr "" + +#: [month]march +msgid "March" +msgstr "" + +#: [month]april +msgid "April" +msgstr "" + +#: [month]may +msgid "May" +msgstr "" + +#: [month]june +msgid "June" +msgstr "" + +#: [month]july +msgid "July" +msgstr "" + +#: [month]august +msgid "August" +msgstr "" + +#: [month]september +msgid "September" +msgstr "" + +#: [month]october +msgid "October" +msgstr "" + +#: [month]november +msgid "November" +msgstr "" + +#: [month]december +msgid "December" +msgstr "" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "" + +#: [date]yesterday +msgid "Yesterday" +msgstr "" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/en_sg.po b/frontend/locales/en_sg.po new file mode 100644 index 0000000..7120202 --- /dev/null +++ b/frontend/locales/en_sg.po @@ -0,0 +1,4154 @@ +# +# Translators: +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: English (Singapore) (http://app.transifex.com/movim/movim/language/en_SG/)\n" +"Language: en_SG\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "" + +#: [about]developers +msgid "Developers" +msgstr "" + +#: [about]translators +msgid "Translators" +msgstr "" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "" + +#: [about]software +msgid "Software" +msgstr "" + +#: [about]resources +msgid "Resources" +msgstr "" + +#: [about]api +msgid "API" +msgstr "" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "" + +#: [account]delete +msgid "Delete your account" +msgstr "" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "" + +#: [general]theme +msgid "Theme" +msgstr "" + +#: [general]language +msgid "Default language" +msgstr "" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "" + +#: [credentials]re_password +msgid "Retype password" +msgstr "" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "" + +#: [general]gender +msgid "Gender" +msgstr "" + +#: [general]marital +msgid "Marital Status" +msgstr "" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "" + +#: [general]about +msgid "About Me" +msgstr "" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "" + +#: [day]tuesday +msgid "Tuesday" +msgstr "" + +#: [day]wednesday +msgid "Wednesday" +msgstr "" + +#: [day]thursday +msgid "Thursday" +msgstr "" + +#: [day]friday +msgid "Friday" +msgstr "" + +#: [day]saturday +msgid "Saturday" +msgstr "" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "" + +#: [presence]away +msgid "Away" +msgstr "" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "" + +#: [month]february +msgid "February" +msgstr "" + +#: [month]march +msgid "March" +msgstr "" + +#: [month]april +msgid "April" +msgstr "" + +#: [month]may +msgid "May" +msgstr "" + +#: [month]june +msgid "June" +msgstr "" + +#: [month]july +msgid "July" +msgstr "" + +#: [month]august +msgid "August" +msgstr "" + +#: [month]september +msgid "September" +msgstr "" + +#: [month]october +msgid "October" +msgstr "" + +#: [month]november +msgid "November" +msgstr "" + +#: [month]december +msgid "December" +msgstr "" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "" + +#: [date]yesterday +msgid "Yesterday" +msgstr "" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/eo.po b/frontend/locales/eo.po new file mode 100644 index 0000000..49ec8ea --- /dev/null +++ b/frontend/locales/eo.po @@ -0,0 +1,4154 @@ +# +# Translators: +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Esperanto (http://app.transifex.com/movim/movim/language/eo/)\n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "" + +#: [about]developers +msgid "Developers" +msgstr "" + +#: [about]translators +msgid "Translators" +msgstr "" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "" + +#: [about]software +msgid "Software" +msgstr "" + +#: [about]resources +msgid "Resources" +msgstr "" + +#: [about]api +msgid "API" +msgstr "" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Pasvorto" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "" + +#: [account]delete +msgid "Delete your account" +msgstr "" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "" + +#: [general]theme +msgid "Theme" +msgstr "" + +#: [general]language +msgid "Default language" +msgstr "" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "" + +#: [credentials]re_password +msgid "Retype password" +msgstr "" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Agordaĵoj" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "Lingvo" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "Nomo" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "Kromnomo" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Naskiĝdato" + +#: [general]gender +msgid "Gender" +msgstr "" + +#: [general]marital +msgid "Marital Status" +msgstr "" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "Retpaĝaro" + +#: [general]about +msgid "About Me" +msgstr "" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "Kromnomo" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "Mia adreso" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "Helpo" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Profilo" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Sendi" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Nuligi" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Kreado de konto" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "Fluo" + +#: [page]home +msgid "Home" +msgstr "Ĉefpaĝo" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "Eraro: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "Ne povas ŝargi dosieron “%s”." + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "Akcepti" + +#: [button]add +msgid "Add" +msgstr "Aldoni" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "Tujmesaĝilo" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "Lundo" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Mardo" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Merkredo" + +#: [day]thursday +msgid "Thursday" +msgstr "Ĵaŭdo" + +#: [day]friday +msgid "Friday" +msgstr "Vendredo" + +#: [day]saturday +msgid "Saturday" +msgstr "Sabato" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "Enrete" + +#: [presence]away +msgid "Away" +msgstr "For" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "Ne ĝenu" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "Januaro" + +#: [month]february +msgid "February" +msgstr "Februaro" + +#: [month]march +msgid "March" +msgstr "Marto" + +#: [month]april +msgid "April" +msgstr "Aprilo" + +#: [month]may +msgid "May" +msgstr "Majo" + +#: [month]june +msgid "June" +msgstr "Junio" + +#: [month]july +msgid "July" +msgstr "Julio" + +#: [month]august +msgid "August" +msgstr "Aŭgusto" + +#: [month]september +msgid "September" +msgstr "Septembro" + +#: [month]october +msgid "October" +msgstr "Oktobro" + +#: [month]november +msgid "November" +msgstr "Novembro" + +#: [month]december +msgid "December" +msgstr "Decembro" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "Hodiaŭ" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "Morgaŭ" + +#: [date]yesterday +msgid "Yesterday" +msgstr "Hieraŭ" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "tago" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/es.po b/frontend/locales/es.po new file mode 100644 index 0000000..cfb5eb1 --- /dev/null +++ b/frontend/locales/es.po @@ -0,0 +1,4165 @@ +# +# Translators: +# Alberto Luaces, 2020 +# Benjamin Perez Carrillo , 2020 +# Bikalkas , 2015 +# cristian paraque, 2022 +# Daniel D , 2017 +# duven duven , 2018 +# Juanro49 , 2021 +# kosciuk , 2016 +# Raúl , 2015 +# sergio, 2017 +# Xals Xaloc <33xaloc@gmail.com>, 2016 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: cristian paraque, 2022\n" +"Language-Team: Spanish (http://app.transifex.com/movim/movim/language/es/)\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Agradecimientos" + +#: [about]developers +msgid "Developers" +msgstr "Desarrolladores" + +#: [about]translators +msgid "Translators" +msgstr "Traductores" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Gracias a todos los Traductores" + +#: [about]software +msgid "Software" +msgstr "Software" + +#: [about]resources +msgid "Resources" +msgstr "Recursos" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim es una plataforma de comunicación que se basa en la tecnología XMPP. Todo el proyecto, excepto los recursos y software siguientes, están disponibles bajo la" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Cuenta" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Cambiar mi contraseña" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Contraseña" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Confirmación de la contraseña" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "La contraseña ha sido actualizada" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "Las contraseñas proporcionadas no coinciden" + +#: [account]delete +msgid "Delete your account" +msgstr "Eliminar tu cuenta" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "Escriba su nombre de usuario completo" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "Ingrese un nombre de usuario válido" + +#: [account]gateway_title +msgid "Gateways" +msgstr "Accesos" + +#: [account]clear +msgid "Leave this instance" +msgstr "Salir de esta instancia" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Acciones" + +#: [adhoc]completed +msgid "Action completed" +msgstr "Acción terminada" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "Opciones generales" + +#: [general]theme +msgid "Theme" +msgstr "Tema" + +#: [general]language +msgid "Default language" +msgstr "Idioma predeterminado" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "Detalle de registro" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "Prohibir sugerencias" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "Sólo chat" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "Desactivar todas las características sociales (Comunidades, Blog...) y mantener sólo las de chat" + +#: [credentials]title +msgid "Administration Credential" +msgstr "Credenciales de administración" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Nombre de usuario" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Escriba la contraseña de nuevo" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "Desactivar la función de registro XMPP" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "Deja este campo en blanco si quieres permitir el acceso a todas las cuentas XMPP." + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Descripción" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "Descripción general de la instancia" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "Este mensaje se mostrará en la ventana de registro. Se puede usar para enlazar los Términos y Condiciones de su instancia de Movim, por ejemplo." + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "Deje este campo en blanco si no quiere mostrar ningún mensaje." + +#: [information]label +msgid "Information Message" +msgstr "Información" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "Servidor XMPP predeterminado" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "Dominio del servidor XMPP principal" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "Descripción del servidor XMPP principal" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "País del servidor XMPP principal" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "Seleccione un país de la lista" + +#: [tenor]title +msgid "Tenor integration" +msgstr "Integración de Tenor" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "Movim integra la API de Tenor para permitir la búsqueda y publicación de GIF en Chats" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "Accede a Tenor y obtén tu clave API" + +#: [log]empty +msgid "Empty" +msgstr "Vacío" + +#: [log]syslog +msgid "Syslog" +msgstr "Syslog" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "Syslog y archivos" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "Sesiones" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "Archivo" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "Este contenido es privado, ingresa para verlo" + +#: [message]published +msgid "Message Published" +msgstr "Mensaje publicado" + +#: [message]react +msgid "Add a reaction" +msgstr "Añadir reacción" + +#: [message]retract +msgid "Retract" +msgstr "Eliminar" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "Su mensaje no ha podido ser enviado, por favor inténtelo más tarde" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "Mensaje cifrado" + +#: [message]retracted +msgid "Retracted message" +msgstr "Mensaje retractado" + +#: [message]composing +msgid "Composing…" +msgstr "Escribiendo..." + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "Pausado..." + +#: [message]gone +msgid "Contact gone" +msgstr "Contacto perdido" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "↑ para editar su último mensaje" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr ":atajo: para insertar un emoji" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%s necesita tu atención" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "Escriba su mensaje aquí..." + +#: [chat]smileys +msgid "Smileys" +msgstr "Emoticonos" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "Contactos frecuentes" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "No hay nada aún aquí..." + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "Olvídese de la timidez, mande un primer mensaje para empezar el coloquio" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "Has recibido una invitación para unirte a una conversación en grupo" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "Entra en %s" + +#: [chat]profile +msgid "See the profile" +msgstr "Ver el perfil" + +#: [chat]clear +msgid "Clear the history" +msgstr "Limpiar el historial" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "Modificar el último mensaje" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "Reporte abusos" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "Llamada finalizada" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "Todavía no hay chats..." + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "Empiece una nueva conversación haciendo clic en el botón%s." + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "Añadir nueva conversación" + +#: [chats]me +msgid "Me" +msgstr "Yo" + +#: [chats]picture +msgid "Picture" +msgstr "Imagen" + +#: [chats]video +msgid "Video" +msgstr "Vídeo" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "Todos" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "Contactos" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "Descubre, sigue y comparte" + +#: [communities]counter +msgid "%s communities" +msgstr "%s comunidades" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "Busca un nuevo Servidor" + +#: [communities]servers +msgid "Communities servers" +msgstr "Servidores de las Comunidades" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "Descubre las comunidades por servidores" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "Servidores de Comunidades descubiertos" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "Este servidor no existe" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "Comunidades que podrían gustarle" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "Comunidad creada correctamente" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "No hay ninguna Comunidad en este servidor todavía." + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "Cree una nueva comunidad en %s" + +#: [communitiesserver]name +msgid "Community name" +msgstr "Nombre de la Comunidad" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "Mi pequeño pony - Club de fans" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "Por favor, escriba un nombre de comunidad válido (mínimo 4 caracteres)" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "No puede crear una nueva comunidad en este servidor" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "Todavía sin Servidores de Comunidades..." + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "Parece que no hemos podido encontrar ninguna comunidad en este momento" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Configuración" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "Suscripciones" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "Suscripciones a comunidades" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "Comunidad borrada con éxito" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "Eliminar la comunidad" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "Va a borrar esta comunidad. Por favor, confirme esta acción." + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "Parece que esta comunidad ya no existe. ¿Quiere eliminarla de sus suscripciones?" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "Configuración guardada" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "Error mientras se aplicaba la configuración del nodo" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "Propietarios" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "Editores" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "Roles" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "Rol establecido correctamente" + +#: [communityconfig]publication +msgid "Publication" +msgstr "Publicación" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "Público" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "Todos pueden publicar" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "Los editores pueden publicar" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "Suscriptores" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "Los suscriptores pueden publicar" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "Galería" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "%s suscriptores" + +#: [communitydata]num +msgid "%s posts" +msgstr "%s publicaciones" + +#: [communitydata]public +msgid "Public page" +msgstr "Página pública" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "Sólo los editores pueden publicar" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "Sólo los suscriptores pueden publicar" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "Las suscripciones están desactivadas en esta comunidad" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "Asigne una etiqueta a esta comunidad" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "Nombre de Mi Comunidad" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "Aparecerá en tu perfil" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "¿Está seguro?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "Hola" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "Aquí seras capaz de gestionar todas tus subscripciones" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "General" + +#: [config]language +msgid "Language" +msgstr "Idioma" + +#: [config]roster +msgid "Roster display" +msgstr "Mostrar lista" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "Mostrar los contactos desconectados" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "Esconder los contactos desconectados" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "Configuración actualizada" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "Configuración inválida" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "Configuración avanzada" + +#: [config]nsfw +msgid "Display adult content" +msgstr "Mostrar contenido para adultos" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "Le permite leer las publicaciones etiquetadas con #nsfw (adulto)" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "Modo nocturno" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "Use colores oscuros para relajar la vista" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "Página principal de conversaciones" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "Siempre" + +#: [config]mam_never +msgid "Never" +msgstr "Nunca" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "Preferencias de archivo guardadas " + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "Confirmación de autenticación" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "Esta plataforma quiere su confirmación para autentificar esta cuenta" + +#: [confirm]code +msgid "Authentication code" +msgstr "Código de autenticación" + +#: [roster]add_title +msgid "Add a contact" +msgstr "Añadir un contacto" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "Por favor, introduzca para validar." + +#: [roster]added +msgid "Contact added" +msgstr "Contacto añadido" + +#: [roster]updated +msgid "Contact updated" +msgstr "Contacto actualizado" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "Contacto eliminado" + +#: [general]legend +msgid "General Information" +msgstr "Información general" + +#: [general]name +msgid "Name" +msgstr "Nombre" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "Apodo" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Fecha de nacimiento" + +#: [general]gender +msgid "Gender" +msgstr "Género" + +#: [general]marital +msgid "Marital Status" +msgstr "Estado civil" + +#: [general]email +msgid "Email" +msgstr "Correo electrónico" + +#: [general]website +msgid "Website" +msgstr "Página web" + +#: [general]about +msgid "About Me" +msgstr "Acerca de mí" + +#: [general]accounts +msgid "Other Accounts" +msgstr "Otras cuentas" + +#: [general]tune +msgid "Is Listening" +msgstr "Está escuchando" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "Posición geográfica" + +#: [position]locality +msgid "Locality" +msgstr "Localidad" + +#: [position]country +msgid "Country" +msgstr "País" + +#: [listen]title +msgid "Listening" +msgstr "Escuchando" + +#: [last]title +msgid "Last seen" +msgstr "Visto por última vez" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "Información de los clientes" + +#: [explore]last_registered +msgid "Last registered" +msgstr "Último registrado" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "Editar" + +#: [edit]alias +msgid "Alias" +msgstr "Apodo" + +#: [edit]group +msgid "Group" +msgstr "Grupo" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "%s años" + +#: [blog]last +msgid "Last public post" +msgstr "Último post público" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "Puedes ver el estado de este contacto" + +#: [subscription]to_button +msgid "Share my status" +msgstr "Compartir mi estado" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "Pero este contacto no puede ver el tuyo" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "No estás suscrito a este contacto" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "Pedir ser suscrito" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "Pero este contacto puede verte aún si estás en línea" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "Invitar" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "Dibujar" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "Preguntas frecuentes" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "¿Qué es lo que hace el ajuste de permisos?" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "Por defecto el contenido sólo está disponible para sus contactos. Puede hacer públicos su perfil y publicaciones habilitando el ajuste relacionado." + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "Similar a sus publicaciones de blog, excepto que, por defecto, están sólo disponibles para los miembros o los suscriptores de la Comunidad (excepto si ha abierto explícitamente todo el contenido de la Comunidad)" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "¿Dónde puedo encontrar mis contactos?" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "Abriendo el panel de búsqueda." + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "También recomendamos" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "Administradores y contacto" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "¿Chatea con el equipo de Movim?" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "Añadir la Conversación en grupo" + +#: [error]username +msgid "Wrong username" +msgstr "Nombre de usuario incorrecto" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "Desafío vacío del servidor" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "¡ Faltan algunos datos !" + +#: [error]internal +msgid "Internal server error" +msgstr "Error interno del servidor" + +#: [error]session +msgid "Session error" +msgstr "Error en la sesión" + +#: [error]account_created +msgid "Account successfully created" +msgstr "La cuenta ha sido creada exitosamente" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "Sesión imposible" + +#: [error]default +msgid "Unknown error" +msgstr "Error desconocido" + +#: [error]login_format +msgid "Invalid username format" +msgstr "Formato de nombre de usuario inválido" + +#: [error]password_format +msgid "Invalid password format" +msgstr "Formato de contraseña inválido" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "Tu servidor XMPP no está autorizado" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "Movim no ha podido autenticar. Ha introducido datos erróneos" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "El mecanismo de autenticación no está soportado por Movim" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "La autentificación de XMPP ha fallado" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "Mi dirección" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "Conectado" + +#: [form]population +msgid "Population" +msgstr "Población" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "%s te invitó a unirte a una sala de chat" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "Sin noticias aún..." + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "Mis publicaciones" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "Escribir una nueva publicación..." + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "Notificaciones" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%s quiere hablar contigo" + +#: [notifs]empty +msgid "No new notifications" +msgstr "No hay notificaciones nuevas" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "Movim puede notificarle cuando aparezca una nueva publicación o si recibe mensajes" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "Siempre puede desactivarlas después" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "Perfil público" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "Haga público su perfil y permita a otros usuarios buscarle y hacer nuevos contactos más fácilmente " + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "Siempre podrá desactivarlo en la configuración después" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "Contenido de noticias" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "Descubre y regístrate en los grupos que te interesan" + +#: [post]content +msgid "Content" +msgstr "Contenido" + +#: [post]published +msgid "Post published" +msgstr "Mensaje publicado" + +#: [post]deleted +msgid "Post deleted" +msgstr "Mensaje eliminado" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "Publicaciones recientes de las comunidades a las que (todavía) no está suscrrito" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "Esta es una re-publicación de %s" + +#: [post]see_profile +msgid "See %s profile" +msgstr "Ver el perfil de %s" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "%sminuto" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "%sminutos" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "Esta publicación es pública" + +#: [post]public_no +msgid "This post is private" +msgstr "Ésta publicación es privada" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "URL pública de esta publicación" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "Eliminar esta publicación" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "Vas a eliminar esta publicación, por favor, confirma la acción" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "¿Está seguro de que quiere borrar este comentario?" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "Leer más" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "Comentarios deshabilitados" + +#: [post]comment_published +msgid "Comment published" +msgstr "Comentario publicado" + +#: [post]comment_like_published +msgid "Liked" +msgstr "Me gusta" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "No se puede publicar el comentario" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "Comentario borrado" + +#: [post]liked +msgid "Liked your publication" +msgstr "Le ha gustado su publicación" + +#: [post]commented +msgid "Commented" +msgstr "Comentado" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "Publicación de contacto" + +#: [hello]share_title +msgid "Universal share button" +msgstr "Botón de compartir universalmente" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "Poner en favoritos o coger y dejar caer el siguiente botón en tu barra de herramientas y usarla en todas las páginas que quieres compartir en Movim" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "Compartir en Movim" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "¡Oh! ¡Hola!" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "Comprueba el menú" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "Aquí se puede acceder a todas las características principales de Movim. ¡No dude en navegar por las páginas para descubrir más! " + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "Parece que todavía no ha completado su perfil" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "Puedes ir a la página de Configuración para describirte y poner una linda foto" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "Desconectar" + +#: [status]presence +msgid "Presence" +msgstr "Presencia" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "¿De verdad quiere cerrar la sesión?" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "Novedades" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "Publicar" + +#: [publish]post +msgid "Write a post" +msgstr "Escriba una publicación" + +#: [publish]add_link +msgid "Add a link" +msgstr "Añada un enlace" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "Saque una foto" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "Por favor, agrega un título" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "Vista previa" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "Añada un fichero o una imagen" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "No puede publicar aquí" + +#: [publish]new +msgid "New post" +msgstr "Publicación nueva" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "Por favor, introduzca una URL válida" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "Puedes formatear el contenido usando Markdown" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "Ayuda" + +#: [publishhelp]more +msgid "More help" +msgstr "Más ayuda" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "Markdown syntax manual" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Crear una nueva cuenta" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "No hemos encontrado una cuenta creada en el servidor" + +#: [create]server_on +msgid "on" +msgstr "en" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "Cargando" + +#: [create]placeholder +msgid "…and start playing" +msgstr "…y comienza a jugar" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "No admisible" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "El registro en este servidor no está disponible en este momento" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "Registro prohibido" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "Nombre vacío" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "Todavía no tiene salas de conversación" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "Añada una haciendo clic en el botón de añadir" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "Nombre o descripción" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "Miembros" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "Se requiere una contraseña" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "No se puede unir a esta conversación, requiere registro" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "Asunto" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "Conversaciones en grupo" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "Marcadores actualizados" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "Su identificación es la de un usuario anónimo." + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "Iniciar sesión en %s" + +#: [room]invite +msgid "Invite a contact" +msgstr "Invitar a un contacto" + +#: [room]invited +msgid "Invitation sent" +msgstr "Invitación enviada" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "Envíe este enlace a sus contactos" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "Esta sala se puede descubrir públicamente" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "Perfiles públicos" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "Visitante" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "¿Qué es lo que buscas?" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "#gatos, usuario@servidor.com, Juan..." + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "¿Aún sin contactos?" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "Etiquetas" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "Mostrar todos los contactos" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "Adjuntar a una publicación de blog" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "Publicación compartida" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "Más contactos" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "Se envió una pegatina con Movim" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "Noticias de %s" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "No hay contenido público de este contacto" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "No hay contacto especificado" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "Subir" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "Elige un archivo a subir" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "Las imágenes grandes serán redimensionadas y comprimidas" + +#: [upload]error_filesize +msgid "File too large" +msgstr "Archivo demasiado grande" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "Subida fallida" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "No tiene permiso para subir un fichero" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "Ha excedido la cuota" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "Arrastre y suelte su fichero en este área" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Perfil" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "Perfil actualizado" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "Perfil no actualizado" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "Tu perfil es ahora público" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "Tu perfil está ahora restringido" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "Configure el alias de su instancia" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "Definir un alias local para que otros usuarios de la instancia le puedan encontrar fácilmente." + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "Su alias es %s." + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "John_Bob96" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "Este alias ya está registrado" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "Alias guardado" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Enviar" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Reiniciar" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "Movim está trabajando en modo degradado" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "Por favor, contacte con el administrador de su servidor para ver si puede habilitar esta característica." + +#: [visio]calling +msgid "…is calling you" +msgstr "...le está llamando" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "...sonando" + +#: [visio]declined +msgid "Declined" +msgstr "Rechazado" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "...conectando" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "Movim requiere que Javascript esté activado para funcionar correctamente." + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "Cargando..." + +#: [global]or +msgid "Or" +msgstr "O" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "Cambiar a otro pod" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "Acerca de" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Crear cuenta" + +#: [page]administration +msgid "Administration" +msgstr "Administración" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "Blog" + +#: [page]chats +msgid "Messages" +msgstr "Mensajes" + +#: [page]communities +msgid "Communities" +msgstr "Comunidades" + +#: [page]explore +msgid "Explore" +msgstr "Explorar" + +#: [page]feed +msgid "Feed" +msgstr "Canal" + +#: [page]home +msgid "Home" +msgstr "Inicio" + +#: [page]login +msgid "Login" +msgstr "Inicio de sesión" + +#: [page]news +msgid "News" +msgstr "Novedades" + +#: [page]not_found +msgid "Not Found" +msgstr "No encontrado" + +#: [page]posts +msgid "Posts" +msgstr "Publicaciones" + +#: [page]publish +msgid "Publish" +msgstr "Publicar" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "Compartir" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "Etiqueta" + +#: [page]visio +msgid "Visio-conference" +msgstr "Visio-conferencia" + +#: [error]error +msgid "Error: %s" +msgstr "Error: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "No se pudo cargar el archivo '%s'" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "El widget requerido '%s' no existe." + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "Evento requerido '%s' no registrado." + +#: [error]whoops +msgid "Whoops!" +msgstr "¡Uuups!" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "Movim no se puede comunicar con el servidor; por favor, inténtelo más tarde" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "Reconectando con el servidor..." + +#: [error]oops +msgid "Oops!" +msgstr "¡Ups!" + +#: [button]accept +msgid "Accept" +msgstr "Aceptar" + +#: [button]add +msgid "Add" +msgstr "Agregar" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "No" + +#: [button]bool_yes +msgid "Yes" +msgstr "Si" + +#: [button]call +msgid "Call" +msgstr "Llamada" + +#: [button]cancel +msgid "Cancel" +msgstr "Cancelar" + +#: [button]chat +msgid "Chat" +msgstr "Conversación" + +#: [button]clear +msgid "Clear" +msgstr "Limpiar" + +#: [button]close +msgid "Close" +msgstr "Cerrar" + +#: [button]connecting +msgid "Connecting" +msgstr "Contactando" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "Borrar" + +#: [button]destroy +msgid "Destroy" +msgstr "Destruir" + +#: [button]discover +msgid "Discover" +msgstr "Descubrir" + +#: [button]enable +msgid "Enable" +msgstr "Activado" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "Like" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "Nueva conversación" + +#: [button]next +msgid "Next" +msgstr "Siguiente" + +#: [button]not_now +msgid "Not Now" +msgstr "Ahora no" + +#: [button]open +msgid "Open" +msgstr "Abierto" + +#: [button]previous +msgid "Previous" +msgstr "Anterior" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "Actualizar" + +#: [button]refuse +msgid "Refuse" +msgstr "Rechazar" + +#: [button]register +msgid "Register" +msgstr "Registrar" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "Replicar" + +#: [button]return +msgid "Return" +msgstr "Volver" + +#: [button]save +msgid "Save" +msgstr "Guardar" + +#: [button]search +msgid "Search" +msgstr "Buscar" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "Compartir" + +#: [button]sign_up +msgid "Sign Up" +msgstr "Registrarse" + +#: [button]submitting +msgid "Submitting" +msgstr "Enviando" + +#: [button]unregister +msgid "Unregister" +msgstr "Eliminar registro" + +#: [button]update +msgid "Update" +msgstr "Actualizar" + +#: [button]updating +msgid "Updating" +msgstr "Actualizando" + +#: [button]validate +msgid "Validate" +msgstr "Validar" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "Día" + +#: [day]monday +msgid "Monday" +msgstr "Lunes" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Martes" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Miércoles" + +#: [day]thursday +msgid "Thursday" +msgstr "Jueves" + +#: [day]friday +msgid "Friday" +msgstr "Viernes" + +#: [day]saturday +msgid "Saturday" +msgstr "Sábado" + +#: [day]sunday +msgid "Sunday" +msgstr "Domingo" + +#: [client]bot +msgid "Bot" +msgstr "Bot" + +#: [client]console +msgid "Console" +msgstr "Consola" + +#: [client]desktop +msgid "Desktop" +msgstr "Escritorio" + +#: [client]phone +msgid "Phone" +msgstr "Teléfono" + +#: [client]web +msgid "Web" +msgstr "Web" + +#: [client]registered +msgid "Registered" +msgstr "Registrado" + +#: [client]gateway +msgid "Gateway" +msgstr "Puerta de Enlace" + +#: [client]im +msgid "Server" +msgstr "Servidor" + +#: [presence]online +msgid "Online" +msgstr "En línea" + +#: [presence]away +msgid "Away" +msgstr "Ausente" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "No molestar" + +#: [presence]xa +msgid "Extended Away" +msgstr "Ausencia extendida" + +#: [presence]offline +msgid "Offline" +msgstr "Fuera de Línea" + +#: [presence]error +msgid "Error" +msgstr "Error" + +#: [mood]afraid +msgid "afraid" +msgstr "temeroso" + +#: [mood]amazed +msgid "amazed" +msgstr "asombrado" + +#: [mood]amorous +msgid "amorous" +msgstr "amoroso" + +#: [mood]angry +msgid "angry" +msgstr "enfadado" + +#: [mood]annoyed +msgid "annoyed" +msgstr "molesto" + +#: [mood]anxious +msgid "anxious" +msgstr "ansioso" + +#: [mood]aroused +msgid "aroused" +msgstr "despertado" + +#: [mood]ashamed +msgid "ashamed" +msgstr "avergonzado" + +#: [mood]bored +msgid "bored" +msgstr "aburrido" + +#: [mood]brave +msgid "brave" +msgstr "valiente" + +#: [mood]calm +msgid "calm" +msgstr "calmado" + +#: [mood]cautious +msgid "cautious" +msgstr "cauteloso" + +#: [mood]cold +msgid "cold" +msgstr "frío" + +#: [mood]confident +msgid "confident" +msgstr "seguro" + +#: [mood]confused +msgid "confused" +msgstr "confuso" + +#: [mood]contemplative +msgid "contemplative" +msgstr "contemplativo" + +#: [mood]contented +msgid "contented" +msgstr "contento" + +#: [mood]cranky +msgid "cranky" +msgstr "irritable" + +#: [mood]crazy +msgid "crazy" +msgstr "loco" + +#: [mood]creative +msgid "creative" +msgstr "creativo" + +#: [mood]curious +msgid "curious" +msgstr "curioso" + +#: [mood]dejected +msgid "dejected" +msgstr "abatido" + +#: [mood]depressed +msgid "depressed" +msgstr "deprimido" + +#: [mood]disappointed +msgid "disappointed" +msgstr "decepcionado" + +#: [mood]disgusted +msgid "disgusted" +msgstr "disgustado" + +#: [mood]dismayed +msgid "dismayed" +msgstr "desmayado" + +#: [mood]distracted +msgid "distracted" +msgstr "distraído" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "avergonzado" + +#: [mood]envious +msgid "envious" +msgstr "envidioso" + +#: [mood]excited +msgid "excited" +msgstr "excitado" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "coqueto" + +#: [mood]frustrated +msgid "frustrated" +msgstr "frustrado" + +#: [mood]grateful +msgid "grateful" +msgstr "agradecido" + +#: [mood]grieving +msgid "grieving" +msgstr "dolido" + +#: [mood]grumpy +msgid "grumpy" +msgstr "gruñón" + +#: [mood]guilty +msgid "guilty" +msgstr "culpable" + +#: [mood]happy +msgid "happy" +msgstr "feliz" + +#: [mood]hopeful +msgid "hopeful" +msgstr "esperanzado" + +#: [mood]hot +msgid "hot" +msgstr "caliente" + +#: [mood]humbled +msgid "humbled" +msgstr "humilde" + +#: [mood]humiliated +msgid "humiliated" +msgstr "humillado" + +#: [mood]hungry +msgid "hungry" +msgstr "hambriento" + +#: [mood]hurt +msgid "hurt" +msgstr "herido" + +#: [mood]impressed +msgid "impressed" +msgstr "impresionado" + +#: [mood]in_awe +msgid "in awe" +msgstr "temeroso" + +#: [mood]in_love +msgid "in love" +msgstr "enamorado" + +#: [mood]indignant +msgid "indignant" +msgstr "indignante" + +#: [mood]interested +msgid "interested" +msgstr "interesado" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "intoxicado" + +#: [mood]invincible +msgid "invincible" +msgstr "invencible" + +#: [mood]jealous +msgid "jealous" +msgstr "celoso" + +#: [mood]lonely +msgid "lonely" +msgstr "solitario" + +#: [mood]lost +msgid "lost" +msgstr "perdido" + +#: [mood]lucky +msgid "lucky" +msgstr "afortunado" + +#: [mood]mean +msgid "mean" +msgstr "media" + +#: [mood]moody +msgid "moody" +msgstr "variable" + +#: [mood]nervous +msgid "nervous" +msgstr "nervioso" + +#: [mood]neutral +msgid "neutral" +msgstr "neutral" + +#: [mood]offended +msgid "offended" +msgstr "ofendido" + +#: [mood]outraged +msgid "outraged" +msgstr "indignado" + +#: [mood]playful +msgid "playful" +msgstr "juguetón" + +#: [mood]proud +msgid "proud" +msgstr "orgulloso" + +#: [mood]relaxed +msgid "relaxed" +msgstr "relajado" + +#: [mood]relieved +msgid "relieved" +msgstr "aliviado" + +#: [mood]remorseful +msgid "remorseful" +msgstr "arrepentido" + +#: [mood]restless +msgid "restless" +msgstr "inquieto" + +#: [mood]sad +msgid "sad" +msgstr "triste" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "sarcástico" + +#: [mood]satisfied +msgid "satisfied" +msgstr "satisfecho" + +#: [mood]serious +msgid "serious" +msgstr "serio" + +#: [mood]shocked +msgid "shocked" +msgstr "conmocionado" + +#: [mood]shy +msgid "shy" +msgstr "tímido" + +#: [mood]sick +msgid "sick" +msgstr "enfermo" + +#: [mood]sleepy +msgid "sleepy" +msgstr "soñoliento" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "espontáneo" + +#: [mood]stressed +msgid "stressed" +msgstr "estresado" + +#: [mood]strong +msgid "strong" +msgstr "fuerte" + +#: [mood]surprised +msgid "surprised" +msgstr "sorprendido" + +#: [mood]thankful +msgid "thankful" +msgstr "agradecido" + +#: [mood]thirsty +msgid "thirsty" +msgstr "sediento" + +#: [mood]tired +msgid "tired" +msgstr "cansado" + +#: [mood]undefined +msgid "undefined" +msgstr "indefinido" + +#: [mood]weak +msgid "weak" +msgstr "débil" + +#: [mood]worried +msgid "worried" +msgstr "preocupado" + +#: [month]title +msgid "Month" +msgstr "Mes" + +#: [month]january +msgid "January" +msgstr "Enero" + +#: [month]february +msgid "February" +msgstr "Febrero" + +#: [month]march +msgid "March" +msgstr "Marzo" + +#: [month]april +msgid "April" +msgstr "Abril" + +#: [month]may +msgid "May" +msgstr "Mayo" + +#: [month]june +msgid "June" +msgstr "Junio" + +#: [month]july +msgid "July" +msgstr "Julio" + +#: [month]august +msgid "August" +msgstr "Agosto" + +#: [month]september +msgid "September" +msgstr "Septiembre" + +#: [month]october +msgid "October" +msgstr "Octubre" + +#: [month]november +msgid "November" +msgstr "Noviembre" + +#: [month]december +msgid "December" +msgstr "Diciembre" + +#: [year]title +msgid "Year" +msgstr "Año" + +#: [date]today +msgid "Today" +msgstr "Hoy" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "Mañana" + +#: [date]yesterday +msgid "Yesterday" +msgstr "Ayer" + +#: [date]ago +msgid "%d days ago" +msgstr "%d días antes" + +#: [date]day +msgid "day" +msgstr "día" + +#: [post]title +msgid "Title" +msgstr "Título" + +#: [post]place +msgid "Place" +msgstr "Lugar" + +#: [post]by +msgid "by" +msgstr "por" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "Geolocalización" + +#: [post]email +msgid "email" +msgstr "correo electrónico" + +#: [post]empty +msgid "No content" +msgstr "No hay contenido" + +#: [post]no_comments +msgid "No comments yet" +msgstr "Sin comentarios" + +#: [post]older +msgid "Get older posts" +msgstr "Recibir las entradas más antiguas" + +#: [post]new_items +msgid "%s new items" +msgstr "%s nuevos objetos" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "Error al publicar comentario" + +#: [post]comments_get +msgid "Get the comments" +msgstr "Obtener los comentarios" + +#: [post]comment_add +msgid "Add a comment" +msgstr "Añadir un comentario" + +#: [post]share +msgid "Share with" +msgstr "Compartir con" + +#: [post]share_everyone +msgid "Everyone" +msgstr "Todos" + +#: [post]updated +msgid "Updated" +msgstr "Actualizado" + +#: [post]content_not_found +msgid "Content not found" +msgstr "Contenido no encontrado" + +#: [post]default_title +msgid "Contact publication" +msgstr "Publicación de contacto" + +#: [post]comments +msgid "Comments" +msgstr "Comentarios" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "Borrada la publicación original" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "Propietario" + +#: [affiliation]admin +msgid "Admin" +msgstr "Administrador" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "Editor" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "Sólo publicar" + +#: [affiliation]member +msgid "Member" +msgstr "Miembro" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "Marginado" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "Sin afiliación" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "La API no se puede alcanzar, inténtalo de nuevo más tarde" + +#: [field]type_here +msgid "Type here" +msgstr "Escribe aquí" diff --git a/frontend/locales/eu.po b/frontend/locales/eu.po new file mode 100644 index 0000000..b1cdda9 --- /dev/null +++ b/frontend/locales/eu.po @@ -0,0 +1,4157 @@ +# +# Translators: +# Xabi, 2023-2024,2026 +# —X—, 2021 +# —X—, 2022-2023 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Xabi, 2023-2024,2026\n" +"Language-Team: Basque (http://app.transifex.com/movim/movim/language/eu/)\n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Eskerrik asko" + +#: [about]developers +msgid "Developers" +msgstr "Garatzaileak" + +#: [about]translators +msgid "Translators" +msgstr "Itzultzaileak" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Eskerrik asko itzultzaile guztiei" + +#: [about]software +msgid "Software" +msgstr "Softwarea" + +#: [about]resources +msgid "Resources" +msgstr "Baliabideak" + +#: [about]api +msgid "API" +msgstr "APIa" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim XMPPn oinarri duen komunikazio-plataforma da. Proiektuak, hemen ageri diren software eta baliabideak izan ezik, ondorengo lizentzia darabil:" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "Iturburu-kodea" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "Aztertu iturburu-kodea Github gordailuan" + +#: [account]title [page]account +msgid "Account" +msgstr "Kontua" + +#: [account]account_management +msgid "Account management" +msgstr "Kontuaren kudeaketa" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Aldatu pasahitza" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Pasahitza" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Berretsi pasahitza" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "Pasahitza aldatu da" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "Pasahitzak ez datoz bat" + +#: [account]delete +msgid "Delete your account" +msgstr "Ezabatu kontua" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "XMPP kontua eta hari lotutako informazio guztia ezabatuko duzu (profila, kontaktuak eta argitalpenak)." + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "Idatzi erabiltzaile-izen osoa" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "Idatzi baliozko erabiltzaile-izen bat." + +#: [account]gateway_title +msgid "Gateways" +msgstr "Pasabideak" + +#: [account]clear +msgid "Leave this instance" +msgstr "Utzi instantzia hau" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "Kontuari lotutako informazio guztia ezabatuko duzu Movim-en zerbitzari honetatik (profila, kontaktuak eta argitalpenak)." + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "Ekintza honek ez du zure kontua ezabatuko, baina Movim-eko saioa amaituko du." + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "Ezabatu OMEMO gakoak" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "Honako OMEMO gakoa suntsitzear zaude. Aurrerantzean kontaktuek ezingo dute gako hori mezuak zifratzeko erabili. Ekintza ezin da desegin. Ziur zaude?" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Ekintzak" + +#: [adhoc]completed +msgid "Action completed" +msgstr "Ekintzak amaitu du" + +#: [tools]title +msgid "Developer Tools" +msgstr "Garatzaileen tresnak" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "Bihurtu SDP Jingle" + +#: [tools]sdp_title +msgid "SDP" +msgstr "SDP" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "Bihurtu Jingle SDP" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "Jingle estrofa" + +#: [admin]general +msgid "General Settings" +msgstr "Ezarpen orokorrak" + +#: [general]theme +msgid "Theme" +msgstr "Itxura" + +#: [general]language +msgid "Default language" +msgstr "Lehenetsitako hizkuntza" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "Erregistro xehea" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "Publikoa al da zure instantzia?" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "Erregistratu zure instantzia join.movim.eu-n eta batu Movim-en federaziora!" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "Mugatu iradokizunak" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "Iradoki soilik txat-gelak, Komunitateak eta erabiltzailearen XMPP zerbitzarian eta erlazionatutako zerbitzuetan eskuragarri dauden beste eduki batzuk" + +#: [chatonly]title +msgid "Chat only" +msgstr "Txata bakarrik" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "Ezgaitu ezaugarri sozial guztiak (Komunitateak, bloga…), eta mantendu soilik txata" + +#: [credentials]title +msgid "Administration Credential" +msgstr "Administrazio-egiaztagiria" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Erabiltzailea" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Berridatzi pasahitza" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "Ezgaitu XMPPn izena emateko aukera" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "Kendu begien bistatik XMPPn izena emateko prozedura eta botoiak" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "Baimendutako XMPP zerbitzariak" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "Zure Movim kapsulan baimendutako XMPP zerbitzarien zerrenda bat zehaztu eta beste guztien konexioa debekatu nahi baduzu, jarri hemen domeinu-izena(k), komaz bereizita (adib: movim.eu,jabber.fr)" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "Utzi eremu hau hutsik XMPP kontu guztiei sarbidea baimentzen badiezu." + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "Baimendutako XMPP zerbitzarien zerrenda" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Deskribapena" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "Instantziaren deskribapen orokorra" + +#: [information]banner +msgid "Main banner" +msgstr "Irudi nagusia" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "Egiaztatu irudia ez dela handiegia eta edozein webgunetik eskuragai dagoela" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "Mezu hau saioa hasteko orrian bistaratuko da. Zure Movim instantziako Arau eta Baldintzen esteka jartzeko erabil dezakezu." + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "Utzi eremu hau hutsik ez baduzu inolako mezurik erakutsi nahi." + +#: [information]label +msgid "Information Message" +msgstr "Informazio-mezua" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "Lehenetsitako XMPP zerbitzaria" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "XMPP zerbitzari nagusiaren domeinua" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "XMPP zerbitzari nagusiaren deskribapena" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "XMPP zerbitzari nagusiaren herrialdea" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "Hautatu herrialde bat zerrendatik" + +#: [tenor]title +msgid "Tenor integration" +msgstr "Tenor-ekin integrazioa" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "Tenor-en APIaren gakoa" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "Movim-ek Tenor-en APIa darabil txatetan GIFak bilatu eta txertatzeko" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "Sartu Tenor-en eta eskuratu API-gakoa" + +#: [log]empty +msgid "Empty" +msgstr "Hutsik" + +#: [log]syslog +msgid "Syslog" +msgstr "Sistemaren erregistroa" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "Sistemaren erregistroa eta fitxategiak" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "Aldi berean konektatu daitezkeen gehienezko saio-kopurua" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "Movim-ek erabiltzaile berrien konexioa galaraziko du mugara ailegatzerakoan; ezgaitzeko ezarri 0" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "%s erabiltzailek salatu dute" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "Kontu horiek Movim-en erabiltzaile batzuek salatu dituzte" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "Gainontzeko erabiltzaileentzat blokeatu ditzakezu" + +#: [adminsessions]title +msgid "Sessions" +msgstr "Saioak" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "Kapsulara une honetan konektatutako erabiltzaileak" + +#: [avatar]file +msgid "File" +msgstr "Fitxategia" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "Profileko irudia eguneratu da" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "Profileko irudia ez da eguneratu" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "Aldatu profileko irudia" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "Irudia handiegia da" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "Oraindik ez dago abatarrik" + +#: [banner]change +msgid "Change my banner" +msgstr "Aldatu goiburuko irudia" + +#: [banner]updated +msgid "Banner Updated" +msgstr "Goiburuko irudia eguneratu da" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "Goiburuko irudia ez da eguneratu" + +#: [banner]missing +msgid "No banner yet" +msgstr "Oraindik ez dago goiburuko irudirik" + +#: [blocked]title +msgid "Blocked" +msgstr "Blokeatutakoak" + +#: [blocked]block_account +msgid "Block the account" +msgstr "Blokeatu kontua" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "Utzi kontua blokeatzeari" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "Kontua blokeatu da" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "Kontua blokeatzeari utzi zaio" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "Blokeatu dituzun erabiltzaileak topatuko dituzu hemen" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "Honako erabiltzaileak Movim-ek blokeatu ditu, eta ezin dira zurekin harremanetan jarri" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "Administraria zerrenda honen jakinaren gainean dago, eta bere ardurapean duen sistema osoan blokeatu ditzake erabiltzaile horiek" + +#: [blog]title +msgid "%s’s blog" +msgstr "%s(r)en bloga" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "Eduki hau pribatua da. Hasi saioa ikusi ahal izateko" + +#: [message]published +msgid "Message Published" +msgstr "Mezua argitaratu da" + +#: [message]react +msgid "Add a reaction" +msgstr "Erreakzionatu" + +#: [message]retract +msgid "Retract" +msgstr "Jan hitza" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "Kontaktuak esandakoa jaten saiatu da, baina funtzioa ez da zure aplikazioarekin bateragarria" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "Mezu hau moderatu da" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "Ezin izan da mezua bidali. Saiatu berriro geroago" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "Zifratutako mezua" + +#: [message]retracted +msgid "Retracted message" +msgstr "Jandako mezua" + +#: [message]composing +msgid "Composing…" +msgstr "Idazten…" + +#: [message]invitation +msgid "Invitation" +msgstr "Gonbidapena" + +#: [message]paused +msgid "Paused…" +msgstr "Gelditu da…" + +#: [message]gone +msgid "Contact gone" +msgstr "Alde egin du" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "↑ aurreko mezua editatu nahi baduzu" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr ":shortcut: emoji bat txertatu nahi baduzu" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "Ez duzu txat-gela honetan mezuak bidaltzeko baimenik" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%s(e)k zure arreta behar du" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "Zure mezua…" + +#: [chat]smileys +msgid "Smileys" +msgstr "Smileyak" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "Ohiko kontaktuak" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "Oraindik ez dago ezer…" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "Ez izan lotsatia, bidali hasierako mezua elkarrizketa hasteko" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "Txat-gela batean batzeko gonbidapena jaso duzu" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "Txat-gela batean batzeko gonbidapena bidali duzu" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "%s(e)n batu" + +#: [chat]profile +msgid "See the profile" +msgstr "Ikusi profila" + +#: [chat]clear +msgid "Clear the history" +msgstr "Garbitu historia" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "Editatu azken mezua" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "Salatu" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "Dei berria" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "Deitzen ari zara" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "Dei galdua" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "Dei baztertua" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "Deiaren amaiera" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "%s ordu %s minutu" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "%s minutu eta %s segundu" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "%s segundu" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "%s administratzaile da orain" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "%s jabe da orain" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "%s(r)i debekua jarri zaio" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "%s kide da orain" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "Errorea mezua bidaltzerakoan" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "Garbitu lokaleko historia" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "%s mezu lokal ezabatuko dituzu, ziur zaude?" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "Ezin da gauzatu zifratutako txatetan" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "Hau da elkarrizketaren hasiera" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "Kontaktu gisa gehitu dezakezu, edo blokeatu nahi ez dituzun mezuak ekiditeko" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "Gehitu nire kontaktuetara" + +#: [chat]first_messages_block +msgid "Block" +msgstr "Blokeatu" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "Kopiatu testua" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "Testua kopiatu da" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "Bilatu mezuak edukiaren arabera" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "Ez da mezurik aurkitu" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "Hatz-markak" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "OMEMO hatz-markak" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "Zifratze-gakoak sortzen; itxaron…" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "Zifratze-gakoak sortu dira" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "OMEMO gailuak ebazten" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "Zifratutako saioak sortzen" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "Zifratze-saio propioak sortzen" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "Zifratzea ezgaituta" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "Bidali mezu bat zifratutako saioa sortzeko" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "Kontaktuarentzat zifratzea gaitzen" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "Txat-gelarako zifratzea gaitzen" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "Kontaktuarentzat zifratzea ezgaitzen" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "Txat-gelarako zifratzea ezgaitzen" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "Azken ekintza" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "%s saio sortu dira" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "Oraindik ez dago txatik…" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "Hasi elkarrizketa berri bat %s botoia sakatuz." + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "Hasi elkarrizketa berria" + +#: [chats]add +msgid "Chat with a contact" +msgstr "Txateatu kontaktu batekin" + +#: [chats]me +msgid "Me" +msgstr "Ni" + +#: [chats]picture +msgid "Picture" +msgstr "Irudia" + +#: [chats]video +msgid "Video" +msgstr "Bideoa" + +#: [chats]audio +msgid "Audio" +msgstr "Audioa" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "Guztia" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "Kontaktuak" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "Arakatu, jarraitu eta partekatu" + +#: [communities]counter +msgid "%s communities" +msgstr "%s komunitate" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "Bilatu zerbitzari berria" + +#: [communities]servers +msgid "Communities servers" +msgstr "Komunitateen zerbitzariak" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "Arakatu Komunitateak zerbitzariaren arabera" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "Komunitateen zerbitzaria aurkitu da" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "Zerbitzaria ez da existitzen" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "Gogoko izan ditzakezun komunitateak" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "Komunitatea ondo sortu da" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "Zerbitzari honetan oraindik ez dago Komunitaterik." + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "Sortu komunitate berria %s(e)n" + +#: [communitiesserver]name +msgid "Community name" +msgstr "Komunitatearen izena" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "My Little Pony - fan-kluba" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "Idatzi baliozko komunitate-izen bat (lau karaktere edo gehiago)" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "Ezin duzu zerbitzari honetan komunitate berri bat sortu" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "Arazoa elementu berriak arakatzen saiatzean" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "%s zerbitzaria ezin da eskuratu" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "Oraindik ez dago Komunitate-zerbitzaririk…" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "Badirudi une honetan ezin dugula komunitaterik aurkitu" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Ezarpenak" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "Harpidetzak" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "Harpidetza publikoak" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "Nire Komunitateen harpidetzak" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "Komunitatea ondo ezabatu da" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "Ezabatu komunitatea" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "Honako komunitatea ezabatzear zaude. Baieztatu ekintza." + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "Badirudi komunitate honek existitzeari utzi diola. Zure harpidetzetatik ezabatu nahi al duzu?" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "Errorea nodoa ezabatzean" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "Ezarpenak gorde dira" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "Errorea nodoaren konfigurazioa ezartzerakoan" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "Jabeak" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "Argitaratzaileak" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "Rolak" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "Rola arazorik gabe ezarri da" + +#: [communityconfig]publication +msgid "Publication" +msgstr "Argitalpena" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "Publikoa" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "Edonork argitaratu dezake" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "Argitaratzaileek argitaratu dezakete" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "Harpidedunak" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "Harpidedunek argitara dezakete" + +#: [communityconfig]type +msgid "Community type" +msgstr "Komunitate mota" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "Artikuluak" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "Argitaratu eta irakurri artikuluak" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "Galeria" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "Argitaratu eta arakatu irudiak" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "%s harpidedun" + +#: [communitydata]num +msgid "%s posts" +msgstr "%s argitalpen" + +#: [communitydata]public +msgid "Public page" +msgstr "Orrialde publikoa" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "Argitaratzaileek bakarrik argitaratu dezakete" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "Harpidedunek bakarrik argitaratu dezakete" + +#: [communityheader]follow +msgid "Follow" +msgstr "Jarraitu" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "Utzi jarraitzeari" + +#: [communityheader]followed +msgid "Followed" +msgstr "Jarraitzen diozu" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "Jarraitzeari utzi diozu" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "Harpidetzak ezgaituta daude komunitate honetarako" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "Eman etiketa bat komunitate honi" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "Nire Komunitatearen izena" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "Partekatu jarraipena guztiekin" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "Zure profilean agertuko da" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "Komunitatea jarraitzeari utziko diozu" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "Ziur zaude?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "Oraindik argitalpenik gabe? Idatzi lehen mezua jendeak zure profila deskubritu dezan" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "Argitaratu lehen mezua" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "Kontu pribatua" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "Eskatu %s(r)i zure kontaktuetan egotea bidalketak ikusteko" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "Bidali gonbidapen-eskaera kontaktuari jarraitu baino lehen" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "Une honetan ezin diozu kontaktuari jarraitu" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "Harpidetutako komunitateak" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "Kaixo" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "Hemen zure harpidetzak kudeatu ditzakezu." + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "Oraindik ez zara komunitate bakar batera ere harpidetu." + +#: [config]general +msgid "General" +msgstr "Orokorra" + +#: [config]language +msgid "Language" +msgstr "Hizkuntza" + +#: [config]roster +msgid "Roster display" +msgstr "Erakutsi zerrenda" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "Erakutsi lineaz kanpo daude kontaktuak" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "Ezkutatu lineaz kanpo dauden kontaktuak" + +#: [config]appearence +msgid "Appearance" +msgstr "Itxura" + +#: [config]updated +msgid "Configuration updated" +msgstr "Ezarpenak eguneratu dira" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "Ezarpena ez da zuzena" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "Ezarpen aurreratuak" + +#: [config]nsfw +msgid "Display adult content" +msgstr "Erakutsi helduentzako edukia" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "#nsfw etiketa duten argitalpenak ikusi ahal izango dituzu" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "Erabili OMEMO" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "Gaitu zure konturako Movim-en ertzetik ertzerako zifratzea" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "Mezuak zifratzeko eta deszifratzeko Movim %s web-domeinuak eskainitako kode bat erabiltzen ari da. Informazio sentikorra trukatu nahi baduzu, ziurtatu erabat fidatzen zarela bitartekari honek eskainitako kodeaz." + +#: [config]night_mode +msgid "Night Mode" +msgstr "Gaueko itxura" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "Erabili kolore ilunak begiek atseden har dezaten" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "Web-nabigatzailea ari zaio dagoeneko Movim-i esaten defektuz Gaueko Modua erabiltzeko" + +#: [config]chatmain +msgid "Main chat page" +msgstr "Txat-orrialde nagusia" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "Lehenetsi txat-orrialdea Movim irekitzerakoan" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "Zerbitzariaren aldeko txat-mezuen artxibatze-hobespenak" + +#: [config]mam_always +msgid "Always" +msgstr "Beti" + +#: [config]mam_never +msgid "Never" +msgstr "Inoiz ez" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "Artxibatze-hobespenak gorde dira" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "Blog pertsonalaren konfidentzialtasuna" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "Blog publikoa" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "Sareko edonorentzat eskuragarria" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "Blog pribatua" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "Zure harpidedunentzat soilik" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "Blog pertsonalaren konfidentzialtasuna gorde da" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "Konfidentzialtasuna" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "Audio jakinarazpenak" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "Mezu berria" + +#: [config]accent_color +msgid "Accent color" +msgstr "Nabarmentzeko kolorea" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "Kontuz ibili" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "Pantaila-izena aldatzeak blog publikoa, jarioa eta artikuluen URLak aldatzea eragingo du" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "Autentifikazioaren baieztapena" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "Honako plataformak zure baieztapena nahi du kontu hau egiaztatzeko" + +#: [confirm]code +msgid "Authentication code" +msgstr "Egiaztatze-kodea" + +#: [roster]add_title +msgid "Add a contact" +msgstr "Gehitu kontaktua" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "Sartu kontaktuaren XMPP helbidea" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "Sakatu enter balioztatzeko" + +#: [roster]added +msgid "Contact added" +msgstr "Kontaktua gehitu da" + +#: [roster]updated +msgid "Contact updated" +msgstr "Kontaktua eguneratu da" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "Kontaktua ezabatu da" + +#: [general]legend +msgid "General Information" +msgstr "Informazio orokorra" + +#: [general]name +msgid "Name" +msgstr "Izena" + +#: [general]pronouns +msgid "Pronouns" +msgstr "Izenordainak" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "hura…" + +#: [general]nickname +msgid "Nickname" +msgstr "Goitizena" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Jaiotza-data" + +#: [general]gender +msgid "Gender" +msgstr "Generoa" + +#: [general]marital +msgid "Marital Status" +msgstr "Egoera zibila" + +#: [general]email +msgid "Email" +msgstr "Helbide-elektronikoa" + +#: [general]website +msgid "Website" +msgstr "Webgunea" + +#: [general]about +msgid "About Me" +msgstr "Nor naizen" + +#: [general]accounts +msgid "Other Accounts" +msgstr "Beste kontuak" + +#: [general]tune +msgid "Is Listening" +msgstr "Entzuten ari da" + +#: [general]pictures +msgid "Pictures" +msgstr "Irudiak" + +#: [general]links +msgid "Links" +msgstr "Estekak" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "Zure kontua pribatua da" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "Joan ezarpenen orrira blog publikoa sortzeko, eta baimendu gainerako erabiltzaileek aurkitzea" + +#: [position]legend +msgid "Geographic Position" +msgstr "Gune geografikoa" + +#: [position]locality +msgid "Locality" +msgstr "Udalerria" + +#: [position]country +msgid "Country" +msgstr "Herrialdea" + +#: [listen]title +msgid "Listening" +msgstr "Entzuten" + +#: [last]title +msgid "Last seen" +msgstr "Linean azkenengoz" + +#: [clients]title +msgid "Clients" +msgstr "Bezeroak" + +#: [clients]title_full +msgid "Clients information" +msgstr "Bezeroen informazioa" + +#: [explore]last_registered +msgid "Last registered" +msgstr "Azkenekoz erregistratua" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "Aurkitu kontaktu berriren bat" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "Editatu" + +#: [edit]alias +msgid "Alias" +msgstr "Ezizena" + +#: [edit]group +msgid "Group" +msgstr "Taldea" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "Baieztatu kontaktuetako bat kendu nahi duzula" + +#: [age]years +msgid "%s years" +msgstr "%s urte" + +#: [blog]last +msgid "Last public post" +msgstr "Argitaratutako azkena" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "Ikusi blog publikoa" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "Kontaktuaren egoera ikus dezakezu" + +#: [subscription]to_button +msgid "Share my status" +msgstr "Partekatu nire egoera" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "Baina kontaktu honek ezin du zurea ikusi" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "Ez zaude kontaktu honen jariora harpidetuta" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "Harpidetzeko baimena eskatu" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "Baina kontaktu honek linean zauden ikus dezake" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "Ez zaude inori harpidetuta" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "Gonbidatu" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "Kontaktua kontaktuen zerrenda dago, baina ez zaudete bata besteari harpidetuta" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "Iradokizunak zuretzat" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "Diktafonoa" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "Sakatu grabatzeko" + +#: [dictaphone]recording +msgid "Recording" +msgstr "Grabatzen" + +#: [draw]title +msgid "Draw" +msgstr "Marraztu" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "Emojiak" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "Gogoko emojiak" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "Hautatu gogokoetara gehitu nahi dituzun emojiak ondorengo paketeetatik" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "Kudeatu gogoko emojiak" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "Laster-teklak hizki txikiak, zenbakiak eta marrak baino ez lituzke izan beharko" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "Gogoko emoji berria gehitu da" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "Laster-tekla dagoeneko beste emoji baterako erabiltzen da" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "Gogokorik ez oraingoz; begiratu ezarpenen orria baten bat gehitzeko" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "Ohiko galderak" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "Zer egiten du baimenen ezarpenak?" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "Besterik egin ezean, edukia zure kontaktuek bakarrik ikusi ahal izango dute. Zure profil eta argitalpenak publiko egin ditzazkezu horretarako ezarpena aldatuz gero." + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "Zer eragin dauka Komunitateetako argitalpenetan?" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "Zure blog argitalpenei eragiten dien antzera baina, besterik egin ezean, argitalpenak komunitateetako kide eta harpidedunek bakarrik ikus ditzakete (Komunitate osoaren edukia irekitzen ez baduzu behintzat)" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "Non aurki dezaket talde-txaten zerrenda?" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "Non aurki ditzazket nire kontaktuak?" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "Bilaketa panela irekiz." + +#: [apps]title +msgid "Applications" +msgstr "Aplikazioak" + +#: [apps]install +msgid "Movim App" +msgstr "Movim aplikazioa" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "Instalatu Movim zure gailuan" + +#: [apps]recommend +msgid "We also recommend" +msgstr "Hau ere gomendatzen dizugu" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "Administrariak eta kontaktuak" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "Movim taldearekin txateatu?" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "Gehitu txat-gela" + +#: [error]username +msgid "Wrong username" +msgstr "Erabiltzaile-izen okerra" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "XMPP helbide baliogabea" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "Challenge hutsik dago" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "XMPP domeinu-errorea; zure kontua ez da baliozko XMPP helbidea" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "Datu batzuk falta dira!" + +#: [error]internal +msgid "Internal server error" +msgstr "Zerbitzariaren barne-errorea" + +#: [error]session +msgid "Session error" +msgstr "Saio-errorea" + +#: [error]account_created +msgid "Account successfully created" +msgstr "Kontua arazorik gabe sortu da" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "Movim ezin da zerbitzarira konektatu" + +#: [error]impossible +msgid "Impossible login" +msgstr "Ezin izan da saioa hasi" + +#: [error]default +msgid "Unknown error" +msgstr "Errore ezezaguna" + +#: [error]login_format +msgid "Invalid username format" +msgstr "Erabiltzaile-formatu okerra" + +#: [error]password_format +msgid "Invalid password format" +msgstr "Pasahitz-formatu okerra" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "Zure XMPP zerbitzaria ez dago baimenduta" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "Movimek ezin izan du autentifikatu. Datu okerrak sartu dituzu" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "Movimek ez du autentifikazio modu hau onartzen" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "XMPP autentifikazioak kale egin du" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "Movim instantzia hau erabat beteta dago." + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "Saia zaitez %s(e)ko beste batekin" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "Zerbitzarira konektatuta" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "Zerbitzarian autentifikatuta" + +#: [form]username +msgid "My address" +msgstr "Nire helbidea" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "Hasi saioa zerbitzari hauetako kontuekin" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "Hasi saioa XMPP kontu batekin edo sortu berri bat" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "Konektatuta" + +#: [form]population +msgid "Population" +msgstr "Erabiltzaileak" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "%s(e)k txat-gelara gonbidatu zaitu" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "Administraria" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "Movim blog eta txat plataforma federatua da." + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "Bisitatu proiektuaren webgune ofiziala %s." + +#: [menu]empty_title +msgid "No news yet…" +msgstr "Zaharrak berri…" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "Ongi etorri zure jariora, hemen kontaktuen eta harpidetu zaren komunitateen argitalpen guztiak ikusiko dituzu." + +#: [menu]mine +msgid "My publications" +msgstr "Nire argitalpenak" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "Idatzi argitalpen berria…" + +#: [notification]request_title +msgid "Notifications request" +msgstr "Jakinarazpenen eskaera" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "Movimek baimena behar du jakinarazpenak erakusteko" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "Baimena edozein momentutan kendu diezaiokezu" + +#: [notification]request_button +msgid "Request" +msgstr "Eskaera" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "Baimendu da" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "Ez da baimendu" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "Jakinarazpenak" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "Push jakinarazpenak" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "Movimen push jakinarazpenak bidaliko ditu ondorengo gailuetara" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "Push jakinarazpenak gaituta daude gailu honetarako" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "Push jakinarazpenak ezgaituta daude gailu honetarako" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "Nabigatzaile ezezaguna" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "Plataforma ezezaguna" + +#: [invitations]received +msgid "Received Invitations" +msgstr "Jasotako gonbidapenak" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "%s(e)k gehitu nahi zaitu" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "Ez dago gonbidapen berririk" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "Ez duzu harpidetzarik zain" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%s(e)k zurekin hitz egin nahi du" + +#: [notifs]empty +msgid "No new notifications" +msgstr "Ez dago jakinarazpen berririk" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "Movimek argitalpen berriak daudenean edo mezuak jasotzen dituzunean jakinarazi zaitzake" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "Beti ezgaitu dezakezu aukera hau" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "Profil publikoa" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "Egizu zure profila publiko eta beste erabiltzaileek aurki zaitzakete eta kontaktu berriak errazago egingo dituzu" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "Beti ezgaitu dezakezu ezarpenetan aukera hau" + +#: [post]publish_something +msgid "Publish something" +msgstr "Argitaratu zerbait" + +#: [post]news_feed +msgid "News Feed" +msgstr "Berriak" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "Aurkitu eta erregistratu interesatzen zaizkizun taldeak" + +#: [post]content +msgid "Content" +msgstr "Edukia" + +#: [post]published +msgid "Post published" +msgstr "Argitaratzea" + +#: [post]deleted +msgid "Post deleted" +msgstr "Argitalpena ezabatu da" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "Argitalpen hauek duela gutxi argitaratu dira zu (oraindik) harpidedun ez zaren komunitateetan" + +#: [post]new_blog +msgid "New blog post" +msgstr "Blog sarrera berria" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "Jatorrian %s(e)k argitaratutakoa da hau" + +#: [post]see_profile +msgid "See %s profile" +msgstr "Ikusi %s(r)en profila" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "Kontaktu ezezaguna" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "minutu %s" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "%s minutu" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "URLaren aurrebista: %s" + +#: [post]public_yes +msgid "This post is public" +msgstr "Argitalpen hau publikoa da" + +#: [post]public_no +msgid "This post is private" +msgstr "Argitalpen hau pribatua da" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "Argitalpen honen esteka publikoa" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "Ezgaitu iruzkinak" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "Ezingo du inork iruzkindu edo gogoko egin" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "Iruzkinak ezgaitu dira bidalketa honetarako" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "Iruzkinak gaitu dira bidalketa honetarako" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "Ezabatu argitalpen hau" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "Baieztatu argitalpen hau ezabatu nahi duzula" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "Ziur iruzkin hau ezabatu nahi duzula?" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "Arakatu artikulu gehiago komunitateen orrian" + +#: [post]more +msgid "Read more" +msgstr "Irakurri gehiago" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "Ez dira iruzkinik onartzen" + +#: [post]comment_published +msgid "Comment published" +msgstr "Iruzkina argitaratu da" + +#: [post]comment_like_published +msgid "Liked" +msgstr "Gogokoa" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "Ezin izan da iruzkina argitaratu" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "Iruzkina ezabatu da" + +#: [post]liked +msgid "Liked your publication" +msgstr "Zure argitalpena gogoko du" + +#: [post]commented +msgid "Commented" +msgstr "Iruzkindu du" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "%s(r)i harpidetu behar zara argitalpena ikusteko" + +#: [hello]contact_post +msgid "Contact post" +msgstr "Kontaktu baten bidalketa" + +#: [hello]share_title +msgid "Universal share button" +msgstr "Partekatze-botoi unibertsala" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "Gehitu edo eraman botoia laster-marketara eta erabili Movimen partekatu nahi dituzun webgune guztietan" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "Partekatu Movimen" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "Hara! Kaixo!" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "Badirudi iritsi berria zarela! Ongi etorri Movim-era!" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "Ikuskatu menua" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "Movimen aukera guztiak daude hor. Mugi zaitez orrialdeen artean gehiago deskubritzeko!" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "Badirudi oraindik ez duzula profila bete" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "Ezarpenen orrira joan zaitezke zure burua deskribatu eta irudi bat ezartzeko" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "Bisitatu nire bloga" + +#: [status]disconnect +msgid "Disconnect" +msgstr "Amaitu saioa" + +#: [status]presence +msgid "Presence" +msgstr "Presentzia" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "Ziur saioa amaitu nahi duzula?" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "Nire profilaren irudia" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "Esteka arbelean kopiatu da" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "Zer berri?" + +#: [publish]brief_title +msgid "Brief" +msgstr "Laburrean" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "Argitalpena" + +#: [publish]post +msgid "Write a post" +msgstr "Idatzi argitalpena" + +#: [publish]add_link +msgid "Add a link" +msgstr "Gehitu esteka" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "Egin argazkia" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "Idatzi titulu bat" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "Gutxienez irudi bat behar da" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "Aurreikusi" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "Gehitu fitxategi edo irudi bat" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "Ezin duzu hemen argitaratu" + +#: [publish]new +msgid "New post" +msgstr "Argitalpen berria" + +#: [publish]title +msgid "Post title" +msgstr "Argitalpenaren titulua" + +#: [publish]content +msgid "Markdown content" +msgstr "Markdown edukia" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "Idatzi benetazko esteka bat" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "Markdown erabiliz formatua eman diezaiokezu edukiari" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "Zirriborroa gorde da" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "Testu-editore aberatsa" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "Gehitu #traola​k titulu edo edukian bidalketak hedapen handiagoa izan dezan" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "Ez duzu hor argitaratzeko baimenik" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "Bidalketa handiegia da argitaratzeko" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "Testua luzeegia da, %s karaktere gehienez" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "Soilik harpidetzaileek dute zure blogera sarbidea. Edonorentzat egin dezakezu eskuragarri ezarpenen orrialdean." + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "Multimedia txertatuko da" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "Sortu HTTP URL publikoa argitalpen honetarako" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "Movim-etik kanpoko edonori zure argitalpena atzitzea ahalbidetuko du honek" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "Laguntza" + +#: [publishhelp]more +msgid "More help" +msgstr "Laguntza gehiago" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "Markdown sintaxiaren gida" + +#: [story]new +msgid "New story" +msgstr "Story berria" + +#: [story]new_edit +msgid "Edit your story" +msgstr "Editatu Story-a" + +#: [story]new_publish +msgid "Publish your story" +msgstr "Argitaratu Story-a" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "Argitaratu kontaktuentzat" + +#: [story]uploading +msgid "Uploading the story" +msgstr "Story-a igotzen" + +#: [story]publishing +msgid "Publishing the story" +msgstr "Story-a argitaratzen" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "Gutxi falta da…" + +#: [story]published +msgid "Story published" +msgstr "Story-a argitaratu da" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Sortu kontu berria" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "Zerbitzari honek ez du kontua sortzeko aukerarik" + +#: [create]server_on +msgid "on" +msgstr "zerbitzarian sortu" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "Zure kontua behar bezala erregistratu da" + +#: [create]loading +msgid "Loading" +msgstr "Kargatzen" + +#: [create]placeholder +msgid "…and start playing" +msgstr "… eta hasi erreproduzitzen" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Ez da zuzena" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "Une honetan ezin da zerbitzari honetan izena eman" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "Izen-ematea ez dago baimenduta" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "Batu txat-gelara saioa hastean" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "Txat-gelaren helbide okerra" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "Sartu baliozko goitizen bat (2 eta 40 karaktere artean)" + +#: [chatrooms]banned +msgid "Banned" +msgstr "Debekatuta" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "Goitizena hartuta dago" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "Txat-gelara batu da" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "Sortu txat-gela" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "Txat-gela sortu da" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "Txat-gela arrunta" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "Ziur betiko suntsitu nahi duzula ondorengo txat-gela?" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "Suntsitu txat-gela" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "Txat-gela suntsitu da" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "Movim ez da baliozko txat-gelarik topatzeko gai izan. Saia zaitez beste identifikatzaile batekin." + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "Badirudi txat-gela hau Gune bateko parte dela, baina ezin izan dugu jakin zeinetakoa; txat-gelara baino, Gunera batzea gomendatzen dizugu" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "Txat-gela ez den zerbait gehitzen saiatzen ari zara" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "Izena ematea ezinbestekoa da zerbitzua erabili ahal izateko" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "Txat-gelatik irten da" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "Izenik ez" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "Oraindik ez duzu txat-gelarik." + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "Gehitu bat \"+\" botoia erabiliz." + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "Izena edo deskribapena" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "Ez duzu txat-gela honetan sartzeko baimenik" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "Pasabide txat-gela" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "Ezkutatu deskonektatutako txat-gelak" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "Txat-gelaren helbidea" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "Txat gela hori ez da existitzen" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "Zure goitizena ez da baliogarria" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "Sartu txat-gelara" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "Sartu neurrira egindago txat-gelara" + +#: [chatrooms]members +msgid "Members" +msgstr "Kideak" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "Ezin da onartu" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "Ez duzu hemen txat-gela bat sortzeko baimenik" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "Pasahitza ezinbestekoa da" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "Finkatu txat-gela hau" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "Ezin izan da txat-gelan sartu, erregistroa ezinbestekoa da" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "Ez da existitzen txat-gela honen urruneko zerbitzaria" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "Agortu egin da urruneko zerbitzariko konexioa" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "Baieztatu honako txat-gelatik betiko atera nahi duzula." + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "Utzi txat-gela bat betiko" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "Txat-gela partaide-kopuruen mugara iritsi da" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "Erakutsi txat-gela guztiak" + +#: [chatrooms]subject +msgid "Subject" +msgstr "Gaia" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "Txat-gelak" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "Txat-gela mota" + +#: [chatrooms]users +msgid "Users" +msgstr "Erabiltzaileak" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "Laster-markak eguneratu dira" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "Kanal publikoa" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "Une honetan erabiltzaile anonimo bezala hasia duzu saioa" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "Lehendik duzun kontua erabil dezakezu bat egiteko edo berri bat sortu saioa hasteko orrialdean. Oraingo saioa amaitzeko erabili goiko eskumako gurutzea." + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "%s(e)n saioa hasita" + +#: [room]invite +msgid "Invite a contact" +msgstr "Gonbidatu kontaktua" + +#: [room]invited +msgid "Invitation sent" +msgstr "Gonbidapena bidali da" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "Bidali esteka kontaktuei" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "Txat-gela hau publikoa da eta aurkitu dezakete" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "Profil publikoak" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "Txat-gela honetako partaideek batak besteen XMPP helbideak ikus ditzakete" + +#: [room]archived +msgid "Archived" +msgstr "Artxibatuta" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "Txat-gelako mezuak artxibatuta daude" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "Taldeko txata" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "Talde-txat pribatua kide gonbidatuekin" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "Gehitu kide berria" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "Ezarri debekua norbaiti" + +#: [room]banned_remove +msgid "Unban" +msgstr "Kendu debekua" + +#: [room]configure_user +msgid "Configure the user" +msgstr "Konfiguratu erabiltzailea" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "Ez duzu afiliazio hau aldatzeko baimenik" + +#: [room]affiliation +msgid "Affiliation" +msgstr "Afiliazioa" + +#: [room]role +msgid "Role" +msgstr "Rolak" + +#: [room]reason +msgid "Reason" +msgstr "Zergatia" + +#: [room]channel +msgid "Channel" +msgstr "Kanala" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "Edonork aurkitu dezakeen eta bertara edonor sar daitekeen kanal publikoa" + +#: [room]notify_never +msgid "Never notify" +msgstr "Ez jakinarazi inoiz" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "Jakinarazi aipatzerakoan" + +#: [room]notify_always +msgid "Always notify" +msgstr "Jakinarazi beti" + +#: [room]pinned +msgid "Pinned" +msgstr "Finkatuta" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "Administrariak" + +#: [room]visitor +msgid "Visitor" +msgstr "Bisitaria" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "Baimena al du erabiltzaileak mezuak bidaltzeko?" + +#: [room]role_changed +msgid "Role changed" +msgstr "Rola aldatu da" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "Ez da txat-gela lokalik aurkitu" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "Kanalak" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "Ez da txat-gela globalik aurkitu" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "Bilatu kanal gehiago" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "%s guztira" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "Zeren bila ari zara?" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "#katuak, erabiltzailea@zerbitzaria.eus, Jon…" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "Oraindik kontakturik gabe?" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "Aurkitu norbait bere izena edo helbidea erabiliz" + +#: [search]tags +msgid "Tags" +msgstr "Etiketak" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "Erakutsi kontaktu guztiak" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "Erantsi argitalpenari" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "Partekatu argitalpen berrian" + +#: [sendto]selected +msgid "contacts selected" +msgstr "hautatutako kontaktuak" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "Hautatu zein kontakturekin partekatu nahi duzun edukia" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "Argitalpena partekatu da" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "Argitalpena %s kontakturekin partekatu da" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "Kontaktu gehiago" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "Partekatu Movimetik kanpo" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "Bidalketa Movim erabiliz partekatu da" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "Story-a Movim erabiliz partekatu da" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "Gunearen konfigurazioa" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "Gorde da Gunearen konfigurazioa" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "Errorea Gunearen konfigurazioan" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "Gunearen administrazioa" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "Suntsitu Gunea" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "Honako Gunea suntsitzear zaude, eta barne dituen txat-gelak ere suntsituko dira" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "Gonbidatu kontaktu berriak" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "Moderatzaile batek onartu beharko du batzeko eskaera" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "Bidali gonbidapen-gakoa zure kontaktuei" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "Utzi Gunea" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "Gehitu gela bat" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "%s harpidetza-eskaera dituzu oniritziaren zain" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "%s zure oniritziaren zain dago Gunera batzeko" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "Kudeatu eskaera" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "Finkatu gune hau barran" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "Jabeak ezin du bere Gunea utzi" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "Kendu Gunetik" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "Sortu Gune bat" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "Gehitu Gune berri bat" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "Batu Gune batera" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "Gonbidapenik duzu?" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "Gunearen izena" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "Zure Gunearen izena hutsik dago" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "Gunea sortu da" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "Gunea kargatzen" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "Gunera harpidetu zara" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "Erabili gonbidapen-gako bat" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "Baliozko gako bat behar da" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "Babestutako Gunea" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "Une honetan ez duzu Gunera batzeko baimenik" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "Saiatu berriro" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "Ziur zaude Gunea utzi nahi duzula?" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "Eskaera moderatzaile bati bidali zaio." + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "Onartutakoan Gunera batu ahal izango zara." + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "Gehitu %s Gunera" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "Ukatu sarbidea" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "Kontaktua gehitu da Gunera" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "Kontaktua Gunera gehitzea galarazi da" + +#: [sticker]title +msgid "Stickers" +msgstr "Pegatinak" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "Pegatina bat bidali da Movim erabiliz" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "Idatzi hitz gako bat" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "Aurkitu GIF bat" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "Tenorri esker" + +#: [stories]publish +msgid "New Story" +msgstr "Story berria" + +#: [stories]title +msgid "Stories" +msgstr "Story-ak" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "%s(r)en Story berria" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "Ez duzu Story honetara sarbiderik; eskatu gonbidapena egileari sarbidea izateko" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "Agian zure kontaktuetako batzuek ez dute Story honetara sarbiderik izango" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "Litekeena da argitaratzailearen kontura harpidetu behar izatea" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "Bidali iruzkina %s(r)i" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "Story-en ezabapena" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "Ziur Story hau ezabatu nahi duzula?" + +#: [stories]deleted +msgid "Story deleted" +msgstr "Story-a ezabatu da" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "Movim deszentralizatutako sare soziala da; honako XMPP zerbitzari(et)an izena ematera gonbidatzen zaitugu" + +#: [feed]title +msgid "%s’s feed" +msgstr "%s(r)en jarioa" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "Kontaktu honek ez dauka argitalpen publikorik" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "Ez da kontakturik zehaztu" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "Igo" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "Aukeratu igotzeko fitxategia" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "Irudi handiak murriztu eta konprimatuko dira" + +#: [upload]error_filesize +msgid "File too large" +msgstr "Fitxategia handiegia da" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "Igotzeak kale egin du" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "Ez duzu fitxategiak igotzeko baimenik" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "Muga gainditu duzu" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "Ekarri fitxategia eremu honetara" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "Fitxategiaren gehienezko tamaina %s" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "Zure kontura igotzen" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "Zifratu gabeko fitxategi bat bidaliko duzu zifratutako eztabaida batera. Ziur zaude?" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Profila" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "Profila eguneratu da" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "Profila ez da eguneratu" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "Txat gela batera sartzen zarenean ere erabiliko da pantaila-izen hau defektuz" + +#: [profile]public +msgid "Your profile is now public" +msgstr "Zure profila publikoa da orain" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "Zure profila mugatua da orain (ez publikoa)" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "Ezarri zure instantziaren goitizena" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "Publikoa da kontu hau Movim instantzia honetan?" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "Movimek orrialde publiko bat sortuko du zure blogerako eta Movimeko beste erabiltzaileek zure kontua bilatu ahal izango dute." + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "Ezarri goitizen lokal bat instantzia honetako erabiltzaileek erraz aurkitu zaitzaten." + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "Zure goitizena %s da." + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "Jon_Zaharra96" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "Ezizenak hizkiak, letrak, - eta _ soilik izan ditzazke" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "Goitizen hori hartua dago dagoeneko" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "Goitizena gorde da" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Bidali" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Berrezarri" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "Une honetan Movim modu motelean ari da funtzionatzen" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "Zure zerbitzariak ez du XMPP Pubsub iraunkortasuna onartzen, edo ezaugarri sozialak (komunitateak, albisteen jarioa eta profila) ezgaitu ditu administrariak." + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "Jar zaitez zerbitzariko administrariarekin harremanetan ezaugarri hau gehitu daitekeen aztertzeko." + +#: [visio]calling +msgid "…is calling you" +msgstr "… deitzen ari zaizu" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "Bideo-dei berria" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "Audio-dei berria" + +#: [visio]ringing +msgid "…ringing" +msgstr "… deika ari da" + +#: [visio]declined +msgid "Declined" +msgstr "Baztertu da" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "Aribidean dagoen deia" + +#: [visio]joined_call +msgid "Joined call" +msgstr "Deira batu da" + +#: [visio]failed +msgid "Failed" +msgstr "Huts egin du" + +#: [visio]connecting +msgid "…connecting" +msgstr "… konektatzen" + +#: [visio]ended +msgid "End of call" +msgstr "Deiaren amaiera" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "Parte-hartzaile guztiek utzi dute deia" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "Moztu deia" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "Ziur zaude uneko deia eseki nahi duzula?" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "%s deika ari zaizu" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "%s(r)i deitzen" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "%s(e)n konferentzia sortzen" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "Konferentziara batzen" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "Kamera eta mikrofonoa konfiguratzen" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "Baimendu nabigatzaileak zure gailuak partekatzea konfiguratu ahal izateko" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "Lehenetsitako mikrofonoa" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "Lehenetsitako kamera" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "Lehenetsitako mikrofonoa aldatu da" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "Lehenetsitako kamera aldatu da" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "Ez da mikrofonotik datorren soinurik detektatu" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "Saia zaitez zarataren bat egiten, hautatu beste iturri bat edo egiaztatu zure sistemaren ezarpenak" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "Movimek Javascript behar du." + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "Movim sekulako federatutako gizarte plataforma da, zure pribatutasuna babesten duena eta ezaugarri txundigarriak dituena." + +#: [global]loading +msgid "Loading…" +msgstr "Kargatzen…" + +#: [global]or +msgid "Or" +msgstr "Edo" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "Aldatu beste pod batera" + +#: [global]main_menu +msgid "Main menu" +msgstr "Menu nagusia" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "Behealdeko menua" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "Joan edukira zuzenean" + +#: [page]about +msgid "About" +msgstr "Honi buruz" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Kontuaren sorrera" + +#: [page]administration +msgid "Administration" +msgstr "Administrazioa" + +#: [page]avatar +msgid "Profile Picture" +msgstr "Profileko argazkia" + +#: [page]blog +msgid "Blog" +msgstr "Bloga" + +#: [page]chats +msgid "Messages" +msgstr "Mezuak" + +#: [page]communities +msgid "Communities" +msgstr "Komunitateak" + +#: [page]explore +msgid "Explore" +msgstr "Arakatu" + +#: [page]feed +msgid "Feed" +msgstr "Jarioa" + +#: [page]home +msgid "Home" +msgstr "Ataria" + +#: [page]login +msgid "Login" +msgstr "Hasi saioa" + +#: [page]news +msgid "News" +msgstr "Albisteak" + +#: [page]not_found +msgid "Not Found" +msgstr "Ez da aurkitu" + +#: [page]posts +msgid "Posts" +msgstr "Argitalpenak" + +#: [page]publish +msgid "Publish" +msgstr "Argitaratu" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "Partekatu" + +#: [page]space +msgid "Space" +msgstr "Gunea" + +#: [page]tag +msgid "Tag" +msgstr "Etiketa" + +#: [page]visio +msgid "Visio-conference" +msgstr "Visio-konferentzia" + +#: [error]error +msgid "Error: %s" +msgstr "%s errorea" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "Ezin izan da '%s' fitxategia kargatu" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "Eskatutako '%s' widgeta ez da existitzen." + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "Eskatutako %s gertaera ez dago erregistratuta." + +#: [error]whoops +msgid "Whoops!" +msgstr "Kaka!" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "Movim ezin da zerbitzariarekin harremanetan jarri. Saiatu berriro geroago" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "Zerbitzarira birkonektatzen…" + +#: [error]oops +msgid "Oops!" +msgstr "Kaka!" + +#: [button]accept +msgid "Accept" +msgstr "Baieztatu" + +#: [button]add +msgid "Add" +msgstr "Gehitu" + +#: [button]audio_call +msgid "Audio Call" +msgstr "Audio-deia" + +#: [button]bool_no +msgid "No" +msgstr "Ez" + +#: [button]bool_yes +msgid "Yes" +msgstr "Bai" + +#: [button]call +msgid "Call" +msgstr "Daitu" + +#: [button]cancel +msgid "Cancel" +msgstr "Utzi" + +#: [button]chat +msgid "Chat" +msgstr "Txata" + +#: [button]clear +msgid "Clear" +msgstr "Garbitu" + +#: [button]close +msgid "Close" +msgstr "Itxi" + +#: [button]connecting +msgid "Connecting" +msgstr "Konektatzen" + +#: [button]copy_link +msgid "Copy Link" +msgstr "Kopiatu esteka" + +#: [button]create +msgid "Create" +msgstr "Sortu" + +#: [button]delete +msgid "Delete" +msgstr "Ezabatu" + +#: [button]destroy +msgid "Destroy" +msgstr "Suntsitu" + +#: [button]discover +msgid "Discover" +msgstr "Aurkitu" + +#: [button]enable +msgid "Enable" +msgstr "Gaitu" + +#: [button]join +msgid "Join" +msgstr "Egin bat" + +#: [button]leave +msgid "Leave" +msgstr "Irten" + +#: [button]like +msgid "Like" +msgstr "Egin gogoko" + +#: [button]more +msgid "More" +msgstr "Gehiago" + +#: [button]new +msgid "New conversation" +msgstr "Elkarrizketa berria" + +#: [button]next +msgid "Next" +msgstr "Hurrengoa" + +#: [button]not_now +msgid "Not Now" +msgstr "Orain ez" + +#: [button]open +msgid "Open" +msgstr "Ireki" + +#: [button]previous +msgid "Previous" +msgstr "Aurrekoa" + +#: [button]quote +msgid "Quote" +msgstr "Aipatu" + +#: [button]refresh +msgid "Refresh" +msgstr "Freskatu" + +#: [button]refuse +msgid "Refuse" +msgstr "Deuseztatu" + +#: [button]register +msgid "Register" +msgstr "Erregistratu" + +#: [button]remove +msgid "Remove" +msgstr "Kendu" + +#: [button]reply +msgid "Reply" +msgstr "Erantzun" + +#: [button]return +msgid "Return" +msgstr "Itzuli" + +#: [button]save +msgid "Save" +msgstr "Gorde" + +#: [button]search +msgid "Search" +msgstr "Bilatu" + +#: [button]send_to +msgid "Send to" +msgstr "Bidali honi" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "Partekatu" + +#: [button]sign_up +msgid "Sign Up" +msgstr "Eman izena" + +#: [button]submitting +msgid "Submitting" +msgstr "Bidaltzen" + +#: [button]unregister +msgid "Unregister" +msgstr "Erregistrotik ezabatu" + +#: [button]update +msgid "Update" +msgstr "Eguneratu" + +#: [button]updating +msgid "Updating" +msgstr "Eguneratzen" + +#: [button]validate +msgid "Validate" +msgstr "Egiaztatu" + +#: [button]video_call +msgid "Video Call" +msgstr "Bideo-deia" + +#: [input]optional +msgid "Optional" +msgstr "Hautazkoa" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "Erlazionatutako komunitatea" + +#: [input]open_me_using +msgid "Open me using" +msgstr "Ireki nazazu honakoa erabiliz" + +#: [day]title +msgid "Day" +msgstr "Eguna" + +#: [day]monday +msgid "Monday" +msgstr "Astelehena" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Asteartea" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Asteazkena" + +#: [day]thursday +msgid "Thursday" +msgstr "Osteguna" + +#: [day]friday +msgid "Friday" +msgstr "Ostirala" + +#: [day]saturday +msgid "Saturday" +msgstr "Larunbata" + +#: [day]sunday +msgid "Sunday" +msgstr "Igandea" + +#: [client]bot +msgid "Bot" +msgstr "Errobot" + +#: [client]console +msgid "Console" +msgstr "Kontsola" + +#: [client]desktop +msgid "Desktop" +msgstr "Mahaigaina" + +#: [client]phone +msgid "Phone" +msgstr "Mugikorra" + +#: [client]web +msgid "Web" +msgstr "Weba" + +#: [client]registered +msgid "Registered" +msgstr "Erregistratuta" + +#: [client]gateway +msgid "Gateway" +msgstr "Pasabidea" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "Linean" + +#: [presence]away +msgid "Away" +msgstr "Tokitan" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "Ez eragotzi" + +#: [presence]xa +msgid "Extended Away" +msgstr "Tokitan" + +#: [presence]offline +msgid "Offline" +msgstr "Lineaz kanpo" + +#: [presence]error +msgid "Error" +msgstr "Errorea" + +#: [mood]afraid +msgid "afraid" +msgstr "beldur" + +#: [mood]amazed +msgid "amazed" +msgstr "zirraratuta" + +#: [mood]amorous +msgid "amorous" +msgstr "maitekor" + +#: [mood]angry +msgid "angry" +msgstr "haserre" + +#: [mood]annoyed +msgid "annoyed" +msgstr "haserre" + +#: [mood]anxious +msgid "anxious" +msgstr "irrikitan" + +#: [mood]aroused +msgid "aroused" +msgstr "berotuta" + +#: [mood]ashamed +msgid "ashamed" +msgstr "lotsatuta" + +#: [mood]bored +msgid "bored" +msgstr "aspertuta" + +#: [mood]brave +msgid "brave" +msgstr "ausart" + +#: [mood]calm +msgid "calm" +msgstr "lasai" + +#: [mood]cautious +msgid "cautious" +msgstr "zuhur" + +#: [mood]cold +msgid "cold" +msgstr "hotz" + +#: [mood]confident +msgid "confident" +msgstr "ziur" + +#: [mood]confused +msgid "confused" +msgstr "nahasita" + +#: [mood]contemplative +msgid "contemplative" +msgstr "hausnartzen" + +#: [mood]contented +msgid "contented" +msgstr "kontent" + +#: [mood]cranky +msgid "cranky" +msgstr "kexati" + +#: [mood]crazy +msgid "crazy" +msgstr "burua galduta" + +#: [mood]creative +msgid "creative" +msgstr "sortzaile" + +#: [mood]curious +msgid "curious" +msgstr "jakin-minez" + +#: [mood]dejected +msgid "dejected" +msgstr "burumakur" + +#: [mood]depressed +msgid "depressed" +msgstr "deprimituta" + +#: [mood]disappointed +msgid "disappointed" +msgstr "desengainatuta" + +#: [mood]disgusted +msgid "disgusted" +msgstr "nazkatuta" + +#: [mood]dismayed +msgid "dismayed" +msgstr "harrituta" + +#: [mood]distracted +msgid "distracted" +msgstr "oharkabe" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "lotsatuta" + +#: [mood]envious +msgid "envious" +msgstr "bekaizti" + +#: [mood]excited +msgid "excited" +msgstr "urduri" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "irtirin" + +#: [mood]frustrated +msgid "frustrated" +msgstr "kontentgaitz" + +#: [mood]grateful +msgid "grateful" +msgstr "eskerdun" + +#: [mood]grieving +msgid "grieving" +msgstr "penatuta" + +#: [mood]grumpy +msgid "grumpy" +msgstr "marmarti" + +#: [mood]guilty +msgid "guilty" +msgstr "errudun" + +#: [mood]happy +msgid "happy" +msgstr "pozik" + +#: [mood]hopeful +msgid "hopeful" +msgstr "itxaropentsu" + +#: [mood]hot +msgid "hot" +msgstr "bero" + +#: [mood]humbled +msgid "humbled" +msgstr "umil" + +#: [mood]humiliated +msgid "humiliated" +msgstr "azpiratuta" + +#: [mood]hungry +msgid "hungry" +msgstr "gosetuta" + +#: [mood]hurt +msgid "hurt" +msgstr "minduta" + +#: [mood]impressed +msgid "impressed" +msgstr "hunkituta" + +#: [mood]in_awe +msgid "in awe" +msgstr "beldurtuta" + +#: [mood]in_love +msgid "in love" +msgstr "maiteminduta" + +#: [mood]indignant +msgid "indignant" +msgstr "suminduta" + +#: [mood]interested +msgid "interested" +msgstr "interesatuta" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "mozkortuta" + +#: [mood]invincible +msgid "invincible" +msgstr "garaiezin" + +#: [mood]jealous +msgid "jealous" +msgstr "jeloskor" + +#: [mood]lonely +msgid "lonely" +msgstr "bakarrik" + +#: [mood]lost +msgid "lost" +msgstr "galduta" + +#: [mood]lucky +msgid "lucky" +msgstr "zorioneko" + +#: [mood]mean +msgid "mean" +msgstr "zital" + +#: [mood]moody +msgid "moody" +msgstr "umore txarrez" + +#: [mood]nervous +msgid "nervous" +msgstr "urduri" + +#: [mood]neutral +msgid "neutral" +msgstr "neutro" + +#: [mood]offended +msgid "offended" +msgstr "minduta" + +#: [mood]outraged +msgid "outraged" +msgstr "suminduta" + +#: [mood]playful +msgid "playful" +msgstr "jostalari" + +#: [mood]proud +msgid "proud" +msgstr "harro" + +#: [mood]relaxed +msgid "relaxed" +msgstr "erlaxatuta" + +#: [mood]relieved +msgid "relieved" +msgstr "lasai" + +#: [mood]remorseful +msgid "remorseful" +msgstr "harrak janda" + +#: [mood]restless +msgid "restless" +msgstr "aztoratua" + +#: [mood]sad +msgid "sad" +msgstr "atsekabetuta" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "sarkastiko" + +#: [mood]satisfied +msgid "satisfied" +msgstr "pozik" + +#: [mood]serious +msgid "serious" +msgstr "serio" + +#: [mood]shocked +msgid "shocked" +msgstr "harrituta" + +#: [mood]shy +msgid "shy" +msgstr "lotsatuta" + +#: [mood]sick +msgid "sick" +msgstr "gaixorik" + +#: [mood]sleepy +msgid "sleepy" +msgstr "logaletu" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "natural" + +#: [mood]stressed +msgid "stressed" +msgstr "estresatuta" + +#: [mood]strong +msgid "strong" +msgstr "indartsu" + +#: [mood]surprised +msgid "surprised" +msgstr "harrituta" + +#: [mood]thankful +msgid "thankful" +msgstr "esker onez" + +#: [mood]thirsty +msgid "thirsty" +msgstr "egarri" + +#: [mood]tired +msgid "tired" +msgstr "nekatuta" + +#: [mood]undefined +msgid "undefined" +msgstr "zehaztugabe" + +#: [mood]weak +msgid "weak" +msgstr "ahul" + +#: [mood]worried +msgid "worried" +msgstr "kezkatuta" + +#: [month]title +msgid "Month" +msgstr "Hilabetea" + +#: [month]january +msgid "January" +msgstr "Urtarrila" + +#: [month]february +msgid "February" +msgstr "Otsaila" + +#: [month]march +msgid "March" +msgstr "Martxoa" + +#: [month]april +msgid "April" +msgstr "Apirila" + +#: [month]may +msgid "May" +msgstr "Maiatza" + +#: [month]june +msgid "June" +msgstr "Ekaina" + +#: [month]july +msgid "July" +msgstr "Uztaila" + +#: [month]august +msgid "August" +msgstr "Abuztua" + +#: [month]september +msgid "September" +msgstr "Iraila" + +#: [month]october +msgid "October" +msgstr "Urria" + +#: [month]november +msgid "November" +msgstr "Azaroa" + +#: [month]december +msgid "December" +msgstr "Abendua" + +#: [year]title +msgid "Year" +msgstr "Urtea" + +#: [date]today +msgid "Today" +msgstr "Gaur" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "Bihar" + +#: [date]yesterday +msgid "Yesterday" +msgstr "Atzo" + +#: [date]ago +msgid "%d days ago" +msgstr "duela %d egun" + +#: [date]day +msgid "day" +msgstr "eguna" + +#: [post]title +msgid "Title" +msgstr "Izenburua" + +#: [post]place +msgid "Place" +msgstr "Tokia" + +#: [post]by +msgid "by" +msgstr "jatorria" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "Geolokalizazio" + +#: [post]email +msgid "email" +msgstr "helbide-elektronikoa" + +#: [post]empty +msgid "No content" +msgstr "Ez dago edukirik" + +#: [post]no_comments +msgid "No comments yet" +msgstr "Oraindik ez dago iruzkinik" + +#: [post]older +msgid "Get older posts" +msgstr "Atziki argitalpen zaharragoak" + +#: [post]new_items +msgid "%s new items" +msgstr "%s elementu berri" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "Errorea iruzkina argitaratzean" + +#: [post]comments_get +msgid "Get the comments" +msgstr "Atziki iruzkinak" + +#: [post]comment_add +msgid "Add a comment" +msgstr "Gehitu iruzkina" + +#: [post]share +msgid "Share with" +msgstr "Partekatu honekin" + +#: [post]share_everyone +msgid "Everyone" +msgstr "Guztiak" + +#: [post]updated +msgid "Updated" +msgstr "Eguneratu da" + +#: [post]content_not_found +msgid "Content not found" +msgstr "Ezin izan da edukia aurkitu" + +#: [post]default_title +msgid "Contact publication" +msgstr "Kontaktu baten argitalpena" + +#: [post]comments +msgid "Comments" +msgstr "Iruzkinak" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "Jatorrizko argitalpena ezabatu da" + +#: [filesize]byte +msgid "B" +msgstr "B" + +#: [filesize]kilobyte +msgid "KB" +msgstr "KB" + +#: [filesize]megabyte +msgid "MB" +msgstr "MB" + +#: [filesize]gigabyte +msgid "GB" +msgstr "GB" + +#: [filesize]terabyte +msgid "TB" +msgstr "TB" + +#: [affiliation]owner +msgid "Owner" +msgstr "Jabea" + +#: [affiliation]admin +msgid "Admin" +msgstr "Administraria" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "Argitaratzailea" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "Argitaratu bakarrik" + +#: [affiliation]member +msgid "Member" +msgstr "Kidea" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "Kanpotarra" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "Ez dago afiliaziorik" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "Erabiltzailea jabe bezala onartu da" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "Erabiltzailea administratzaile bezala onartu da" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "Erabiltzailea kide bezala onartu da" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "Erabiltzaileari debekua jarri zaio" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "Erabiltzaileari afiliazioa kendu zaio" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "Ezin da APIa eskuratu, saiatu berriro beranduago" + +#: [field]type_here +msgid "Type here" +msgstr "Idatzi hemen" diff --git a/frontend/locales/extra.ini b/frontend/locales/extra.ini new file mode 100644 index 0000000..2f81548 --- /dev/null +++ b/frontend/locales/extra.ini @@ -0,0 +1,23 @@ +; Strings added by the Rust edition of Movim +[room] +kick = Kick from the room +ban = Ban from the room +invite_sent = Invitation sent + +[affiliation] +no = None + +[status] +status = Status + +[upload] +not_available = No file upload service is available on your server + +[omemo] +not_supported = This contact does not support encryption + +[clients] +this_device = This device + +[omemo] +this_device = This device diff --git a/frontend/locales/fa.po b/frontend/locales/fa.po new file mode 100644 index 0000000..dd75419 --- /dev/null +++ b/frontend/locales/fa.po @@ -0,0 +1,4158 @@ +# +# Translators: +# Alireza Mirsepassy , 2017 +# revolt68 , 2021 +# FIRST AUTHOR , 2013 +# mabna it , 2020 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: revolt68 , 2021\n" +"Language-Team: Persian (http://app.transifex.com/movim/movim/language/fa/)\n" +"Language: fa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "باتشکر" + +#: [about]developers +msgid "Developers" +msgstr "توسعه دهندگان" + +#: [about]translators +msgid "Translators" +msgstr "مترجم ها" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "با تشکر از همه ترجمه گرها" + +#: [about]software +msgid "Software" +msgstr "نرم افزار" + +#: [about]resources +msgid "Resources" +msgstr "منابع" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "موویم یک پلتفرم براساس پروتوکل XMPP است.تمام پروژه ها ،بجز این نرم افزار و منابع زیر" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "حساب کاربری" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "تغییر رمز عبور" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "رمز عبور" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "تایید رمزعبور" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "رمز عبور تغییر یافت" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "رمز عبور ها یکسان نیست" + +#: [account]delete +msgid "Delete your account" +msgstr "حساب کاربریتان را حذف کنید" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "لطفا نام کاربری خود را به صورت کامل بنویسید" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "لطفا یک نام کاربری معتبر انتخاب کنید" + +#: [account]gateway_title +msgid "Gateways" +msgstr "درگاه ها" + +#: [account]clear +msgid "Leave this instance" +msgstr "ترک کردن این سرور" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "اعمال" + +#: [adhoc]completed +msgid "Action completed" +msgstr "عملیات پایان یافت" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "تنظیمات کلی" + +#: [general]theme +msgid "Theme" +msgstr "نمای کاربری" + +#: [general]language +msgid "Default language" +msgstr "زبان پیشفرض" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "میزان لاگ کردن" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "پیشنهادات را محدود کنید" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "فقط گپ" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "همه ویژگی های اجتماعی (Communities ، Blog ...) را غیرفعال کنید و فقط موارد چت را حفظ کنید" + +#: [credentials]title +msgid "Administration Credential" +msgstr "اعتبار مدیریت" + +#: [credentials]username [input]username +msgid "Username" +msgstr "نام کاربری" + +#: [credentials]re_password +msgid "Retype password" +msgstr "دوباره رمز عبور را بنویسید" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "ویژگی ثبت نام XMPP را غیرفعال کنید" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "جریان و دکمه های ثبت نام XMPP را از رابط حذف کنید" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "اگر میخواهید به همه سرور ها اجازه بدهید اینجا را خالی بگذارید" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "توضیحات" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "شرح عمومی نمونه" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "این پیام در صفحه ورود به سیستم نمایش داده می شود. به عنوان مثال می تواند برای پیوند دادن شرایط و ضوابط مثال Movim شما استفاده شود." + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "اگر نمی خواهید پیامی نشان دهید، این قسمت را خالی بگذارید." + +#: [information]label +msgid "Information Message" +msgstr "پیام اطلاع رسانی" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "سرور XMPP پیشفرض" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "دامنه سرور اصلی" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "توضیحات سرور اصلی" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "کشور سرور اصلی" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "کشوری را در لیست انتخاب کنید" + +#: [tenor]title +msgid "Tenor integration" +msgstr "ادغام Tenor" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "خالی" + +#: [log]syslog +msgid "Syslog" +msgstr "Syslog" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "Sys log and files" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "فایل" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "این محتوا خصوصی است ،برای مشاهده لطفا وارد شوید" + +#: [message]published +msgid "Message Published" +msgstr "پیام منتشر شد" + +#: [message]react +msgid "Add a reaction" +msgstr "یک واکنش اضافه کنید" + +#: [message]retract +msgid "Retract" +msgstr "پس گرفتن" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "پیام شما ارسال نشد، لطفاً بعداً دوباره امتحان کنید" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "پیام رمز گذاری شده" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "خندانک ها" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "مخاطبین اخیر" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "با مخاطب گپ بزنید" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "همه" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "مخاطبین" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "کشف کنید، دنبال کنید و به اشتراک بگذارید" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "جستجو برای سرور جدید" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "تسویه حساب کوچک من - باشگاه" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "تنظیمات" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "مشترک ها" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "تنظیمات ذخیره شد" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "مالک ها" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "منتشر کننده ها" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "نقش ها" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "نقش ها بدرستی تنظیم شده اند" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "مطمئن هستید ؟" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "سلام" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "عمومی" + +#: [config]language +msgid "Language" +msgstr "زبان" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "تنظیمات ذخیره شد" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "تنظیمات پیشرفته" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "مخاطب اضافه شد" + +#: [roster]updated +msgid "Contact updated" +msgstr "مخاطب بروز شد" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "مخاطب حذف شد" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "نام" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "اسم مستعار" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "تاریخ تولد" + +#: [general]gender +msgid "Gender" +msgstr "جنسیت" + +#: [general]marital +msgid "Marital Status" +msgstr "وضعیت تاهل" + +#: [general]email +msgid "Email" +msgstr "ایمیل" + +#: [general]website +msgid "Website" +msgstr "وبسایت" + +#: [general]about +msgid "About Me" +msgstr "درباره من" + +#: [general]accounts +msgid "Other Accounts" +msgstr "اکانت های دیگر" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "کشور" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "آخرین بازدید" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "ویرایش" + +#: [edit]alias +msgid "Alias" +msgstr "" + +#: [edit]group +msgid "Group" +msgstr "گروه" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "%s سال" + +#: [blog]last +msgid "Last public post" +msgstr "آخرین نوشته عمومی" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "درخواست عضویت" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "ولی این مخاطب هنوز میتواند وضعیت آنلاین بودنتان را ببیند" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "دعوت" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "سوال هایی که اخیرا پرسیده شده" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "اتاق گپ را اضافه کنید" + +#: [error]username +msgid "Wrong username" +msgstr "نام کاربری اشتباه است" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "حساب کاربری با موفقیت ایجاد شد" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "ورود غیر ممکن است" + +#: [error]default +msgid "Unknown error" +msgstr "خطای ناشناخته" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "آدرس من" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "متصل" + +#: [form]population +msgid "Population" +msgstr "جمعیت" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "اعلان ها" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%s میخواهد با شما گفتگو کند" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "پروفایل عمومی" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "محتوا" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "این نوشته عمومی است" + +#: [post]public_no +msgid "This post is private" +msgstr "این نوشته خصوصی است" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "لینک عمومی این نوشته" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "پاک کرنت این نوشته" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "شما درحال حذف این نوشته هستید ،لطفا تایید کنید" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "بیشتر ..." + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "نظر دادن خاموش است" + +#: [post]comment_published +msgid "Comment published" +msgstr "نظر منتشر شد" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "نظر حذف شد" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "اوه! سلام!" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "نوشته" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "پیش نمایش" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "نوشته جدید" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "کمک" + +#: [publishhelp]more +msgid "More help" +msgstr "کمک بیشتر" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "ساخت حساب کاربری جدید" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "فرم ساخت اکانتی در این سرور یافت نشد" + +#: [create]server_on +msgid "on" +msgstr "روی" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "درحال بارگیری" + +#: [create]placeholder +msgid "…and start playing" +msgstr "...و شروع به بازی کنید" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "قابل قبول نیست" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "سیستم ثبت نام سرور فعلا در دسترس نیست" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "ثبت نام ممنوع است" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "نام خالی است" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "با کلیک کردن روی دکمه اضافه کنید" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "اعض" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "موضوع" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "اتاق های چت" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "نشان ها بروز شد" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "هرگز به من اطلاع نده" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "همیشه به من اطلاع بده" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "دنبال چی میگردی؟" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "هنوز هیچ رابطی برای تماس ندارید ؟" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "تگ ها" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "فید %s" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "فایل بیش از حد بزرگ است" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "آپلود ناموفق بود" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "پروفایل" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "مدیریت" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "نوشته ها" + +#: [page]publish +msgid "Publish" +msgstr "منتشر کردن" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "فایل '%s بارگزاری نمی شود" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "گپ" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "کشف کردن" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "گفتگوجدید" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "روز" + +#: [day]monday +msgid "Monday" +msgstr "دو‌شنبه" + +#: [day]tuesday +msgid "Tuesday" +msgstr "سه‌‌شنبه" + +#: [day]wednesday +msgid "Wednesday" +msgstr "چهار‌شنبه" + +#: [day]thursday +msgid "Thursday" +msgstr "پنج‌شنبه" + +#: [day]friday +msgid "Friday" +msgstr "جمعه" + +#: [day]saturday +msgid "Saturday" +msgstr "شنبه" + +#: [day]sunday +msgid "Sunday" +msgstr "یکشنبه" + +#: [client]bot +msgid "Bot" +msgstr "بات" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "دسکتاپ" + +#: [client]phone +msgid "Phone" +msgstr "تلفن" + +#: [client]web +msgid "Web" +msgstr "وب" + +#: [client]registered +msgid "Registered" +msgstr "ثبت شده" + +#: [client]gateway +msgid "Gateway" +msgstr "دروازه" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "آنلاین" + +#: [presence]away +msgid "Away" +msgstr "" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "مزاحم نشوید" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "آفلاین" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "غافلگیر شدن" + +#: [mood]thankful +msgid "thankful" +msgstr "سپاسگزار" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "تعریف نشده" + +#: [mood]weak +msgid "weak" +msgstr "ضعیف" + +#: [mood]worried +msgid "worried" +msgstr "نگران" + +#: [month]title +msgid "Month" +msgstr "ماه" + +#: [month]january +msgid "January" +msgstr "ژانویه" + +#: [month]february +msgid "February" +msgstr "فوریه" + +#: [month]march +msgid "March" +msgstr "مارس" + +#: [month]april +msgid "April" +msgstr "آوریل" + +#: [month]may +msgid "May" +msgstr "می" + +#: [month]june +msgid "June" +msgstr "ژوئن" + +#: [month]july +msgid "July" +msgstr "جولای" + +#: [month]august +msgid "August" +msgstr "آگوست" + +#: [month]september +msgid "September" +msgstr "سپتامبر" + +#: [month]october +msgid "October" +msgstr "اکتبر" + +#: [month]november +msgid "November" +msgstr "نوامبر" + +#: [month]december +msgid "December" +msgstr "دسامبر" + +#: [year]title +msgid "Year" +msgstr "سال" + +#: [date]today +msgid "Today" +msgstr "امروز" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "فردا" + +#: [date]yesterday +msgid "Yesterday" +msgstr "دیروز" + +#: [date]ago +msgid "%d days ago" +msgstr "%d روز قبل" + +#: [date]day +msgid "day" +msgstr "روز" + +#: [post]title +msgid "Title" +msgstr "عنوان" + +#: [post]place +msgid "Place" +msgstr "مکان" + +#: [post]by +msgid "by" +msgstr "توسط" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "موقعیت مکانی" + +#: [post]email +msgid "email" +msgstr "ایمیل" + +#: [post]empty +msgid "No content" +msgstr "بدون محتوا" + +#: [post]no_comments +msgid "No comments yet" +msgstr "هنوز نظری ثبت نشده است." + +#: [post]older +msgid "Get older posts" +msgstr "دریافت نوشته های قدیمی تر" + +#: [post]new_items +msgid "%s new items" +msgstr "%s آیتم جدید" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "خطای انتشار نظر" + +#: [post]comments_get +msgid "Get the comments" +msgstr "نظرات را دریافت کنید" + +#: [post]comment_add +msgid "Add a comment" +msgstr "نظر اضافه کنید" + +#: [post]share +msgid "Share with" +msgstr "انتشار توسط" + +#: [post]share_everyone +msgid "Everyone" +msgstr "هر فردی" + +#: [post]updated +msgid "Updated" +msgstr "به روز شده" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "نظرها" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "نوشته اصلی حذف شده است" + +#: [filesize]byte +msgid "B" +msgstr "بایت" + +#: [filesize]kilobyte +msgid "KB" +msgstr "کیلوبایت" + +#: [filesize]megabyte +msgid "MB" +msgstr "مگابایت" + +#: [filesize]gigabyte +msgid "GB" +msgstr "گیگابایت" + +#: [filesize]terabyte +msgid "TB" +msgstr "ترابایت" + +#: [affiliation]owner +msgid "Owner" +msgstr "مالک" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "منتشر کننده" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "فقط انتشار" + +#: [affiliation]member +msgid "Member" +msgstr "عضو" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "اینجا بنویسید" diff --git a/frontend/locales/fi.po b/frontend/locales/fi.po new file mode 100644 index 0000000..83e6ba3 --- /dev/null +++ b/frontend/locales/fi.po @@ -0,0 +1,4155 @@ +# +# Translators: +# Mikael H , 2016 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Mikael H , 2016\n" +"Language-Team: Finnish (http://app.transifex.com/movim/movim/language/fi/)\n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Kiitos" + +#: [about]developers +msgid "Developers" +msgstr "Kehittäjät" + +#: [about]translators +msgid "Translators" +msgstr "Kääntäjät" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Kiitos kaikille kääntäjille" + +#: [about]software +msgid "Software" +msgstr "Ohjelmisto" + +#: [about]resources +msgid "Resources" +msgstr "Resurssit" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim on XMPP-pohjainen keskustelualusta. Koko projekti, lukuun ottamatta seuraavia ohjelmistoja ja resursseja, käyttää lisenssiä" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Tili" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Vaihda salasana" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Salasana" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Vahvista salasana" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "Salasanasi on päivitetty" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "Salasanat eivät täsmää" + +#: [account]delete +msgid "Delete your account" +msgstr "Poista tilisi" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Toimenpiteet" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "Yleiset asetukset" + +#: [general]theme +msgid "Theme" +msgstr "Teema" + +#: [general]language +msgid "Default language" +msgstr "Oletuskieli" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Käyttäjänimi" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Kirjoita salasana uudelleen" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "Tyhjä" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "Tiedosto" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "Tämä sisältö on yksityistä, kirjaudu sisään nähdäksesi" + +#: [message]published +msgid "Message Published" +msgstr "Viesti julkaistu" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "Salattu viesti" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%s tarvitsee huomiosi" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "Hymiöt" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "Usein käytetyt kontaktit" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "Keskustele kontaktin kanssa" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "Kaikki" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "Kontaktit" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "My Little Pony -faniryhmä" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Asetukset" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "Asetukset tallennettu" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "Galleria" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "%s julkaisua" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "Oletko varma?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "Hei" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "Yleinen" + +#: [config]language +msgid "Language" +msgstr "Kieli" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "Näytä offline-kontaktit" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "Piilota offline-kontaktit" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "Kontakti lisätty" + +#: [roster]updated +msgid "Contact updated" +msgstr "Kontakti päivitetty" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "Kontakti poistettu" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "Nimi" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "Nimimerkki" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Syntymäaika" + +#: [general]gender +msgid "Gender" +msgstr "Sukupuoli" + +#: [general]marital +msgid "Marital Status" +msgstr "Siviilisääty" + +#: [general]email +msgid "Email" +msgstr "Sähköposti" + +#: [general]website +msgid "Website" +msgstr "Nettisivu" + +#: [general]about +msgid "About Me" +msgstr "Tietoja minusta" + +#: [general]accounts +msgid "Other Accounts" +msgstr "Muut tilit" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "Maa" + +#: [listen]title +msgid "Listening" +msgstr "Kuuntelee" + +#: [last]title +msgid "Last seen" +msgstr "Nähty viimeksi" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "Alias" + +#: [edit]group +msgid "Group" +msgstr "Ryhmä" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "%s vuotta" + +#: [blog]last +msgid "Last public post" +msgstr "Viimeisin julkinen julkaisu" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "Jaa tilani" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "Usein kysytyt kysymykset" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "Väärä käyttäjänimi" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "Sisäinen palvelinvirhe" + +#: [error]session +msgid "Session error" +msgstr "Istuntovirhe" + +#: [error]account_created +msgid "Account successfully created" +msgstr "Käyttäjätili luotiin onnistuneesti" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "Tuntematon virhe" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "Movim ei pystynyt todentamaan, annoit väärät tiedot" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "XMPP autentikointi epäonnistui" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "Oma osoite" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "Yhdistetty" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "Sisältö" + +#: [post]published +msgid "Post published" +msgstr "Julkaisu julkaistu" + +#: [post]deleted +msgid "Post deleted" +msgstr "Julkaisu poistettu" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "Tämä julkaisu on julkinen" + +#: [post]public_no +msgid "This post is private" +msgstr "Tämä julkaisu on yksityinen" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "Julkinen URL" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "Poista tämä julkaisu" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "Varmista julkaisun poistaminen" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "Kommentit pois käytöstä" + +#: [post]comment_published +msgid "Comment published" +msgstr "Kommentti julkaistu" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "Universaali jakamisnappula" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "Raahaa nappula kirjanmerkkeihin tai työkaluriville ja käytä sitä sivuilla, jotka haluat jakaa Movimissa" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "Jaa Movimissa" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "Hei vaan!" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "Katkaise yhteys" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "Anna otsikko" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "Esikatsele" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "Uusi julkaisu" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "Voit muokata sisältöä Markdownilla" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "Ohje" + +#: [publishhelp]more +msgid "More help" +msgstr "Lisää ohjeita" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "Markdown-ohje" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Luo uusi tili" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "Palvelimelta ei löytynyt tilin luontikaavaketta" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "Ladataan" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Ei hyväksyttävä" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "Palvelimelle ei voi rekisteröityä juuri nyt" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "Tyhä nimi" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "Lisää yksi painamalla lisäyspainiketta." + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "Jäsenet" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "Aihe" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "Keskusteluhuoneet" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "Kirjanmerkit päivitetty" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "Tagit" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "Tarra lähetettiin Movimista" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "Lataa" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "Valitse ladattava tiedosto" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Profiili" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "Profiili päivitetty" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "Profiilia ei päivitetty" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "Profiilisi on nyt julkinen" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "Profiilisi on nyt rajattu" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Lähetä" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Nollaa" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Käyttäjätilin luominen" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "Blogi" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "Tutki" + +#: [page]feed +msgid "Feed" +msgstr "Syöte" + +#: [page]home +msgid "Home" +msgstr "Etusivu" + +#: [page]login +msgid "Login" +msgstr "Kirjaudu sisään" + +#: [page]news +msgid "News" +msgstr "Uutiset" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "Julkaisut" + +#: [page]publish +msgid "Publish" +msgstr "Julkaise" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "Jaa" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "Tagi" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "Virhe: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "Ei voi ladata tiedostoa '%s'" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "Hupsista!" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "Hups!" + +#: [button]accept +msgid "Accept" +msgstr "Hyväksy" + +#: [button]add +msgid "Add" +msgstr "Lisää uusi" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "Ei" + +#: [button]bool_yes +msgid "Yes" +msgstr "Kyllä" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "Peruuta" + +#: [button]chat +msgid "Chat" +msgstr "Keskustelu" + +#: [button]clear +msgid "Clear" +msgstr "Tyhjää" + +#: [button]close +msgid "Close" +msgstr "Sulje" + +#: [button]connecting +msgid "Connecting" +msgstr "Yhdistetään" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "Poista" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "Uusi keskustelu" + +#: [button]next +msgid "Next" +msgstr "Seuraava" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "Edellinen" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "Lataa uudelleen" + +#: [button]refuse +msgid "Refuse" +msgstr "Hylkää" + +#: [button]register +msgid "Register" +msgstr "Rekisteröidy" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "Takaisin" + +#: [button]save +msgid "Save" +msgstr "Tallenna" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "Jaa" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "Lähetetään" + +#: [button]unregister +msgid "Unregister" +msgstr "Ei rekisteröity" + +#: [button]update +msgid "Update" +msgstr "Päivitä" + +#: [button]updating +msgid "Updating" +msgstr "Päivitetään" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "Päivä" + +#: [day]monday +msgid "Monday" +msgstr "Maanantai" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Tiistai" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Keskiviikko" + +#: [day]thursday +msgid "Thursday" +msgstr "Torstai" + +#: [day]friday +msgid "Friday" +msgstr "Perjantai" + +#: [day]saturday +msgid "Saturday" +msgstr "Launtai" + +#: [day]sunday +msgid "Sunday" +msgstr "Sunnuntai" + +#: [client]bot +msgid "Bot" +msgstr "Botti" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "Työpöytä" + +#: [client]phone +msgid "Phone" +msgstr "Puhelin" + +#: [client]web +msgid "Web" +msgstr "Netti" + +#: [client]registered +msgid "Registered" +msgstr "Rekisteröity" + +#: [client]gateway +msgid "Gateway" +msgstr "Portti" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "Paikalla" + +#: [presence]away +msgid "Away" +msgstr "Poissa" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "Älä häiritse" + +#: [presence]xa +msgid "Extended Away" +msgstr "Laajennettu poissaolo" + +#: [presence]offline +msgid "Offline" +msgstr "Poissa verkosta" + +#: [presence]error +msgid "Error" +msgstr "Virhe" + +#: [mood]afraid +msgid "afraid" +msgstr "peloissaan" + +#: [mood]amazed +msgid "amazed" +msgstr "huvittunut" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "vihainen" + +#: [mood]annoyed +msgid "annoyed" +msgstr "ärsyyntynyt" + +#: [mood]anxious +msgid "anxious" +msgstr "ahdistunut" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "häpeissään" + +#: [mood]bored +msgid "bored" +msgstr "tylsistynyt" + +#: [mood]brave +msgid "brave" +msgstr "rohkea" + +#: [mood]calm +msgid "calm" +msgstr "rauhallinen" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "hämmentynyt" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "sekaisin" + +#: [mood]creative +msgid "creative" +msgstr "luova" + +#: [mood]curious +msgid "curious" +msgstr "utelias" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "masentunut" + +#: [mood]disappointed +msgid "disappointed" +msgstr "pettynyt" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "kateellinen" + +#: [mood]excited +msgid "excited" +msgstr "innoissaan" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "kiitollonen" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "iloinen" + +#: [mood]hopeful +msgid "hopeful" +msgstr "toiveikas" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "nöytyytetty" + +#: [mood]hungry +msgid "hungry" +msgstr "nälkäinen" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "vakuuttunut" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "rakastunut" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "kiinnostunut" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "kateellinen" + +#: [mood]lonely +msgid "lonely" +msgstr "yksinäinen" + +#: [mood]lost +msgid "lost" +msgstr "hukassa" + +#: [mood]lucky +msgid "lucky" +msgstr "onnekas" + +#: [mood]mean +msgid "mean" +msgstr "ilkeä" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "jännittynyt" + +#: [mood]neutral +msgid "neutral" +msgstr "neutraali" + +#: [mood]offended +msgid "offended" +msgstr "loukkaantunut" + +#: [mood]outraged +msgid "outraged" +msgstr "raivoissaan" + +#: [mood]playful +msgid "playful" +msgstr "leikkisä" + +#: [mood]proud +msgid "proud" +msgstr "ylpeä" + +#: [mood]relaxed +msgid "relaxed" +msgstr "rentoutunut" + +#: [mood]relieved +msgid "relieved" +msgstr "helpottunut" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "rauhaton" + +#: [mood]sad +msgid "sad" +msgstr "surullinen" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "sarkastinen" + +#: [mood]satisfied +msgid "satisfied" +msgstr "tyytyväinen" + +#: [mood]serious +msgid "serious" +msgstr "vakava" + +#: [mood]shocked +msgid "shocked" +msgstr "järkyttynyt" + +#: [mood]shy +msgid "shy" +msgstr "hiljainen" + +#: [mood]sick +msgid "sick" +msgstr "sairas" + +#: [mood]sleepy +msgid "sleepy" +msgstr "uninen" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "spontaani" + +#: [mood]stressed +msgid "stressed" +msgstr "stressaantunut" + +#: [mood]strong +msgid "strong" +msgstr "vahva" + +#: [mood]surprised +msgid "surprised" +msgstr "yllättynyt" + +#: [mood]thankful +msgid "thankful" +msgstr "kiitollinen" + +#: [mood]thirsty +msgid "thirsty" +msgstr "janoinen" + +#: [mood]tired +msgid "tired" +msgstr "väsynyt" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "heikko" + +#: [mood]worried +msgid "worried" +msgstr "huolestunut" + +#: [month]title +msgid "Month" +msgstr "Kuukausi" + +#: [month]january +msgid "January" +msgstr "Tammikuu" + +#: [month]february +msgid "February" +msgstr "Helmikuu" + +#: [month]march +msgid "March" +msgstr "Maaliskuu" + +#: [month]april +msgid "April" +msgstr "Huhtikuu" + +#: [month]may +msgid "May" +msgstr "Toukokuu" + +#: [month]june +msgid "June" +msgstr "Kesäkuu" + +#: [month]july +msgid "July" +msgstr "Heinäkuu" + +#: [month]august +msgid "August" +msgstr "Elokuu" + +#: [month]september +msgid "September" +msgstr "Syyskuu" + +#: [month]october +msgid "October" +msgstr "Lokakuu" + +#: [month]november +msgid "November" +msgstr "Marraskuu" + +#: [month]december +msgid "December" +msgstr "Joulukuu" + +#: [year]title +msgid "Year" +msgstr "Vuosi" + +#: [date]today +msgid "Today" +msgstr "Tänään" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "Huomenna" + +#: [date]yesterday +msgid "Yesterday" +msgstr "Eilen" + +#: [date]ago +msgid "%d days ago" +msgstr "%d päivää sitten" + +#: [date]day +msgid "day" +msgstr "päivä" + +#: [post]title +msgid "Title" +msgstr "Otsikko" + +#: [post]place +msgid "Place" +msgstr "Paikka" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "sähköposti" + +#: [post]empty +msgid "No content" +msgstr "Ei sisältöä" + +#: [post]no_comments +msgid "No comments yet" +msgstr "Ei kommentteja vielä" + +#: [post]older +msgid "Get older posts" +msgstr "Hae vanhat postaukset" + +#: [post]new_items +msgid "%s new items" +msgstr "%s uutta julkaisua" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "Virhe kommentin julkaisussa" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "Lisää kommentti" + +#: [post]share +msgid "Share with" +msgstr "Kenen kanssa jaetaan?" + +#: [post]share_everyone +msgid "Everyone" +msgstr "Kaikki" + +#: [post]updated +msgid "Updated" +msgstr "Päivitetty" + +#: [post]content_not_found +msgid "Content not found" +msgstr "Sisältöä ei löytynyt" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "Kommentit" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "API ei ole saatavilla, yritä myöhemmin uudelleen" + +#: [field]type_here +msgid "Type here" +msgstr "Kirjoita tähän" diff --git a/frontend/locales/fr.po b/frontend/locales/fr.po new file mode 100644 index 0000000..8c0af78 --- /dev/null +++ b/frontend/locales/fr.po @@ -0,0 +1,4164 @@ +# +# Translators: +# Baudouin Feildel , 2018 +# e1ab480322b0d2e3f0ebe6f294df65db_ecba13c, 2015 +# Éfrit, 2015 +# François D. , 2019 +# Jaussoin Timothée , 2015-2026 +# Maxime Buquet , 2015 +# Raphael J , 2018 +# The Cat, 2021 +# Thirty Thirds , 2015-2017 +# Tom , 2015 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Jaussoin Timothée , 2015-2026\n" +"Language-Team: French (France) (http://app.transifex.com/movim/movim/language/fr_FR/)\n" +"Language: fr_FR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Remerciements" + +#: [about]developers +msgid "Developers" +msgstr "Développeurs" + +#: [about]translators +msgid "Translators" +msgstr "Traducteurs" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Merci à tous les traducteurs" + +#: [about]software +msgid "Software" +msgstr "Logiciels" + +#: [about]resources +msgid "Resources" +msgstr "Ressources" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim est une plateforme de communication construite sur XMPP. L’intégralité du projet, à l’exception des ressources et logiciels suivants, est sous la licence" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "Code source" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "Voir le code source sur le dépôt Github" + +#: [account]title [page]account +msgid "Account" +msgstr "Compte" + +#: [account]account_management +msgid "Account management" +msgstr "Gestion du compte" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Changer de mot de passe" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Mot de passe" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Confirmation du mot de passe" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "Le mot de passe a été mis à jour" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "Les mots de passe renseignés ne sont pas identiques" + +#: [account]delete +msgid "Delete your account" +msgstr "Supprimer votre compte" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "Vous allez supprimer votre compte XMPP ainsi que l’ensemble des informations qui y sont liées (profil, contacts et billets)." + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "Entrez votre identifiant complet" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "Veuillez entrer un identifiant valide." + +#: [account]gateway_title +msgid "Gateways" +msgstr "Passerelles" + +#: [account]clear +msgid "Leave this instance" +msgstr "Quitter cette instance" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "Vous allez supprimer toutes les informations relatives à votre compte sur cette instance Movim (profil, contacts et publications)." + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "Cette action ne va pas supprimer votre compte mais va vous déconnecter de Movim." + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "Suppression de clef OMEMO" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "Vous allez supprimer la clef OMEMO suivante. Vos contacts ne pourront plus vous envoyer de messages chiffrés en utilisant cette clef. Cette action ne peut être annulée. Êtes-vous sûr ?" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "Informations du serveur XMPP" + +#: [adhoc]title +msgid "Actions" +msgstr "Actions" + +#: [adhoc]completed +msgid "Action completed" +msgstr "Action effectuée" + +#: [tools]title +msgid "Developer Tools" +msgstr "Outils développeurs" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "Convertir un SDP en Jingle" + +#: [tools]sdp_title +msgid "SDP" +msgstr "SDP" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "Convertir un Jingle en SDP" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "Stanza Jingle" + +#: [admin]general +msgid "General Settings" +msgstr "Paramètres généraux" + +#: [general]theme +msgid "Theme" +msgstr "Thème" + +#: [general]language +msgid "Default language" +msgstr "Langue par défaut" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "Niveau de détails des journaux" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "Votre instance est publique ?" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "Inscrivez votre instance sur join.movim.eu et rejoignez la fédération Movim !" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "Restreindre les suggestions" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "Ne suggérer que les salons de discussions, Communautés et contenus disponibles sur le serveur XMPP de l'utilisateur et services liés" + +#: [chatonly]title +msgid "Chat only" +msgstr "Discussions uniquement" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "Désactiver toutes les fonctionnalités sociales (Communautés, Blog…) et ne garder que celles relatives aux discussions" + +#: [credentials]title +msgid "Administration Credential" +msgstr "Identification de l’administrateur" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Nom d’utilisateur" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Ressaisissez le mot de passe" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "Désactiver l'inscription via XMPP" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "Retire la fonctionnalité de création de compte via XMPP de l'interface" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "Serveurs XMPP autorisés" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "Si vous souhaitez établir une liste de serveurs XMPP autorisés sur votre pod Movim et interdire la connexion à tous les autres, saisissez la liste de leurs noms de domaine, séparés par une virgule (ex : movim.eu, jabber.fr)." + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "Laissez ce champ vide si vous souhaitez autoriser la connexion à tous les comptes XMPP." + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "Liste des serveurs XMPP autorisés" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "Domaines sur liste blanche pour la protection SSRF" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "Movim vous protège des vulnérabilités SSRF, de ce fait Movim bloque toutes les URLs (liens partagés, avatars et images) hébergés sur votre réseau local." + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "Découvrez la documentation relative aux SSRF sur deverloper.mozilla.org." + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "Ajoutez tous les domaines que vous hébergez localement ici (par exemple si vous hébergez un blog, un service XMPP d'envois de fichier, ou d'autres services web)." + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "Les changements seront pris en compte au redémarrage du démon." + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "Liste des domaines autorisés" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Description" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "Description générale de l'instance" + +#: [information]banner +msgid "Main banner" +msgstr "Bannière" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "Assurez vous que l'image n'est pas trop grosse et peut être accessible de n'importe quelle page web" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "Ce message sera affiché sur la page d'authentification. Il peut être utilisé pour y lier vos Conditions d'Utilisation par exemple." + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "Laissez ce champ vide si vous ne voulez afficher aucun message." + +#: [information]label +msgid "Information Message" +msgstr "Message d’information" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "Serveur XMPP par défaut" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "Domaine du serveur XMPP par défaut" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "Description du serveur XMPP par défaut" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "Pays du serveur XMPP par défaut" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "Choisissez un pays" + +#: [tenor]title +msgid "Tenor integration" +msgstr "Intégration Tenor" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "Votre clef d'API Tenor" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "Movim intègre l'API Tenor et permet la recherche et la publication de GIF dans les conversations Chat" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "Récupérer votre clef sur Tenor" + +#: [log]empty +msgid "Empty" +msgstr "Vide" + +#: [log]syslog +msgid "Syslog" +msgstr "Journal système (syslog)" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "Journal système et fichiers" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "Nombre maximum de sessions connectées" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "Movim va interdire à de nouveaux utilisateurs de se connecter quand la limite sera atteinte, la limite est désactivée si mise à 0" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "Signalé par %s utilisateur" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "Ces comptes ont été signalés par certains utilisateurs" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "Vous pouvez les bloquer pour l'ensemble des autres utilisateurs" + +#: [adminsessions]title +msgid "Sessions" +msgstr "Sessions" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "Utilisateurs actuellement connectés sur l'instance" + +#: [avatar]file +msgid "File" +msgstr "Fichier" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "Avatar mis à jour" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "Avatar non mis à jour" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "Changer mon avatar" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "Votre image est trop volumineuse" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "Aucun avatar pour le moment" + +#: [banner]change +msgid "Change my banner" +msgstr "Changer ma bannière" + +#: [banner]updated +msgid "Banner Updated" +msgstr "Bannière mise à jour" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "Bannière non mise à jour" + +#: [banner]missing +msgid "No banner yet" +msgstr "Pas de bannière pour le moment " + +#: [blocked]title +msgid "Blocked" +msgstr "Bloqué" + +#: [blocked]block_account +msgid "Block the account" +msgstr "Bloquer le compte" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "Débloquer le compte" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "Compte bloqué" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "Compte débloqué" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "Ci-dessous les compte utilisateurs que vous avez bloqué" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "Les comptes suivant sont bloqués par Movim et ne peuvent plus vous contacter" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "Les administrateurs sont également au courant de cette liste et peuvent choisir de bloquer ces comptes au niveau de l'instance" + +#: [blog]title +msgid "%s’s blog" +msgstr "Blog the %s" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "Ce contenu est privé, veuillez vous connecter pour le consulter" + +#: [message]published +msgid "Message Published" +msgstr "Message publié" + +#: [message]react +msgid "Add a reaction" +msgstr "Ajouter une réaction" + +#: [message]retract +msgid "Retract" +msgstr "Rétracter" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "Votre contact a tenté de rétracter un précédent message, malheureusement cette fonctionnalité n'est pas gérée par votre client" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "Ce message a été modéré" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "Le message ne peut être envoyé, veuillez réessayer plus tard" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "Message chiffré" + +#: [message]retracted +msgid "Retracted message" +msgstr "Message rétracté" + +#: [message]composing +msgid "Composing…" +msgstr "Rédige…" + +#: [message]invitation +msgid "Invitation" +msgstr "Invitation" + +#: [message]paused +msgid "Paused…" +msgstr "En pause…" + +#: [message]gone +msgid "Contact gone" +msgstr "Le contact est absent pour le moment" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "↑ pour éditer votre précédent message" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr ":raccourci: pour insérer un emoji" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "Vous n'êtes pas autorisé à envoyer des messages dans ce salon de discussions" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%s a besoin de votre attention" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "Votre message ici…" + +#: [chat]smileys +msgid "Smileys" +msgstr "Émoticônes" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "Contacts fréquents" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "Rien d'intéressant ici, pour le moment…" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "Ne soyez pas timide, envoyez un premier message pour commencer la discussion" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "Vous êtes invité à rejoindre un salon de discussion" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "Vous avez envoyé une invitation pour rejoindre un salon" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "Rejoindre %s" + +#: [chat]profile +msgid "See the profile" +msgstr "Voir le profil" + +#: [chat]clear +msgid "Clear the history" +msgstr "Vider l'historique" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "Éditer le dernier message" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "Rapporter un abus" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "Appel entrant" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "Appel sortant" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "Appel manqué" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "Appel refusé" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "Fin de l'appel" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "%s heures et %s minutes" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "%s minutes et %s secondes" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "%s secondes" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "%s est maintenant administrateur" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "%s est maintenant propriétaire" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "%s est banni" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "%s est membre du salon" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "Une erreur s'est produite lors de l'envoi du message" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "Vider l'historique local" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "Êtes-vous sûr de vouloir supprimer %s messages locaux ?" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "Action non permise dans un chat chiffré" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "C'est le début de cette conversation" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "Vous pouvez choisir de l'ajouter comme nouveau contact ou de le bloquer pour prévenir de futurs dérangements" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "Ajouter à mes contacts" + +#: [chat]first_messages_block +msgid "Block" +msgstr "Bloquer" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "Activer la Conférence Étendue" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "Adaptez cet appel pour inclure davantage de participants." + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "Un service SFU (Selective Forwarding Unit) a été détecté sur ce serveur. Contrairement à la configuration actuelle en pair-à-pair (P2P), où chaque participant envoie son flux audio/vidéo directement à tous les autres, un SFU relaie les flux via un serveur central. Cela réduit considérablement la bande passante et la charge CPU sur l'appareil de chaque participant, permettant ainsi à la conférence téléphonique de prendre en charge un nombre bien plus important de personnes." + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "L'activation de l'option « Conférence Étendue » invitera le service SFU à participer à cette conférence téléphonique." + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "Copier le texte" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "Texte copié" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "Trouver des messages suivant leur contenu" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "Aucun message trouvé" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "Empreintes" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "Empreintes OMEMO" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "Création des clefs de chiffrements, veuillez patienter…" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "Clefs de chiffrement générées" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "Récupération des clefs OMEMO" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "Création des sessions chiffrées" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "Création de vos propres sessions chiffrées" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "Chiffrement désactivé" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "Envoyez un message pour initier la session chiffrée" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "Activer le chiffrement pour le contact" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "Activation du chiffrement pour le salon" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "Désactiver le chiffrement pour le contact" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "Désactivation du chiffrement pour le salon" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "Dernière activité" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "%s sessions ouvertes" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "Pas de discussions pour le moment" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "Commencez une nouvelle conversation en cliquant sur le bouton %s" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "Commencer une nouvelle discussion" + +#: [chats]add +msgid "Chat with a contact" +msgstr "Discuter avec un contact" + +#: [chats]me +msgid "Me" +msgstr "Moi" + +#: [chats]picture +msgid "Picture" +msgstr "Image" + +#: [chats]video +msgid "Video" +msgstr "Vidéo" + +#: [chats]audio +msgid "Audio" +msgstr "Audio" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "Tous" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "Contacts" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "Découvrir, suivre et partager" + +#: [communities]counter +msgid "%s communities" +msgstr "%s communautés" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "Rechercher un nouveau serveur" + +#: [communities]servers +msgid "Communities servers" +msgstr "Serveurs de communautés" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "Découvrir les Communautés par serveurs" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "Serveur de communautés découvert" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "Ce serveur n'existe pas" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "Communautés qui pourraient vous intéresser" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "Communauté créée avec succès" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "Il n'y a pas de communautés pour le moment sur ce serveur" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "Créer une nouvelle communauté sur %s " + +#: [communitiesserver]name +msgid "Community name" +msgstr "Nom de la communauté" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "Mon Petit Poney – Fan-club" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "Veuillez renseigner un nom valide pour votre communauté (4 caractères minimum)" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "Vous ne pouvez pas créer de communauté sur ce serveur" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "Un problème à été rencontré lors de la récupération des éléments" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "Le serveur %s n'est pas joignable" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "Pas de Serveurs de Communautés pour le moment…" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "Il semblerait que nous ne trouvons pas de communautés pour le moment" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Configuration" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "Abonnements" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "Souscriptions publiques" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "Mes souscriptions de Communautés" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "Communauté supprimée avec succès" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "Supprimer la communauté" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "Vous allez supprimer la communauté suivante. Êtes-vous sûr ?" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "Il semblerait que cette communauté n'existe plus. Souhaitez-vous la supprimer de vos souscriptions ?" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "Erreur lors de la suppression du nœud" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "Configuration enregistrée" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "Erreur lors de la mise en place de la configuration du nœud" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "Propriétaires" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "Rédacteurs" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "Rôles" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "Rôle sauvegardé" + +#: [communityconfig]publication +msgid "Publication" +msgstr "Publication" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "Public" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "Tous les membres peuvent publier" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "Les rédacteurs peuvent publier" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "Abonnés" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "Les abonnés peuvent publier" + +#: [communityconfig]type +msgid "Community type" +msgstr "Type de Communauté" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "Articles" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "Publier et lire des articles" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "Galerie" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "Publier et voir des images" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "%s abonnés" + +#: [communitydata]num +msgid "%s posts" +msgstr "%s billets" + +#: [communitydata]public +msgid "Public page" +msgstr "Page publique" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "Seul les rédacteurs peuvent publier" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "Seul les souscrits peuvent publier" + +#: [communityheader]follow +msgid "Follow" +msgstr "S'abonner" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "Se désabonner" + +#: [communityheader]followed +msgid "Followed" +msgstr "Abonné" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "Désabonné" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "Les souscriptions sont désactivées pour cette communauté" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "Donnez un nom personnalisé pour cette communauté" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "Ma Communauté" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "Partager cet abonnement avec tout le monde" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "Elle apparaîtra sur votre profil" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "Vous allez vous désabonner de cette communauté" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "Êtes-vous sûr ?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "Pas encore de publications ? Écrivez votre premier article pour rendre votre profil visible" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "Publier mon premier article" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "Compte privé" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "Demandez à %s d'être dans vos contacts pour voir ses publications" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "Envoyez une demande d'invitation avant de suivre le contact" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "Vous ne pouvez pas suivre le contact pour le moment" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "Communautés souscrites" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "Salut" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "Vous allez pouvoir gérer vos souscriptions à cet endroit." + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "Vous n'avez pas encore souscrit à des communautés pour le moment." + +#: [config]general +msgid "General" +msgstr "Paramètres généraux" + +#: [config]language +msgid "Language" +msgstr "Langue" + +#: [config]roster +msgid "Roster display" +msgstr "Affichage de la liste de contact" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "Afficher les contacts hors ligne" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "Cacher les contacts hors ligne" + +#: [config]appearence +msgid "Appearance" +msgstr "Apparence" + +#: [config]updated +msgid "Configuration updated" +msgstr "Configuration mise à jour" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "Configuration non valide" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "Configuration avancée" + +#: [config]nsfw +msgid "Display adult content" +msgstr "Afficher le contenu réservé aux adultes" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "Autoriser l'affichage des billets possédant la catégorie #nsfw" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "Utiliser OMEMO" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "Activez le chiffrement de bout en bout sur Movim pour votre compte" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "Pour chiffrer et déchiffrer les messages Movim utilise du code récupéré sur le domaine %s. Si vous comptez échanger des informations sensibles veuillez vous assurer que vous faites pleinement confiance à cet intermédiaire." + +#: [config]night_mode +msgid "Night Mode" +msgstr "Mode Nuit" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "Des couleurs sombres pour reposer vos yeux" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "Votre navigateur demande déjà à Movim d'utiliser le Mode Nuit" + +#: [config]chatmain +msgid "Main chat page" +msgstr "Page chat principale" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "Ouvrir la page discussions par défaut en ouvrant Movim" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "Paramètres d'archivage des messages du serveur" + +#: [config]mam_always +msgid "Always" +msgstr "Toujours" + +#: [config]mam_never +msgid "Never" +msgstr "Jamais" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "Paramètres d'archivage sauvegardés" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "Niveau de confidentialité du blog personnel" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "Blog public" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "Accessible à toutes et tous sur le réseau" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "Blog privé" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "Restreint à vos souscrits uniquement" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "Niveau de confidentialité du blog sauvegardé" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "Confidentialité" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "Notifications audio" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "Message entrant" + +#: [config]accent_color +msgid "Accent color" +msgstr "Couleur d'accentuation" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "Faites attention" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "Modifier votre pseudo va changer les URLs de votre blog, flux et articles" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "Confirmation d'authentification" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "Cette plateforme requière votre confirmation pour authentifier ce compte" + +#: [confirm]code +msgid "Authentication code" +msgstr "Code d'authentification" + +#: [roster]add_title +msgid "Add a contact" +msgstr "Ajouter un contact" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "Entrez l’identifiant XMPP de votre contact." + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "Appuyez sur entrer pour valider." + +#: [roster]added +msgid "Contact added" +msgstr "Contact ajouté" + +#: [roster]updated +msgid "Contact updated" +msgstr "Contact mis à jour" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "Contact supprimé" + +#: [general]legend +msgid "General Information" +msgstr "Informations Générales" + +#: [general]name +msgid "Name" +msgstr "Nom" + +#: [general]pronouns +msgid "Pronouns" +msgstr "Pronons" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "il/elle/iel/…" + +#: [general]nickname +msgid "Nickname" +msgstr "Pseudonyme" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Date de naissance" + +#: [general]gender +msgid "Gender" +msgstr "Sexe" + +#: [general]marital +msgid "Marital Status" +msgstr "Situation familiale" + +#: [general]email +msgid "Email" +msgstr "Courriel" + +#: [general]website +msgid "Website" +msgstr "Site web" + +#: [general]about +msgid "About Me" +msgstr "À propos de moi" + +#: [general]accounts +msgid "Other Accounts" +msgstr "Autres comptes" + +#: [general]tune +msgid "Is Listening" +msgstr "En écoute" + +#: [general]pictures +msgid "Pictures" +msgstr "Images" + +#: [general]links +msgid "Links" +msgstr "Liens" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "Votre compte est privé" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "Allez sur la Configuration pour créer un blog publique et permettre à tous de vous retrouver" + +#: [position]legend +msgid "Geographic Position" +msgstr "Position géographique" + +#: [position]locality +msgid "Locality" +msgstr "Ville" + +#: [position]country +msgid "Country" +msgstr "Pays" + +#: [listen]title +msgid "Listening" +msgstr "En écoute" + +#: [last]title +msgid "Last seen" +msgstr "Dernière apparition" + +#: [clients]title +msgid "Clients" +msgstr "Clients" + +#: [clients]title_full +msgid "Clients information" +msgstr "Informations des clients" + +#: [explore]last_registered +msgid "Last registered" +msgstr "Dernier enregistré" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "Trouvez de nouveaux contacts" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "Modifier" + +#: [edit]alias +msgid "Alias" +msgstr "Alias" + +#: [edit]group +msgid "Group" +msgstr "Groupe" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "Vous allez supprimer l’un de vos contacts, confirmez s’il vous plaît." + +#: [age]years +msgid "%s years" +msgstr "%s ans" + +#: [blog]last +msgid "Last public post" +msgstr "Derniers billets publics" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "Visiter le blog publique" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "Vous pouvez voir l'état de ce contact" + +#: [subscription]to_button +msgid "Share my status" +msgstr "Partager mon état" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "Mais ce contact ne peut pas voir le vôtre" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "Vous n’êtes pas abonné à ce contact" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "Demander pour s’abonner" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "Mais ce contact peut tout de même voir votre présence en ligne" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "Vous n'êtes abonné à personne" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "Inviter" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "Ce contact est présent dans votre liste mais il n'y a aucune souscriptions entre vos deux comptes" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "Vos suggestions" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "Dictaphone" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "Appuyer pour enregistrer" + +#: [dictaphone]recording +msgid "Recording" +msgstr "Enregistrement" + +#: [draw]title +msgid "Draw" +msgstr "Dessiner" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "Emojis" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "Mes emojis préférés" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "Choisissez des emojis ci-dessous pour les ajouter à vos favoris" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "Gérer mes emojis favoris" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "Le raccourci ne doit contenir que des minuscules, chiffres et tirets" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "Nouveau emoji favori ajouté" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "Le raccourci est déjà utilisé sur un autre emoji" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "Aucuns favoris pour le moment, allez jetter un coup d'oeil aux paramètres pour en ajouter quelques uns" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "Foire aux questions" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "Quelle est l'utilité du paramètre de permission ?" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "Le contenu que vous publiez est, par défaut, uniquement disponible pour vos contacts. Vous pouvez choisir de partager publiquement votre profil et vos publications en activant ce paramètre." + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "Comment s'applique t'il aux publications dans les Communautés ?" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "Le comportement est similaire aux articles publiés sur votre blog à l'exception que les articles publiés sont accessibles aux membres ou souscripteurs de la Communauté en question (sauf si vous souhaitez ouvrir totalement le contenu de la Communauté)." + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "Où puis-je trouver une liste de salons de discussion ?" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "Où puis-je trouver mes contacts ?" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "En ouvrant le panneau de recherche." + +#: [apps]title +msgid "Applications" +msgstr "Applications" + +#: [apps]install +msgid "Movim App" +msgstr "Application Movim" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "Installez Movim sur votre appareil" + +#: [apps]recommend +msgid "We also recommend" +msgstr "Nous recommandons également" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "Administrateurs et Contact" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "Discuter avec l’équipe de Movim ?" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "Ajouter le salon de discussion" + +#: [error]username +msgid "Wrong username" +msgstr "Nom d’utilisateur incorrect" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "Adresse XMPP invalide" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "La paquet Challenge du serveur est vide" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "Erreur de domaine XMPP, votre compte n’est pas un identifiant XMPP correct" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "Il manque des informations !" + +#: [error]internal +msgid "Internal server error" +msgstr "Erreur interne du serveur" + +#: [error]session +msgid "Session error" +msgstr "Erreur de session" + +#: [error]account_created +msgid "Account successfully created" +msgstr "Compte créé avec succès" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "Movim ne peut pas se connecter au serveur" + +#: [error]impossible +msgid "Impossible login" +msgstr "Authentification impossible" + +#: [error]default +msgid "Unknown error" +msgstr "Erreur inconnue" + +#: [error]login_format +msgid "Invalid username format" +msgstr "Le format de l'identifiant n'est pas correct" + +#: [error]password_format +msgid "Invalid password format" +msgstr "Mot de passe non valide" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "Votre serveur XMPP n’est pas autorisé à se connecter" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "Movim n’a pas pu vous authentifier. Vous avez entré des données erronées." + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "Le mécanisme d’authentification n’est pas supporté par Movim" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "L’authentification au serveur XMPP a échoué" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "Cette instance Movim est actuellement pleine" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "Trouvez en une autre sur %s" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "Connecté au serveur" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "Authentifié sur le serveur" + +#: [form]username +msgid "My address" +msgstr "Mon adresse" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "Authentifiez vous avec les comptes provenant des serveurs suivants" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "Authentifiez vous avec n'importe quel compte XMPP ou créez en un nouveau" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "Connecté" + +#: [form]population +msgid "Population" +msgstr "Population" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "%s vous a invité à rejoindre un salon de discussion" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "Administré par" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "Movim est une plateforme de chat et de blogage fédérée." + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "Visitez le site officiel du projet %s." + +#: [menu]empty_title +msgid "No news yet…" +msgstr "Aucune actualité… pour le moment" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "Bienvenue sur votre flux d’actualité, ici vous verrez toutes les publications de vos contacts et des communautés suivies." + +#: [menu]mine +msgid "My publications" +msgstr "Mes publications" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "Écrire un nouveau billet…" + +#: [notification]request_title +msgid "Notifications request" +msgstr "Requêtes de notifications" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "Movim à besoin de votre accord afin d'afficher des notifications" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "Cette autorisation peut être révoquée à tout moment" + +#: [notification]request_button +msgid "Request" +msgstr "Demander" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "Autorisation accordée" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "Autorisation refusée" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "Notifications" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "Notifications push" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "Movim va envoyer notifications push aux appareils suivants" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "Notifications push activées pour cet appareil" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "Notifications push désactivées pour cet appareil" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "Navigateur inconnu" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "Plateforme inconnue" + +#: [invitations]received +msgid "Received Invitations" +msgstr "Invitations reçues" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "%s souhaite vous ajouter" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "Pas de nouvelles invitations" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "Pas de demande de souscriptions" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%s veut parler avec vous" + +#: [notifs]empty +msgid "No new notifications" +msgstr "Pas de nouvelles notifications" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "Movim peut vous notifier lors de la publication d'un nouvel article ou si vous recevez de nouveaux messages" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "Vous pourrez toujours les désactiver plus tard" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "Profil public" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "Rendez votre profil public pour permettre aux autres utilisateurs de vous trouver plus facilement" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "Vous pourrez toujours désactiver cela dans la configuration plus tard" + +#: [post]publish_something +msgid "Publish something" +msgstr "Publier quelque chose" + +#: [post]news_feed +msgid "News Feed" +msgstr "Fil d’actualité" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "Découvrez et rejoignez les groupes qui vous intéressent" + +#: [post]content +msgid "Content" +msgstr "Contenu" + +#: [post]published +msgid "Post published" +msgstr "Billet publié" + +#: [post]deleted +msgid "Post deleted" +msgstr "Billet effacé" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "Billets récemment publiés dans les communautés auxquelles vous n'êtes pas (encore) inscrit" + +#: [post]new_blog +msgid "New blog post" +msgstr "Nouvel article de blog" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "Ceci est une republication de %s" + +#: [post]see_profile +msgid "See %s profile" +msgstr "Voir le profil de %s" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "Contact inconnu" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "%s minute" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "%s minutes" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "Prévisualisation de l'URL: %s" + +#: [post]public_yes +msgid "This post is public" +msgstr "Ce billet est public" + +#: [post]public_no +msgid "This post is private" +msgstr "Ce billet est privé" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "URL publique pour ce billet" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "Désactiver les commentaires" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "Personne ne pourra publier de commentaires ou liker" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "Commentaires désactivés pour cet article" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "Commentaires activés pour cet article" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "Supprimer ce billet" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "Vous allez supprimer ce billet, veuillez confirmer votre action." + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "Êtes-vous sûr de vouloir supprimer ce commentaire ?" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "Découvrez plus d'articles sur la page communautés" + +#: [post]more +msgid "Read more" +msgstr "Lire plus" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "Commentaires désactivés." + +#: [post]comment_published +msgid "Comment published" +msgstr "Commentaire publié" + +#: [post]comment_like_published +msgid "Liked" +msgstr "Aimé" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "Le commentaire ne peut être publié" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "Commentaire supprimé" + +#: [post]liked +msgid "Liked your publication" +msgstr "Aime votre publication" + +#: [post]commented +msgid "Commented" +msgstr "Commenté" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "Vous devez suivre %s pour voir cette publication" + +#: [hello]contact_post +msgid "Contact post" +msgstr "Billet d’un contact" + +#: [hello]share_title +msgid "Universal share button" +msgstr "Bouton partager universel." + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "Cliquez-déposez ou mettez en favoris dans votre navigateur le bouton suivant et utilisez le sur toutes les pages que vous voulez partager sur Movim" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "Partager sur Movim" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "Bonjour !" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "Vous êtes nouveau ici ! Bienvenu sur Movim !" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "Jetez un œil au menu" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "Toutes les principales fonctionnalités de Movim sont disponibles à cet endroit. N'hésitez pas à naviger entre les différentes pages pour en savoir plus !" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "Il semblerait que vous n'ayez pas encore complété votre profil" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "Vous pouvez aller sur la page de configuration pour vous décrire et ajouter une jolie photo" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "Visiter mon blog" + +#: [status]disconnect +msgid "Disconnect" +msgstr "Se déconnecter" + +#: [status]presence +msgid "Presence" +msgstr "Présence" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "Souhaitez-vous réellement vous déconnecter ?" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "Mon image de profil" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "Lien copié dans le presse-papier" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "Quoi de neuf ?" + +#: [publish]brief_title +msgid "Brief" +msgstr "Brève" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "Article" + +#: [publish]post +msgid "Write a post" +msgstr "Écrire un billet" + +#: [publish]add_link +msgid "Add a link" +msgstr "Ajouter un lien" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "Prendre une photo" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "Veuillez mettre un titre à votre publication" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "Au moins une image est nécessaire" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "Aperçu" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "Ajouter un fichier ou une image" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "Vous ne pouvez pas publier de billet ici" + +#: [publish]new +msgid "New post" +msgstr "Nouveau billet" + +#: [publish]title +msgid "Post title" +msgstr "Titre de l'article" + +#: [publish]content +msgid "Markdown content" +msgstr "Contenu Markdown" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "Veuillez entrer une URL valide" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "Vous pouvez enrichir le contenu en utilisant Markdown" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "Brouillon sauvegardé" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "Éditeur de texte enrichi" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "Ajouter des #hastag dans le titre ou le contenu de votre article pour être plus facilement découvert" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "Vous n'êtes pas autorisé à publier ici" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "Votre article est trop long pour être publié" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "Votre texte est trop long, %s caractères au maximum" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "Votre blog n'est accessible qu'à vos contacts. Vous pouvez le rendre accessible à tous dans la configuration." + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "Le média va être intégré dans la publication" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "Générer une URL HTTP publique pour cette publication" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "Vous allez autoriser l'accès à cet article à n'importe qui à l'extérieur de Movim" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "Aide" + +#: [publishhelp]more +msgid "More help" +msgstr "Aide supplémentaire" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "Manuel d'utilisation de la syntaxe Markdown" + +#: [story]new +msgid "New story" +msgstr "Nouvelle Story" + +#: [story]new_edit +msgid "Edit your story" +msgstr "Modifier votre Story" + +#: [story]new_publish +msgid "Publish your story" +msgstr "Publier votre Story" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "Publier pour mes contacts" + +#: [story]uploading +msgid "Uploading the story" +msgstr "Mettre à jour la story" + +#: [story]publishing +msgid "Publishing the story" +msgstr "Publier la story" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "Nous y sommes presque…" + +#: [story]published +msgid "Story published" +msgstr "Story publiée" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Créer un nouveau compte" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "Aucun formulaire de création de compte n’a été trouvé sur le serveur" + +#: [create]server_on +msgid "on" +msgstr "sur" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "Compte créé avec succès" + +#: [create]loading +msgid "Loading" +msgstr "Chargement" + +#: [create]placeholder +msgid "…and start playing" +msgstr "…et amusez-vous" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Non acceptable" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "Le système d’inscription de ce serveur est actuellement indisponible" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "Enregistrement interdit" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "Rejoindre ce salon de discussion lors de la connexion" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "Changer l'avatar du salon de discussion" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "Mauvais identifiant de salon de discussion" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "Merci d'entrer un pseudonyme valide (entre 2 et 40 caractères)" + +#: [chatrooms]banned +msgid "Banned" +msgstr "Bannis" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "Conférence téléphonique" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "Éditer un salon de conférence téléphonique" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "Appelez vos contacts et partagez votre webcam ou écran" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "Configurer le salon de discussion" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "Le pseudonyme est déjà utilisé" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "Salon de discussion rejoint" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "Créer un salon de discussion" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "Salon créé" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "Salon de discussion standard" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "Êtes-vous sûr de vouloir supprimer définitivement le salon de discussion suivant ?" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "Détruire le salon de discussion" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "Salon de discussion détruit" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "Movim n'a pas pu trouver de salon de discussion valide. Essayer peut être un autre identifiant." + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "Ce salon semble faire partit d'un espace, nous ne sommes pas capable de savoir lequel mais nous vous conseillons fortement re rejoindre l'espace directement." + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "Vous êtes entrain d'ajouter quelque chose qui ne semble pas être un salon de discussion." + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "Une inscription est requise avant d'utiliser le service" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "Quitter le salon de discussion" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "Découvrir un salon" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "Éditer le salon de discussion" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "Nom vide" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "Vous n'avez pas encore de salon de discussion." + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "Ajoutez en un en cliquant sur le bouton ajouter." + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "Nom ou description" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "Appuyez sur le boutton %s pour ajouter un premier salon" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "Vous n'êtes pas autorisé à rejoindre ce salon" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "Salon de discussion passerelle" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "Cacher les salons de discussions hors-lignes" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "Salon de discussion créé" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "Ce salon de discussion n'existe pas" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "Votre pseudo n'est pas valide" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "Rejoindre un salon de discussion" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "Joindre un salon de discussion personnalisé" + +#: [chatrooms]members +msgid "Members" +msgstr "Membres" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "Mon salon préféré" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "Non autorisé" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "Vous n'êtes pas autorisé à créer un salon ici" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "Un mot de passe est requis" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "Épingler ce salon" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "Une inscription est requise pour rejoindre ce salon" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "Le serveur distant pour ce salon n'existe pas" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "La connexion au serveur distant a échouée" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "Vous allez quitter définitivement le salon de discussion suivant. Veuillez confirmer votre décision." + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "Quitter définitivement le salon de discussion" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "La limite du nombre d'occupants maximum a été atteinte" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "Afficher tous les salons de discussions" + +#: [chatrooms]subject +msgid "Subject" +msgstr "Sujet" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "Salons de discussion" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "Type de salon de discussion" + +#: [chatrooms]users +msgid "Users" +msgstr "Utilisateurs" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "Signets mis à jour" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "Salon public" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "Vous êtes actuellement connecté en tant qu'anonyme" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "Vous pouvez vous connecter en utilisant votre propre compte ou en créer un sur la page de connexion, en cliquant sur la croix en haut à droite." + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "Connexion sur %s" + +#: [room]invite +msgid "Invite a contact" +msgstr "Inviter un contact" + +#: [room]invited +msgid "Invitation sent" +msgstr "Invitation envoyée" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "Envoyer ce lien à vos contacts" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "Ce salon de discussion est découvrable publiquement" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "Profils publiques" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "Les participants de ce salon peuvent voir leurs adresses XMPP réciproquement" + +#: [room]archived +msgid "Archived" +msgstr "Archivé" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "Les messages du salon sont archivés" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "Groupe" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "Groupe privé avec des membres invités" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "Ajouter un nouveau membre" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "Retirer un membre" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "Vous allez supprimer le membre suivant ; êtes-vous sûr ?" + +#: [room]banned_add +msgid "Ban someone" +msgstr "Bannir quelqu'un" + +#: [room]banned_remove +msgid "Unban" +msgstr "Débannir" + +#: [room]configure_user +msgid "Configure the user" +msgstr "Configurer l'utilisateur" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "Vous n'êtes pas autorisé à changer cette affiliation" + +#: [room]affiliation +msgid "Affiliation" +msgstr "Affiliation" + +#: [room]role +msgid "Role" +msgstr "Rôle" + +#: [room]reason +msgid "Reason" +msgstr "Raison" + +#: [room]channel +msgid "Channel" +msgstr "Salon" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "Chaîne publique qui peut être librement consultable et joignable" + +#: [room]notify_never +msgid "Never notify" +msgstr "Ne jamais notifier" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "Notifier quand mentionné" + +#: [room]notify_always +msgid "Always notify" +msgstr "Toujours notifier" + +#: [room]pinned +msgid "Pinned" +msgstr "Épinglé" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "Administrateurs" + +#: [room]visitor +msgid "Visitor" +msgstr "Visiteur" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "Est-ce que cet utilisateurs est autorisé à envoyer des messages ?" + +#: [room]role_changed +msgid "Role changed" +msgstr "Rôle modifié" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "Aucun salon trouvé localement" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "Salons de discussions publics" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "Aucun salon trouvé sur le réseau" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "Trouver plus de salons de discussions publics" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "%s au total" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "Que cherchez vous ?" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "#chat, pseudonyme@serveur.com, Marc…" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "Pas encore de contacts ?" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "Trouvez-en un en saisissant son nom ou son adresse" + +#: [search]tags +msgid "Tags" +msgstr "Étiquettes" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "Afficher tous les contacts" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "Attacher à un billet de blog" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "Partager dans une nouvelle publication" + +#: [sendto]selected +msgid "contacts selected" +msgstr "contacts sélectionnés" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "Choisissez les contacts avec lesquels vous souhaitez partager cette publication" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "Billet partagé" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "Article partagé avec %s contacts" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "Plus de contacts" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "Partager hors de Movim" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "Article publié via Movim" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "Story publiée via Movim" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "Configuration de l'espace" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "Configuration de l'espace sauvegardée" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "Erreur de configuration de l'espace" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "Administration de l'espace" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "Détruire l'espace" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "Vous allez détruire l'espace suivant, tous les salons inclus vont également être détruit" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "Inviter de nouveaux contacts" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "Un modérateur devra approuver la demande d'adhésion" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "Envoyer une clef d'invitation à vos contacts" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "Quitter l'espace" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "Ajouter un salon" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "Ajouter un dossier" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "Éditer un dossier" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "Supprimer un dossier" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "Souhaitez-vous réellement supprimer ce dossier ?" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "Les %s salons seront conservés." + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "Dossiers modifiés" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "Salon modifié" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "%s demandes d'adhésion sont en attente de votre approbation" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "%s est en attente de votre approbation pour rejoindre l'espace" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "Gérer la demande" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "Épingler cet espace dans la barre" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "Un propriétaire ne peut pas quitter son propre espace" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "Supprimer de l'espace" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "Créer un espace" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "Ajouter un nouvel espace" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "Rejoindre un espace" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "Vous avez une invitation ?" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "Titre de l'espace" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "Le titre de votre espace est vide" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "Espace créé" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "Chargement de l'espace" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "Souscrit à l'espace" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "Utiliser une clef d'invitation" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "Un clef valide est requise" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "Espace verrouillé" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "Vous n'êtes pas autorisé à rejoindre cet espace pour le moment" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "Essayer à nouveau" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "Êtes-vous sûr de vouloir quitter cet espace ?" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "Une demande a été envoyé à un modérateur." + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "Vous allez pouvoir rejoindre l'espace une fois acceptée." + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "Ajouter %s à l'espace" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "Refuser l'accès" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "Contact ajouté à l'espace" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "Contact refusé dans l'espace" + +#: [sticker]title +msgid "Stickers" +msgstr "Autocollants" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "Un autocollant a été envoyé via Movim" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "Saisissez un mot-clef" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "Trouver un GIF" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "Propulsé par Tenor" + +#: [stories]publish +msgid "New Story" +msgstr "Nouvelle Story" + +#: [stories]title +msgid "Stories" +msgstr "Stories" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "Nouvelle Story par %s" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "Vous n'avez pas accès à cette story, invitez l'auteur pour y avoir accès" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "Quelques uns de vos contacts n'auront pas accès à cette story" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "Il probable qu'ils doivent souscrire au compte de l'auteur" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "Envoyer un commentaire à %s" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "Suppression de la story" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "Souhaitez-vous réellement supprimer cette story ?" + +#: [stories]deleted +msgid "Story deleted" +msgstr "Story supprimée" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "Movim est un réseau social décentralisé, vous êtes invité à vous inscrire sur le(s) serveur(s) suivant" + +#: [feed]title +msgid "%s’s feed" +msgstr "Flux de %s" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "Pas de flux public pour ce contact" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "Aucun contact indiqué" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "Téléverser" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "Choisir un fichier à téléverser" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "Les grandes images seront redimensionnées et compressées" + +#: [upload]error_filesize +msgid "File too large" +msgstr "Fichier trop grand" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "Le téléversement a échoué" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "Vous n'êtes pas autorisé à téléverser un fichier" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "Vous avez dépassé le quota" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "Cliquez-déposez vos fichier sur cette zone" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "Taille maximale des fichiers %s" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "Téléversement sur votre compte" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "Vous allez envoyer un fichier non chiffré au sein d'une discussion chiffée. Êtes-vous bien sûr ?" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Profil" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "Profil mis à jour" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "Profil non mis à jour" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "Il sera également utilisé en tant que pseudo par défaut quand vous rejoignez un salon de discussion" + +#: [profile]public +msgid "Your profile is now public" +msgstr "Votre profil est maintenant public" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "Votre profil est maintenant restreint" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "Configurer votre pseudonyme sur cette instance" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "Est-ce que ce compte est public sur cette instance ?" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "Movim va créer une page publique qui hébergera votre blog et votre compte et qui sera cherchable par les autres utilisateurs" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "Déclarez un pseudonyme sur l'instance locale pour permettre aux autres utilisateurs de vous trouver aisément." + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "Votre pseudonyme est %s" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "Pierre_96" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "Votre pseudonyme ne peut uniquement contenir des lettres, chiffres, - et _" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "Le pseudonyme est déjà utilisé" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "Pseudonyme sauvegardé" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Envoyer" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Réinitialiser" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "Movim fonctionne actuellement en mode dégradé" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "Votre serveur ne supporte pas la persistance XMPP Pubsub ou les fonctionnalités sociales (communautés, flux d'actualité et profiles) ont été désactivées par l'administrateur." + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "Merci de contacter l'administrateur de votre serveur pour vérifier si cette fonctionnalité peut être activée." + +#: [visio]calling +msgid "…is calling you" +msgstr "…vous appelle" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "Appel vidéo entrant" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "Appel audio entrant" + +#: [visio]ringing +msgid "…ringing" +msgstr "…en attente" + +#: [visio]declined +msgid "Declined" +msgstr "Refusé" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "Appel en cours" + +#: [visio]joined_call +msgid "Joined call" +msgstr "Appels rejoins" + +#: [visio]failed +msgid "Failed" +msgstr "Échoué" + +#: [visio]connecting +msgid "…connecting" +msgstr "…mise en relation" + +#: [visio]ended +msgid "End of call" +msgstr "Fin de l'appel" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "En attente de participants" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "Tous les participants ont quités l'appel" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "Raccrocher" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "Souhaitez vous réellement raccrocher cet appel ?" + +#: [visio]pinned +msgid "%s pinned" +msgstr "%s épinglé" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "Dé-épinglé" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "…vous appelle" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "En communication avec %s" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "Création d'une téléconférence dans %s" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "Rejoindre la téléconférence" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "Configurez votre webcam et microphone" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "Veuillez autoriser le partage de vos périphériques dans votre navigateur pour pouvoir les configurer" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "Microphone par défaut" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "Caméra par défaut" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "Changement du microphone par défaut" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "Changement de la caméra par défaut" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "Aucun son détecté venant de votre microphone" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "Faites un peu de bruit, sélectionnez une autre source ou vérifiez votre configuration système" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "Movim nécessite JavaScript pour fonctionner correctement." + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "Movim est un réseau social innovant et distribué protégeant votre vie privée et apportant plein de fonctionnalités toutes plus géniales les unes que les autres." + +#: [global]loading +msgid "Loading…" +msgstr "Chargement…" + +#: [global]or +msgid "Or" +msgstr "Ou" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "Changer de pod" + +#: [global]main_menu +msgid "Main menu" +msgstr "Menu principal" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "Menu du bas" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "Aller au contenu principal" + +#: [page]about +msgid "About" +msgstr "À propos" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Création de compte" + +#: [page]administration +msgid "Administration" +msgstr "Administration" + +#: [page]avatar +msgid "Profile Picture" +msgstr "Avatar" + +#: [page]blog +msgid "Blog" +msgstr "Blog" + +#: [page]chats +msgid "Messages" +msgstr "Messages" + +#: [page]communities +msgid "Communities" +msgstr "Communautés" + +#: [page]explore +msgid "Explore" +msgstr "Explorer" + +#: [page]feed +msgid "Feed" +msgstr "Flux" + +#: [page]home +msgid "Home" +msgstr "Accueil" + +#: [page]login +msgid "Login" +msgstr "Connexion" + +#: [page]news +msgid "News" +msgstr "Actualité" + +#: [page]not_found +msgid "Not Found" +msgstr "Non trouvé" + +#: [page]posts +msgid "Posts" +msgstr "Billets" + +#: [page]publish +msgid "Publish" +msgstr "Publier" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "Partager" + +#: [page]space +msgid "Space" +msgstr "Espace" + +#: [page]tag +msgid "Tag" +msgstr "Étiquette" + +#: [page]visio +msgid "Visio-conference" +msgstr "Vidéoconférence" + +#: [error]error +msgid "Error: %s" +msgstr "Erreur : %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "Le fichier « %s » n’est pas accessible" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "Le widget '%s' demandé n’existe pas." + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "L’évènement '%s' n’est pas enregistré." + +#: [error]whoops +msgid "Whoops!" +msgstr "Oups !" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "Movim ne peut pas communiquer avec le serveur, veuillez réessayer plus tard" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "Reconnexion au serveur…" + +#: [error]oops +msgid "Oops!" +msgstr "Oups !" + +#: [button]accept +msgid "Accept" +msgstr "Accepter" + +#: [button]add +msgid "Add" +msgstr "Ajouter" + +#: [button]audio_call +msgid "Audio Call" +msgstr "Appel audio" + +#: [button]bool_no +msgid "No" +msgstr "Non" + +#: [button]bool_yes +msgid "Yes" +msgstr "Oui" + +#: [button]call +msgid "Call" +msgstr "Appeler" + +#: [button]cancel +msgid "Cancel" +msgstr "Annuler" + +#: [button]chat +msgid "Chat" +msgstr "Clavardage" + +#: [button]clear +msgid "Clear" +msgstr "Vider" + +#: [button]close +msgid "Close" +msgstr "Fermer" + +#: [button]connecting +msgid "Connecting" +msgstr "Connexion" + +#: [button]copy_link +msgid "Copy Link" +msgstr "Copier le lien" + +#: [button]create +msgid "Create" +msgstr "Créer" + +#: [button]delete +msgid "Delete" +msgstr "Supprimer" + +#: [button]destroy +msgid "Destroy" +msgstr "Détruire" + +#: [button]discover +msgid "Discover" +msgstr "Découvrir" + +#: [button]enable +msgid "Enable" +msgstr "Activer" + +#: [button]join +msgid "Join" +msgstr "Rejoindre" + +#: [button]leave +msgid "Leave" +msgstr "Quitter" + +#: [button]like +msgid "Like" +msgstr "Like" + +#: [button]more +msgid "More" +msgstr "Plus" + +#: [button]new +msgid "New conversation" +msgstr "Nouvelle conversation" + +#: [button]next +msgid "Next" +msgstr "Suivant" + +#: [button]not_now +msgid "Not Now" +msgstr "Pas maintenant" + +#: [button]open +msgid "Open" +msgstr "Ouvert" + +#: [button]previous +msgid "Previous" +msgstr "Précédent" + +#: [button]quote +msgid "Quote" +msgstr "Citer" + +#: [button]refresh +msgid "Refresh" +msgstr "Rafraîchir" + +#: [button]refuse +msgid "Refuse" +msgstr "Refuser" + +#: [button]register +msgid "Register" +msgstr "S’inscrire" + +#: [button]remove +msgid "Remove" +msgstr "Retirer" + +#: [button]reply +msgid "Reply" +msgstr "Répondre" + +#: [button]return +msgid "Return" +msgstr "Retour" + +#: [button]save +msgid "Save" +msgstr "Sauvegarder" + +#: [button]search +msgid "Search" +msgstr "Rechercher" + +#: [button]send_to +msgid "Send to" +msgstr "Envoyer à" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "Partager" + +#: [button]sign_up +msgid "Sign Up" +msgstr "Souscrire" + +#: [button]submitting +msgid "Submitting" +msgstr "Envoi" + +#: [button]unregister +msgid "Unregister" +msgstr "Se désinscrire" + +#: [button]update +msgid "Update" +msgstr "Mettre à jour" + +#: [button]updating +msgid "Updating" +msgstr "Actualisation" + +#: [button]validate +msgid "Validate" +msgstr "Valider" + +#: [button]video_call +msgid "Video Call" +msgstr "Appel vidéo" + +#: [input]optional +msgid "Optional" +msgstr "Optionnel" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "Communautés associés" + +#: [input]open_me_using +msgid "Open me using" +msgstr "Ouvrez moi via" + +#: [day]title +msgid "Day" +msgstr "Jour" + +#: [day]monday +msgid "Monday" +msgstr "Lundi" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Mardi" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Mercredi" + +#: [day]thursday +msgid "Thursday" +msgstr "Jeudi" + +#: [day]friday +msgid "Friday" +msgstr "Vendredi" + +#: [day]saturday +msgid "Saturday" +msgstr "Samedi" + +#: [day]sunday +msgid "Sunday" +msgstr "Dimanche" + +#: [client]bot +msgid "Bot" +msgstr "Robot" + +#: [client]console +msgid "Console" +msgstr "Console" + +#: [client]desktop +msgid "Desktop" +msgstr "Bureau" + +#: [client]phone +msgid "Phone" +msgstr "Téléphone" + +#: [client]web +msgid "Web" +msgstr "Web" + +#: [client]registered +msgid "Registered" +msgstr "Inscrit" + +#: [client]gateway +msgid "Gateway" +msgstr "Passerelle" + +#: [client]im +msgid "Server" +msgstr "Serveur" + +#: [presence]online +msgid "Online" +msgstr "En ligne" + +#: [presence]away +msgid "Away" +msgstr "Absent(e)" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "Ne pas déranger" + +#: [presence]xa +msgid "Extended Away" +msgstr "Absence prolongée" + +#: [presence]offline +msgid "Offline" +msgstr "Hors ligne" + +#: [presence]error +msgid "Error" +msgstr "Erreur" + +#: [mood]afraid +msgid "afraid" +msgstr "appeuré(e)" + +#: [mood]amazed +msgid "amazed" +msgstr "stupéfait(e)" + +#: [mood]amorous +msgid "amorous" +msgstr "amoureux(se)" + +#: [mood]angry +msgid "angry" +msgstr "fâché(e)" + +#: [mood]annoyed +msgid "annoyed" +msgstr "contrarié(e)" + +#: [mood]anxious +msgid "anxious" +msgstr "anxieux(se)" + +#: [mood]aroused +msgid "aroused" +msgstr "agité(e)" + +#: [mood]ashamed +msgid "ashamed" +msgstr "honteux(se)" + +#: [mood]bored +msgid "bored" +msgstr "lassé(e)" + +#: [mood]brave +msgid "brave" +msgstr "courageux(se)" + +#: [mood]calm +msgid "calm" +msgstr "calme" + +#: [mood]cautious +msgid "cautious" +msgstr "prudent(e)" + +#: [mood]cold +msgid "cold" +msgstr "frileux(se)" + +#: [mood]confident +msgid "confident" +msgstr "confiant(e)" + +#: [mood]confused +msgid "confused" +msgstr "désorienté(e)" + +#: [mood]contemplative +msgid "contemplative" +msgstr "contemplatif(ve)" + +#: [mood]contented +msgid "contented" +msgstr "satisfait(e)" + +#: [mood]cranky +msgid "cranky" +msgstr "grincheux(se)" + +#: [mood]crazy +msgid "crazy" +msgstr "fou(folle)" + +#: [mood]creative +msgid "creative" +msgstr "créatif(ve)" + +#: [mood]curious +msgid "curious" +msgstr "curieux(se)" + +#: [mood]dejected +msgid "dejected" +msgstr "abattu(e)" + +#: [mood]depressed +msgid "depressed" +msgstr "déprimé(e)" + +#: [mood]disappointed +msgid "disappointed" +msgstr "déçu(e)" + +#: [mood]disgusted +msgid "disgusted" +msgstr "dégouté(e)" + +#: [mood]dismayed +msgid "dismayed" +msgstr "consterné(e)" + +#: [mood]distracted +msgid "distracted" +msgstr "distrait(e)" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "embarrassé(e)" + +#: [mood]envious +msgid "envious" +msgstr "envieux(se)" + +#: [mood]excited +msgid "excited" +msgstr "excité(e)" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "charmeur(se)" + +#: [mood]frustrated +msgid "frustrated" +msgstr "frustré(e)" + +#: [mood]grateful +msgid "grateful" +msgstr "reconnaissant(e)" + +#: [mood]grieving +msgid "grieving" +msgstr "endeuillé(e)" + +#: [mood]grumpy +msgid "grumpy" +msgstr "ronchon(ne)" + +#: [mood]guilty +msgid "guilty" +msgstr "coupable" + +#: [mood]happy +msgid "happy" +msgstr "heureux(se)" + +#: [mood]hopeful +msgid "hopeful" +msgstr "optimiste" + +#: [mood]hot +msgid "hot" +msgstr "chaud" + +#: [mood]humbled +msgid "humbled" +msgstr "humble" + +#: [mood]humiliated +msgid "humiliated" +msgstr "humilié(e)" + +#: [mood]hungry +msgid "hungry" +msgstr "affamé(e)" + +#: [mood]hurt +msgid "hurt" +msgstr "blessé(e)" + +#: [mood]impressed +msgid "impressed" +msgstr "impressionné(e)" + +#: [mood]in_awe +msgid "in awe" +msgstr "admiratif(ve)" + +#: [mood]in_love +msgid "in love" +msgstr "amoureux(se)" + +#: [mood]indignant +msgid "indignant" +msgstr "indigné(e)" + +#: [mood]interested +msgid "interested" +msgstr "intéressé(e)" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "intoxiqué(e)" + +#: [mood]invincible +msgid "invincible" +msgstr "invincible" + +#: [mood]jealous +msgid "jealous" +msgstr "jaloux(se)" + +#: [mood]lonely +msgid "lonely" +msgstr "seul(e)" + +#: [mood]lost +msgid "lost" +msgstr "perdu(e)" + +#: [mood]lucky +msgid "lucky" +msgstr "chanceux(se)" + +#: [mood]mean +msgid "mean" +msgstr "méchant(e)" + +#: [mood]moody +msgid "moody" +msgstr "maussade" + +#: [mood]nervous +msgid "nervous" +msgstr "nerveux(se)" + +#: [mood]neutral +msgid "neutral" +msgstr "neutre" + +#: [mood]offended +msgid "offended" +msgstr "offensé(e)" + +#: [mood]outraged +msgid "outraged" +msgstr "outré(e)" + +#: [mood]playful +msgid "playful" +msgstr "joueur(se)" + +#: [mood]proud +msgid "proud" +msgstr "fier(ère)" + +#: [mood]relaxed +msgid "relaxed" +msgstr "relaxé(e)" + +#: [mood]relieved +msgid "relieved" +msgstr "soulagé(e)" + +#: [mood]remorseful +msgid "remorseful" +msgstr "Plein de remords" + +#: [mood]restless +msgid "restless" +msgstr "impatient(e)" + +#: [mood]sad +msgid "sad" +msgstr "triste" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "sarcastique" + +#: [mood]satisfied +msgid "satisfied" +msgstr "satisfait(e)" + +#: [mood]serious +msgid "serious" +msgstr "sérieux(se)" + +#: [mood]shocked +msgid "shocked" +msgstr "choqué(e)" + +#: [mood]shy +msgid "shy" +msgstr "timide" + +#: [mood]sick +msgid "sick" +msgstr "malade" + +#: [mood]sleepy +msgid "sleepy" +msgstr "somnolent(e)" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "spontané(e)" + +#: [mood]stressed +msgid "stressed" +msgstr "stressé(e)" + +#: [mood]strong +msgid "strong" +msgstr "fort(e)" + +#: [mood]surprised +msgid "surprised" +msgstr "surpris(e)" + +#: [mood]thankful +msgid "thankful" +msgstr "reconnaissant(e)" + +#: [mood]thirsty +msgid "thirsty" +msgstr "assoiffé(e)" + +#: [mood]tired +msgid "tired" +msgstr "fatigué(e)" + +#: [mood]undefined +msgid "undefined" +msgstr "indéfini" + +#: [mood]weak +msgid "weak" +msgstr "faible" + +#: [mood]worried +msgid "worried" +msgstr "inquiet(ète)" + +#: [month]title +msgid "Month" +msgstr "Mois" + +#: [month]january +msgid "January" +msgstr "Janvier" + +#: [month]february +msgid "February" +msgstr "Février" + +#: [month]march +msgid "March" +msgstr "Mars" + +#: [month]april +msgid "April" +msgstr "Avril" + +#: [month]may +msgid "May" +msgstr "Mai" + +#: [month]june +msgid "June" +msgstr "Juin" + +#: [month]july +msgid "July" +msgstr "Juillet" + +#: [month]august +msgid "August" +msgstr "Août" + +#: [month]september +msgid "September" +msgstr "Septembre" + +#: [month]october +msgid "October" +msgstr "Octobre" + +#: [month]november +msgid "November" +msgstr "Novembre" + +#: [month]december +msgid "December" +msgstr "Décembre" + +#: [year]title +msgid "Year" +msgstr "Année" + +#: [date]today +msgid "Today" +msgstr "Aujourd’hui" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "Demain" + +#: [date]yesterday +msgid "Yesterday" +msgstr "Hier" + +#: [date]ago +msgid "%d days ago" +msgstr "Il y a %d jours" + +#: [date]day +msgid "day" +msgstr "jour" + +#: [post]title +msgid "Title" +msgstr "Titre" + +#: [post]place +msgid "Place" +msgstr "Lieu" + +#: [post]by +msgid "by" +msgstr "par" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "Géolocalisation" + +#: [post]email +msgid "email" +msgstr "courriel" + +#: [post]empty +msgid "No content" +msgstr "Aucun contenu" + +#: [post]no_comments +msgid "No comments yet" +msgstr "Pas de commentaires pour le moment" + +#: [post]older +msgid "Get older posts" +msgstr "Récupérer les anciens billets" + +#: [post]new_items +msgid "%s new items" +msgstr "%s nouveaux billets" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "Erreur à la publication du commentaire" + +#: [post]comments_get +msgid "Get the comments" +msgstr "Récupérer les commentaires" + +#: [post]comment_add +msgid "Add a comment" +msgstr "Commenter" + +#: [post]share +msgid "Share with" +msgstr "Partager avec" + +#: [post]share_everyone +msgid "Everyone" +msgstr "Tout le monde" + +#: [post]updated +msgid "Updated" +msgstr "Mis à jour" + +#: [post]content_not_found +msgid "Content not found" +msgstr "Contenu introuvable" + +#: [post]default_title +msgid "Contact publication" +msgstr "Billet d’un contact" + +#: [post]comments +msgid "Comments" +msgstr "Commentaires" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "Billet original supprimé" + +#: [filesize]byte +msgid "B" +msgstr "o" + +#: [filesize]kilobyte +msgid "KB" +msgstr "Ko" + +#: [filesize]megabyte +msgid "MB" +msgstr "Mo" + +#: [filesize]gigabyte +msgid "GB" +msgstr "Go" + +#: [filesize]terabyte +msgid "TB" +msgstr "To" + +#: [affiliation]owner +msgid "Owner" +msgstr "Propriétaire" + +#: [affiliation]admin +msgid "Admin" +msgstr "Administrateur" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "Rédacteur" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "Rédacteur seulement" + +#: [affiliation]member +msgid "Member" +msgstr "Membre" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "Banni" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "Sans affiliation" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "Utilisateur promu propriétaire" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "Utilisateur promu administrateur" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "Utilisateur promu membre" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "User bannit" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "Affiliation supprimée pour l'utilisateur" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "L’API est indisponible pour le moment, réessayez plus tard." + +#: [field]type_here +msgid "Type here" +msgstr "Rédigez votre message ici" diff --git a/frontend/locales/ga.po b/frontend/locales/ga.po new file mode 100644 index 0000000..1e55c89 --- /dev/null +++ b/frontend/locales/ga.po @@ -0,0 +1,4155 @@ +# +# Translators: +# Timothy Fry , 2016 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Timothy Fry , 2016\n" +"Language-Team: Irish (http://app.transifex.com/movim/movim/language/ga/)\n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Go raibh maith agat" + +#: [about]developers +msgid "Developers" +msgstr "" + +#: [about]translators +msgid "Translators" +msgstr "" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "" + +#: [about]software +msgid "Software" +msgstr "" + +#: [about]resources +msgid "Resources" +msgstr "" + +#: [about]api +msgid "API" +msgstr "" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "" + +#: [account]delete +msgid "Delete your account" +msgstr "" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "" + +#: [general]theme +msgid "Theme" +msgstr "" + +#: [general]language +msgid "Default language" +msgstr "" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "" + +#: [credentials]re_password +msgid "Retype password" +msgstr "" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "" + +#: [general]gender +msgid "Gender" +msgstr "" + +#: [general]marital +msgid "Marital Status" +msgstr "" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "" + +#: [general]about +msgid "About Me" +msgstr "" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "" + +#: [day]tuesday +msgid "Tuesday" +msgstr "" + +#: [day]wednesday +msgid "Wednesday" +msgstr "" + +#: [day]thursday +msgid "Thursday" +msgstr "" + +#: [day]friday +msgid "Friday" +msgstr "" + +#: [day]saturday +msgid "Saturday" +msgstr "" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "" + +#: [presence]away +msgid "Away" +msgstr "" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "" + +#: [month]february +msgid "February" +msgstr "" + +#: [month]march +msgid "March" +msgstr "" + +#: [month]april +msgid "April" +msgstr "" + +#: [month]may +msgid "May" +msgstr "" + +#: [month]june +msgid "June" +msgstr "" + +#: [month]july +msgid "July" +msgstr "" + +#: [month]august +msgid "August" +msgstr "" + +#: [month]september +msgid "September" +msgstr "" + +#: [month]october +msgid "October" +msgstr "" + +#: [month]november +msgid "November" +msgstr "" + +#: [month]december +msgid "December" +msgstr "" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "" + +#: [date]yesterday +msgid "Yesterday" +msgstr "" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/gl.po b/frontend/locales/gl.po new file mode 100644 index 0000000..78548f6 --- /dev/null +++ b/frontend/locales/gl.po @@ -0,0 +1,4155 @@ +# +# Translators: +# 52eecbbb6621ed9be66a488ed48303cc_04cfba1 , 2023 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: 52eecbbb6621ed9be66a488ed48303cc_04cfba1 , 2023\n" +"Language-Team: Galician (http://app.transifex.com/movim/movim/language/gl/)\n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Grazas" + +#: [about]developers +msgid "Developers" +msgstr "Desenvolvedoras" + +#: [about]translators +msgid "Translators" +msgstr "Tradutoras" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Grazas ás persoas que traducen" + +#: [about]software +msgid "Software" +msgstr "Software" + +#: [about]resources +msgid "Resources" +msgstr "Recursos" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim é unha plataforma de comunicación baseada en XMPP. Todo o proxecto, excepto o seguinte software e recursos está baixo" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Conta" + +#: [account]account_management +msgid "Account management" +msgstr "Xestión da conta" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Cambiar o contrasinal" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Contrasinal" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Confirmación do contrasinal" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "Actualizouse o contrasinal" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "Os contrasinais escritos non concordan" + +#: [account]delete +msgid "Delete your account" +msgstr "Elimina a túa conta" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "Escribe o teu identificador completo" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "Por favor escribe un identificador válido." + +#: [account]gateway_title +msgid "Gateways" +msgstr "Pasarelas" + +#: [account]clear +msgid "Leave this instance" +msgstr "Saír desta instancia" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "Desbotar Chave OMEMO" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "Vas desbotar a seguinte chave OMEMO. Os teus contactos non poderán enviarche mensaxes cifradas usándoa. Esta acción non ten volta atrás, tes certeza?" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Accións" + +#: [adhoc]completed +msgid "Action completed" +msgstr "Acción completadas" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "Axustes Xerais" + +#: [general]theme +msgid "Theme" +msgstr "Decorado" + +#: [general]language +msgid "Default language" +msgstr "Idioma por defecto" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "Nivel do rexistro" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "Restrinxir suxestións" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "Só conversas" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "Desactivar todas as ferramentas sociais (Comunidades, Blog...) e manter só as de conversa" + +#: [credentials]title +msgid "Administration Credential" +msgstr "Credenciais de Administración" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Identificador" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Volver escribir contrasinal" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "Desactivar a creación de contas XMPP" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "Quitar da interface o proceso e botóns para creación de contas" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "Deixa en branco se permites o acceso a todas as contas XMPP." + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Descrición" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "Descrición xeral da instancia" + +#: [information]banner +msgid "Main banner" +msgstr "Cabeceira principal" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "Pon coidado en que a imaxe non sexa demasiado grando e sexa accesible para todas as páxinas web" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "Esta é a mensaxe que aparece na páxina de acceso. Pode usarse para ligar cos Termos e Condicións da túa instancia Movim, por exemplo." + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "Deixa en branco se non queres mostrar ningunha mensaxe." + +#: [information]label +msgid "Information Message" +msgstr "Mensaxe informativa" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "Servidor XMPP por defecto" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "Dominio do servidor XMPP principal" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "Descrición do servidor XMPP principal" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "País do servidor XMPP principal" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "Elixe un país na lista" + +#: [tenor]title +msgid "Tenor integration" +msgstr "Integración con Tenor" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "Chave API de Tenor" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "Movim accede á API de Tenor para buscar GIFs e publicalos nas Conversas" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "Accede a Tenor e obtén unha chave API" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "Usuarias conectadas neste intre á instancia" + +#: [avatar]file +msgid "File" +msgstr "Ficheiro" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "Cambiar cabeceira" + +#: [banner]updated +msgid "Banner Updated" +msgstr "Cabeceira actualizada" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "Cabeceira non actualizada" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "Bloqueada" + +#: [blocked]block_account +msgid "Block the account" +msgstr "Bloquear conta" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "Desbloquear a conta" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "Conta bloqueada" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "Conta desbloqueada" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "Aquí aparecerán as usuarias que tes bloqueadas" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "Movim bloqueou as seguintes usuarias e xa non poden contactar contigo" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "A administración tamén pode ver esta lista e por tanto bloquealas para todo o sistema" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "O contido é privado, accede para velo" + +#: [message]published +msgid "Message Published" +msgstr "Mensaxe Publicada" + +#: [message]react +msgid "Add a reaction" +msgstr "Engadir unha reacción" + +#: [message]retract +msgid "Retract" +msgstr "Retirar" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "O teu contacto intentou retirar unha mensaxe anterior, pero o teu cliente non soporta esa función" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "A mensaxe foi moderada" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "Non se enviou a mensaxe, inténtao máis tarde" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "Mensaxe cifrada" + +#: [message]retracted +msgid "Retracted message" +msgstr "Mensaxe retirada" + +#: [message]composing +msgid "Composing…" +msgstr "Escribindo..." + +#: [message]invitation +msgid "Invitation" +msgstr "Convite" + +#: [message]paused +msgid "Paused…" +msgstr "Detívose..." + +#: [message]gone +msgid "Contact gone" +msgstr "O contacto marchou" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "↑ para editar a túa mensaxe anterior" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr ":atallo: para inserir un emoji" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%s precisa a túa atención" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "Escribe aquí..." + +#: [chat]smileys +msgid "Smileys" +msgstr "Sorrisos" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "Contactos frecuentes" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "Aínda non hai nada por aquí..." + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "A acción non é posible en chats cifrados" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "Impresións dixitais OMEMO" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "Identificando dispositivos OMEMO" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "Aínda non tes chats..." + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "Todo" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "Contactos" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Configuración" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "Idioma" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "Usar OMEMO" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "Notificacións con son" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "" + +#: [general]gender +msgid "Gender" +msgstr "" + +#: [general]marital +msgid "Marital Status" +msgstr "" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "" + +#: [general]about +msgid "About Me" +msgstr "Sobre Min" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "Con sesión iniciada" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "Iniciaches sesión no servidor" + +#: [form]username +msgid "My address" +msgstr "O meu Enderezo" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "Accede cunha conta destes servidores" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "Accede con calquera conta XMPP ou crea unha nova" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "Conectadas" + +#: [form]population +msgid "Population" +msgstr "Comunidade" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "Administrada por" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "Movim é unha plataforma federada para conversas e blogs." + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "Visita a páxina oficial do proxecto %s." + +#: [menu]empty_title +msgid "No news yet…" +msgstr "Aínda non tes novas..." + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "Permiso para notificacións" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "Movim require o teu permiso para mostrar notificacións" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "Notificacións" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "Notificacións push" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "Movim vai enviar notificacións push aos seguintes dispositivos rexistrados" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "Activadas as notificacións push para este dispositivo" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "Desactivadas as notificacións push para este dispositivo" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "Sen notificacións novas" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "Orixe de Novas" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Crear unha contra nova" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "Non atopamos o formulario no servidor para crear contas" + +#: [create]server_on +msgid "on" +msgstr "on" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "Rexistrouse correctamente a túa conta" + +#: [create]loading +msgid "Loading" +msgstr "A cargar" + +#: [create]placeholder +msgid "…and start playing" +msgstr "...e comezamos" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Non é Aceptable" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "Actualmente non está dispoñible o sistema para rexistrarse" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "Non se permite crear contas" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "Podes unirte usando a túa propia conta ou creando unha na páxina de acceso despois de pechar a sesión no X de arriba á dereita." + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "Fonte de %s" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Enviar" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Restablecer" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "Acerca de" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Creación dunha Conta" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "Comunidades" + +#: [page]explore +msgid "Explore" +msgstr "Descubrir" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "Inicio" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "Novas" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "Publicar" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "Non se pode cargar o arquivo '%s'" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "Chat" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "Descubrir" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "Luns" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Martes" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Mércores" + +#: [day]thursday +msgid "Thursday" +msgstr "Xoves" + +#: [day]friday +msgid "Friday" +msgstr "Venres" + +#: [day]saturday +msgid "Saturday" +msgstr "Sábado" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "" + +#: [presence]away +msgid "Away" +msgstr "Fóra" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "Xaneiro" + +#: [month]february +msgid "February" +msgstr "Febreiro" + +#: [month]march +msgid "March" +msgstr "Marzo" + +#: [month]april +msgid "April" +msgstr "Abril" + +#: [month]may +msgid "May" +msgstr "Maio" + +#: [month]june +msgid "June" +msgstr "Xuño" + +#: [month]july +msgid "July" +msgstr "" + +#: [month]august +msgid "August" +msgstr "" + +#: [month]september +msgid "September" +msgstr "" + +#: [month]october +msgid "October" +msgstr "" + +#: [month]november +msgid "November" +msgstr "" + +#: [month]december +msgid "December" +msgstr "" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "" + +#: [date]yesterday +msgid "Yesterday" +msgstr "" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "Autoría" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "Publicar só en" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/he.po b/frontend/locales/he.po new file mode 100644 index 0000000..3a7ed07 --- /dev/null +++ b/frontend/locales/he.po @@ -0,0 +1,4156 @@ +# +# Translators: +# gk , 2016 +# gk , 2012 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: gk , 2016\n" +"Language-Team: Hebrew (http://app.transifex.com/movim/movim/language/he/)\n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "תודות" + +#: [about]developers +msgid "Developers" +msgstr "מפתחים" + +#: [about]translators +msgid "Translators" +msgstr "מתרגמים" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "תודה לכל המתרגמים" + +#: [about]software +msgid "Software" +msgstr "תוכנה" + +#: [about]resources +msgid "Resources" +msgstr "מקורות" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim הינו פלטפורמת תקשורת מבוססת XMPP. כל הפרויקט, למעט התכנות והמקורות הבאים, רשוי תחת" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "חשבון" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "החלף את הסימה שלי" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "סיסמה" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "אימות סיסמה" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "הסיסמה התעדכנה" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "הסיסמאות שסופקו אינן זהות" + +#: [account]delete +msgid "Delete your account" +msgstr "מחק את החשבון שלך" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "פעולות" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "הגדרות כלליות" + +#: [general]theme +msgid "Theme" +msgstr "מוטיב" + +#: [general]language +msgid "Default language" +msgstr "שפה משתמטת" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "גיבוב רשומת יומן" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "נתוני התחברות מנהל" + +#: [credentials]username [input]username +msgid "Username" +msgstr "שם משתמש" + +#: [credentials]re_password +msgid "Retype password" +msgstr "הקלד סיסמה מחדש" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "השאר את שדה זה ריק אם ברצונך להתיר גישה אל כל החשבונות של XMPP." + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "תיאור" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "הודעת מידע" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "ריק" + +#: [log]syslog +msgid "Syslog" +msgstr "יומן מערכת" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "יומן מערכת וקבצים" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "הפעלות" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "קובץ" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "הודעה פורסמה" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "הודעה מוצפנת" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%s רוצה את צומת ליבך" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "סמיילים" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "אנשי קשר תדירים" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "שיח עם איש קשר" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "הכל" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "אנשי קשר" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "גלה, עקוב ושתף" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "חפש שרת חדש" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "אין כמו אבא שבעולם - מועדון מעריצים" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "תצורה" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "הרשמות" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "תצורה נשמרה" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "גלריה" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "%s מנויים" + +#: [communitydata]num +msgid "%s posts" +msgstr "%s פרסומים" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "האם אתה בטוח?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "שלום" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "כללי" + +#: [config]language +msgid "Language" +msgstr "שפה" + +#: [config]roster +msgid "Roster display" +msgstr "תצוגת רשימה" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "הצג אנשי קשר לא מקוונים" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "הסתר אנשי קשר לא מקוונים" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "תצורה עודכנה" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "תצורה מתקדמת" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "לחץ Enter לשם וידוא" + +#: [roster]added +msgid "Contact added" +msgstr "איש קשר התווסף" + +#: [roster]updated +msgid "Contact updated" +msgstr "איש קשר עודכן" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "איש קשר נמחק" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "שם" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "שם כינוי" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "תאריך לידה" + +#: [general]gender +msgid "Gender" +msgstr "מין" + +#: [general]marital +msgid "Marital Status" +msgstr "מצב משפחתי" + +#: [general]email +msgid "Email" +msgstr "דוא״ל" + +#: [general]website +msgid "Website" +msgstr "אתר רשת" + +#: [general]about +msgid "About Me" +msgstr "אודותיי" + +#: [general]accounts +msgid "Other Accounts" +msgstr "חשבונות אחרים" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "מיקום גאוגרפי" + +#: [position]locality +msgid "Locality" +msgstr "מקומיות" + +#: [position]country +msgid "Country" +msgstr "ארץ" + +#: [listen]title +msgid "Listening" +msgstr "מאזין כעת" + +#: [last]title +msgid "Last seen" +msgstr "נראה לאחרונה" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "נרשמו לאחרונה" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "ערוך" + +#: [edit]alias +msgid "Alias" +msgstr "כינוי" + +#: [edit]group +msgid "Group" +msgstr "קבוצה" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "%s שנים" + +#: [blog]last +msgid "Last public post" +msgstr "פרסום פומבי אחרון" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "באפשרותך לראות את מצב איש קשר זה" + +#: [subscription]to_button +msgid "Share my status" +msgstr "שתף את המצב שלי" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "הזמן" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "שאלות נפוצות" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "הוסף חדר שיחה" + +#: [error]username +msgid "Wrong username" +msgstr "שם משתמש שגוי" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "רוקן הזמנה מן השרת" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "שגיאת שרת פנימית" + +#: [error]session +msgid "Session error" +msgstr "שגיאת סשן" + +#: [error]account_created +msgid "Account successfully created" +msgstr "חשבון נוצר בהצלחה" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "כניסה לא אפשרית" + +#: [error]default +msgid "Unknown error" +msgstr "שגיאה לא ידועה" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "השרת של XMPP שלך אינו מורשה" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "‫Movim נכשלה לאמת. הזנת מידע שגוי" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "מנגנון אימות לא נתמך על ידי Movim" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "אימות XMPP נכשל" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "כתובת" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "מחובר" + +#: [form]population +msgid "Population" +msgstr "אוכלוסיה" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "הפרסומים שלי" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%s רוצה לשוחח עמך" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "הזנת חדשות" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "תוכן" + +#: [post]published +msgid "Post published" +msgstr "פרסום פורסם" + +#: [post]deleted +msgid "Post deleted" +msgstr "פרסום נמחק" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "פרסום זה הינו פומבי" + +#: [post]public_no +msgid "This post is private" +msgstr "פרסום זה הינו פרטי" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "URL פומבי של פרסום זה" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "מחק את פרסום זה" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "תגובות מנוטרלות" + +#: [post]comment_published +msgid "Comment published" +msgstr "תגובה פורסמה" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "פרסום איש קשר" + +#: [hello]share_title +msgid "Universal share button" +msgstr "כפתור שיתוף אוניברסלי" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "שלום!" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "התנתק" + +#: [status]presence +msgid "Presence" +msgstr "נוכחות" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "אנא ספק כותרת" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "תצוגה מקדימה" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "פרסום חדש" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "עזרה" + +#: [publishhelp]more +msgid "More help" +msgstr "עוד עזרה" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "יצירת חשבון חדש" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "לא נמצא טופס יצירת חשבון על שרת זה" + +#: [create]server_on +msgid "on" +msgstr "ביום" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "כעת טוען" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "לא קביל" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "מערכת הרשמה של שרת זה אינה זמינה ברגעים אלו" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "שם ריק" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "חברים" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "נושא" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "חדרי שיחה" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "סימניות עודכנו" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "תגיות" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "אין ערוץ פומבי עבור איש קשר זה" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "לא צוין איש קשר" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "העלאה" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "בחר קובץ להעלאה" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "דיוקן" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "דיוקן עודכן" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "דיוקן לא מעודכן" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "הדיוקן שלך הינו פומבי כעת" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "הדיוקן שלך הינו מוגבל כעת" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "שלח" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "אפס" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "נדחתה" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "אודות" + +#: [page]account_creation +msgid "Account Creation" +msgstr "יצירת חשבון" + +#: [page]administration +msgid "Administration" +msgstr "ניהול" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "בלוג" + +#: [page]chats +msgid "Messages" +msgstr "הודעות" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "סייר" + +#: [page]feed +msgid "Feed" +msgstr "ערוץ" + +#: [page]home +msgid "Home" +msgstr "בית" + +#: [page]login +msgid "Login" +msgstr "כניסה" + +#: [page]news +msgid "News" +msgstr "חדשות" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "פרסומים" + +#: [page]publish +msgid "Publish" +msgstr "פרסם" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "שתף" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "תגית" + +#: [page]visio +msgid "Visio-conference" +msgstr "ועידת וידאו" + +#: [error]error +msgid "Error: %s" +msgstr "שגיאה: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "לא ניתן לטעון קובץ '%s'" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "אירוע מבוקש '%s' לא רשום." + +#: [error]whoops +msgid "Whoops!" +msgstr "אופס!" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "אופס!" + +#: [button]accept +msgid "Accept" +msgstr "קבלה" + +#: [button]add +msgid "Add" +msgstr "הוסף" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "לא" + +#: [button]bool_yes +msgid "Yes" +msgstr "כן" + +#: [button]call +msgid "Call" +msgstr "צור קשר" + +#: [button]cancel +msgid "Cancel" +msgstr "ביטול" + +#: [button]chat +msgid "Chat" +msgstr "שיחה" + +#: [button]clear +msgid "Clear" +msgstr "טהר" + +#: [button]close +msgid "Close" +msgstr "סגור" + +#: [button]connecting +msgid "Connecting" +msgstr "כעת מתחבר" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "מחק" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "גלה" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "דיון חדש" + +#: [button]next +msgid "Next" +msgstr "הבא" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "הקודם" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "רענן" + +#: [button]refuse +msgid "Refuse" +msgstr "סרב" + +#: [button]register +msgid "Register" +msgstr "הירשם" + +#: [button]remove +msgid "Remove" +msgstr "הסר" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "חזור" + +#: [button]save +msgid "Save" +msgstr "שמור" + +#: [button]search +msgid "Search" +msgstr "חיפוש" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "שתף" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "שולח כעת" + +#: [button]unregister +msgid "Unregister" +msgstr "בטל רישום" + +#: [button]update +msgid "Update" +msgstr "עדכן" + +#: [button]updating +msgid "Updating" +msgstr "מעדכן כעת" + +#: [button]validate +msgid "Validate" +msgstr "מתן תוקף" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "יום" + +#: [day]monday +msgid "Monday" +msgstr "יום שני" + +#: [day]tuesday +msgid "Tuesday" +msgstr "יום שלישי" + +#: [day]wednesday +msgid "Wednesday" +msgstr "יום רביעי" + +#: [day]thursday +msgid "Thursday" +msgstr "יום חמישי" + +#: [day]friday +msgid "Friday" +msgstr "יום שישי" + +#: [day]saturday +msgid "Saturday" +msgstr "יום שבת" + +#: [day]sunday +msgid "Sunday" +msgstr "יום ראשון" + +#: [client]bot +msgid "Bot" +msgstr "בוט" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "שולחן עבודה" + +#: [client]phone +msgid "Phone" +msgstr "טלפון" + +#: [client]web +msgid "Web" +msgstr "רשת" + +#: [client]registered +msgid "Registered" +msgstr "רשום" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "שרת" + +#: [presence]online +msgid "Online" +msgstr "מקוון" + +#: [presence]away +msgid "Away" +msgstr "נעדר" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "נא לא להפריע" + +#: [presence]xa +msgid "Extended Away" +msgstr "לא זמין" + +#: [presence]offline +msgid "Offline" +msgstr "לא מקוון" + +#: [presence]error +msgid "Error" +msgstr "שגיאה" + +#: [mood]afraid +msgid "afraid" +msgstr "מפחד" + +#: [mood]amazed +msgid "amazed" +msgstr "נדהם" + +#: [mood]amorous +msgid "amorous" +msgstr "חושק" + +#: [mood]angry +msgid "angry" +msgstr "כועס" + +#: [mood]annoyed +msgid "annoyed" +msgstr "נרגז" + +#: [mood]anxious +msgid "anxious" +msgstr "חרד" + +#: [mood]aroused +msgid "aroused" +msgstr "מרוגש" + +#: [mood]ashamed +msgid "ashamed" +msgstr "מתבייש" + +#: [mood]bored +msgid "bored" +msgstr "משועמם" + +#: [mood]brave +msgid "brave" +msgstr "אמיץ" + +#: [mood]calm +msgid "calm" +msgstr "רגוע" + +#: [mood]cautious +msgid "cautious" +msgstr "זהיר" + +#: [mood]cold +msgid "cold" +msgstr "קר" + +#: [mood]confident +msgid "confident" +msgstr "סמוך" + +#: [mood]confused +msgid "confused" +msgstr "מבולבל" + +#: [mood]contemplative +msgid "contemplative" +msgstr "ספקולטיבי" + +#: [mood]contented +msgid "contented" +msgstr "מסופק" + +#: [mood]cranky +msgid "cranky" +msgstr "נרגז" + +#: [mood]crazy +msgid "crazy" +msgstr "מטורף" + +#: [mood]creative +msgid "creative" +msgstr "יצירתי" + +#: [mood]curious +msgid "curious" +msgstr "סקרן" + +#: [mood]dejected +msgid "dejected" +msgstr "מיואש" + +#: [mood]depressed +msgid "depressed" +msgstr "מדוכא" + +#: [mood]disappointed +msgid "disappointed" +msgstr "מאוכזב" + +#: [mood]disgusted +msgid "disgusted" +msgstr "נגעל" + +#: [mood]dismayed +msgid "dismayed" +msgstr "נחרד" + +#: [mood]distracted +msgid "distracted" +msgstr "טרוד" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "נבוך" + +#: [mood]envious +msgid "envious" +msgstr "מקנא" + +#: [mood]excited +msgid "excited" +msgstr "נרגש" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "פלרטטני" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "נעים" + +#: [mood]grieving +msgid "grieving" +msgstr "מתאבל" + +#: [mood]grumpy +msgid "grumpy" +msgstr "זועף" + +#: [mood]guilty +msgid "guilty" +msgstr "אשם" + +#: [mood]happy +msgid "happy" +msgstr "שמח" + +#: [mood]hopeful +msgid "hopeful" +msgstr "אופטימי" + +#: [mood]hot +msgid "hot" +msgstr "לוהט" + +#: [mood]humbled +msgid "humbled" +msgstr "מוכנע" + +#: [mood]humiliated +msgid "humiliated" +msgstr "מושפל" + +#: [mood]hungry +msgid "hungry" +msgstr "רעב" + +#: [mood]hurt +msgid "hurt" +msgstr "פגוע" + +#: [mood]impressed +msgid "impressed" +msgstr "מתפעל" + +#: [mood]in_awe +msgid "in awe" +msgstr "מפוחד" + +#: [mood]in_love +msgid "in love" +msgstr "מאוהב" + +#: [mood]indignant +msgid "indignant" +msgstr "ממורמר" + +#: [mood]interested +msgid "interested" +msgstr "מתעניין" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "שיכור" + +#: [mood]invincible +msgid "invincible" +msgstr "בלתי מנוצח" + +#: [mood]jealous +msgid "jealous" +msgstr "מקנא" + +#: [mood]lonely +msgid "lonely" +msgstr "בודד" + +#: [mood]lost +msgid "lost" +msgstr "אבוד" + +#: [mood]lucky +msgid "lucky" +msgstr "בר מזל" + +#: [mood]mean +msgid "mean" +msgstr "דל" + +#: [mood]moody +msgid "moody" +msgstr "מדוכדך" + +#: [mood]nervous +msgid "nervous" +msgstr "עצבני" + +#: [mood]neutral +msgid "neutral" +msgstr "אדיש" + +#: [mood]offended +msgid "offended" +msgstr "נעלב" + +#: [mood]outraged +msgid "outraged" +msgstr "מזועזע" + +#: [mood]playful +msgid "playful" +msgstr "שובב" + +#: [mood]proud +msgid "proud" +msgstr "יהיר" + +#: [mood]relaxed +msgid "relaxed" +msgstr "רגוע" + +#: [mood]relieved +msgid "relieved" +msgstr "משוחרר" + +#: [mood]remorseful +msgid "remorseful" +msgstr "מתייסר" + +#: [mood]restless +msgid "restless" +msgstr "חסר מנוחה" + +#: [mood]sad +msgid "sad" +msgstr "עצוב" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "עוקצני" + +#: [mood]satisfied +msgid "satisfied" +msgstr "מרוצה" + +#: [mood]serious +msgid "serious" +msgstr "רציני" + +#: [mood]shocked +msgid "shocked" +msgstr "הלום" + +#: [mood]shy +msgid "shy" +msgstr "ביישן" + +#: [mood]sick +msgid "sick" +msgstr "חולה" + +#: [mood]sleepy +msgid "sleepy" +msgstr "ישנוני" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "ספונטני" + +#: [mood]stressed +msgid "stressed" +msgstr "לחוץ" + +#: [mood]strong +msgid "strong" +msgstr "חזק" + +#: [mood]surprised +msgid "surprised" +msgstr "מופתע" + +#: [mood]thankful +msgid "thankful" +msgstr "אסיר תודה" + +#: [mood]thirsty +msgid "thirsty" +msgstr "צמא" + +#: [mood]tired +msgid "tired" +msgstr "עייף" + +#: [mood]undefined +msgid "undefined" +msgstr "מעורפל" + +#: [mood]weak +msgid "weak" +msgstr "חלש" + +#: [mood]worried +msgid "worried" +msgstr "מודאג" + +#: [month]title +msgid "Month" +msgstr "חודש" + +#: [month]january +msgid "January" +msgstr "ינואר" + +#: [month]february +msgid "February" +msgstr "פברואר" + +#: [month]march +msgid "March" +msgstr "מרץ" + +#: [month]april +msgid "April" +msgstr "אפריל" + +#: [month]may +msgid "May" +msgstr "מאי" + +#: [month]june +msgid "June" +msgstr "יוני" + +#: [month]july +msgid "July" +msgstr "יולי" + +#: [month]august +msgid "August" +msgstr "אוגוסט" + +#: [month]september +msgid "September" +msgstr "ספטמבר" + +#: [month]october +msgid "October" +msgstr "אוקטובר" + +#: [month]november +msgid "November" +msgstr "נובמבר" + +#: [month]december +msgid "December" +msgstr "דצמבר" + +#: [year]title +msgid "Year" +msgstr "שנה" + +#: [date]today +msgid "Today" +msgstr "היום" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "מחר" + +#: [date]yesterday +msgid "Yesterday" +msgstr "אתמול" + +#: [date]ago +msgid "%d days ago" +msgstr "לפני %d ימים" + +#: [date]day +msgid "day" +msgstr "יום" + +#: [post]title +msgid "Title" +msgstr "כותרת" + +#: [post]place +msgid "Place" +msgstr "מיקום" + +#: [post]by +msgid "by" +msgstr "על ידי" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "דוא״ל" + +#: [post]empty +msgid "No content" +msgstr "אין איש קשר" + +#: [post]no_comments +msgid "No comments yet" +msgstr "אין תגובות עדיין" + +#: [post]older +msgid "Get older posts" +msgstr "השג רשומות נושנות" + +#: [post]new_items +msgid "%s new items" +msgstr "%s פריטים חדשים" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "שגיאת פרסום תגובה" + +#: [post]comments_get +msgid "Get the comments" +msgstr "השג תגובות" + +#: [post]comment_add +msgid "Add a comment" +msgstr "הוסף תגובה" + +#: [post]share +msgid "Share with" +msgstr "שתף בעזרת" + +#: [post]share_everyone +msgid "Everyone" +msgstr "כולם" + +#: [post]updated +msgid "Updated" +msgstr "עודכן" + +#: [post]content_not_found +msgid "Content not found" +msgstr "תוכן לא נמצא" + +#: [post]default_title +msgid "Contact publication" +msgstr "פרסום איש קשר" + +#: [post]comments +msgid "Comments" +msgstr "תגובות" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "API אינו נגיש, נסה שוב מאוחר יותר" + +#: [field]type_here +msgid "Type here" +msgstr "הקלד כאן" diff --git a/frontend/locales/hr.po b/frontend/locales/hr.po new file mode 100644 index 0000000..7f8a914 --- /dev/null +++ b/frontend/locales/hr.po @@ -0,0 +1,4156 @@ +# +# Translators: +# FIRST AUTHOR , 2014 +# Krunoslav Tomorad , 2019 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Krunoslav Tomorad , 2019\n" +"Language-Team: Croatian (http://app.transifex.com/movim/movim/language/hr/)\n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Hvala" + +#: [about]developers +msgid "Developers" +msgstr "Razvijatelji" + +#: [about]translators +msgid "Translators" +msgstr "Prevoditelji" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Hvala svim prevoditeljima!" + +#: [about]software +msgid "Software" +msgstr "Programska podrška" + +#: [about]resources +msgid "Resources" +msgstr "Resursi" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim je komunikacijska platforma temeljena na XMPP-u. Sav projekt, izuzev programa i resursa navedenih u nastavku, je licenciran pod licencijom " + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Račun" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Promijeni moju zaporku" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Zaporka" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Potvrda zaporke" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "Zaporka je promijenjena" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "Upisane zaporke se ne podudaraju" + +#: [account]delete +msgid "Delete your account" +msgstr "Obrišite svoj račun" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "Upišite svoje puno korisničko ime" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "Molim, upišite valjano korisničko ime" + +#: [account]gateway_title +msgid "Gateways" +msgstr "Pristupnici" + +#: [account]clear +msgid "Leave this instance" +msgstr "Napusti ovu instanciju" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Radnje" + +#: [adhoc]completed +msgid "Action completed" +msgstr "Radnja je dovršena" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "Općenite postavke" + +#: [general]theme +msgid "Theme" +msgstr "Tema" + +#: [general]language +msgid "Default language" +msgstr "Zadani jezik" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "Opširnost zapisa sustava" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "Ograniči prijedloge" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "Pristupni podaci za administraciju" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Korisničko ime" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Ponovite zaporku" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "Ostavite ovo polje praznim želite li dopustiti pristup svim poslužiteljima za XMPP." + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Opis" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "Ova će se poruka prikazati na prijavnoj stranici. Između ostalog, možete ju koristiti kako biste postavili poveznicu na Uvjete korištenja koji vrijede na vašoj instanciji Movima." + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "Ostavite ovo polje praznim ukoliko ne želite prikazati nikakvu poruku." + +#: [information]label +msgid "Information Message" +msgstr "Pozdravna poruka" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "Zadani poslužitelj za XMPP" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "Glavna domena poslužitelja za XMPP" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "Opis glavnog poslužitelja za XMPP" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "Država u kojoj se nalazi glavni poslužitelj za XMPP" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "Odaberite državu na popisu" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "Prazno" + +#: [log]syslog +msgid "Syslog" +msgstr "Zapisnik sustava" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "Zapisnik sustava i datoteke" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "Sjednice" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "Datoteka" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "Ovaj sadržaj je privatan, molim prijavite se kako biste ga vidjeli" + +#: [message]published +msgid "Message Published" +msgstr "Poruka je objavljena" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "Vaša se poruka nije mogla poslati, molim pokušajte kasnije" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "Šifrirana poruka" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "Piše..." + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "Zaustavljeno..." + +#: [message]gone +msgid "Contact gone" +msgstr "Kontakt je otišao" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "Pritisnite ↑ da biste uredili svoju prethodnu poruku" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "Upišite :prečac: za unos emojija" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%s zahtijeva vašu pažnju" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "Upišite svoju poruku ovdje..." + +#: [chat]smileys +msgid "Smileys" +msgstr "Smješci" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "Česti kontakti" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "Ovdje nema još ničega..." + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "Nemojte se sramiti, pošaljite prvu poruku da biste otpočeli razgovor" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "Pozvani ste u sobu za razgovor" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "Pridružite se u %s" + +#: [chat]profile +msgid "See the profile" +msgstr "Pogledajte profil" + +#: [chat]clear +msgid "Clear the history" +msgstr "Obrišite povijest" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "Uredite posljednju poruku" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "Prijavite zloporabu" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "Poziv je završen" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "Još nema poruka..." + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "Započnite novi razgovor pritiskom na gumb %s." + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "Pišite kontaktu" + +#: [chats]me +msgid "Me" +msgstr "Ja" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "Istraži, zaprati i podijeli" + +#: [communities]counter +msgid "%s communities" +msgstr "%s zajednica" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "Potraži novi poslužitelj" + +#: [communities]servers +msgid "Communities servers" +msgstr "Poslužitelji zajednice" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "Poslužitelj zajednice je otkriven" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "Ovaj poslužitelj ne postoji" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "Zajednice koje bi vam se mogle svidjeti" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "Zajednica je uspješno pokrenuta" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "Na ovom poslužitelju još nema pokrenutih zajednica" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "Pokrenite novu zajednicu na %s" + +#: [communitiesserver]name +msgid "Community name" +msgstr "Naziv zajednice" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "Klub ljubitelja ponija" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "Molim upišite valjan naziv zajednice (ne manje od četiri znaka)" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "Ne možete pokrenuti novu zajednicu na ovom poslužitelju" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "Još nema poslužitelja za zajednice..." + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "Trenutno ne možemo pronaći nijednu zajednicu" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Postavke" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "Pretplate" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "Zajednica je uspješno zatvorena" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "Zatvori zajednicu" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "Zatvorit ćete sljedeću zajednicu. Molim potvrditi da to želite napraviti." + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "Čini se je zajednica više ne postoji. Želite li ju maknuti s popisa vaših pretplata?" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "Postavke su spremljene" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "Došlo je do pogreške kod primjene postavki čvora." + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "Vlasnici" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "Izdavači" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "Uloge" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "Uloga je ispravno postavljena" + +#: [communityconfig]publication +msgid "Publication" +msgstr "Izdanje" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "Svatko može objavljivati" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "Izdavači mogu objavljivati" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "Pretplatnici" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "Pretplatnici mogu objavljivati" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "%s pretplatnika" + +#: [communitydata]num +msgid "%s posts" +msgstr "%s objava" + +#: [communitydata]public +msgid "Public page" +msgstr "Javna stranica" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "Za ovu su zajednicu pretplate onemogućene" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "Dodajte opis ovoj zajednici" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "Naziv zajednice" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "Vidjet će se na vašem profilu" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "Jeste li sigurni?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "Bok" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "Ovdje možete upravljati svojim pretplatama" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "Općenito" + +#: [config]language +msgid "Language" +msgstr "Jezik" + +#: [config]roster +msgid "Roster display" +msgstr "Prikaz radne liste" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "Prikaži izvanmrežne kontakte" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "Sakrij izvanmrežne kontakte" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "Konfiguracija je obnovljena" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "Neispravne postavke" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "Napredne postavke" + +#: [config]nsfw +msgid "Display adult content" +msgstr "Prikaži sadržaj za odrasle" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "Dopustit će vam pregledavanje objava koje su označene oznakom #nsfw" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "Noćni način" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "" + +#: [general]gender +msgid "Gender" +msgstr "" + +#: [general]marital +msgid "Marital Status" +msgstr "" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "" + +#: [general]about +msgid "About Me" +msgstr "" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Izradi novi račun" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "Obrazac za izradu računa nije pronađen na poslužitelju" + +#: [create]server_on +msgid "on" +msgstr "u" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "Učitavam" + +#: [create]placeholder +msgid "…and start playing" +msgstr "i pokreni reprodukciju" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Nije prihvatljivo" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "Sustav za izradu računa na ovome poslužitelju trenutno nije dostupan" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "Prijava je odbijena" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "Članovi" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "Naslov" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "Objave korisnika %s" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "Upravljanje" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "Razgovor" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "Novi razgovor" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "Otvoreni" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "" + +#: [day]tuesday +msgid "Tuesday" +msgstr "" + +#: [day]wednesday +msgid "Wednesday" +msgstr "" + +#: [day]thursday +msgid "Thursday" +msgstr "" + +#: [day]friday +msgid "Friday" +msgstr "" + +#: [day]saturday +msgid "Saturday" +msgstr "" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "" + +#: [presence]away +msgid "Away" +msgstr "" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "" + +#: [month]february +msgid "February" +msgstr "" + +#: [month]march +msgid "March" +msgstr "" + +#: [month]april +msgid "April" +msgstr "" + +#: [month]may +msgid "May" +msgstr "" + +#: [month]june +msgid "June" +msgstr "" + +#: [month]july +msgid "July" +msgstr "" + +#: [month]august +msgid "August" +msgstr "" + +#: [month]september +msgid "September" +msgstr "" + +#: [month]october +msgid "October" +msgstr "" + +#: [month]november +msgid "November" +msgstr "" + +#: [month]december +msgid "December" +msgstr "" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "" + +#: [date]yesterday +msgid "Yesterday" +msgstr "" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/hu.po b/frontend/locales/hu.po new file mode 100644 index 0000000..3b8a870 --- /dev/null +++ b/frontend/locales/hu.po @@ -0,0 +1,4159 @@ +# +# Translators: +# FIRST AUTHOR , 2012 +# Free Bill , 2016 +# Simon Ede , 2015 +# Simon Ede , 2015 +# 386902c248cb697d9d6d058103e08443_c36ce9b <3e1ab06cc760e2987b063fda7f345e3f_237544>, 2018 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: 386902c248cb697d9d6d058103e08443_c36ce9b <3e1ab06cc760e2987b063fda7f345e3f_237544>, 2018\n" +"Language-Team: Hungarian (http://app.transifex.com/movim/movim/language/hu/)\n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Köszönet" + +#: [about]developers +msgid "Developers" +msgstr "Fejlesztők" + +#: [about]translators +msgid "Translators" +msgstr "Fordítók" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Köszönet minden fordítónak" + +#: [about]software +msgid "Software" +msgstr "Szoftver" + +#: [about]resources +msgid "Resources" +msgstr "Erőforrások" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "A Movim egy XMPP alapú kommunikációs platform. Az egész projekt, kivéve a következő szoftvereket és forrásokat, az alábbi alatt van:" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Felhasználó" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Megváltoztatom a jelszavam" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Jelszó" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Jelszó megerősítése" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "A jelszó frissítve lett" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "A megadott jelszavak nem egyeznek" + +#: [account]delete +msgid "Delete your account" +msgstr "Felhasználói fiókod törlése" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "Ennek az instanciának elhagyása" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Akciók" + +#: [adhoc]completed +msgid "Action completed" +msgstr "A művelet befejeződött" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "Általános Beállítások" + +#: [general]theme +msgid "Theme" +msgstr "Téma" + +#: [general]language +msgid "Default language" +msgstr "Alapértelmezett nyelv" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "Naplórészletesség" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "Javaslatok korlátozása" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "Adminisztációs tanúsítvány" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Felhasználónév" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Gépeld újra a jelszót" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "Hagyd ezt a mezőt üresen ha engedélyezed a hozzáférést mindegyik XMPP felhasználóhoz." + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Leírás" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "Ez az üzenet meg fog jelenni a bejelentkezési oldalon. Felhasználható például a Movim instanciád felhasználási feltételeinek belinkelésére." + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "Hagyd üresen ezt a mezőt, ha nem akarsz megjeleníteni semmilyen üzenetet!" + +#: [information]label +msgid "Information Message" +msgstr "Információs üzenet" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "Alapértelmezett XMPP szerver" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "Fő XMPP szerver domén" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "Fő XMPP szerver leírása" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "Fő XMPP szerver országa" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "Válassz egy országot a listában" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "Üres" + +#: [log]syslog +msgid "Syslog" +msgstr "Rendszernapló" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "Rendszernapló és fájlok" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "Munkamenetek" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "Fájl" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "Ez a tartalom nem nyilvános, jelentkezz be, hogy láthasd" + +#: [message]published +msgid "Message Published" +msgstr "Üzenet közzétéve" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "Az üzenetedet nem lehetett elküldeni, kérlek, próbáld újra!" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "Titkosított üzenet" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "Ír…" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "Megállt…" + +#: [message]gone +msgid "Contact gone" +msgstr "A partner elment" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%snek a figyelmedre van szüksége" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "Ide írd az üzeneted…" + +#: [chat]smileys +msgid "Smileys" +msgstr "Hangulatjelek" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "Gyakori kapcsolatok" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "Még nincs itt semmi…" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "Ne légy szégyellős, küldd el az első üzenetet az üzenetváltás megkezdéséhez!" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "Meghívást kaptál, hogy csatlakozz egy chatszobához" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "Csatlakozás a következőhöz: %s" + +#: [chat]profile +msgid "See the profile" +msgstr "A profil megtekintése" + +#: [chat]clear +msgid "Clear the history" +msgstr "Az előzmények törlése" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "Az utolsó üzenet szerkesztése" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "Visszaélés jelentése" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "Még nincsenek csevegések…" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "Indíts új üzenetváltást a %sgombra való kattintással" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "Beszélgetés egy partnerrel" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "Mind" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "Kapcsolatok" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "Fedezd fel, kövesd és oszd meg" + +#: [communities]counter +msgid "%s communities" +msgstr "%s közösség" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "Új szerver keresése" + +#: [communities]servers +msgid "Communities servers" +msgstr "Közösségi szerverek" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "Ez a szerver nem létezik" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "A közösség sikeresen létre lett hozva" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "Még nincsenek közösségek ezen a szerveren" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "Új közösség létrehozása itt: %s" + +#: [communitiesserver]name +msgid "Community name" +msgstr "Közösség neve" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "Én Kicsi Pónim - Rajongói Klub" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "Kérlek, adj meg egy érvényes közösségi nevet (minimum 4 karakter)" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "Nem tudsz új közösséget létrehozni ezen a szerveren" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Beállítások" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "Feliratkozások" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "A közösség sikeresen törölve" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "A közösség törlése" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "Törölni fogod az alábbi közösséget. Kérlek erősítsd meg szándékod!" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "Úgy tűnik, ez a közösség már nem létezik. El akarod távolítani a feliratkozásaid közül?" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "Beállítások elmentve." + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "Tulajdonosok" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "Kiadók" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "Szerepek" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "A szerep helyesen be lett állítva" + +#: [communityconfig]publication +msgid "Publication" +msgstr "Közzétételek" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "Bárki publikálhat" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "A kiadók publikálhatnak" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "Feliratkozók" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "A feliratkozók publikálhatnak" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "Galéria" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "%s feliratkozó" + +#: [communitydata]num +msgid "%s posts" +msgstr "%s poszt" + +#: [communitydata]public +msgid "Public page" +msgstr "Nyilvános oldal" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "A feliratkozások le vannak tiltva ennek a közösségnek" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "Adj meg egy címkét ehhez a közösséghez" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "A közösségem neve" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "Ez meg fog jelenni a profilodon" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "Biztos vagy benne?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "Szia" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "Itt kezelheted a feliratkozásaidat." + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "Általános" + +#: [config]language +msgid "Language" +msgstr "Nyelv" + +#: [config]roster +msgid "Roster display" +msgstr "Névsor megjelenítése" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "Mutatsd az offline kapcsolatokat" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "Rejtsd el az offline kapcsolatokat" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "Konfiguráció frissítve." + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "Érvénytelen beállítások" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "Haladó beállítások" + +#: [config]nsfw +msgid "Display adult content" +msgstr "Felnőtt tartalom megjelenítése" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "Engedélyezni fogja a #nsfw címkével ellátott bejegyzéseket." + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "Éjjeli mód" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "Sötét színek használata, hogy pihenni tudjon a szemed" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "Mindig" + +#: [config]mam_never +msgid "Never" +msgstr "Soha" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "Archiválási beállítások elmentve" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "Hitelesítés megerősítése" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "A következő platform szeretné, hogy erősítsd meg ennek a fióknak a hitelességét" + +#: [confirm]code +msgid "Authentication code" +msgstr "Hitelesítési kód" + +#: [roster]add_title +msgid "Add a contact" +msgstr "Partner hozzáadása" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "Nyomj entert az ellenőrzéshez" + +#: [roster]added +msgid "Contact added" +msgstr "Ismerős hozzáadva" + +#: [roster]updated +msgid "Contact updated" +msgstr "Kapcsolat frissítve" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "Ismerős törölve" + +#: [general]legend +msgid "General Information" +msgstr "Általános információ" + +#: [general]name +msgid "Name" +msgstr "Név" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "Becenév" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Születési idő" + +#: [general]gender +msgid "Gender" +msgstr "Nem" + +#: [general]marital +msgid "Marital Status" +msgstr "Családi állapot" + +#: [general]email +msgid "Email" +msgstr "Email" + +#: [general]website +msgid "Website" +msgstr "Honlap" + +#: [general]about +msgid "About Me" +msgstr "Névjegyem" + +#: [general]accounts +msgid "Other Accounts" +msgstr "Egyéb felhasználói fiókok" + +#: [general]tune +msgid "Is Listening" +msgstr "Éppen hallgatja" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "Földrajzi helyzet" + +#: [position]locality +msgid "Locality" +msgstr "Helység" + +#: [position]country +msgid "Country" +msgstr "Ország" + +#: [listen]title +msgid "Listening" +msgstr "hallgat" + +#: [last]title +msgid "Last seen" +msgstr "Utoljára itt" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "Utoljára regisztrálva" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "Szerkesztés" + +#: [edit]alias +msgid "Alias" +msgstr "Alias" + +#: [edit]group +msgid "Group" +msgstr "Csoport" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "%s éves" + +#: [blog]last +msgid "Last public post" +msgstr "Utolsó nyilvános megosztás" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "Láthatod ezt a kapcsolati állapotot" + +#: [subscription]to_button +msgid "Share my status" +msgstr "Állapot megosztása" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "De ez az ismerős nem láthatja a tiéd" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "Nem vagy feliratkozva erre az ismerősre" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "Felkérés feliratkozásra" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "De ez az ismerős még mindig láthatja ha online vagy" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "Meghívás" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "Gyakran Ismételt Kérdések" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "Ajánljuk még" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "Adminisztrátorok és partnerek" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "Chatelnél a Movim csapatával?" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "Chatszoba hozzáadása" + +#: [error]username +msgid "Wrong username" +msgstr "Téves felhasználónév" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "Üres kihívás a szervertől" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "Néhány adat hiányzik!" + +#: [error]internal +msgid "Internal server error" +msgstr "Belső szerver hiba" + +#: [error]session +msgid "Session error" +msgstr "Hiba a munkamenetben" + +#: [error]account_created +msgid "Account successfully created" +msgstr "Felhasználói fiók sikeresen létrehozva" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "Nem lehet belépni" + +#: [error]default +msgid "Unknown error" +msgstr "Ismeretlen hiba" + +#: [error]login_format +msgid "Invalid username format" +msgstr "Érvénytelen felhasználónév formátum" + +#: [error]password_format +msgid "Invalid password format" +msgstr "Érvénytelen jelszó formátum" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "Ay XMPP szervered nincs hitelesítve" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "A Movim nem tudott azonosítani. Rossz adatokat adtál meg." + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "Ezt a belépési módot a Movim nem támogatja" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "Az XMPP azonosítás sikertelen volt." + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "Én címem" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "Csatlakozva" + +#: [form]population +msgid "Population" +msgstr "Lakosság" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "%s meghívott, hogy csatlakozz egy chatszobához" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "Még nincsenek hírek…" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "Közzétételeim" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "Írj egy új bejegyzést…" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "Értesítések" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%s beszélni szeretne veled" + +#: [notifs]empty +msgid "No new notifications" +msgstr "Nincsenek új értesítések" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "A Movim értesíthet, ha egy új bejegyzés publikálásra kerül vagy üzeneteket kapsz" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "Később bármikor kikapcsolhatod őket" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "Nyilvános profil" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "Legyen a profilod publikus és más felhasználók találhassanak meg és vehessék fel veled a kapcsolatod könnyedén" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "Később bármikor kikapcsolhatod ezt a konfigurációnál" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "Hírfolyam" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "Tartalom" + +#: [post]published +msgid "Post published" +msgstr "Poszt közzétéve" + +#: [post]deleted +msgid "Post deleted" +msgstr "Poszt törölve" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "%s profilja" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "Ez a megosztás nyílvános" + +#: [post]public_no +msgid "This post is private" +msgstr "Ez a bejegyzés nem nyilvános" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "A bejegyzés nyilvános URL-je" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "Poszt törlése" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "Hagyd jóvá, hogy tényleg le szeretnéd törölni ezt a bejegyzést" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "Kommentek letiltva" + +#: [post]comment_published +msgid "Comment published" +msgstr "Komment közzétéve" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "Univerzális megosztás gomb" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "Megosztás Movimon" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "Ó! Szia!" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "Lecsatlakozás" + +#: [status]presence +msgid "Presence" +msgstr "Jelenlét" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "Kérlek adj címet neki" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "Előnézet" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "Új poszt" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "A tartalmadat Markdownnal formázhatod" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "Segítség" + +#: [publishhelp]more +msgid "More help" +msgstr "Mégtöbb segítség" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "Markdown formázási útmutató" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Felhasználó létrehozása" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "Nem található felhasználó létrehozási űrlap a szerveren." + +#: [create]server_on +msgid "on" +msgstr "itt:" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "Töltés" + +#: [create]placeholder +msgid "…and start playing" +msgstr "...és kezdődhet a játék" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Nem elfogadható" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "A szerver regisztrációs rendszere jelenleg nem elérhető." + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "Regisztáció tiltva" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "Név üres" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "Vegyél fel egyet a hozzáadás gombra kattintva." + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "Tagok" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "Tárgy" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "Chatszobák" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "Könyvjelzők frissítve" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "Bejelentkezés %s-n" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "Mit keresel?" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "Címkék" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "Matricát küldtél a Movimmal" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "%s hírfolyama" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "A partnernek nincs nyilvános hírfolyama" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "Nincs kapcsolat megadva" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "Feltölt" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "Válaszd ki a feltölteni kívánt fájlt" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Profil" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "Profil frissítve" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "A profil nem frissült" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "A profilod mostantól nyilvános" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "Korlátozva van a profilod" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Küldés" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Alapértékek" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "Névjegy" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Felhasználó létrehozása" + +#: [page]administration +msgid "Administration" +msgstr "Adminisztráció" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "Blog" + +#: [page]chats +msgid "Messages" +msgstr "Üzenetek" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "Felfedezés" + +#: [page]feed +msgid "Feed" +msgstr "Hírforrás" + +#: [page]home +msgid "Home" +msgstr "Kezdőoldal" + +#: [page]login +msgid "Login" +msgstr "Bejelentkezés" + +#: [page]news +msgid "News" +msgstr "Hírek" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "Megosztások" + +#: [page]publish +msgid "Publish" +msgstr "Közzétesz" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "Megosztás" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "Címke" + +#: [page]visio +msgid "Visio-conference" +msgstr "Videó-konferencia" + +#: [error]error +msgid "Error: %s" +msgstr "Hiba: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "'%s' fájl nem tölthető be" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "A keresett '%s' esemény nincs regisztrálva." + +#: [error]whoops +msgid "Whoops!" +msgstr "Hupsz!" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "Hupsz!" + +#: [button]accept +msgid "Accept" +msgstr "Elfogad" + +#: [button]add +msgid "Add" +msgstr "Hozzáad" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "Nem" + +#: [button]bool_yes +msgid "Yes" +msgstr "Igen" + +#: [button]call +msgid "Call" +msgstr "Hívás" + +#: [button]cancel +msgid "Cancel" +msgstr "Mégse" + +#: [button]chat +msgid "Chat" +msgstr "Chat" + +#: [button]clear +msgid "Clear" +msgstr "Törlés" + +#: [button]close +msgid "Close" +msgstr "Bezárás" + +#: [button]connecting +msgid "Connecting" +msgstr "Csatlakozás" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "Törlés" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "Új beszélgetés" + +#: [button]next +msgid "Next" +msgstr "Következő" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "Nyitott" + +#: [button]previous +msgid "Previous" +msgstr "Előző" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "Frissít" + +#: [button]refuse +msgid "Refuse" +msgstr "Visszautasít" + +#: [button]register +msgid "Register" +msgstr "Regisztráció" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "Visszatérés" + +#: [button]save +msgid "Save" +msgstr "Mentés" + +#: [button]search +msgid "Search" +msgstr "Keresés" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "Megosztás" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "Közzétesz" + +#: [button]unregister +msgid "Unregister" +msgstr "Regisztráció törlése" + +#: [button]update +msgid "Update" +msgstr "Frissít" + +#: [button]updating +msgid "Updating" +msgstr "Frissítés" + +#: [button]validate +msgid "Validate" +msgstr "Érvényesít" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "Nap" + +#: [day]monday +msgid "Monday" +msgstr "Hétfő" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Kedd" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Szerda" + +#: [day]thursday +msgid "Thursday" +msgstr "Csütörtök" + +#: [day]friday +msgid "Friday" +msgstr "Péntek" + +#: [day]saturday +msgid "Saturday" +msgstr "Szombat" + +#: [day]sunday +msgid "Sunday" +msgstr "Vasárnap" + +#: [client]bot +msgid "Bot" +msgstr "Robot" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "Asztal" + +#: [client]phone +msgid "Phone" +msgstr "Telefon" + +#: [client]web +msgid "Web" +msgstr "Webcím" + +#: [client]registered +msgid "Registered" +msgstr "Regisztrálva" + +#: [client]gateway +msgid "Gateway" +msgstr "Átjáró" + +#: [client]im +msgid "Server" +msgstr "Szerver" + +#: [presence]online +msgid "Online" +msgstr "Elérhető" + +#: [presence]away +msgid "Away" +msgstr "Távol" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "Ne zavarj" + +#: [presence]xa +msgid "Extended Away" +msgstr "Kiterjesztett távollét" + +#: [presence]offline +msgid "Offline" +msgstr "Offline" + +#: [presence]error +msgid "Error" +msgstr "Hiba" + +#: [mood]afraid +msgid "afraid" +msgstr "megijedt" + +#: [mood]amazed +msgid "amazed" +msgstr "lenyűgözött" + +#: [mood]amorous +msgid "amorous" +msgstr "szerelmes" + +#: [mood]angry +msgid "angry" +msgstr "haragos" + +#: [mood]annoyed +msgid "annoyed" +msgstr "ideges" + +#: [mood]anxious +msgid "anxious" +msgstr "szorongó" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "unott" + +#: [mood]brave +msgid "brave" +msgstr "bátor" + +#: [mood]calm +msgid "calm" +msgstr "nyugodt" + +#: [mood]cautious +msgid "cautious" +msgstr "óvatos" + +#: [mood]cold +msgid "cold" +msgstr "hideg" + +#: [mood]confident +msgid "confident" +msgstr "konfidens" + +#: [mood]confused +msgid "confused" +msgstr "zavart" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "őrült" + +#: [mood]creative +msgid "creative" +msgstr "kreatív" + +#: [mood]curious +msgid "curious" +msgstr "kíváncsi" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "depressziós" + +#: [mood]disappointed +msgid "disappointed" +msgstr "csalódott" + +#: [mood]disgusted +msgid "disgusted" +msgstr "undorodó" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "cikis" + +#: [mood]envious +msgid "envious" +msgstr "irigykedő" + +#: [mood]excited +msgid "excited" +msgstr "izgatott" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "flörtölő" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "hálás" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "mogorva" + +#: [mood]guilty +msgid "guilty" +msgstr "bűnös" + +#: [mood]happy +msgid "happy" +msgstr "boldog" + +#: [mood]hopeful +msgid "hopeful" +msgstr "reményteli" + +#: [mood]hot +msgid "hot" +msgstr "forró/ szexi" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "megalázott" + +#: [mood]hungry +msgid "hungry" +msgstr "éhes" + +#: [mood]hurt +msgid "hurt" +msgstr "sérült" + +#: [mood]impressed +msgid "impressed" +msgstr "lenyűgöző" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "szerelmes" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "érdeklődő" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "mérgezett" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "irigy" + +#: [mood]lonely +msgid "lonely" +msgstr "magányos" + +#: [mood]lost +msgid "lost" +msgstr "elveszett" + +#: [mood]lucky +msgid "lucky" +msgstr "szerencsés" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "feszült" + +#: [mood]neutral +msgid "neutral" +msgstr "semleges" + +#: [mood]offended +msgid "offended" +msgstr "sértett" + +#: [mood]outraged +msgid "outraged" +msgstr "dühös" + +#: [mood]playful +msgid "playful" +msgstr "játékos" + +#: [mood]proud +msgid "proud" +msgstr "büszke" + +#: [mood]relaxed +msgid "relaxed" +msgstr "ellazult" + +#: [mood]relieved +msgid "relieved" +msgstr "megkönnyebbült" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "nyugtalan" + +#: [mood]sad +msgid "sad" +msgstr "szomorú" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "szarkasztikus" + +#: [mood]satisfied +msgid "satisfied" +msgstr "elégedett" + +#: [mood]serious +msgid "serious" +msgstr "komoly" + +#: [mood]shocked +msgid "shocked" +msgstr "sokkolt" + +#: [mood]shy +msgid "shy" +msgstr "szégyellős" + +#: [mood]sick +msgid "sick" +msgstr "beteg" + +#: [mood]sleepy +msgid "sleepy" +msgstr "álmos" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "spontán" + +#: [mood]stressed +msgid "stressed" +msgstr "stresszes" + +#: [mood]strong +msgid "strong" +msgstr "erős" + +#: [mood]surprised +msgid "surprised" +msgstr "meglepett" + +#: [mood]thankful +msgid "thankful" +msgstr "hálás" + +#: [mood]thirsty +msgid "thirsty" +msgstr "szomjas" + +#: [mood]tired +msgid "tired" +msgstr "fáradt" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "gyenge" + +#: [mood]worried +msgid "worried" +msgstr "aggódik" + +#: [month]title +msgid "Month" +msgstr "Hónap" + +#: [month]january +msgid "January" +msgstr "Január" + +#: [month]february +msgid "February" +msgstr "Február" + +#: [month]march +msgid "March" +msgstr "Március" + +#: [month]april +msgid "April" +msgstr "Április" + +#: [month]may +msgid "May" +msgstr "Május" + +#: [month]june +msgid "June" +msgstr "Június" + +#: [month]july +msgid "July" +msgstr "Július" + +#: [month]august +msgid "August" +msgstr "Augusztus" + +#: [month]september +msgid "September" +msgstr "Szeptember" + +#: [month]october +msgid "October" +msgstr "Október" + +#: [month]november +msgid "November" +msgstr "November" + +#: [month]december +msgid "December" +msgstr "December" + +#: [year]title +msgid "Year" +msgstr "Év" + +#: [date]today +msgid "Today" +msgstr "Ma" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "Holnap" + +#: [date]yesterday +msgid "Yesterday" +msgstr "Tegnap" + +#: [date]ago +msgid "%d days ago" +msgstr "%d napja" + +#: [date]day +msgid "day" +msgstr "nap" + +#: [post]title +msgid "Title" +msgstr "Cím" + +#: [post]place +msgid "Place" +msgstr "Hely" + +#: [post]by +msgid "by" +msgstr "által" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "email" + +#: [post]empty +msgid "No content" +msgstr "Nincs tartalom" + +#: [post]no_comments +msgid "No comments yet" +msgstr "Még nincs hozzászólás" + +#: [post]older +msgid "Get older posts" +msgstr "Régebbi bejegyzések" + +#: [post]new_items +msgid "%s new items" +msgstr "%s új elem" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "Hozzászólás publikálási hiba" + +#: [post]comments_get +msgid "Get the comments" +msgstr "Hozzászólások betöltése" + +#: [post]comment_add +msgid "Add a comment" +msgstr "Hozzászólok" + +#: [post]share +msgid "Share with" +msgstr "Megosztás vele:" + +#: [post]share_everyone +msgid "Everyone" +msgstr "Mindenki" + +#: [post]updated +msgid "Updated" +msgstr "Frissítve" + +#: [post]content_not_found +msgid "Content not found" +msgstr "Tartalom nem található" + +#: [post]default_title +msgid "Contact publication" +msgstr "Kapcsolati közzététel" + +#: [post]comments +msgid "Comments" +msgstr "Kommentek" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "Tulajdonos" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "Kiadó" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "Az API nem elérhető, próbáld újra később" + +#: [field]type_here +msgid "Type here" +msgstr "Ide írj" diff --git a/frontend/locales/id.po b/frontend/locales/id.po new file mode 100644 index 0000000..2325556 --- /dev/null +++ b/frontend/locales/id.po @@ -0,0 +1,4157 @@ +# +# Translators: +# Anjar Febrianto , 2015 +# Fahmi , 2017 +# FIRST AUTHOR , 2013 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Fahmi , 2017\n" +"Language-Team: Indonesian (http://app.transifex.com/movim/movim/language/id/)\n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Terima kasih" + +#: [about]developers +msgid "Developers" +msgstr "Pengembang" + +#: [about]translators +msgid "Translators" +msgstr "Penerjemah" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Terima kasih untuk semua penerjemah" + +#: [about]software +msgid "Software" +msgstr "Aplikasi" + +#: [about]resources +msgid "Resources" +msgstr "Sumber" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim adalah platform komunikasi berbasis XMPP. Semua projek, kecuali perangkat lunak dan sumber, dikehendaki oleh" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Akun" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Rubah kata sandi saya" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Kata sandi" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Konfirmasi kata sandi" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "Kata sandi telah diperbaharui" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "Kata sandi yang masukkan tidak sama" + +#: [account]delete +msgid "Delete your account" +msgstr "Hapus akun anda" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Tindakan" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "Pengaturan Umum" + +#: [general]theme +msgid "Theme" +msgstr "Tema" + +#: [general]language +msgid "Default language" +msgstr "Bahasa default" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Nama Pengguna" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Ketik ulang kata sandi" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "Biarkan kolom ini kosong jika anda mengizinkan akses ke semua akun XMPP" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Deskripsi" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "Pesan Informasi" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "Server default XMPP" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "Domain utama server XMPP" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "Deskripsi utama server XMPP" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "Negara utama server XMPP" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "Kosong" + +#: [log]syslog +msgid "Syslog" +msgstr "Syslog" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "Syslog dan berkas" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "Berkas" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "Konten ini bersifat pribadi, mohon masuk terlebih dahulu untuk melihatnya" + +#: [message]published +msgid "Message Published" +msgstr "Pesan Diterbitkan" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "Pesan yang dienkripsi" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "Kontak menghilang" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%s butuh perhatian anda" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "Smileys" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "Kontak yang sering dihubungi" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "Mengobrol dengan sebuah kontak" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "Semua" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "Kontak" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "Jelajahi, ikuti dan bagikan" + +#: [communities]counter +msgid "%s communities" +msgstr "%s komunitas" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "Cari server baru" + +#: [communities]servers +msgid "Communities servers" +msgstr "Server komunitas" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "Pony Kecilku - Fan Klub" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Konfigurasi" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "Langganan" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "Pengaturan disimpan" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "Pemilik" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "Penerbit" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "Peran" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "Peran dibetulkan" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "%s pelanggan" + +#: [communitydata]num +msgid "%s posts" +msgstr "%s postingan" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "Langganan dinonaktifkan untuk komunitas ini" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "Berikan lable untuk komunitas ini" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "Nama Komunitas Saya" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "Akan tampil dalam profil anda" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "Anda yakin?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "Halo" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "Disini anda dapat mengelola semua langganan anda" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "Umum" + +#: [config]language +msgid "Language" +msgstr "Bahasa" + +#: [config]roster +msgid "Roster display" +msgstr "Tampilan daftar" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "Tampilkan kontak offline" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "Sembunyikan kontak offline" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "Konfigurasi tidak valid" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "Konfigurasi Lanjutan" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "Nama" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "Panggilan" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Tanggal Lahir" + +#: [general]gender +msgid "Gender" +msgstr "Jenis kelamin" + +#: [general]marital +msgid "Marital Status" +msgstr "Status Pernikahan" + +#: [general]email +msgid "Email" +msgstr "Email" + +#: [general]website +msgid "Website" +msgstr "Situs web" + +#: [general]about +msgid "About Me" +msgstr "Tentang Saya" + +#: [general]accounts +msgid "Other Accounts" +msgstr "Akun Lainnya" + +#: [general]tune +msgid "Is Listening" +msgstr "Sedang Mendengarkan" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "Posisi Geografis" + +#: [position]locality +msgid "Locality" +msgstr "Lokalitas" + +#: [position]country +msgid "Country" +msgstr "Negara" + +#: [listen]title +msgid "Listening" +msgstr "Mendengarkan" + +#: [last]title +msgid "Last seen" +msgstr "Terakhir terlihat" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "Terdaftar terakhir" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "Sunting" + +#: [edit]alias +msgid "Alias" +msgstr "Alias" + +#: [edit]group +msgid "Group" +msgstr "Grup" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "%s tahun" + +#: [blog]last +msgid "Last public post" +msgstr "Postingan publik terakhir" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "Anda dapat melihat status kontak ini" + +#: [subscription]to_button +msgid "Share my status" +msgstr "Bagikan status saya" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "Tetapi kontak ini tidak dapat melihat punya anda" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "Anda tidak berlangganan kontak ini" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "Tanyakan untuk berlangganan" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "Tetapi kontak ini tetap dapat melihat anda aktif" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "Undang" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "Pertanyaan Seputar" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "Tambahkan ke chatroom" + +#: [error]username +msgid "Wrong username" +msgstr "Nama pengguna salah" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "Tantangan kosong dari server" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "Galat server internal" + +#: [error]session +msgid "Session error" +msgstr "Sesi galat" + +#: [error]account_created +msgid "Account successfully created" +msgstr "Akun telah dibuat" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "Login mustahil" + +#: [error]default +msgid "Unknown error" +msgstr "Galat tidak diketahui" + +#: [error]login_format +msgid "Invalid username format" +msgstr "Format nama pengguna tidak valid" + +#: [error]password_format +msgid "Invalid password format" +msgstr "Format kata sandi tidak valid" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "Server XMPP anda tidak sah" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "Movim gagal untuk mengautentikasi. Anda memasukkan data yang salah" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "Mekanisme autentikasi tidak didukung oleh Movim" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "Autentikasi XMPP gagal" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "Alamat saya" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "Terhubung" + +#: [form]population +msgid "Population" +msgstr "Populasi" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "Belum ada berita..." + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "Publikasi saya" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "Notifikasi" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%s ingin ngobrol dengan anda" + +#: [notifs]empty +msgid "No new notifications" +msgstr "Tidak ada notifikasi baru" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "Movim dapat menotifikasi anda jika ada postingan baru atau jika anda menerima pesan baru" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "Anda dapat menonaktifkan kapan saja" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "Profil publik" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "Jadikan profil anda publik dan membolehkan pengguna lainnya menemukan anda dan membuat kontak baru menjadi lebih mudah" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "Anda dapat menonaktifkan ini di konfigurasi kapan saja" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "Beranda" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "Jelajahi dan daftar ke grup yang anda minati" + +#: [post]content +msgid "Content" +msgstr "Konten" + +#: [post]published +msgid "Post published" +msgstr "Post diterbitkan" + +#: [post]deleted +msgid "Post deleted" +msgstr "Post dihapus" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "Post baru saja diterbitkan di komunitas dimana anda belum berlangganan" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "Ini adalah re-post dari %s" + +#: [post]see_profile +msgid "See %s profile" +msgstr "Lihat profil %s" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "Post ini publik" + +#: [post]public_no +msgid "This post is private" +msgstr "Post ini bersifat pribadi" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "URL publik dari post ini" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "Hapus post ini" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "Anda akan menghapus post ini, mohon konfirmasi aksi anda" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "Baca selanjutnya" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "Komentar dinonaktifkan" + +#: [post]comment_published +msgid "Comment published" +msgstr "Komentar diterbitkan" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "Komentar dihapus" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "Post kontak" + +#: [hello]share_title +msgid "Universal share button" +msgstr "Tombol bagikan universal" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "Bookmark atau tarik dan lepas tombol berikut ke toolbar anda dan gunakan disemua halaman yang ingin anda bagikan ke Movim" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "Bagikan ke Movim" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "Oh! Halo!" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "Periksa menu" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "Anda dapat menuju ke halaman Konfigurasi untuk menggambarkan diri anda dan menaruh foto yang bagus" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "Terputus" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "Post baru" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "Bantuan" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Buat akun baru" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "Tidak dapat menemukan kolom pembuatan akun di server" + +#: [create]server_on +msgid "on" +msgstr "hidup" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "Memuat" + +#: [create]placeholder +msgid "…and start playing" +msgstr "...dan mulai bermain" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Tidak Dapat Diterima" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "Saat ini pendaftaran dalam server ini tidak tersedia" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "Pendaftaran dilarang" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "Nama kosong" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "Anggota" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "Subjek" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "Bookmark diperbarui" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "Unggah" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Profil" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "Profil di Perbarui" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Kirim" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Atur ulang" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "Administrasi" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "Blog" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "Jelajahi" + +#: [page]feed +msgid "Feed" +msgstr "Tautan" + +#: [page]home +msgid "Home" +msgstr "" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "Berita" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "Kesalahan: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "Tidak dapat memuat berkas '%s'" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "Tambah" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "Tidak" + +#: [button]bool_yes +msgid "Yes" +msgstr "Ya" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "Obrolan" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "Tutup" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "Jelajahi" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "Percakapan baru" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "Perbarui" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "Simpan" + +#: [button]search +msgid "Search" +msgstr "Cari" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "Mengirimkan" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "Validasi" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "Hari" + +#: [day]monday +msgid "Monday" +msgstr "Senin" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Selasa" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Rabu" + +#: [day]thursday +msgid "Thursday" +msgstr "Kamis" + +#: [day]friday +msgid "Friday" +msgstr "Jumat" + +#: [day]saturday +msgid "Saturday" +msgstr "Sabtu" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "Bot" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "Desktop" + +#: [client]phone +msgid "Phone" +msgstr "Telepon" + +#: [client]web +msgid "Web" +msgstr "Web" + +#: [client]registered +msgid "Registered" +msgstr "Terdaftar" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "Server" + +#: [presence]online +msgid "Online" +msgstr "Tersedia" + +#: [presence]away +msgid "Away" +msgstr "Jauh" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "Jangan Diganggu" + +#: [presence]xa +msgid "Extended Away" +msgstr "Menjauh Lama" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "Kesalahan" + +#: [mood]afraid +msgid "afraid" +msgstr "takut" + +#: [mood]amazed +msgid "amazed" +msgstr "kagum" + +#: [mood]amorous +msgid "amorous" +msgstr "mudah jatuh cinta" + +#: [mood]angry +msgid "angry" +msgstr "marah" + +#: [mood]annoyed +msgid "annoyed" +msgstr "kesal" + +#: [mood]anxious +msgid "anxious" +msgstr "risau" + +#: [mood]aroused +msgid "aroused" +msgstr "terangsang" + +#: [mood]ashamed +msgid "ashamed" +msgstr "malu" + +#: [mood]bored +msgid "bored" +msgstr "bosan" + +#: [mood]brave +msgid "brave" +msgstr "berani" + +#: [mood]calm +msgid "calm" +msgstr "tenang" + +#: [mood]cautious +msgid "cautious" +msgstr "hati-hati" + +#: [mood]cold +msgid "cold" +msgstr "dingin" + +#: [mood]confident +msgid "confident" +msgstr "yakin" + +#: [mood]confused +msgid "confused" +msgstr "bingung" + +#: [mood]contemplative +msgid "contemplative" +msgstr "merenung" + +#: [mood]contented +msgid "contented" +msgstr "puas" + +#: [mood]cranky +msgid "cranky" +msgstr "jengkel" + +#: [mood]crazy +msgid "crazy" +msgstr "gila" + +#: [mood]creative +msgid "creative" +msgstr "kreatif" + +#: [mood]curious +msgid "curious" +msgstr "penasaran" + +#: [mood]dejected +msgid "dejected" +msgstr "gundah" + +#: [mood]depressed +msgid "depressed" +msgstr "murung" + +#: [mood]disappointed +msgid "disappointed" +msgstr "kecewa" + +#: [mood]disgusted +msgid "disgusted" +msgstr "jijik" + +#: [mood]dismayed +msgid "dismayed" +msgstr "cemas" + +#: [mood]distracted +msgid "distracted" +msgstr "bingung" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "tersipu" + +#: [mood]envious +msgid "envious" +msgstr "iri" + +#: [mood]excited +msgid "excited" +msgstr "gembira" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "genit" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "bersyukur" + +#: [mood]grieving +msgid "grieving" +msgstr "kecil hati" + +#: [mood]grumpy +msgid "grumpy" +msgstr "galak" + +#: [mood]guilty +msgid "guilty" +msgstr "bersalah" + +#: [mood]happy +msgid "happy" +msgstr "bahagia" + +#: [mood]hopeful +msgid "hopeful" +msgstr "penuh harapan" + +#: [mood]hot +msgid "hot" +msgstr "panas" + +#: [mood]humbled +msgid "humbled" +msgstr "merendahkan" + +#: [mood]humiliated +msgid "humiliated" +msgstr "terhina" + +#: [mood]hungry +msgid "hungry" +msgstr "lapar" + +#: [mood]hurt +msgid "hurt" +msgstr "tersakiti" + +#: [mood]impressed +msgid "impressed" +msgstr "terkesan" + +#: [mood]in_awe +msgid "in awe" +msgstr "kagum" + +#: [mood]in_love +msgid "in love" +msgstr "jatuh cinta" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "tertarik" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "mabuk" + +#: [mood]invincible +msgid "invincible" +msgstr "tak terkalahkan" + +#: [mood]jealous +msgid "jealous" +msgstr "cemburu" + +#: [mood]lonely +msgid "lonely" +msgstr "kesepian" + +#: [mood]lost +msgid "lost" +msgstr "tersesat" + +#: [mood]lucky +msgid "lucky" +msgstr "beruntung" + +#: [mood]mean +msgid "mean" +msgstr "jahat" + +#: [mood]moody +msgid "moody" +msgstr "murung" + +#: [mood]nervous +msgid "nervous" +msgstr "gugup" + +#: [mood]neutral +msgid "neutral" +msgstr "netral" + +#: [mood]offended +msgid "offended" +msgstr "tersinggung" + +#: [mood]outraged +msgid "outraged" +msgstr "marah" + +#: [mood]playful +msgid "playful" +msgstr "humoris" + +#: [mood]proud +msgid "proud" +msgstr "bangga" + +#: [mood]relaxed +msgid "relaxed" +msgstr "santai" + +#: [mood]relieved +msgid "relieved" +msgstr "lega" + +#: [mood]remorseful +msgid "remorseful" +msgstr "menyesal" + +#: [mood]restless +msgid "restless" +msgstr "gelisah" + +#: [mood]sad +msgid "sad" +msgstr "sedih" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "sarkastik" + +#: [mood]satisfied +msgid "satisfied" +msgstr "puas" + +#: [mood]serious +msgid "serious" +msgstr "serius" + +#: [mood]shocked +msgid "shocked" +msgstr "kaget" + +#: [mood]shy +msgid "shy" +msgstr "malu" + +#: [mood]sick +msgid "sick" +msgstr "sakit" + +#: [mood]sleepy +msgid "sleepy" +msgstr "mengantuk" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "spontan" + +#: [mood]stressed +msgid "stressed" +msgstr "stress" + +#: [mood]strong +msgid "strong" +msgstr "kuat" + +#: [mood]surprised +msgid "surprised" +msgstr "tercengang" + +#: [mood]thankful +msgid "thankful" +msgstr "berterima kasih" + +#: [mood]thirsty +msgid "thirsty" +msgstr "haus" + +#: [mood]tired +msgid "tired" +msgstr "lelah" + +#: [mood]undefined +msgid "undefined" +msgstr "tak terdefinisi" + +#: [mood]weak +msgid "weak" +msgstr "lemah" + +#: [mood]worried +msgid "worried" +msgstr "khawatir" + +#: [month]title +msgid "Month" +msgstr "Bulan" + +#: [month]january +msgid "January" +msgstr "Januari" + +#: [month]february +msgid "February" +msgstr "Februari" + +#: [month]march +msgid "March" +msgstr "Maret" + +#: [month]april +msgid "April" +msgstr "April" + +#: [month]may +msgid "May" +msgstr "Mei" + +#: [month]june +msgid "June" +msgstr "Juni" + +#: [month]july +msgid "July" +msgstr "Juli" + +#: [month]august +msgid "August" +msgstr "Agustus" + +#: [month]september +msgid "September" +msgstr "September" + +#: [month]october +msgid "October" +msgstr "Oktober" + +#: [month]november +msgid "November" +msgstr "November" + +#: [month]december +msgid "December" +msgstr "Desember" + +#: [year]title +msgid "Year" +msgstr "Tahun" + +#: [date]today +msgid "Today" +msgstr "Hari Ini" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "Besok" + +#: [date]yesterday +msgid "Yesterday" +msgstr "Kemarin" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "hari" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "Tampilkan posting lawas" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "Kesalahan publikasikan komentar" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "Pemilik" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "Penerbit" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/io.po b/frontend/locales/io.po new file mode 100644 index 0000000..daaa309 --- /dev/null +++ b/frontend/locales/io.po @@ -0,0 +1,4156 @@ +# +# Translators: +# FIRST AUTHOR , 2013 +# William , 2015 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: William , 2015\n" +"Language-Team: Ido (http://app.transifex.com/movim/movim/language/io/)\n" +"Language: io\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Danko" + +#: [about]developers +msgid "Developers" +msgstr "Konstruktisti" + +#: [about]translators +msgid "Translators" +msgstr "Tradukanti" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Danko al omna tradukanti" + +#: [about]software +msgid "Software" +msgstr "Softwaro" + +#: [about]resources +msgid "Resources" +msgstr "Moyeni" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim esas XMPP fondanta komunikajo-programo. Omna di la projeti, ecepte la sequanta softwari e moyeni, esas sub" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Uzanto" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Chanjar mea pasvorto" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Pasvorto" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Pasvorto-konfirmo" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "La pasvorto aktualigesis" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "La donita pasvorti ne esas sama" + +#: [account]delete +msgid "Delete your account" +msgstr "Efacar vua uzanto" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Agi" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "" + +#: [general]theme +msgid "Theme" +msgstr "Temo" + +#: [general]language +msgid "Default language" +msgstr "" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Uzanto-nomo" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Riskribar pasvorto" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "Informo-mesajo" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "Vakua" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "Failo" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "Mesajo publikesis" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "Rideti" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "Omna" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "Serchar por nova servilo" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "Mea mikra poneo - adoranto-klubo" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "Aboni" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "Ka vu esas certe?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "Hola" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "Linguo" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "Nomo" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "Surnomo" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Nasko-dato" + +#: [general]gender +msgid "Gender" +msgstr "Sexuo" + +#: [general]marital +msgid "Marital Status" +msgstr "Spozala stando" + +#: [general]email +msgid "Email" +msgstr "E-posto" + +#: [general]website +msgid "Website" +msgstr "Retosituo" + +#: [general]about +msgid "About Me" +msgstr "Pri me" + +#: [general]accounts +msgid "Other Accounts" +msgstr "Altra uzanti" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "Lando" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "Redaktar" + +#: [edit]alias +msgid "Alias" +msgstr "" + +#: [edit]group +msgid "Group" +msgstr "Grupo" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "%s yari" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "Nekorekta uzanto-nomo" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "Nesavata eroro" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "Mea adreso" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "Mea publikigi" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%s volas konversar kun vu" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "Regardar %s profilo" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "Ho! Hola!" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Krear nova uzanto" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "Charjas" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Ne aceptebla" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "Vakua nomo" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "Membri" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "Mesaji" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "Niuzi" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "Ups!" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "Konverso" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "Lundio" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Mardio" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Merkurdio" + +#: [day]thursday +msgid "Thursday" +msgstr "Jovdio" + +#: [day]friday +msgid "Friday" +msgstr "Venerdio" + +#: [day]saturday +msgid "Saturday" +msgstr "Saturdio" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "Gateway" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "Konektita" + +#: [presence]away +msgid "Away" +msgstr "Absenta" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "Ne trublez" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "amoranta" + +#: [mood]angry +msgid "angry" +msgstr "iracanta" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "anxioza" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "Januaro" + +#: [month]february +msgid "February" +msgstr "Februaro" + +#: [month]march +msgid "March" +msgstr "Marto" + +#: [month]april +msgid "April" +msgstr "Aprilo" + +#: [month]may +msgid "May" +msgstr "Mayo" + +#: [month]june +msgid "June" +msgstr "Junio" + +#: [month]july +msgid "July" +msgstr "Julio" + +#: [month]august +msgid "August" +msgstr "Agosto" + +#: [month]september +msgid "September" +msgstr "Septembro" + +#: [month]october +msgid "October" +msgstr "Oktobro" + +#: [month]november +msgid "November" +msgstr "Novembro" + +#: [month]december +msgid "December" +msgstr "Decembro" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "Hodie" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "Morge" + +#: [date]yesterday +msgid "Yesterday" +msgstr "Hiere" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "dio" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/is.po b/frontend/locales/is.po new file mode 100644 index 0000000..ebed7bd --- /dev/null +++ b/frontend/locales/is.po @@ -0,0 +1,4155 @@ +# +# Translators: +# 659a98600edceabb465e78aa8b5b8bb9_c65e27f <16d122e3cee267cdc90c16cd391f23c3_252353>, 2015 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: 659a98600edceabb465e78aa8b5b8bb9_c65e27f <16d122e3cee267cdc90c16cd391f23c3_252353>, 2015\n" +"Language-Team: Icelandic (http://app.transifex.com/movim/movim/language/is/)\n" +"Language: is\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Þakkir" + +#: [about]developers +msgid "Developers" +msgstr "Forritarar" + +#: [about]translators +msgid "Translators" +msgstr "Þýðendur" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "" + +#: [about]software +msgid "Software" +msgstr "Hugbúnaður" + +#: [about]resources +msgid "Resources" +msgstr "Tilföng" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim er samskiptakerfi byggt á XMPP tækninni. Öll verkefni, fyrir utan eftirtalinn hugbúnað og efni, eru undir" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Aðgangur" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Breyta lykilorði mínu" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Lykilorð" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Staðfesting á lykilorði" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "Lykilorðið hefur verið uppfært" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "Lykilorðin eru ekki eins" + +#: [account]delete +msgid "Delete your account" +msgstr "Eyða aðgangi þínum" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Aðgerðir" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "Almennar Stillingar" + +#: [general]theme +msgid "Theme" +msgstr "Þemi" + +#: [general]language +msgid "Default language" +msgstr "Sjálfgefið tungumál" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Notendanafn" + +#: [credentials]re_password +msgid "Retype password" +msgstr "" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "Broskallar" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "Tengiliðir" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Stillingar" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "Áskriftir" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "Almennt" + +#: [config]language +msgid "Language" +msgstr "Tungumál" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "Sýna ótengda tengiliði" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "Fela ótengda tengiliði" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "Nafn" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "Gælunafn" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Afmælisdagur" + +#: [general]gender +msgid "Gender" +msgstr "Kyn" + +#: [general]marital +msgid "Marital Status" +msgstr "Hjúskaparstaða" + +#: [general]email +msgid "Email" +msgstr "Tölvupóstur" + +#: [general]website +msgid "Website" +msgstr "Vefsíða" + +#: [general]about +msgid "About Me" +msgstr "Um Mig" + +#: [general]accounts +msgid "Other Accounts" +msgstr "Aðrir Aðgangar" + +#: [general]tune +msgid "Is Listening" +msgstr "Er Að Hlusta" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "Land" + +#: [listen]title +msgid "Listening" +msgstr "Að Hlusta" + +#: [last]title +msgid "Last seen" +msgstr "Sást síðast" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "Efni" + +#: [post]published +msgid "Post published" +msgstr "Færsla hefur verið gefin út" + +#: [post]deleted +msgid "Post deleted" +msgstr "Færsla hefur verið eydd" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "Nýjar færslur" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Skapa nýjan aðgang" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "Ekkert aðgangs sköpunar eyðublað fundið á netþjón" + +#: [create]server_on +msgid "on" +msgstr "virkur" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "Hleð" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "Autt nafn" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "Meðlimir" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "Spjallrásir" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "Bókamerki uppfærð" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "Mörk" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "Skilaboð" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "Færslur" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "Samþykkja" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "Nei" + +#: [button]bool_yes +msgid "Yes" +msgstr "Já" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "Spjall" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "Áfram" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "Afturábak" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "Dagur" + +#: [day]monday +msgid "Monday" +msgstr "Mánudagur" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Þriðjudagur" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Miðvikudagur" + +#: [day]thursday +msgid "Thursday" +msgstr "Fimmtudagur" + +#: [day]friday +msgid "Friday" +msgstr "Föstudagur" + +#: [day]saturday +msgid "Saturday" +msgstr "Laugardagur" + +#: [day]sunday +msgid "Sunday" +msgstr "Sunnudagur" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "Sími" + +#: [client]web +msgid "Web" +msgstr "Vefur" + +#: [client]registered +msgid "Registered" +msgstr "Skráður" + +#: [client]gateway +msgid "Gateway" +msgstr "Gátt" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "" + +#: [presence]away +msgid "Away" +msgstr "" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "" + +#: [month]february +msgid "February" +msgstr "" + +#: [month]march +msgid "March" +msgstr "" + +#: [month]april +msgid "April" +msgstr "" + +#: [month]may +msgid "May" +msgstr "" + +#: [month]june +msgid "June" +msgstr "" + +#: [month]july +msgid "July" +msgstr "" + +#: [month]august +msgid "August" +msgstr "" + +#: [month]september +msgid "September" +msgstr "" + +#: [month]october +msgid "October" +msgstr "" + +#: [month]november +msgid "November" +msgstr "" + +#: [month]december +msgid "December" +msgstr "" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "" + +#: [date]yesterday +msgid "Yesterday" +msgstr "" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "" + +#: [post]title +msgid "Title" +msgstr "Titill" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "Ekkert efni" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/it.po b/frontend/locales/it.po new file mode 100644 index 0000000..beea547 --- /dev/null +++ b/frontend/locales/it.po @@ -0,0 +1,4163 @@ +# +# Translators: +# Andrea Novella , 2016 +# Astrofillite, 2015 +# Collederas , 2017 +# fmarella , 2015 +# Giacomo Lacava , 2018 +# Collederas , 2017 +# Simon Defli , 2017 +# svp -, 2025 +# The Gamer , 2018 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: svp -, 2025\n" +"Language-Team: Italian (http://app.transifex.com/movim/movim/language/it/)\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Ringraziamenti" + +#: [about]developers +msgid "Developers" +msgstr "Sviluppatori" + +#: [about]translators +msgid "Translators" +msgstr "Traduttori" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Grazie a tutti i traduttori" + +#: [about]software +msgid "Software" +msgstr "Software" + +#: [about]resources +msgid "Resources" +msgstr "Risorse" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim é una piattaforma di comunicazione basata su XMPP. L'intero progetto, ad eccezione del seguente software e risorse, usa la licenza" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Account" + +#: [account]account_management +msgid "Account management" +msgstr "Gestione account" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Modifica la mia password" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Password" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Conferma password" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "La password è stata aggiornata" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "Le password inserite non sono uguali" + +#: [account]delete +msgid "Delete your account" +msgstr "Elimina il tuo account" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "Eliminerai il tuo account XMPP e tutte le informazioni associate (profilo, contatti, pubblicazioni)." + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "Inserisci il nome utente completo" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "Per favore inserisci un nome utente valido." + +#: [account]gateway_title +msgid "Gateways" +msgstr "Gateway" + +#: [account]clear +msgid "Leave this instance" +msgstr "Abbandona l'istanza" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "Eliminerai tutte le informazioni associate al tuo account su questa istanza di Movim (profilo, contatti e pubblicazioni)." + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "Questa azione non eliminerà il tuo account, ma ti disconnetterà da Movim" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "Rimozione chiavi OMEMO" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "Stai per rimuovere questa chiave OMEMO. I tuoi contatti non saranno più in grado di cifrare messaggi con questa chiave. Questa azione è irreversibile. Vuoi procedere?" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Azioni" + +#: [adhoc]completed +msgid "Action completed" +msgstr "Azione completata" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "Impostazioni Generali" + +#: [general]theme +msgid "Theme" +msgstr "Tema" + +#: [general]language +msgid "Default language" +msgstr "Lingua predefinita" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "Verbosità dei log" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "La tua istanza è pubblica?" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "Registra la tua istanza su join.movim.eu ed unisciti alla federazione Movim!" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "Limita i suggerimenti" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "Suggerisci solo chat, Comunità e altri contenuti che sono disponibili sul server dell'utente XMPP e servizi collegati" + +#: [chatonly]title +msgid "Chat only" +msgstr "Solo chat" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "Disabilita ogni funzionalità social (Comunità, Blog, ecc...) e offri solo le funzioni chat" + +#: [credentials]title +msgid "Administration Credential" +msgstr "Credenziali dell' amministratore." + +#: [credentials]username [input]username +msgid "Username" +msgstr "Nome utente" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Ridigita la password" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "Disabilita la registrazione XMPP" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "Disabilita la procedura e il pulsante di registrazione dall'interfaccia" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "Server XMPP consentiti" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "Se desideri specificare una lista di server XMPP a cui questo pod Movim può accedere e vietare la connessione a tutti gli altri per favore inserisci qui i nomi di dominio da consentire, separati da virgole (es. movim.eu,jabber.fr)" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "Lascia questo campo vuoto se si consente l'accesso a tutti gli account XMPP." + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "Lista di server XMPP consentiti" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Descrizione" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "Descrizione generale dell'istanza" + +#: [information]banner +msgid "Main banner" +msgstr "Banner principale" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "Assicurati che la immagine non sia troppo larga e che sia raggiungibile da qualsiasi pagina web" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "Questo messaggio verrà visualizzato nella pagina di login. Puoi utilizzarlo per un collegamento ai Termini e Condizioni della tua istanza movim, ad esempio." + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "Lascia questo campo vuoto se non vuoi far visualizzare alcun messaggio." + +#: [information]label +msgid "Information Message" +msgstr "Messaggio informativo" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "Server XMPP di default" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "Dominio del server XMPP principale" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "Descrizione del server XMPP principale" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "Paese del server XMPP principale" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "Seleziona un paese nella lista" + +#: [tenor]title +msgid "Tenor integration" +msgstr "Integrazione Tenor" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "La tua chiave API per Tenor" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "Movim integra l'API di Tenor per la ricerca e invio di GIF nelle Chat" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "Accedi a Tenor e ottieni la tua chiave API" + +#: [log]empty +msgid "Empty" +msgstr "Vuoto" + +#: [log]syslog +msgid "Syslog" +msgstr "Syslog" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "Syslog e file" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "Segnalato da %s utenti" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "Questi account sono stati segnalati da degli utenti Movim" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "Puoi scegliere di bloccarli per tutti gli altri utenti" + +#: [adminsessions]title +msgid "Sessions" +msgstr "Sessioni" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "Utenti attualmente connessi al pod" + +#: [avatar]file +msgid "File" +msgstr "File" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "Immagine del profilo aggiornata" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "Immagine del profilo non aggiornata" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "Cambia la mia immagine del profilo" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "Cambia il mio banner" + +#: [banner]updated +msgid "Banner Updated" +msgstr "Banner aggiornato" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "Banner non aggiornato" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "Bloccato" + +#: [blocked]block_account +msgid "Block the account" +msgstr "Blocca l'account" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "Sblocca l'account" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "Account bloccato" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "Account sbloccato" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "Qui troverai gli utenti che hai bloccato" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "I seguenti utenti sono bloccati da Movim e non potranno più contattarti" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "L'amministratore è al corrente di questa lista, e può decidere se bloccare gli utenti per tutti" + +#: [blog]title +msgid "%s’s blog" +msgstr "Blog di %s" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "Questo contenuto è privato, per visualizzarlo accedi al tuo profilo." + +#: [message]published +msgid "Message Published" +msgstr "Messaggio pubblicato" + +#: [message]react +msgid "Add a reaction" +msgstr "Aggiungi reazione" + +#: [message]retract +msgid "Retract" +msgstr "Ritrai" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "Il contatto ha provato a ritrarre un messaggio, ma il tuo client non supporta questa funzione" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "Questo messaggio è stato moderato" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "Il tuo messaggio non può essere spedito, per favore riprova più tardi" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "Messaggio criptato" + +#: [message]retracted +msgid "Retracted message" +msgstr "Messaggio retratto" + +#: [message]composing +msgid "Composing…" +msgstr "Sta scrivendo..." + +#: [message]invitation +msgid "Invitation" +msgstr "Invito" + +#: [message]paused +msgid "Paused…" +msgstr "In pausa..." + +#: [message]gone +msgid "Contact gone" +msgstr "Contatto perso" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "↑ per modificare il tuo messaggio precedente" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr ":scorciatoia: per inserire una emoji" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "Non ti è consentito inviare messaggi in questa chatroom" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%s richiede la tua attenzione" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "Scrivi qui il tuo messaggio..." + +#: [chat]smileys +msgid "Smileys" +msgstr "Smileys" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "Contatti frequenti" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "Qui non c'è ancora nulla. Per ora..." + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "Non essere timido, invia un primo messaggio per iniziare la discussione" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "Hai ricevuto un invito per unirti ad una chatroom" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "Hai inviato un invito a questa chatroom" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "Accedi" + +#: [chat]profile +msgid "See the profile" +msgstr "Visualizza il profilo" + +#: [chat]clear +msgid "Clear the history" +msgstr "Cancella la cronologia" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "Modifica l'ultimo messaggio" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "Segnala un abuso" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "Chiamata in arrivo" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "Chiamata in uscita" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "Chiamata persa" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "Chiamata rifiutata" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "Chiamata terminata" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "%s ore %s minuti" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "%s minuti e %s secondi" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "%s secondi" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "%s è ora un amministratore" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "%s è ora proprietario" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "%s è stato bandito" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "%s è ora un membro" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "Si è verificato un errore durante l'invio del messaggio" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "Azione impossibile nelle chat cifrate" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "Questo è l'inizio di questa conversazione" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "Puoi scegliere se aggiungere il nuovo contatto o bloccarlo per prevenire altri messaggi non voluti" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "Aggiungi ai miei contatti" + +#: [chat]first_messages_block +msgid "Block" +msgstr "Blocca" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "Copia il testo" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "Testo copiato" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "Impronte" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "Impronte OMEMO" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "Generazione chiavi di cifratura, attendere..." + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "Chiavi di cifratura generate" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "Ricerco dispositivi OMEMO" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "Preparando la propria sessione cifrata" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "Cifratura disabilitata" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "Invia un messaggio per preparare la sessione cifrata" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "Abilitando cifratura per il contatto" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "Disabilitando cifratura per il contatto" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "Ultima attività" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "%s sessioni costruite" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "Ancora nessuna chat..." + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "Inizia una nuova conversazione cliccando il pulsante %s." + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "Chatta con un contatto" + +#: [chats]me +msgid "Me" +msgstr "Io" + +#: [chats]picture +msgid "Picture" +msgstr "Immagine" + +#: [chats]video +msgid "Video" +msgstr "Video" + +#: [chats]audio +msgid "Audio" +msgstr "Audio" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "Tutti" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "Contatti" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "Scopri, segui e condividi" + +#: [communities]counter +msgid "%s communities" +msgstr "%s comunità" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "Cerca un nuovo server" + +#: [communities]servers +msgid "Communities servers" +msgstr "Server delle comunità" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "Scopri comunità dei server" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "Server delle comunità scoperti" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "Questo server non esiste" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "Comunità che potrebbero interessarti" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "Comunità creata con successo" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "Non esistono ancora Comunità su questo server." + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "Crea una nuova comunità su %s" + +#: [communitiesserver]name +msgid "Community name" +msgstr "Nome della comunità" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "My Little Pony - Fan Club" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "Inserisci un nome valido per la comunità (minimo 4 caratteri)" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "Non puoi creare una comunità su questo server" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "Problema durante la scoperta degli oggetti" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "Il server %s non è raggiungibile" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "Nessun server delle comunità..." + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "A quanto pare al momento non riusciamo a trovare alcuna comunità" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Configurazione" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "Sottoscrizioni" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "Iscrizioni pubbliche" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "Iscrizioni delle mie comunità" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "Comunità cancellata con successo" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "Cancella la comunità" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "Stai per cancellare la seguente comunità. Conferma l'azione." + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "Sembra che questa comunità non esista più. Vuoi rimuoverla dalle tue iscrizioni?" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "Errore durante l'eliminazione del nodo" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "Configurazione salvata" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "Errore durante l'applicazione della configurazione del nodo" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "Proprietari" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "Autori" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "Ruoli" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "Ruolo impostato correttamente" + +#: [communityconfig]publication +msgid "Publication" +msgstr "Pubblicazione" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "Pubblico" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "Chiunque può pubblicare" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "Gli autori possono pubblicare" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "Lettori" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "I lettori possono pubblicare" + +#: [communityconfig]type +msgid "Community type" +msgstr "Tipo di comunità" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "Articoli" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "Pubblica e leggi articoli" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "Galleria" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "Pubblica e sfoglia immagini" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "%s lettori" + +#: [communitydata]num +msgid "%s posts" +msgstr "%s post" + +#: [communitydata]public +msgid "Public page" +msgstr "Pagina pubblica" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "Solo i pubblicatori possono pubblicare" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "Solo gli iscritti possono pubblicare" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "Le sottoscrizioni sono disabilitate per questa comunità" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "Dare un'etichetta a questa comunità" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "Nome della Mia Comunità" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "Apparirà sul tuo profilo" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "Sei sicuro?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "Ancora nessuna pubblicazione? Scrivi il tuo primo post per far scoprire il tuo profilo" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "Pubblica il mio primo post" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "Account privato" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "Communità seguite" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "Ciao" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "Qui potrai gestire tutte le tue sottoscrizioni" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "Non sei ancora iscritto ad alcuna comunità" + +#: [config]general +msgid "General" +msgstr "Generale" + +#: [config]language +msgid "Language" +msgstr "Lingua" + +#: [config]roster +msgid "Roster display" +msgstr "Visualizzazione lista" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "Mostra i contatti non in linea" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "Nascondi i messaggi non in linea" + +#: [config]appearence +msgid "Appearance" +msgstr "Aspetto" + +#: [config]updated +msgid "Configuration updated" +msgstr "Configurazione aggiornata" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "Configuazione non valida" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "Configurazione avanzata" + +#: [config]nsfw +msgid "Display adult content" +msgstr "Mostra contenuti per pubblico maturo" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "Ti permetterà di visualizzare post marcati con il tag #nsfw" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "Usa OMEMO" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "Abilita la cifratura su Movim per il tuo account" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "Modalità Notturna" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "Usa colori scuri per far riposare gli occhi" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "Il tuo browser sta già chiedendo a Movim di utilizzare la modalità scura di default" + +#: [config]chatmain +msgid "Main chat page" +msgstr "Mostra le chat all'avvio" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "Imposta come tua pagina predefinita la pagina delle chat" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "Impostazioni dell'archivio delle chat sul server" + +#: [config]mam_always +msgid "Always" +msgstr "Sempre" + +#: [config]mam_never +msgid "Never" +msgstr "Mai" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "Impostazioni dell'archivio aggiornate" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "Confidenzialità del blog personale" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "Blog pubblico" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "Accessibile a chiunque sulla rete" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "Blog privato" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "Accessibile solo agli iscritti" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "Impostazioni della confidenzialità salvate" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "Confidenzialità" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "Notifiche sonore" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "Messaggio in arrivo" + +#: [config]accent_color +msgid "Accent color" +msgstr "Colore principale" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "Attenzione" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "Cambiare il tuo nickname cambierà i collegamenti del tuo blog, feed e articoli" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "Conferma di autenticazione" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "La seguente piattaforma vuole la tua conferma per autenticare questo account" + +#: [confirm]code +msgid "Authentication code" +msgstr "Codice di autenticazione" + +#: [roster]add_title +msgid "Add a contact" +msgstr "Aggiungi un contatto" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "Inserisci l'indirizzo XMPP del tuo contatto" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "Premi Enter per convalidare." + +#: [roster]added +msgid "Contact added" +msgstr "Contatto aggiunto" + +#: [roster]updated +msgid "Contact updated" +msgstr "Contatto aggiornato" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "Contatto cancellato" + +#: [general]legend +msgid "General Information" +msgstr "Informazioni generali" + +#: [general]name +msgid "Name" +msgstr "Nome" + +#: [general]pronouns +msgid "Pronouns" +msgstr "Pronomi" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "lui/lei/loro/altro..." + +#: [general]nickname +msgid "Nickname" +msgstr "Nickname" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Data di nascita" + +#: [general]gender +msgid "Gender" +msgstr "Sesso" + +#: [general]marital +msgid "Marital Status" +msgstr "Stato civile" + +#: [general]email +msgid "Email" +msgstr "Email" + +#: [general]website +msgid "Website" +msgstr "Sito web" + +#: [general]about +msgid "About Me" +msgstr "Informazioni su di me" + +#: [general]accounts +msgid "Other Accounts" +msgstr "Altri account" + +#: [general]tune +msgid "Is Listening" +msgstr "Sta ascoltando" + +#: [general]pictures +msgid "Pictures" +msgstr "Immagini" + +#: [general]links +msgid "Links" +msgstr "Collegamenti" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "Il tuo account è privato" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "Vai alle Impostazioni per creare un blog pubblico e consentire agli altri utenti di trovarti" + +#: [position]legend +msgid "Geographic Position" +msgstr "Posizione geografica" + +#: [position]locality +msgid "Locality" +msgstr "Località" + +#: [position]country +msgid "Country" +msgstr "Nazione" + +#: [listen]title +msgid "Listening" +msgstr "Ascoltando" + +#: [last]title +msgid "Last seen" +msgstr "Ultima visita" + +#: [clients]title +msgid "Clients" +msgstr "Client" + +#: [clients]title_full +msgid "Clients information" +msgstr "Informazioni sui client" + +#: [explore]last_registered +msgid "Last registered" +msgstr "Ultimo iscritto" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "Trova dei nuovi contatti" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "Modifica" + +#: [edit]alias +msgid "Alias" +msgstr "Alias" + +#: [edit]group +msgid "Group" +msgstr "Gruppo" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "Stai per rimuovere uno dei tuoi contatti, vuoi procedere?" + +#: [age]years +msgid "%s years" +msgstr "%s anni" + +#: [blog]last +msgid "Last public post" +msgstr "Ultimo articolo pubblico" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "Visita il blog pubblico" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "Puoi vedere lo status di questo contatto" + +#: [subscription]to_button +msgid "Share my status" +msgstr "Condividi il mio stato" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "Ma questo contatto non può vedere il tuo" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "Non sei iscritto a questo contatto" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "Chiedi di iscriverti" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "Ma questo contatto può ancora vedere se sei online" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "Non sei iscritto a nessuno" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "Invita" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "Questo contatto è nella tua rubrica ma non vi siete iscritti a vicenda" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "Dettafono" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "Premi per registrare" + +#: [dictaphone]recording +msgid "Recording" +msgstr "Sto registrando" + +#: [draw]title +msgid "Draw" +msgstr "Disegna" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "Emoji" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "Emoji preferite" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "Scegli emoji dai pacchetti qui sotto per aggiungerle alle tue preferite" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "Gestisci emoji preferite" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "La scorciatoia dovrebbe contenere solo lettere minuscole, numeri e trattini" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "Nuova emoji preferita aggiunta" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "Questa scorciatoia è già in uso da un'altra emoji" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "Nessun preferito, vai alla pagina delle impostazioni per aggiungerne" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "Domande poste di frequente" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "Cosa fà l'impostazione Permessi?" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "La impostazione predefinita è che il contenuto è disponibile solo ai tuoi contatti. Puoi rendere il tuo profilo e pubblicazioni pubbliche abilitando la relativa opzione" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "Come si applica ciò ai post delle comunità?" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "In maniera simile alle pubblicazioni dei blog, però l'impostazione predefinita è rendere il post disponibile a membri e iscritti alla comunità (eccetto quando rendi esplicitamente pubblico il contenuto della comunità)" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "Dove posso trovare una lista di chat di gruppo?" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "Dove posso trovare i miei contatti?" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "Aprendo il pannello di ricerca." + +#: [apps]title +msgid "Applications" +msgstr "Applicazioni" + +#: [apps]install +msgid "Movim App" +msgstr "App Movim" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "Installa Movim sul tuo dispositivo" + +#: [apps]recommend +msgid "We also recommend" +msgstr "Suggeriamo anche" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "Amministratori & Contatti" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "Vuoi chattare con il team Movim ?" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "Aggiungi la chatroom" + +#: [error]username +msgid "Wrong username" +msgstr "Nome utente errato" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "Indirizzo XMPP non valido" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "Empty challenge dal server" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "Errore dominio XMPP, il tuo account non è un indirizzo XMPP valido" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "Mancano dei dati!" + +#: [error]internal +msgid "Internal server error" +msgstr "Errore interno del server" + +#: [error]session +msgid "Session error" +msgstr "Errore di sessione" + +#: [error]account_created +msgid "Account successfully created" +msgstr "Account creato con successo" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "Impossibile accedere" + +#: [error]default +msgid "Unknown error" +msgstr "Errore sconosciuto" + +#: [error]login_format +msgid "Invalid username format" +msgstr "Formato nome utente non valido" + +#: [error]password_format +msgid "Invalid password format" +msgstr "Formato password non valido" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "Il tuo server XMPP non è autorizzato" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "Movim ha fallito ad autenticarti. Devi aver inserito i dati sbagliati" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "Meccanismo di autenticazione non supportato da Movim" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "L'autenticazione XMPP è fallita" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "Connesso al server" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "Autenticato al server" + +#: [form]username +msgid "My address" +msgstr "Il mio indirizzo" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "Accedi con account di questi server" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "Accedi usando qualunque account XMPP o creane uno nuovo" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "Connesso" + +#: [form]population +msgid "Population" +msgstr "Popolazione" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "%s ti invita ad entrare in una chatroom" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "Amministrato da" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "Movim è una piattaforma federata di blogging e chat" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "Visita il sito ufficiale del progetto %s." + +#: [menu]empty_title +msgid "No news yet…" +msgstr "Ancora nessuna novità" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "Benvenuto al tuo feed delle notizie, qui potrai visualizzare tutti i post pubblicati dai tuoi contatti e nelle comunità a cui hai fatto iscrizione." + +#: [menu]mine +msgid "My publications" +msgstr "Le mie pubblicazioni" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "Scrivi un nuovo post..." + +#: [notification]request_title +msgid "Notifications request" +msgstr "Richiesta autorizzazione notifiche" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "Movim richiede il tuo consenso per visualizzare le notifiche" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "Puoi revocare questa autorizzazione in qualunque momento" + +#: [notification]request_button +msgid "Request" +msgstr "Richiedi" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "Autorizzazione concessa" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "Autorizzazione negata" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "Notifiche" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "Notifiche push" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "Movim invierà notifiche push ai seguenti dispositivi registrati" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "Notifiche push abilitate per questo dispositivo" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "Notifiche push disabilitate per questo dispositivo" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "Browser sconosciuto" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "Piattaforma sconosciuta" + +#: [invitations]received +msgid "Received Invitations" +msgstr "Inviti ricevuti" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "%s vorrebbe aggiungerti" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "Nessun nuovo invito" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "Nessuna iscrizione in attesa" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%s vorrebbe conversare con te" + +#: [notifs]empty +msgid "No new notifications" +msgstr "Nessuna nuova notifica" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "Movim può inviarti notifiche quando un nuovo post viene pubblicato o se ricevi messaggi" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "Potrai sempre disabilitarle successivamente" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "Profilo pubblico" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "Rendi pubblico il tuo profilo in modo da permettere agli altri utenti di trovarti e di trovare nuovi contatti più facilmente" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "Potrai sempre disabilitarlo nelle Impostazioni successivamente" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "Feed delle novità" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "Scopri e registrati ai Gruppi a cui sei interessato" + +#: [post]content +msgid "Content" +msgstr "Contenuto" + +#: [post]published +msgid "Post published" +msgstr "Post pubblicato" + +#: [post]deleted +msgid "Post deleted" +msgstr "Post cancellato" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "I post pubblicati di recente in Comunità a cui (ancora) non sei iscritto" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "Questo è un Post ripubblicato da %s" + +#: [post]see_profile +msgid "See %s profile" +msgstr "Guarda il profilo %s" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "Contatto sconosciuto" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "%s minuto" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "%s minuti" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "URL anteprima: %s" + +#: [post]public_yes +msgid "This post is public" +msgstr "Questo articolo è pubblico" + +#: [post]public_no +msgid "This post is private" +msgstr "Questo post è privato" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "URL pubblico di questo post" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "Disabilita i commenti" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "Nessuno sarà in grado di mettere mi piace o commentare" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "Commenti disabilitati per questo post" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "Commenti abilitati per questo post" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "Elimina questo articolo" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "Stai per eliminare questo articolo, sei sicuro?" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "Sei sicuro di voler cancellare questo commento ?" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "Scopri più post nella pagina delle comunità" + +#: [post]more +msgid "Read more" +msgstr "Continua a leggere" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "Commenti disabilitati" + +#: [post]comment_published +msgid "Comment published" +msgstr "Commento pubblicato" + +#: [post]comment_like_published +msgid "Liked" +msgstr "Piaciuti" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "Il commento non può essere pubblicato" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "Commento cancellato" + +#: [post]liked +msgid "Liked your publication" +msgstr "Piaciuta la tua pubblicazione" + +#: [post]commented +msgid "Commented" +msgstr "Commentato" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "Devi essere iscritto a %s per visualizzare questa pubblicazione" + +#: [hello]contact_post +msgid "Contact post" +msgstr "Post del contatto" + +#: [hello]share_title +msgid "Universal share button" +msgstr "Tasto di condivisione universale" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "Aggiungi ai preferiti o trascina il bottone nella tua barra degli strumenti e usalo su tutte le pagine che vuoi condividere su Movim" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "Condividi su Movim" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "Ehi! Ciao!" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "Sembra che sia la tua prima volta qui. Ti diamo il benvenuto su Movim!" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "Controlla il Menù" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "Tutte le funzionalità principali di Movim sono accessibili là. Non esitare a navigare tra le pagine per saperne di più!" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "Sembra tu non abbia ancora completato il tuo profilo" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "Puoi andare nella pagina delle Configuazioni per descriverti e inserire una bella immagine" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "Disconnetti" + +#: [status]presence +msgid "Presence" +msgstr "Presenza" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "Vuoi davvero disconnetterti?" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "Collegamento copiato negli appunti" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "Cosa c'è di nuovo?" + +#: [publish]brief_title +msgid "Brief" +msgstr "Sommario" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "Post" + +#: [publish]post +msgid "Write a post" +msgstr "Scrivi un post" + +#: [publish]add_link +msgid "Add a link" +msgstr "Aggiungi un link" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "Fai una foto" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "Per favore inserisci un titolo" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "Almeno una immagine è richiesta" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "Anteprima" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "Aggiungi un file o immagine" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "Non puoi pubblicare un post qui" + +#: [publish]new +msgid "New post" +msgstr "Nuovo articolo" + +#: [publish]title +msgid "Post title" +msgstr "Titolo del post" + +#: [publish]content +msgid "Markdown content" +msgstr "Contenuto Markdown" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "Inserisci un URL valido" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "Puoi formattare i tuoi contenuti usando le annotazioni HTML" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "Bozza salvata" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "Editor del testo con formattazione" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "Aggiungi #hashtag al tuo titolo o contenuto per permettere al tuo post di venire scoperto" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "Non hai l'autorizzazione a pubblicare qui" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "Il tuo blog è accessibile solo ai tuoi iscritti. Puoi renderlo accessibile a tutti nella pagina delle impostazioni." + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "Questo renderà possibile a chiunque di avere accesso alla tua pubblicazione" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "Aiuto" + +#: [publishhelp]more +msgid "More help" +msgstr "Ulteriore aiuto" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "Manuale di sintassi HTML" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "Pubblica ai miei contatti" + +#: [story]uploading +msgid "Uploading the story" +msgstr "Caricamento storia" + +#: [story]publishing +msgid "Publishing the story" +msgstr "Pubblicando storia" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "Quasi fatto..." + +#: [story]published +msgid "Story published" +msgstr "Storia pubblicata" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Crea un nuovo account" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "Nessun form di creazione dell'account trovato sul server" + +#: [create]server_on +msgid "on" +msgstr "su" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "Il tuo account è stato registrato con successo" + +#: [create]loading +msgid "Loading" +msgstr "Caricamento" + +#: [create]placeholder +msgid "…and start playing" +msgstr "...e inizia a giocare" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Non accettabile" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "Il sistema di registrazione su questo server non è al momento disponibile" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "Registrazione vietata" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "Entra in questa chatroom all'accesso" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "Indirizzo della chatroom errato" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "Per favore inserisci un nickname valido (da 2 a 40 caratteri)" + +#: [chatrooms]banned +msgid "Banned" +msgstr "Banditi" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "Nickname già in uso" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "Ora nella chatroom" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "Crea chatroom" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "Chatroom creata" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "Chatroom standard" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "Confermi di voler distruggere definitivamente la seguente chatroom?" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "Distruggi la chatroom" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "Chatroom distrutta" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "È necessaria la registrazione per utilizzare il servizio" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "Non più nella chatroom" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "Nome non inserito" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "Non hai ancora alcuna chatroom" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "Aggiungine una cliccando sul bottone \"aggiungi\" (+)" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "Nome o descrizione" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "Non ti è consentito entrare in questa chatroom" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "Chatroom gateway" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "Nascondi chatroom disconnesse" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "Indirizzo della chatroom" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "Questa chatroom non esiste" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "Il tuo nickname non è valido" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "Unisciti ad una chatroom" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "Unisciti ad una chatroom personalizzata" + +#: [chatrooms]members +msgid "Members" +msgstr "Partecipanti" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "Non accettabile" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "Non ti è concesso creare una chatroom qui" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "È richiesta una password" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "Fissa questa chatroom" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "Non puoi entrare in questa chatroom, è richiesta la registrazione" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "Il server remoto per questa chatroom non esiste" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "Connessione al server remoto scaduta" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "Stai per abbandonare permanentemente la chatroom. Per favore conferma questa azione." + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "Abbandona permanentemente una chatroom" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "Il limite dei partecipanti per questa chatroom è stato raggiunto" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "Mostra tutte le chatroom" + +#: [chatrooms]subject +msgid "Subject" +msgstr "Argomento" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "Chatrooms" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "Tipo di chatroom" + +#: [chatrooms]users +msgid "Users" +msgstr "Utenti" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "Segnalibro aggiornato" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "Canale pubblico" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "Sei entrato come utente anonimo" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "Puoi entrare con il tuo account, o crearne uno dalla pagina di accesso, uscendo cliccando la croce in alto a destra." + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "Accedi su %s" + +#: [room]invite +msgid "Invite a contact" +msgstr "Invita un contatto" + +#: [room]invited +msgid "Invitation sent" +msgstr "Invito spedito" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "Manda questo link ai tuoi contatti" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "Questa chatroom è scopribile da tutti" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "Profili pubblici" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "I partecipanti di questa chatroom possono vedere gli indirizzi XMPP degli altri partecipanti" + +#: [room]archived +msgid "Archived" +msgstr "Archiviato" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "I messaggi di questa chatroom sono archiviati" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "Chat di gruppo" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "Chat di gruppo privata con membri invitati" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "Aggiungi nuovo membro" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "Bandisci qualcuno" + +#: [room]banned_remove +msgid "Unban" +msgstr "Rimuovi il ban" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "Non ti è permesso cambiare questa affiliazione" + +#: [room]affiliation +msgid "Affiliation" +msgstr "Affiliazione" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "Ragione" + +#: [room]channel +msgid "Channel" +msgstr "Canale" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "Canale pubblico che può essere scoperto e a cui tutti possono accedere" + +#: [room]notify_never +msgid "Never notify" +msgstr "Non notificare mai" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "Notifica tutto" + +#: [room]pinned +msgid "Pinned" +msgstr "Fissato" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "Visitatore" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "Nessuna chatroom trovata localmente" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "Canali" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "Nessuna chatroom trovata globalmente" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "Trova più canali" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "%s in totale" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "Cosa stai cercando?" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "#gatti, nomeutente@server.com, John..." + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "Ancora nessun contatto?" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "Trovane uno cercando il loro nome o indirizzo" + +#: [search]tags +msgid "Tags" +msgstr "Tag" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "Mostra tutti i contatti" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "Allega a pubblicazione del blog" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "Condividi in una nuova pubblicazione" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "Post condiviso" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "Più contatti" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "Condividi all'esterno di Movim" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "Post condiviso attraverso Movim" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "Storia condivisa attraverso Movim" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "Adesivi" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "è stato inviato uno sticker tramite Movim" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "Digita una parola chiave" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "Trova una GIF" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "Alimentato da Tenor" + +#: [stories]publish +msgid "New Story" +msgstr "Nuova storia" + +#: [stories]title +msgid "Stories" +msgstr "Storie" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "Nuova storia da %s" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "Non hai accesso a questa storia, chiedi un invito all'autore per accedervi" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "Alcuni dei tuoi contatti potrebbero non avere accesso a questa storia" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "Potrebbero dover iscriversi all'account dell'autore" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "Invia commento a %s" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "Eliminazione storia" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "Confermi l'eliminazione di questa storia?" + +#: [stories]deleted +msgid "Story deleted" +msgstr "Storia eliminata" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "Movim è una rete sociale decentralizzata, ti invitiamo a registrarti su uno dei seguenti server XMPP" + +#: [feed]title +msgid "%s’s feed" +msgstr "Feed di %s" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "Nessun feed pubblico per questo contatto" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "Nessun contatto specificato" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "Carica" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "Scegli un file da caricare" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "Le immagini grandi verranno ridimensionate e compresse" + +#: [upload]error_filesize +msgid "File too large" +msgstr "File troppo grande" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "Caricamento fallito" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "Non ti è concesso caricare file" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "Hai superato la quota" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "Trascina qui il tuo file" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "Dimensione massima %s" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Profilo" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "Profilo aggiornato" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "Profilo non aggiornato" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "Questo sarà anche il tuo nickname di default quando entri in una chatroom" + +#: [profile]public +msgid "Your profile is now public" +msgstr "Il tuo profilo è ora pubblico" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "Il tuo profilo ha ora restrizioni" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "Configura il tuo nickname sulla istanza" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "Questo account è pubblico su questa istanza?" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "Movim creerà una pagina pubblica per hostare il tuo blog, e il tuo account sarà scopribile ad altri utenti Movim" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "Imposta un nickname locale per permettere agli altri utenti della istanza di trovarti facilmente" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "Il tuo nickname è %s" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "Mario_Rossi48" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "Il tuo nickname dovrebbe contenere solo lettere, numeri, - e _" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "Questo nickname è gia registrato" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "Nickname salvato" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Invia" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Resetta" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "Attualmente Movim sta funzionando in modalità degradata" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "Il tuo server non supporta la persistenza dei nodi PubSub o le funzionalità social (comunità, feed e profili) sono disabilitate dall'amministratore" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "Per favore, contatta l'amministratore del tuo server per sapere se questa funzione può essere abilitata." + +#: [visio]calling +msgid "…is calling you" +msgstr "... ti sta chiamando" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "Chiamata vocale in arrivo" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "Videochiamata in arrivo" + +#: [visio]ringing +msgid "…ringing" +msgstr "... squillando ..." + +#: [visio]declined +msgid "Declined" +msgstr "Declinata" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "Chiamata in corso" + +#: [visio]joined_call +msgid "Joined call" +msgstr "Unito alla chiamata" + +#: [visio]failed +msgid "Failed" +msgstr "Fallito" + +#: [visio]connecting +msgid "…connecting" +msgstr "... in collegamento ..." + +#: [visio]ended +msgid "End of call" +msgstr "Chiamata terminata" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "Tutti i partecipanti hanno lasciato la chiamata" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "%s ti sta chiamando" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "Chiamando %s" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "Creando una chiamata in conferenza in %s" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "Entrando nella chiamata in conferenza" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "Impostando la tua videocamera e microfono" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "Per favore consenti al tuo browser di condividere i tuoi dispositivi per configurarli" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "Microfono di default" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "Videocamera di default" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "Cambiato microfono di default" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "Cambiata videocamera di default" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "Nessun suono individuato dal tuo microfono" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "Movim richiede Javascript abilitato per funzionare" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "Movim è una piattaforma di rete sociale fighissima che protegge la tua privacy e ha un bel po' di funzionalità fantastiche." + +#: [global]loading +msgid "Loading…" +msgstr "Caricamento..." + +#: [global]or +msgid "Or" +msgstr "O" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "Cambia ad un altro pod" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "A proposito" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Registrazione" + +#: [page]administration +msgid "Administration" +msgstr "Amministrazione" + +#: [page]avatar +msgid "Profile Picture" +msgstr "Immagine di profilo" + +#: [page]blog +msgid "Blog" +msgstr "Blog" + +#: [page]chats +msgid "Messages" +msgstr "Messaggi" + +#: [page]communities +msgid "Communities" +msgstr "Comunità" + +#: [page]explore +msgid "Explore" +msgstr "Esplora" + +#: [page]feed +msgid "Feed" +msgstr "Feed" + +#: [page]home +msgid "Home" +msgstr "Inizio" + +#: [page]login +msgid "Login" +msgstr "Accedi" + +#: [page]news +msgid "News" +msgstr "Novità" + +#: [page]not_found +msgid "Not Found" +msgstr "Non trovato" + +#: [page]posts +msgid "Posts" +msgstr "Post" + +#: [page]publish +msgid "Publish" +msgstr "Pubblica" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "Condividi" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "Tag" + +#: [page]visio +msgid "Visio-conference" +msgstr "Videoconferenza" + +#: [error]error +msgid "Error: %s" +msgstr "Errore: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "Impossibile caricare il file '%s'" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "Il widget %s richiesto non esiste." + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "L'evento richiesto '%s' non è registrato" + +#: [error]whoops +msgid "Whoops!" +msgstr "Ops!" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "Movim non riesce a comunicare con il server, per favore riprova più tardi" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "Riconnessione al server..." + +#: [error]oops +msgid "Oops!" +msgstr "Oops!" + +#: [button]accept +msgid "Accept" +msgstr "Accetta" + +#: [button]add +msgid "Add" +msgstr "Aggiungi" + +#: [button]audio_call +msgid "Audio Call" +msgstr "Chiamata" + +#: [button]bool_no +msgid "No" +msgstr "No" + +#: [button]bool_yes +msgid "Yes" +msgstr "Si" + +#: [button]call +msgid "Call" +msgstr "Chiama" + +#: [button]cancel +msgid "Cancel" +msgstr "Annulla" + +#: [button]chat +msgid "Chat" +msgstr "Chat" + +#: [button]clear +msgid "Clear" +msgstr "Cancella" + +#: [button]close +msgid "Close" +msgstr "Chiudi" + +#: [button]connecting +msgid "Connecting" +msgstr "Connessione" + +#: [button]copy_link +msgid "Copy Link" +msgstr "Copia collegamento" + +#: [button]create +msgid "Create" +msgstr "Crea" + +#: [button]delete +msgid "Delete" +msgstr "Elimina" + +#: [button]destroy +msgid "Destroy" +msgstr "Distruggi" + +#: [button]discover +msgid "Discover" +msgstr "Scoprire" + +#: [button]enable +msgid "Enable" +msgstr "Attiva" + +#: [button]join +msgid "Join" +msgstr "Unisciti" + +#: [button]leave +msgid "Leave" +msgstr "Abbandona" + +#: [button]like +msgid "Like" +msgstr "Like" + +#: [button]more +msgid "More" +msgstr "Di più" + +#: [button]new +msgid "New conversation" +msgstr "Nuova conversazione" + +#: [button]next +msgid "Next" +msgstr "Prossimo" + +#: [button]not_now +msgid "Not Now" +msgstr "Non adesso" + +#: [button]open +msgid "Open" +msgstr "Apri" + +#: [button]previous +msgid "Previous" +msgstr "Precedente" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "Aggiorna" + +#: [button]refuse +msgid "Refuse" +msgstr "Rifiuta" + +#: [button]register +msgid "Register" +msgstr "Registrazione" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "Rispondi" + +#: [button]return +msgid "Return" +msgstr "Ritorna" + +#: [button]save +msgid "Save" +msgstr "Salva" + +#: [button]search +msgid "Search" +msgstr "Ricerca" + +#: [button]send_to +msgid "Send to" +msgstr "Invia a" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "Condividi" + +#: [button]sign_up +msgid "Sign Up" +msgstr "Iscriviti" + +#: [button]submitting +msgid "Submitting" +msgstr "Inviando..." + +#: [button]unregister +msgid "Unregister" +msgstr "Annulla la registrazione" + +#: [button]update +msgid "Update" +msgstr "Aggiorna" + +#: [button]updating +msgid "Updating" +msgstr "Aggiornamento" + +#: [button]validate +msgid "Validate" +msgstr "Convalida" + +#: [button]video_call +msgid "Video Call" +msgstr "Videochiamata" + +#: [input]optional +msgid "Optional" +msgstr "Opzionale" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "Comunità associata" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "Giorno" + +#: [day]monday +msgid "Monday" +msgstr "Lunedì" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Martedì" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Mercoledi" + +#: [day]thursday +msgid "Thursday" +msgstr "Giovedì" + +#: [day]friday +msgid "Friday" +msgstr "Venerdì" + +#: [day]saturday +msgid "Saturday" +msgstr "Sabato" + +#: [day]sunday +msgid "Sunday" +msgstr "Domenica" + +#: [client]bot +msgid "Bot" +msgstr "Bot" + +#: [client]console +msgid "Console" +msgstr "Console" + +#: [client]desktop +msgid "Desktop" +msgstr "Desktop" + +#: [client]phone +msgid "Phone" +msgstr "Telefono" + +#: [client]web +msgid "Web" +msgstr "Web" + +#: [client]registered +msgid "Registered" +msgstr "Registrato" + +#: [client]gateway +msgid "Gateway" +msgstr "Gateway" + +#: [client]im +msgid "Server" +msgstr "Server" + +#: [presence]online +msgid "Online" +msgstr "In linea" + +#: [presence]away +msgid "Away" +msgstr "Assente" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "Non disturbare" + +#: [presence]xa +msgid "Extended Away" +msgstr "Assenza prolungata" + +#: [presence]offline +msgid "Offline" +msgstr "Non in linea" + +#: [presence]error +msgid "Error" +msgstr "Errore" + +#: [mood]afraid +msgid "afraid" +msgstr "impaurito" + +#: [mood]amazed +msgid "amazed" +msgstr "stupito" + +#: [mood]amorous +msgid "amorous" +msgstr "amoroso" + +#: [mood]angry +msgid "angry" +msgstr "arrabbiato" + +#: [mood]annoyed +msgid "annoyed" +msgstr "infastidito" + +#: [mood]anxious +msgid "anxious" +msgstr "ansioso" + +#: [mood]aroused +msgid "aroused" +msgstr "suscitato" + +#: [mood]ashamed +msgid "ashamed" +msgstr "vergonato" + +#: [mood]bored +msgid "bored" +msgstr "annoiato" + +#: [mood]brave +msgid "brave" +msgstr "bravo" + +#: [mood]calm +msgid "calm" +msgstr "tranquillo" + +#: [mood]cautious +msgid "cautious" +msgstr "prudente" + +#: [mood]cold +msgid "cold" +msgstr "freddo" + +#: [mood]confident +msgid "confident" +msgstr "fiducioso" + +#: [mood]confused +msgid "confused" +msgstr "confuso" + +#: [mood]contemplative +msgid "contemplative" +msgstr "contemplativo" + +#: [mood]contented +msgid "contented" +msgstr "contento" + +#: [mood]cranky +msgid "cranky" +msgstr "irritabile" + +#: [mood]crazy +msgid "crazy" +msgstr "pazzo" + +#: [mood]creative +msgid "creative" +msgstr "creativo" + +#: [mood]curious +msgid "curious" +msgstr "curioso" + +#: [mood]dejected +msgid "dejected" +msgstr "abbattuto" + +#: [mood]depressed +msgid "depressed" +msgstr "depresso" + +#: [mood]disappointed +msgid "disappointed" +msgstr "deluso" + +#: [mood]disgusted +msgid "disgusted" +msgstr "disgustato" + +#: [mood]dismayed +msgid "dismayed" +msgstr "sgomentato" + +#: [mood]distracted +msgid "distracted" +msgstr "distratto" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "imbarazzato" + +#: [mood]envious +msgid "envious" +msgstr "invidioso" + +#: [mood]excited +msgid "excited" +msgstr "emozionato" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "provocante" + +#: [mood]frustrated +msgid "frustrated" +msgstr "frustrato" + +#: [mood]grateful +msgid "grateful" +msgstr "grato" + +#: [mood]grieving +msgid "grieving" +msgstr "triste" + +#: [mood]grumpy +msgid "grumpy" +msgstr "scontroso" + +#: [mood]guilty +msgid "guilty" +msgstr "colpevole" + +#: [mood]happy +msgid "happy" +msgstr "felice" + +#: [mood]hopeful +msgid "hopeful" +msgstr "fiducioso" + +#: [mood]hot +msgid "hot" +msgstr "caldo" + +#: [mood]humbled +msgid "humbled" +msgstr "avvilito" + +#: [mood]humiliated +msgid "humiliated" +msgstr "umiliato" + +#: [mood]hungry +msgid "hungry" +msgstr "affamato" + +#: [mood]hurt +msgid "hurt" +msgstr "ferito" + +#: [mood]impressed +msgid "impressed" +msgstr "impressionato" + +#: [mood]in_awe +msgid "in awe" +msgstr "incantato" + +#: [mood]in_love +msgid "in love" +msgstr "innamorato" + +#: [mood]indignant +msgid "indignant" +msgstr "Indignato" + +#: [mood]interested +msgid "interested" +msgstr "interessato" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "intossicato" + +#: [mood]invincible +msgid "invincible" +msgstr "invincibile" + +#: [mood]jealous +msgid "jealous" +msgstr "geloso" + +#: [mood]lonely +msgid "lonely" +msgstr "solo" + +#: [mood]lost +msgid "lost" +msgstr "perso" + +#: [mood]lucky +msgid "lucky" +msgstr "fortunato" + +#: [mood]mean +msgid "mean" +msgstr "meschino" + +#: [mood]moody +msgid "moody" +msgstr "di cattivo umore" + +#: [mood]nervous +msgid "nervous" +msgstr "nervoso" + +#: [mood]neutral +msgid "neutral" +msgstr "neutrale" + +#: [mood]offended +msgid "offended" +msgstr "offeso" + +#: [mood]outraged +msgid "outraged" +msgstr "oltraggiato" + +#: [mood]playful +msgid "playful" +msgstr "scherzoso" + +#: [mood]proud +msgid "proud" +msgstr "orgoglioso" + +#: [mood]relaxed +msgid "relaxed" +msgstr "rilassato" + +#: [mood]relieved +msgid "relieved" +msgstr "sollevato" + +#: [mood]remorseful +msgid "remorseful" +msgstr "pieno di rimorso" + +#: [mood]restless +msgid "restless" +msgstr "agitato" + +#: [mood]sad +msgid "sad" +msgstr "triste" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "sarcastico" + +#: [mood]satisfied +msgid "satisfied" +msgstr "soddisfatto" + +#: [mood]serious +msgid "serious" +msgstr "serio" + +#: [mood]shocked +msgid "shocked" +msgstr "scioccato" + +#: [mood]shy +msgid "shy" +msgstr "timido" + +#: [mood]sick +msgid "sick" +msgstr "ammalato" + +#: [mood]sleepy +msgid "sleepy" +msgstr "addormentato" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "spontaneo" + +#: [mood]stressed +msgid "stressed" +msgstr "stressato" + +#: [mood]strong +msgid "strong" +msgstr "forte" + +#: [mood]surprised +msgid "surprised" +msgstr "sorpreso" + +#: [mood]thankful +msgid "thankful" +msgstr "riconoscente" + +#: [mood]thirsty +msgid "thirsty" +msgstr "assetato" + +#: [mood]tired +msgid "tired" +msgstr "stanco" + +#: [mood]undefined +msgid "undefined" +msgstr "non definito" + +#: [mood]weak +msgid "weak" +msgstr "debole" + +#: [mood]worried +msgid "worried" +msgstr "preoccupato" + +#: [month]title +msgid "Month" +msgstr "Mese" + +#: [month]january +msgid "January" +msgstr "gennaio" + +#: [month]february +msgid "February" +msgstr "febbraio" + +#: [month]march +msgid "March" +msgstr "marzo" + +#: [month]april +msgid "April" +msgstr "aprile" + +#: [month]may +msgid "May" +msgstr "maggio" + +#: [month]june +msgid "June" +msgstr "giugno" + +#: [month]july +msgid "July" +msgstr "luglio" + +#: [month]august +msgid "August" +msgstr "agosto" + +#: [month]september +msgid "September" +msgstr "settembre" + +#: [month]october +msgid "October" +msgstr "ottobre" + +#: [month]november +msgid "November" +msgstr "novembre" + +#: [month]december +msgid "December" +msgstr "dicembre" + +#: [year]title +msgid "Year" +msgstr "Anno" + +#: [date]today +msgid "Today" +msgstr "Oggi" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "Domani" + +#: [date]yesterday +msgid "Yesterday" +msgstr "Ieri" + +#: [date]ago +msgid "%d days ago" +msgstr "%d giorni fa" + +#: [date]day +msgid "day" +msgstr "giorno" + +#: [post]title +msgid "Title" +msgstr "Titolo" + +#: [post]place +msgid "Place" +msgstr "Luogo" + +#: [post]by +msgid "by" +msgstr "da" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "Geolocalizzazione" + +#: [post]email +msgid "email" +msgstr "email" + +#: [post]empty +msgid "No content" +msgstr "Nessun contenuto" + +#: [post]no_comments +msgid "No comments yet" +msgstr "Ancora nessun commento" + +#: [post]older +msgid "Get older posts" +msgstr "Carica i post più vecchi" + +#: [post]new_items +msgid "%s new items" +msgstr "%s nuovi elementi" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "Errore nella pubblicazione del commento" + +#: [post]comments_get +msgid "Get the comments" +msgstr "Ricevi i commenti" + +#: [post]comment_add +msgid "Add a comment" +msgstr "Aggiungi un commento" + +#: [post]share +msgid "Share with" +msgstr "Condividi con" + +#: [post]share_everyone +msgid "Everyone" +msgstr "Tutti" + +#: [post]updated +msgid "Updated" +msgstr "Aggiornato" + +#: [post]content_not_found +msgid "Content not found" +msgstr "Contenuto non trovato" + +#: [post]default_title +msgid "Contact publication" +msgstr "Pubblicazione del contatto" + +#: [post]comments +msgid "Comments" +msgstr "Commenti" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "Post originale cancellato" + +#: [filesize]byte +msgid "B" +msgstr "B" + +#: [filesize]kilobyte +msgid "KB" +msgstr "KB" + +#: [filesize]megabyte +msgid "MB" +msgstr "MB" + +#: [filesize]gigabyte +msgid "GB" +msgstr "B" + +#: [filesize]terabyte +msgid "TB" +msgstr "B" + +#: [affiliation]owner +msgid "Owner" +msgstr "Proprietario" + +#: [affiliation]admin +msgid "Admin" +msgstr "Amministratore" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "Autore" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "Solo pubblicare" + +#: [affiliation]member +msgid "Member" +msgstr "Membro" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "Reietto" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "Nessuna affiliazione" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "Utente promosso a proprietario" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "Utente promosso ad amministratore" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "Utente promosso a membro" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "Utente bandito" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "Affiliazione rimossa all'utente" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "L'API non è raggiungibile, riprovare più tardi" + +#: [field]type_here +msgid "Type here" +msgstr "Digita qui" diff --git a/frontend/locales/ja.po b/frontend/locales/ja.po new file mode 100644 index 0000000..7f9b45e --- /dev/null +++ b/frontend/locales/ja.po @@ -0,0 +1,4160 @@ +# +# Translators: +# Aheahead , 2016 +# kubo suguru , 2017 +# Maxime Buquet , 2015,2017 +# RACER, 2017 +# Rintan, 2020 +# Rintan, 2020-2021 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Rintan, 2020-2021\n" +"Language-Team: Japanese (http://app.transifex.com/movim/movim/language/ja/)\n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "謝辞" + +#: [about]developers +msgid "Developers" +msgstr "開発者" + +#: [about]translators +msgid "Translators" +msgstr "翻訳者" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "全ての翻訳者に感謝します" + +#: [about]software +msgid "Software" +msgstr "ソフトウェア" + +#: [about]resources +msgid "Resources" +msgstr "リソース" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "MovimはXMPPベースのコミュニケーションプラットフォームです。これらのソフトウェアとリソースを除き、すべてのプロジェクトは" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "アカウント" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "パスワードを変更する" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "パスワード" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "パスワードを再入力してください" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "パスワードは更新されました" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "入力したパスワードが一致しません" + +#: [account]delete +msgid "Delete your account" +msgstr "アカウントを削除する" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "フルユーザーネームを入力してください" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "有効なユーザー名を入力してください" + +#: [account]gateway_title +msgid "Gateways" +msgstr "ゲートウェイ" + +#: [account]clear +msgid "Leave this instance" +msgstr "このインスタンスを離脱する" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "アクション" + +#: [adhoc]completed +msgid "Action completed" +msgstr "操作が完了しました" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "一般設定" + +#: [general]theme +msgid "Theme" +msgstr "テーマ" + +#: [general]language +msgid "Default language" +msgstr "標準の言語" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "ログ" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "サジェストを制限します" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "チャットのみ" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "全てのソーシャル機能(コミュニティ、ブログ…)を無効化し、チャットのみを利用します" + +#: [credentials]title +msgid "Administration Credential" +msgstr "管理者認証" + +#: [credentials]username [input]username +msgid "Username" +msgstr "ユーザ名" + +#: [credentials]re_password +msgid "Retype password" +msgstr "パスワードを再入力してください" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "XMPPでの登録機能を無効化" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "XMPPでの登録フローとボタンをUIから削除" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "空のままにするとアクセスできるXMPPアカウントが制限されません" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "説明" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "このインスタンスの概要" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "このメッセージはログインページに表示されます。例えば、あなたのMovimインスタンスの利用規約への関連付けに使用される場合があります。" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "メッセージを表示したくない場合は、空欄のままにしてください。" + +#: [information]label +msgid "Information Message" +msgstr "情報メッセージ" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "デフォルトのXMPPサーバー" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "メインXMPPサーバーのドメイン" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "メインXMPPサーバーの説明" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "メインXMPPサーバーの国" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "リストから国を選ぶ" + +#: [tenor]title +msgid "Tenor integration" +msgstr "Tenor連携" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "TenorのAPIキー" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "MovimをTenor APIと連携して、GIF画像の検索とチャットへの挿入ができます" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "Tenorにアクセスして、APIキーを入手" + +#: [log]empty +msgid "Empty" +msgstr "空" + +#: [log]syslog +msgid "Syslog" +msgstr "Syslog" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "システムログとファイル" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "セッション" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "ファイル" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "この接続はプライベートです。表示するにはログインしてください。" + +#: [message]published +msgid "Message Published" +msgstr "メッセージが公開されました" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "削除" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "あなたのメッセージは送信できていないかもしれません、後ほどもう一度試してみてください" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "暗号化されたメッセージ" + +#: [message]retracted +msgid "Retracted message" +msgstr "メッセージを取り消し" + +#: [message]composing +msgid "Composing…" +msgstr "投稿中…" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "一時停止中…" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "↑で前のメッセージを編集します" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr ":shortcut: で絵文字を挿入します" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%sはあなたの承認が必要です" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "メッセージを入力してください…" + +#: [chat]smileys +msgid "Smileys" +msgstr "絵文字" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "よく使う連絡先" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "まだ何もありません…" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "恥ずかしがらないでください、ディスカッションを始める最初のメッセージを送信しましょう" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "チャットルームに招待されました" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "%sに参加する" + +#: [chat]profile +msgid "See the profile" +msgstr "プロフィールを見る" + +#: [chat]clear +msgid "Clear the history" +msgstr "履歴をクリア" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "最後のメッセージを訂正する" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "不正行為を報告" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "着信" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "通話を終了" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "まだチャットはありません…" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "%sボタンを押して新しい会話を始める" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "誰かとチャットする" + +#: [chats]me +msgid "Me" +msgstr "自分" + +#: [chats]picture +msgid "Picture" +msgstr "画像" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "全て" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "知り合い" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "探索、フォロー、共有" + +#: [communities]counter +msgid "%s communities" +msgstr "%s コミュニティー" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "新しいサーバーを探す" + +#: [communities]servers +msgid "Communities servers" +msgstr "コミュニティサーバー" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "コミュニティサーバーを見つけました" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "このサーバーは存在しません" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "おすすめのコミュニティ" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "コミュニティを作成しました" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "このサーバーにはコミュニティがありません。" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "%sにコミュニティを作成" + +#: [communitiesserver]name +msgid "Community name" +msgstr "コミュニティ名" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "ママチャリ部活" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "有効なコミュニティ名を入力してください(最小4文字)" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "あなたはこのサーバーではコミュニティを作成できません" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "まだコミュニティサーバーはありません…" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "現時点ではコミュニティは無いようです" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "設定" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "コミュニティを削除しました" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "コミュニティを削除" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "次のコミュニティを削除しようとしています。この操作に間違いがないか確認してください。" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "すでにこのコミュニティは存在しないようです。購読から外しますか?" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "設定が保存されました。" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "ノードの設定を適用中にエラーが発生しました" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "オーナー" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "投稿者" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "役割" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "役割が設定されました" + +#: [communityconfig]publication +msgid "Publication" +msgstr "投稿" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "公開" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "誰でも投稿できます" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "投稿者が投稿できます" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "購読者" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "購読者が投稿できます" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "ギャラリー" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "%s人の購読者" + +#: [communitydata]num +msgid "%s posts" +msgstr "%s 投稿" + +#: [communitydata]public +msgid "Public page" +msgstr "投稿ページ" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "投稿者のみが投稿できます" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "購読者のみが投稿できます" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "このコミュニティでは購読が無効化されています" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "コミュニティにラベルを付ける" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "自分のコミュニティ名" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "あなたのプロフィールに表示されます" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "よろしいですか" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "こんにちは" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "全ての購読を管理できます" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "一般" + +#: [config]language +msgid "Language" +msgstr "言語" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "オフラインの知り合いを表示" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "オフラインの知り合いを非表示" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "設定が変更されました" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "設定が無効です" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "高度な設定" + +#: [config]nsfw +msgid "Display adult content" +msgstr "アダルトコンテンツを表示" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "#nsfwタグの付いた投稿を読めるようにします" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "ナイトモード" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "目の保護のために暗い色を使用します" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "メインチャットページ" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "常に" + +#: [config]mam_never +msgid "Never" +msgstr "オフ" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "アーカイブ設定が保存されました" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "新規メッセージ" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "認証の確認" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "次のプラットフォームがこのアカウントの認証の確認を求めています" + +#: [confirm]code +msgid "Authentication code" +msgstr "認証コード" + +#: [roster]add_title +msgid "Add a contact" +msgstr "連絡先を追加" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "Enterキーを押して認証します。" + +#: [roster]added +msgid "Contact added" +msgstr "コンタクトが追加されました" + +#: [roster]updated +msgid "Contact updated" +msgstr "コンタクトが更新されました" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "コンタクトが削除されました" + +#: [general]legend +msgid "General Information" +msgstr "概要" + +#: [general]name +msgid "Name" +msgstr "名前" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "ニックネーム" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "生年月日" + +#: [general]gender +msgid "Gender" +msgstr "性別" + +#: [general]marital +msgid "Marital Status" +msgstr "婚姻区分" + +#: [general]email +msgid "Email" +msgstr "メールアドレス" + +#: [general]website +msgid "Website" +msgstr "ホームページ" + +#: [general]about +msgid "About Me" +msgstr "個人情報" + +#: [general]accounts +msgid "Other Accounts" +msgstr "他のアカウント" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "画像" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "位置情報" + +#: [position]locality +msgid "Locality" +msgstr "現在地" + +#: [position]country +msgid "Country" +msgstr "国" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "最終オンライン" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "クライアント情報" + +#: [explore]last_registered +msgid "Last registered" +msgstr "最終登録" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "編集" + +#: [edit]alias +msgid "Alias" +msgstr "アリアス" + +#: [edit]group +msgid "Group" +msgstr "グループ" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "%s 歳" + +#: [blog]last +msgid "Last public post" +msgstr "最終公開投稿" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "この連絡先の状態を表示できます" + +#: [subscription]to_button +msgid "Share my status" +msgstr "ステータスを共有する" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "しかし、この連絡先からあなたの状態は見えません" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "この連絡先に購読されていません" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "購読を申し込む" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "しかし、まだこの連絡先からはあなたのオンライン状態が見えます" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "招待" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "お絵描き" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "よくある質問" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "権限の設定とは何ですか?" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "デフォルトではコンテンツはあなたの連絡先の人のみが表示できます。プロフィールと投稿の公開は関連する設定から有効にできます。" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "デフォルトでは投稿はメンバーとコミュニティの購読者のみが投稿できるという点を除いて、ブログの投稿と同じです(明示的にコミュニティのすべてのコンテンツをオープンにしている場合を除く)" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "連絡先はどこですか?" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "検索パネルを開いてください。" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "他のおすすめ" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "管理者&連絡先" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "Movimチームとチャットしますか?" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "チャットルームを追加する" + +#: [error]username +msgid "Wrong username" +msgstr "ユーザ名が正しくありません" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "サーバーからの空の試行" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "データが欠損しています!" + +#: [error]internal +msgid "Internal server error" +msgstr "内部エラー" + +#: [error]session +msgid "Session error" +msgstr "セッションエラー" + +#: [error]account_created +msgid "Account successfully created" +msgstr "アカウントが正常に作成されました" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "ログイン不可" + +#: [error]default +msgid "Unknown error" +msgstr "原因不明のエラー" + +#: [error]login_format +msgid "Invalid username format" +msgstr "ユーザー名の形式が無効です" + +#: [error]password_format +msgid "Invalid password format" +msgstr "パスワードの形式が無効です" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "あなたのXMPPサーバーは認証されていません" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "認識が失敗しました。入力した情報を確認してください" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "認識方法が対応されていません" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "XMPP認証に失敗しました" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "マイアドレス" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "オンライン" + +#: [form]population +msgid "Population" +msgstr "人口" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "%sがあなたをチャットルームに招待しています" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "まだニュースはありません…" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "自分の投稿" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "新しく投稿する…" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "通知" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%sがあなたとの会話を申請しています" + +#: [notifs]empty +msgid "No new notifications" +msgstr "新しい通知はありません" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "Movimは新しい投稿があるときやメッセージを受信したときに通知できます" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "後からいつでも無効にできます" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "公開プロフィール" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "プロフィールを公開して、他のユーザーがあなたを見つけ、簡単に連絡が取れるようになります" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "後からいつでも設定で無効にできます" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "新着情報" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "興味のあるグループを見つけて登録する" + +#: [post]content +msgid "Content" +msgstr "コンテンツ" + +#: [post]published +msgid "Post published" +msgstr "投稿しました" + +#: [post]deleted +msgid "Post deleted" +msgstr "投稿を削除しました" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "未購読のコミュニティの最近の投稿" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "%sからの再共有" + +#: [post]see_profile +msgid "See %s profile" +msgstr "%sのプロフィールを見る" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "%s分" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "%s分" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "この投稿は公開されています" + +#: [post]public_no +msgid "This post is private" +msgstr "この投稿はプライベートです" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "この投稿の公開URL" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "この投稿を削除する" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "この投稿が削除されますが、よろしいですか" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "このコメントを削除しますか?" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "もっと見る" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "コメントは無効になっています" + +#: [post]comment_published +msgid "Comment published" +msgstr "コメントが投稿されました" + +#: [post]comment_like_published +msgid "Liked" +msgstr "いいねされました" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "コメントが投稿できません" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "コメントを削除しました" + +#: [post]liked +msgid "Liked your publication" +msgstr "あなたの投稿がいいねされました" + +#: [post]commented +msgid "Commented" +msgstr "コメントされました" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "コンタクトの投稿" + +#: [hello]share_title +msgid "Universal share button" +msgstr "全体共有ボタン" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "ブックマークするか次のボタンをツールバーにドラッグアンドドロップして、Movimで共有したいページに使用してください" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "Movimで共有する" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "こんにちは!" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "メニューをチェックする" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "全ての主要なMovimの機能はここからアクセスできます。探索のためにどんどんページを移動してください!" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "まだプロフィールを埋めていないようです" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "設定ページで自己紹介と写真を追加できます" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "切断する" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "ログアウトしますか?" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "新着情報" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "投稿" + +#: [publish]post +msgid "Write a post" +msgstr "投稿する" + +#: [publish]add_link +msgid "Add a link" +msgstr "リンクを追加" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "写真を撮る" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "タイトルを入力して下さい" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "プレビュー" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "ファイルや写真を追加する" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "ここには投稿できません" + +#: [publish]new +msgid "New post" +msgstr "新しい投稿" + +#: [publish]title +msgid "Post title" +msgstr "投稿のタイトル" + +#: [publish]content +msgid "Markdown content" +msgstr "マークダウンの内容" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "有効なURLを入力してください" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "Markdownを使用してコンテンツを入力できます" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "下書きを保存しました" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "リッチテキストエディタ" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "ヘルプ" + +#: [publishhelp]more +msgid "More help" +msgstr "詳細なヘルプ" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "Markdown記法マニュアル" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "新しいアカウントを作成する" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "サーバー上にアカウント作成フォームが見つかりません" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "読み込み中" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "不正" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "このサーバーの登録システムは現在利用できません" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "登録が禁止されています" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "チャットルームを作成" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "名前が空です" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "チャットルームはありません" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "追加ボタンを押してチャットルームを追加します。" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "名前または説明" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "チャットルームに参加" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "カスタムチャットルームに参加" + +#: [chatrooms]members +msgid "Members" +msgstr "メンバー" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "パスワードが必須です" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "チャットルームに参加できません。登録が必須です。" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "トピック" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "チャットルーム" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "ユーザー" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "ブックマークを更新しました" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "現在匿名ユーザーでログインしています。" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "%sにログインする" + +#: [room]invite +msgid "Invite a contact" +msgstr "誰かに招待を送る" + +#: [room]invited +msgid "Invitation sent" +msgstr "招待を送信しました" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "このリンクを連絡先に送信する" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "このチャットルームは公開されており、誰でも見つけることができます" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "公開プロフィール" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "グループチャット" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "招待されたメンバーとチャットするプライベートグループ" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "新しいメンバーを追加" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "チャンネル" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "通知しない" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "常に通知する" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "登録者" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "何をお探しですか?" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "#猫, ユーザー名@server.com, ジョン…" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "まだ連絡先がありませんか?" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "タグ" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "全ての連絡先を表示" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "ブログの投稿に貼り付ける" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "投稿が共有されました" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "連絡先をさらに表示" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "ステッカー" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "Movimを使用してステッカーが送信されました" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "%sのフィード" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "この連絡先には公開フィードがありません" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "アップロード" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "ファイルを選択する" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "大きいサイズの写真はリサイズされて圧縮されます" + +#: [upload]error_filesize +msgid "File too large" +msgstr "ファイルが大きすぎます" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "アップロードに失敗しました" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "ファイルのアップロードが許可されていません" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "割り当て容量を超過しました" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "ここにファイルをドラッグアンドドロップ" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "プロフィール" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "プロフィールを更新しました" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "プロファイルは更新されませんでした" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "あなたのプロファイルは公開されました" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "あなたのプロファイルは非公開されました" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "インスタンスのニックネームを設定" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "このインスタンス上の他のユーザーが見つけやすいように、ローカルニックネームを設定してください。" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "あなたのニックネームは%sです。" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "John_Bob96" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "そのニックネームはすでに登録されています" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "ニックネームを保存しました" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "送信" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "リセット" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "Movimは現在、劣化版で実行中です" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "サーバーの管理者にこの機能を有効化できないか問い合わせてください。" + +#: [visio]calling +msgid "…is calling you" +msgstr "あなたを呼び出し中…" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "着信中…" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "接続中…" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "Movimが正常に動作するにはJavascriptの有効化が必要です。" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "読み込み中…" + +#: [global]or +msgid "Or" +msgstr "または" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "他のポッドに切り替える" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "Movimについて" + +#: [page]account_creation +msgid "Account Creation" +msgstr "アカウント作成" + +#: [page]administration +msgid "Administration" +msgstr "システム管理" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "ブログ" + +#: [page]chats +msgid "Messages" +msgstr "メッセージ" + +#: [page]communities +msgid "Communities" +msgstr "コミュニティ" + +#: [page]explore +msgid "Explore" +msgstr "探索" + +#: [page]feed +msgid "Feed" +msgstr "フィード" + +#: [page]home +msgid "Home" +msgstr "ホーム" + +#: [page]login +msgid "Login" +msgstr "ログイン" + +#: [page]news +msgid "News" +msgstr "新着情報" + +#: [page]not_found +msgid "Not Found" +msgstr "見つかりません" + +#: [page]posts +msgid "Posts" +msgstr "投稿" + +#: [page]publish +msgid "Publish" +msgstr "投稿" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "共有" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "タグ" + +#: [page]visio +msgid "Visio-conference" +msgstr "ビデオ会議" + +#: [error]error +msgid "Error: %s" +msgstr "エラーが発生しました。%s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "「%s」というファイルをロードできません。" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "要求されたウィジェット「%s」は存在しません。" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "要求されたイベント「%s」は登録されていません。" + +#: [error]whoops +msgid "Whoops!" +msgstr "しまった!" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "Movimはサーバーと通信できません、後ほど再試行してください" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "サーバーに再接続中…" + +#: [error]oops +msgid "Oops!" +msgstr "おっとぉ!" + +#: [button]accept +msgid "Accept" +msgstr "承知する" + +#: [button]add +msgid "Add" +msgstr "追加" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "いいえ" + +#: [button]bool_yes +msgid "Yes" +msgstr "はい" + +#: [button]call +msgid "Call" +msgstr "通話" + +#: [button]cancel +msgid "Cancel" +msgstr "取り消し" + +#: [button]chat +msgid "Chat" +msgstr "チャット" + +#: [button]clear +msgid "Clear" +msgstr "消去" + +#: [button]close +msgid "Close" +msgstr "閉じる" + +#: [button]connecting +msgid "Connecting" +msgstr "接続中" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "削除" + +#: [button]destroy +msgid "Destroy" +msgstr "削除" + +#: [button]discover +msgid "Discover" +msgstr "探索" + +#: [button]enable +msgid "Enable" +msgstr "有効" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "いいね" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "新しい会話" + +#: [button]next +msgid "Next" +msgstr "次へ" + +#: [button]not_now +msgid "Not Now" +msgstr "後で" + +#: [button]open +msgid "Open" +msgstr "開く" + +#: [button]previous +msgid "Previous" +msgstr "前へ" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "再読込" + +#: [button]refuse +msgid "Refuse" +msgstr "拒否" + +#: [button]register +msgid "Register" +msgstr "登録" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "返信" + +#: [button]return +msgid "Return" +msgstr "折り返し" + +#: [button]save +msgid "Save" +msgstr "保存" + +#: [button]search +msgid "Search" +msgstr "検索" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "共有" + +#: [button]sign_up +msgid "Sign Up" +msgstr "登録" + +#: [button]submitting +msgid "Submitting" +msgstr "投稿中" + +#: [button]unregister +msgid "Unregister" +msgstr "登録解除" + +#: [button]update +msgid "Update" +msgstr "更新" + +#: [button]updating +msgid "Updating" +msgstr "更新中" + +#: [button]validate +msgid "Validate" +msgstr "確認" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "日" + +#: [day]monday +msgid "Monday" +msgstr "月曜日" + +#: [day]tuesday +msgid "Tuesday" +msgstr "火曜日" + +#: [day]wednesday +msgid "Wednesday" +msgstr "水曜日" + +#: [day]thursday +msgid "Thursday" +msgstr "木曜日" + +#: [day]friday +msgid "Friday" +msgstr "金曜日" + +#: [day]saturday +msgid "Saturday" +msgstr "土曜日" + +#: [day]sunday +msgid "Sunday" +msgstr "日曜日" + +#: [client]bot +msgid "Bot" +msgstr "ボット" + +#: [client]console +msgid "Console" +msgstr "コンソール" + +#: [client]desktop +msgid "Desktop" +msgstr "デスクトップ" + +#: [client]phone +msgid "Phone" +msgstr "電話" + +#: [client]web +msgid "Web" +msgstr "ウェブ" + +#: [client]registered +msgid "Registered" +msgstr "登録済み" + +#: [client]gateway +msgid "Gateway" +msgstr "ゲートウェイ" + +#: [client]im +msgid "Server" +msgstr "サーバー" + +#: [presence]online +msgid "Online" +msgstr "オンライン" + +#: [presence]away +msgid "Away" +msgstr "離席中" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "取り込み中" + +#: [presence]xa +msgid "Extended Away" +msgstr "長時間の不在" + +#: [presence]offline +msgid "Offline" +msgstr "オフライン" + +#: [presence]error +msgid "Error" +msgstr "エラー" + +#: [mood]afraid +msgid "afraid" +msgstr "恐怖" + +#: [mood]amazed +msgid "amazed" +msgstr "驚き" + +#: [mood]amorous +msgid "amorous" +msgstr "目がハート" + +#: [mood]angry +msgid "angry" +msgstr "怒り" + +#: [mood]annoyed +msgid "annoyed" +msgstr "面白くない" + +#: [mood]anxious +msgid "anxious" +msgstr "心配" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "恥ずかしい" + +#: [mood]bored +msgid "bored" +msgstr "退屈" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "不明" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "月" + +#: [month]january +msgid "January" +msgstr "1月" + +#: [month]february +msgid "February" +msgstr "2月" + +#: [month]march +msgid "March" +msgstr "3月" + +#: [month]april +msgid "April" +msgstr "4月" + +#: [month]may +msgid "May" +msgstr "5月" + +#: [month]june +msgid "June" +msgstr "6月" + +#: [month]july +msgid "July" +msgstr "7月" + +#: [month]august +msgid "August" +msgstr "8月" + +#: [month]september +msgid "September" +msgstr "9月" + +#: [month]october +msgid "October" +msgstr "10月" + +#: [month]november +msgid "November" +msgstr "11月" + +#: [month]december +msgid "December" +msgstr "12月" + +#: [year]title +msgid "Year" +msgstr "年" + +#: [date]today +msgid "Today" +msgstr "今日" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "明日" + +#: [date]yesterday +msgid "Yesterday" +msgstr "昨日" + +#: [date]ago +msgid "%d days ago" +msgstr "%d日前" + +#: [date]day +msgid "day" +msgstr "日" + +#: [post]title +msgid "Title" +msgstr "件名" + +#: [post]place +msgid "Place" +msgstr "場所" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "地理情報" + +#: [post]email +msgid "email" +msgstr "メール" + +#: [post]empty +msgid "No content" +msgstr "コンテンツがありません" + +#: [post]no_comments +msgid "No comments yet" +msgstr "まだコメントはありません" + +#: [post]older +msgid "Get older posts" +msgstr "前の投稿を見る" + +#: [post]new_items +msgid "%s new items" +msgstr "%s件の新しいアイテム" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "コメントの投稿エラー" + +#: [post]comments_get +msgid "Get the comments" +msgstr "コメントを見る" + +#: [post]comment_add +msgid "Add a comment" +msgstr "コメントを投稿する" + +#: [post]share +msgid "Share with" +msgstr "次と共有:" + +#: [post]share_everyone +msgid "Everyone" +msgstr "全て" + +#: [post]updated +msgid "Updated" +msgstr "更新されました" + +#: [post]content_not_found +msgid "Content not found" +msgstr "コンタクトが見つかりませんでした" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "コメント" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "元の投稿が削除されました" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "オーナー" + +#: [affiliation]admin +msgid "Admin" +msgstr "管理者" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "投稿者" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "投稿のみ" + +#: [affiliation]member +msgid "Member" +msgstr "メンバー" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "追放" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "無所属" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "APIにアクセスできません、後ほど再試行してください" + +#: [field]type_here +msgid "Type here" +msgstr "ここに入力してください" diff --git a/frontend/locales/jbo.po b/frontend/locales/jbo.po new file mode 100644 index 0000000..b7ab6b7 --- /dev/null +++ b/frontend/locales/jbo.po @@ -0,0 +1,4155 @@ +# +# Translators: +# FIRST AUTHOR , 2011 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: FIRST AUTHOR , 2011\n" +"Language-Team: Lojban (http://app.transifex.com/movim/movim/language/jbo/)\n" +"Language: jbo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "" + +#: [about]developers +msgid "Developers" +msgstr "" + +#: [about]translators +msgid "Translators" +msgstr "" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "" + +#: [about]software +msgid "Software" +msgstr "" + +#: [about]resources +msgid "Resources" +msgstr "" + +#: [about]api +msgid "API" +msgstr "" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "japyvla" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "" + +#: [account]delete +msgid "Delete your account" +msgstr "" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "" + +#: [general]theme +msgid "Theme" +msgstr "" + +#: [general]language +msgid "Default language" +msgstr "" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "" + +#: [credentials]re_password +msgid "Retype password" +msgstr "" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "bangu" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "" + +#: [general]gender +msgid "Gender" +msgstr "" + +#: [general]marital +msgid "Marital Status" +msgstr "" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "samci'ejudri" + +#: [general]about +msgid "About Me" +msgstr "" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "mi judri" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "vrabatke" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "kraga'igau" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "lazyzda" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "srera la'oi %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "tolbevri la %s" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "" + +#: [day]tuesday +msgid "Tuesday" +msgstr "" + +#: [day]wednesday +msgid "Wednesday" +msgstr "" + +#: [day]thursday +msgid "Thursday" +msgstr "" + +#: [day]friday +msgid "Friday" +msgstr "" + +#: [day]saturday +msgid "Saturday" +msgstr "" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "" + +#: [presence]away +msgid "Away" +msgstr "" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "" + +#: [month]february +msgid "February" +msgstr "" + +#: [month]march +msgid "March" +msgstr "" + +#: [month]april +msgid "April" +msgstr "" + +#: [month]may +msgid "May" +msgstr "" + +#: [month]june +msgid "June" +msgstr "" + +#: [month]july +msgid "July" +msgstr "" + +#: [month]august +msgid "August" +msgstr "" + +#: [month]september +msgid "September" +msgstr "" + +#: [month]october +msgid "October" +msgstr "" + +#: [month]november +msgid "November" +msgstr "" + +#: [month]december +msgid "December" +msgstr "" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "" + +#: [date]yesterday +msgid "Yesterday" +msgstr "" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/kk.po b/frontend/locales/kk.po new file mode 100644 index 0000000..0d0c03b --- /dev/null +++ b/frontend/locales/kk.po @@ -0,0 +1,4154 @@ +# +# Translators: +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Kazakh (http://app.transifex.com/movim/movim/language/kk/)\n" +"Language: kk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "" + +#: [about]developers +msgid "Developers" +msgstr "" + +#: [about]translators +msgid "Translators" +msgstr "" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "" + +#: [about]software +msgid "Software" +msgstr "" + +#: [about]resources +msgid "Resources" +msgstr "" + +#: [about]api +msgid "API" +msgstr "" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "" + +#: [account]delete +msgid "Delete your account" +msgstr "" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "" + +#: [general]theme +msgid "Theme" +msgstr "" + +#: [general]language +msgid "Default language" +msgstr "" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "" + +#: [credentials]re_password +msgid "Retype password" +msgstr "" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "" + +#: [general]gender +msgid "Gender" +msgstr "" + +#: [general]marital +msgid "Marital Status" +msgstr "" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "" + +#: [general]about +msgid "About Me" +msgstr "" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "" + +#: [day]tuesday +msgid "Tuesday" +msgstr "" + +#: [day]wednesday +msgid "Wednesday" +msgstr "" + +#: [day]thursday +msgid "Thursday" +msgstr "" + +#: [day]friday +msgid "Friday" +msgstr "" + +#: [day]saturday +msgid "Saturday" +msgstr "" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "" + +#: [presence]away +msgid "Away" +msgstr "" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "" + +#: [month]february +msgid "February" +msgstr "" + +#: [month]march +msgid "March" +msgstr "" + +#: [month]april +msgid "April" +msgstr "" + +#: [month]may +msgid "May" +msgstr "" + +#: [month]june +msgid "June" +msgstr "" + +#: [month]july +msgid "July" +msgstr "" + +#: [month]august +msgid "August" +msgstr "" + +#: [month]september +msgid "September" +msgstr "" + +#: [month]october +msgid "October" +msgstr "" + +#: [month]november +msgid "November" +msgstr "" + +#: [month]december +msgid "December" +msgstr "" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "" + +#: [date]yesterday +msgid "Yesterday" +msgstr "" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/ko.po b/frontend/locales/ko.po new file mode 100644 index 0000000..9959035 --- /dev/null +++ b/frontend/locales/ko.po @@ -0,0 +1,4156 @@ +# +# Translators: +# Sinyeol An , 2018-2019,2026 +# 조수연, 2022 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Sinyeol An , 2018-2019,2026\n" +"Language-Team: Korean (http://app.transifex.com/movim/movim/language/ko/)\n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "감사합니다" + +#: [about]developers +msgid "Developers" +msgstr "개발자" + +#: [about]translators +msgid "Translators" +msgstr "번역자" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "모든 번역자분들께 감사드립니다" + +#: [about]software +msgid "Software" +msgstr "소프트웨어" + +#: [about]resources +msgid "Resources" +msgstr "리소스" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim은 XMPP를 바탕으로 하는 커뮤니케이션 플랫폼입니다. 다음 소프트웨어와 리소스를 제외한 모든 프로젝트는 링크를 통해 보실 수 있어요." + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "소스코드" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "깃헙 저장소에서 소스코드를 확인해보세요." + +#: [account]title [page]account +msgid "Account" +msgstr "계정" + +#: [account]account_management +msgid "Account management" +msgstr "계정 관리" + +#: [account]password_change_title +msgid "Change my password" +msgstr "내 비밀번호 바꾸기" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "비밀번호" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "비밀번호 확인" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "비밀번호가 바뀌었습니다" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "입력하신 비밀번호가 다릅니다" + +#: [account]delete +msgid "Delete your account" +msgstr "계정 삭제하기" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "당신은 당신의 XMPP 계정과 그와 관련된 모든 정보들을 삭제할 것입니다. (프로필, 연락처, 게시물 포함)" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "사용자 이름 전체를 입력하세요" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "올바른 사용자 이름을 입력해주세요." + +#: [account]gateway_title +msgid "Gateways" +msgstr "게이트웨이" + +#: [account]clear +msgid "Leave this instance" +msgstr "이 인스턴스에서 나가기" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "당신은 당신의 계정과 관련된 모든 정보들을 해당 Movim 인스턴스에서 삭제할 것입니다. (프로필, 연락처, 게시물 포함)" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "이 작업을 수행해도 계정이 삭제되지는 않지만 이 Movim 인스턴스에서 연결이 끊어집니다." + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "OMEMO 키 삭제" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "다음 OMEMO 키를 삭제합니다. 대화 상대가 해당 키를 사용하여 메시지를 더 이상 암호화할 수 없습니다. 이 작업은 되돌릴 수 없습니다. 진행하시겠습니까?" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "작업" + +#: [adhoc]completed +msgid "Action completed" +msgstr "작업 완료" + +#: [tools]title +msgid "Developer Tools" +msgstr "개발자 도구" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "SDP에서 Jingle로 변환" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "Jingle에서 SDP로 변환" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "일반 설정" + +#: [general]theme +msgid "Theme" +msgstr "테마" + +#: [general]language +msgid "Default language" +msgstr "기본 언어" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "상세 로그" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "당신의 인스턴스를 join.movim.eu에 등록하고 Movim 연맹에 가입하세요." + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "추천 중지" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "사용자 XMPP 서버 및 관련 서비스에서 사용할 수 있는 채팅방, 커뮤니티 및 기타 콘텐츠만 추천합니다" + +#: [chatonly]title +msgid "Chat only" +msgstr "채팅 전용" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "모든 소셜 기능(커뮤니티, 블로그 등)을 비활성화하고 채팅 기능만 유지합니다" + +#: [credentials]title +msgid "Administration Credential" +msgstr "관리 자격 증명" + +#: [credentials]username [input]username +msgid "Username" +msgstr "사용자 이름" + +#: [credentials]re_password +msgid "Retype password" +msgstr "비밀번호 재입력" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "XMPP 등록 기능 비활성화" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "인터페이스에서 XMPP 등록 흐름 및 버튼을 제거합니다" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "허가된 XMPP 서버" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "Movim 포드에 승인된 XMPP 서버 목록을 지정하고 다른 모든 서버에 대한 연결을 금지하려면 여기에 해당 도메인 이름을 쉼표와 함께 입력하세요(예: movim.eu,jabber.fr)." + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "모든 XMPP 계정에 대한 액세스를 허용하는 경우 이 필드를 비워 둡니다." + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "허가된 XMPP 서버 목록" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "설명" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "인스턴스에 대한 일반 설명" + +#: [information]banner +msgid "Main banner" +msgstr "메인 배너" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "사진이 너무 크지 않고 모든 웹페이지에서 접근할 수 있는지 확인해주세요" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "이 메시지는 로그인 페이지에 표시됩니다. 예를 들어 Movim 인스턴스의 이용 약관을 연결하는 데 사용할 수 있습니다." + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "메시지를 표시하지 않으려면 이 필드를 공백으로 둡니다." + +#: [information]label +msgid "Information Message" +msgstr "정보 메시지" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "기본 XMPP 서버" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "기본 XMPP 서버 도메인" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "기본 XMPP 서버 설명" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "메인 XMPP 서버 국가" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "목록에서 국가 선택" + +#: [tenor]title +msgid "Tenor integration" +msgstr "Tenor 통합" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "Tenor API 키" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "Movim은 Tenor API를 통합하여 채팅에서 GIF 검색 및 게시를 허용합니다." + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "Tener에 액세스하여 API 키 받기" + +#: [log]empty +msgid "Empty" +msgstr "비우기" + +#: [log]syslog +msgid "Syslog" +msgstr "Syslog" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "Syslog 및 파일" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "최대 연결 가능한 세션" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "한도에 도달했을 때, Movim은 새 사용자가 연결되는 것을 제한합니다. 제한을 두지 않으려면 0으로 설정하세요." + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "%s 명의 사용자가 신고하였습니다." + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "일부 Movim 사용자들이 해당 계정들을 신고하였습니다." + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "다른 모든 사용자에게 해당 사용자를 차단하도록 설정할 수 있습니다." + +#: [adminsessions]title +msgid "Sessions" +msgstr "세션" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "현재 포드에서 연결된 사용자" + +#: [avatar]file +msgid "File" +msgstr "파일" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "프로필 사진 업데이트" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "프로필 사진이 업데이트되지 않음" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "내 프로필 사진 바꾸기" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "사진이 너무 큽니다." + +#: [avatar]missing +msgid "No avatar yet" +msgstr "아직 아바타 없음" + +#: [banner]change +msgid "Change my banner" +msgstr "내 배너 바꾸기" + +#: [banner]updated +msgid "Banner Updated" +msgstr "배너 업데이트됨" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "배너 업데이트 안 됨" + +#: [banner]missing +msgid "No banner yet" +msgstr "아직 배너 없음" + +#: [blocked]title +msgid "Blocked" +msgstr "차단됨" + +#: [blocked]block_account +msgid "Block the account" +msgstr "계정 차단하기" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "계정 차단 해제하기" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "차단된 계정" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "차단되지 않은 계정" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "이곳에 당신이 차단한 사용자들이 있습니다" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "다음 사용자들은 Movim에 의해 차단되었으며, 당신에게 더이상 연락할 수 없습니다." + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "관리자도 이 목록을 확인하여 해당 사용자를 시스템 전체에서 차단할 수 있습니다." + +#: [blog]title +msgid "%s’s blog" +msgstr "%s의 블로그" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "이 콘텐츠는 비공개입니다. 보려면 로그인하세요." + +#: [message]published +msgid "Message Published" +msgstr "게시된 메시지" + +#: [message]react +msgid "Add a reaction" +msgstr "리액션 추가" + +#: [message]retract +msgid "Retract" +msgstr "취소하다" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "메시지를 보낼 수 없습니다. 나중에 다시 시도해 주세요." + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "암호화된 메시지" + +#: [message]retracted +msgid "Retracted message" +msgstr "취소된 메시지" + +#: [message]composing +msgid "Composing…" +msgstr "구성 중..." + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "일시 중지됨" + +#: [message]gone +msgid "Contact gone" +msgstr "대화 상대 떠남" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "↑ 이전 메시지를 편집하려면" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr ":shortcut: 이모티콘을 삽입하려면" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%s에 관심이 있으신가요?" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "여기에 당신의 메시지가 있습니다." + +#: [chat]smileys +msgid "Smileys" +msgstr "스마일리" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "자주 사용하는 연락처" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "아직 아무것도 없어요" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "부끄러워하지 말고 디스커션을 시작하기 위해 첫 메시지를 보내보세요." + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "채팅방 초대를 받았습니다." + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "가입 %s" + +#: [chat]profile +msgid "See the profile" +msgstr "프로필 보기" + +#: [chat]clear +msgid "Clear the history" +msgstr "기록 지우기" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "마지막 메시지 수정" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "신고하기" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "수신 전화" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "통화 종료" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "암호화된 채팅에서 수행할 수 없는 작업" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "지문" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "OMEMO 지문" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "암호화 키를 생성하는 중입니다. 잠시 기다려 주세요." + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "암호화 키 생성" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "OMEMO 장치 해결" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "자체 암호화 세션 구축" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "암호화 비활성화됨" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "암호화된 세션을 구축하기 위해 메시지 보내기" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "연락처에 대한 암호화 활성화" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "연락처에 대한 암호화 비활성화" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "마지막 활동" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "%s개 세션 구축" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "아직 채팅이 없습니다" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "%s 버튼을 클릭하여 새 대화를 시작하세요." + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "대화 상대와 채팅" + +#: [chats]me +msgid "Me" +msgstr "나" + +#: [chats]picture +msgid "Picture" +msgstr "사진" + +#: [chats]video +msgid "Video" +msgstr "영상" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "모두" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "연락처" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "검색, 팔로우, 공유" + +#: [communities]counter +msgid "%s communities" +msgstr "%s개 커뮤니티" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "새 서버 검색" + +#: [communities]servers +msgid "Communities servers" +msgstr "커뮤니티 서버" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "서버별 커뮤니티 검색" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "커뮤니티 서버가 검색됨" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "이 서버는 존재하지 않습니다." + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "당신이 좋아할 만한 커뮤니티" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "커뮤니티가 성공적으로 생성됨" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "이 서버에는 아직 커뮤니티가 없습니다." + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "%s에 새 커뮤니티 만들기" + +#: [communitiesserver]name +msgid "Community name" +msgstr "커뮤니티 이름" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "마이 리틀 포니 - 팬클럽" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "알맞은 커뮤니티 이름을 입력해주세요(최소 4글자 이상)" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "이 서버에 새 커뮤니티를 만들 수 없습니다." + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "커뮤니티 서버가 아직 없습니다." + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "현재 커뮤니티를 찾을 수 없는 것 같습니다." + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "환경 설정" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "구독" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "공개 구독" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "내 커뮤니티 구독" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "커뮤니티가 성공적으로 삭제됨" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "커뮤니티 삭제" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "다음 커뮤니티를 삭제하려고 합니다. 작업을 확인해주세요." + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "이 커뮤니티는 더 이상 존재하지 않는 것 같습니다. 구독에서 삭제하시겠습니까?" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "설정이 저장됨" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "노드 설정을 적용하는 동안 오류가 발생했습니다." + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "소유자" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "게시자" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "역할" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "역할이 올바르게 설정됨" + +#: [communityconfig]publication +msgid "Publication" +msgstr "게시" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "공공" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "누구나 게시할 수 있습니다." + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "게시자는 게시할 수 있습니다." + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "구독자" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "구독자는 게시할 수 있습니다." + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "갤러리" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "구독자 %s명" + +#: [communitydata]num +msgid "%s posts" +msgstr "게시물 %s개" + +#: [communitydata]public +msgid "Public page" +msgstr "공개 페이지" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "게시자만 게시할 수 있습니다." + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "구독자만 게시할 수 있습니다." + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "이 커뮤니티에 대한 구독이 비활성화되었습니다." + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "이 커뮤니티에 레이블 지정" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "내 커뮤니티 이름" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "프로필에 표시됩니다" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "확실합니까?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "안녕하세요" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "여기에서 모든 구독을 관리할 수 있습니다." + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "커뮤니티 구독이 아직 없습니다." + +#: [config]general +msgid "General" +msgstr "일반" + +#: [config]language +msgid "Language" +msgstr "언어" + +#: [config]roster +msgid "Roster display" +msgstr "명단 표시" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "오프라인 연락처 표시" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "오프라인 연락처 숨기기" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "설정이 업데이트됨" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "설정이 잘못됨" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "고급 설정" + +#: [config]nsfw +msgid "Display adult content" +msgstr "성인 콘텐츠 표시" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "#후방주의 태그가 지정된 게시물을 읽을 수 있습니다." + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "나이트 모드" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "눈을 쉬게 하기 위해 어두운 색을 사용하세요." + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "기본 채팅 페이지" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "항상" + +#: [config]mam_never +msgid "Never" +msgstr "절대 아님" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "아카이빙 설정이 저장됨" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "오디오 알림" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "수신 메시지" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "인증 확인" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "다음 플랫폼은 이 계정을 인증하기 위해 확인을 요청합니다." + +#: [confirm]code +msgid "Authentication code" +msgstr "인증 코드" + +#: [roster]add_title +msgid "Add a contact" +msgstr "연락처 추가" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "인증하려면 엔터를 누르세요." + +#: [roster]added +msgid "Contact added" +msgstr "연락처 추가됨" + +#: [roster]updated +msgid "Contact updated" +msgstr "연락처 업데이트됨" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "연락처 삭제됨" + +#: [general]legend +msgid "General Information" +msgstr "일반 정보" + +#: [general]name +msgid "Name" +msgstr "이름" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "닉네임" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "생일" + +#: [general]gender +msgid "Gender" +msgstr "성별" + +#: [general]marital +msgid "Marital Status" +msgstr "결혼 여부" + +#: [general]email +msgid "Email" +msgstr "이메일" + +#: [general]website +msgid "Website" +msgstr "웹사이트" + +#: [general]about +msgid "About Me" +msgstr "자기소개" + +#: [general]accounts +msgid "Other Accounts" +msgstr "기타 계정" + +#: [general]tune +msgid "Is Listening" +msgstr "듣고 있는 중" + +#: [general]pictures +msgid "Pictures" +msgstr "사진" + +#: [general]links +msgid "Links" +msgstr "링크" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "지리적 위치" + +#: [position]locality +msgid "Locality" +msgstr "위치" + +#: [position]country +msgid "Country" +msgstr "국가" + +#: [listen]title +msgid "Listening" +msgstr "들으면서" + +#: [last]title +msgid "Last seen" +msgstr "마지막으로 본" + +#: [clients]title +msgid "Clients" +msgstr "고객" + +#: [clients]title_full +msgid "Clients information" +msgstr "고객 정보" + +#: [explore]last_registered +msgid "Last registered" +msgstr "마지막 등록" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "새로운 친구 찾기" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "수정" + +#: [edit]alias +msgid "Alias" +msgstr "별명" + +#: [edit]group +msgid "Group" +msgstr "그룹" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "%s 년" + +#: [blog]last +msgid "Last public post" +msgstr "마지막 공개 게시물" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "이 연락처의 상태를 볼 수 있습니다." + +#: [subscription]to_button +msgid "Share my status" +msgstr "내 상태 공유" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "그러나 이 계정은 귀하의 계정을 볼 수 없습니다." + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "이 계정을 구독하고 있지 않습니다" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "구독 요청" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "하지만 이 계정은 여전히 귀하가 온라인 상태인지 확인할 수 있습니다." + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "초대" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "그리기" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "자주 묻는 질문" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "권한 설정에서 무엇을 할 수 있습니까?" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "기본적으로 콘텐츠는 연락처에 있는 사람만 볼 수 있습니다. 관련 설정을 활성화하면 프로필과 게시물을 공개할 수 있습니다." + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "블로그 게시물과 유사하지만 기본적으로 게시물은 커뮤니티 멤버 또는 구독자만 사용할 수 있습니다(모든 커뮤니티 콘텐츠를 명시적으로 공개하는 경우는 제외)." + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "내 대화 상대는 어디에서 찾을 수 있습니까?" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "검색 패널을 엽니다." + +#: [apps]title +msgid "Applications" +msgstr "어플리케이션" + +#: [apps]install +msgid "Movim App" +msgstr "Movim 앱" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "디바이스에 Movim 설치" + +#: [apps]recommend +msgid "We also recommend" +msgstr "우리는 또한 추천합니다" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "관리자 및 연락처" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "Movim 팀과 채팅하시겠습니까?" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "채팅방 추가" + +#: [error]username +msgid "Wrong username" +msgstr "잘못된 사용자 이름" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "서버에서 챌린지 비우기" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "일부 데이터가 누락되었습니다!" + +#: [error]internal +msgid "Internal server error" +msgstr "인터넷 서버 오류" + +#: [error]session +msgid "Session error" +msgstr "세션 오류" + +#: [error]account_created +msgid "Account successfully created" +msgstr "계정이 성공적으로 생성되었습니다." + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "로그인 불가" + +#: [error]default +msgid "Unknown error" +msgstr "알수없는 오류" + +#: [error]login_format +msgid "Invalid username format" +msgstr "잘못된 사용자 이름 형식" + +#: [error]password_format +msgid "Invalid password format" +msgstr "잘못된 비밀번호 형식" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "XMPP 서버가 인증되지 않았습니다." + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "Movim이 인증에 실패했습니다. 잘못된 데이터를 입력했습니다" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "인증 메커니즘이 Movim에서 지원되지 않음" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "XMPP 인증 실패" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "서버에 연결됨" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "서버에 인증됨" + +#: [form]username +msgid "My address" +msgstr "내 주소" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "이 서버의 계정으로 로그인" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "XMPP 계정을 사용하여 로그인하거나 새 계정을 만드세요." + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "연결됨" + +#: [form]population +msgid "Population" +msgstr "인구" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "%s이 당신을 채팅방에 초대했습니다." + +#: [form]pod_admins +msgid "Administrated by" +msgstr "관리 대상" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "아직 소식이 없습니다..." + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "내 게시물" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "새 게시물 작성…" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "알림" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%s이 당신과 이야기하고 싶어 합니다" + +#: [notifs]empty +msgid "No new notifications" +msgstr "새 알림 없음" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "새 게시물이 게시되거나 메시지를 받으면 Movim에서 알릴 수 있습니다." + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "나중에 언제든지 비활성화할 수 있습니다." + +#: [onboarding]public_title +msgid "Public profile" +msgstr "공개 프로필" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "프로필을 공개하여 다른 사용자가 쉽게 당신을 찾고 추가할 수 있도록 합니다." + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "나중에 설정에서 이 기능을 비활성화할 수 있습니다." + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "뉴스 피드" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "관심 있는 그룹을 검색하고 등록하세요." + +#: [post]content +msgid "Content" +msgstr "콘텐츠" + +#: [post]published +msgid "Post published" +msgstr "게시물 게시됨" + +#: [post]deleted +msgid "Post deleted" +msgstr "게시물 삭제됨" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "(아직) 구독하지 않은 커뮤니티에서 최근에 게시된 게시물" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "%s님의 재포스팅입니다." + +#: [post]see_profile +msgid "See %s profile" +msgstr "%s님의 프로필 보기" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "%s분" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "%s분" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "공개 게시물입니다." + +#: [post]public_no +msgid "This post is private" +msgstr "비공개 게시물입니다." + +#: [post]public_url +msgid "Public URL of this post" +msgstr "이 게시물의 공개 URL" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "이 게시물 삭제" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "이 게시물을 삭제하려고 합니다. 작업을 확인해주세요." + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "이 댓글을 삭제하시겠습니까?" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "더 읽기" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "댓글 비활성화됨" + +#: [post]comment_published +msgid "Comment published" +msgstr "댓글 게시됨" + +#: [post]comment_like_published +msgid "Liked" +msgstr "좋아요" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "댓글을 게시할 수 없습니다." + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "댓글 삭제됨" + +#: [post]liked +msgid "Liked your publication" +msgstr "당신의 게시물을 좋아합니다" + +#: [post]commented +msgid "Commented" +msgstr "댓글을 달았습니다" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "연락처의 게시물" + +#: [hello]share_title +msgid "Universal share button" +msgstr "전체 공유 버튼" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "도구 모음에서 다음 버튼을 북마크에 추가하거나 끌어다 놓고 Movim에서 공유하려는 모든 페이지에서 사용하세요." + +#: [hello]share_button +msgid "Share on Movim" +msgstr "Movim에서 공유" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "오! 안녕하세요!" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "메뉴를 확인해보세요" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "Movim의 모든 주요 기능에 액세스할 수 있습니다. 페이지를 탐색하여 더 많은 것을 알아보세요!" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "아직 프로필을 작성하지 않은 것 같습니다." + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "설정 페이지로 이동하여 스스로를 설명하고 멋진 사진을 추가할 수 있습니다." + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "연결 해제" + +#: [status]presence +msgid "Presence" +msgstr "있음" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "로그아웃하시겠습니까?" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "링크가 클립보드에 복사됨" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "새로운 소식" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "게시물" + +#: [publish]post +msgid "Write a post" +msgstr "게시물 작성" + +#: [publish]add_link +msgid "Add a link" +msgstr "링크 추가" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "사진 찍기" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "제목을 입력하세요" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "미리보기" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "파일 또는 사진 추가" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "여기에 게시물을 게시할 수 없습니다." + +#: [publish]new +msgid "New post" +msgstr "새 게시물" + +#: [publish]title +msgid "Post title" +msgstr "게시물 제목" + +#: [publish]content +msgid "Markdown content" +msgstr "마크다운 콘텐츠" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "올바른 URL을 입력 해주세요" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "마크다운을 사용하여 콘텐츠 형식을 지정할 수 있습니다." + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "임시 저장됨" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "서식 지정 에디터" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "도움말" + +#: [publishhelp]more +msgid "More help" +msgstr "추가 도움말" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "마크다운 문법 매뉴얼" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "새 계정 만들기" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "서버에서 계정 생성 양식을 찾을 수 없습니다" + +#: [create]server_on +msgid "on" +msgstr "켜기" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "로딩 중" + +#: [create]placeholder +msgid "…and start playing" +msgstr "...시작합니다" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "허용되지 않음" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "현재 이 서버의 등록 시스템을 사용할 수 없습니다." + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "등록 금지" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "금지" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "채팅방 만들기" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "채팅방 생성됨" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "비어있는 이름" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "추가 버튼을 클릭하여 채팅을 시작하세요." + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "이름 또는 설명" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "이 채팅방에 참여할 수 없습니다." + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "닉네임이 유효하지 않습니다" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "채팅방에 참여하기" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "커스텀 채팅방에 참여하기" + +#: [chatrooms]members +msgid "Members" +msgstr "멤버" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "허용되지 않음" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "채팅방을 만들 수 없습니다." + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "비밀번호가 필요합니다" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "이 채팅방 고정하기" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "채팅방에 참여할 수 없습니다. 등록이 필요합니다." + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "제목" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "채팅방" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "사용자" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "북마크 업데이트됨" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "현재 익명 사용자로 로그인되어 있습니다." + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "%s에 로그인" + +#: [room]invite +msgid "Invite a contact" +msgstr "대화 상대 초대" + +#: [room]invited +msgid "Invitation sent" +msgstr "초대장 전송됨" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "대화 상대에게 이 링크 보내기" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "공개적으로 검색 가능한 채팅방입니다." + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "공개 프로필" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "그룹 채팅" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "초대된 멤버들과의 비공개 그룹 채팅" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "새 멤버 추가" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "누군가를 차단하기" + +#: [room]banned_remove +msgid "Unban" +msgstr "차단 해제" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "이 소속을 변경할 권한이 없습니다." + +#: [room]affiliation +msgid "Affiliation" +msgstr "소속" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "사유" + +#: [room]channel +msgid "Channel" +msgstr "채널" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "공개적으로 검색 및 가입할 수 있는 공개 채널" + +#: [room]notify_never +msgid "Never notify" +msgstr "알림 안 함" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "항상 알림" + +#: [room]pinned +msgid "Pinned" +msgstr "고정" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "방문자" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "로컬에서 대화방을 찾을 수 없습니다." + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "글로벌로 검색된 채팅방이 없습니다." + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "무엇을 찾고 있나요?" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "#cats, username@server.com, John…" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "아직 연락처가 없습니까?" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "태그" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "모든 연락처 표시" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "블로그 게시물에 첨부" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "게시물 공유" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "연락처 더보기" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "스티커" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "Movim을 사용하여 스티커를 보냈습니다." + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "키워드 입력" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "GIF 찾기" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "Tenor 제공" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "%s의 피드" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "이 계정에 대한 공개된 피드가 없습니다." + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "지정된 연락처가 없습니다." + +#: [upload]title [button]upload +msgid "Upload" +msgstr "업로드" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "업로드할 파일 선택" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "큰 사진은 크기가 조정되고 압축됩니다." + +#: [upload]error_filesize +msgid "File too large" +msgstr "파일이 너무 큽니다" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "업로드 실패" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "파일을 업로드할 수 없습니다." + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "한도를 초과했습니다." + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "이 영역에 파일을 끌어다 놓으세요." + +#: [upload]max_size +msgid "Max file size %s" +msgstr "최대 파일 크기 %s" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "프로필" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "프로필 업데이트됨" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "프로필이 업데이트되지 않음" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "프로필이 공개되었습니다." + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "이제 프로필이 제한됩니다." + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "인스턴스 닉네임 설정" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "인스턴스의 다른 사용자가 쉽게 찾을 수 있도록 로컬 닉네임을 설정합니다." + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "당신의 닉네임은 %s예요 " + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "John_Bob96" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "닉네임이 이미 등록되어 있습니다." + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "닉네임 저장됨" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "제출" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "초기화" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "Movim은 현재 성능 저하 모드에서 작동하고 있습니다." + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "이 기능을 활성화할 수 있는지 확인하려면 서버 관리자에게 문의하세요." + +#: [visio]calling +msgid "…is calling you" +msgstr "전화 오는 중" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "수신 영상 통화" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "수신 오디오 통화" + +#: [visio]ringing +msgid "…ringing" +msgstr "전화 오는 중" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "연결 중" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "Movim이 제대로 작동하려면 Javascript가 활성화되어야 합니다." + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "로딩 중" + +#: [global]or +msgid "Or" +msgstr "또는" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "다른 포드로 전환" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "에 대해" + +#: [page]account_creation +msgid "Account Creation" +msgstr "계정 생성" + +#: [page]administration +msgid "Administration" +msgstr "관리" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "블로그" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "커뮤니티" + +#: [page]explore +msgid "Explore" +msgstr "탐색" + +#: [page]feed +msgid "Feed" +msgstr "피드" + +#: [page]home +msgid "Home" +msgstr "홈" + +#: [page]login +msgid "Login" +msgstr "로그인" + +#: [page]news +msgid "News" +msgstr "뉴스" + +#: [page]not_found +msgid "Not Found" +msgstr "찾을 수 없음" + +#: [page]posts +msgid "Posts" +msgstr "포스트" + +#: [page]publish +msgid "Publish" +msgstr "게시" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "공유하기" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "태그" + +#: [page]visio +msgid "Visio-conference" +msgstr "화상 회의" + +#: [error]error +msgid "Error: %s" +msgstr "에러: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "'%s'파일을 로드할 수 없습니다." + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "요청한 위젯 '%s'이 존재하지 않습니다." + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "요청한 이벤트 '%s'가 등록되지 않았습니다." + +#: [error]whoops +msgid "Whoops!" +msgstr "이런!" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "Movim이 서버와 통신할 수 없습니다. 나중에 다시 시도해 주세요." + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "서버에 재접속…" + +#: [error]oops +msgid "Oops!" +msgstr "앗!" + +#: [button]accept +msgid "Accept" +msgstr "수락하기" + +#: [button]add +msgid "Add" +msgstr "추가하기" + +#: [button]audio_call +msgid "Audio Call" +msgstr "음성 통화" + +#: [button]bool_no +msgid "No" +msgstr "아니요" + +#: [button]bool_yes +msgid "Yes" +msgstr "네" + +#: [button]call +msgid "Call" +msgstr "통화" + +#: [button]cancel +msgid "Cancel" +msgstr "취소하기" + +#: [button]chat +msgid "Chat" +msgstr "채팅" + +#: [button]clear +msgid "Clear" +msgstr "지우기" + +#: [button]close +msgid "Close" +msgstr "닫기" + +#: [button]connecting +msgid "Connecting" +msgstr "연결 중" + +#: [button]copy_link +msgid "Copy Link" +msgstr "링크 복사" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "삭제하기" + +#: [button]destroy +msgid "Destroy" +msgstr "닫기" + +#: [button]discover +msgid "Discover" +msgstr "탐색하기" + +#: [button]enable +msgid "Enable" +msgstr "활성화" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "좋아요" + +#: [button]more +msgid "More" +msgstr "더보기" + +#: [button]new +msgid "New conversation" +msgstr "새 대화" + +#: [button]next +msgid "Next" +msgstr "다음" + +#: [button]not_now +msgid "Not Now" +msgstr "지금은 아님" + +#: [button]open +msgid "Open" +msgstr "공개" + +#: [button]previous +msgid "Previous" +msgstr "이전" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "새로 고침" + +#: [button]refuse +msgid "Refuse" +msgstr "거절하기" + +#: [button]register +msgid "Register" +msgstr "등록하기" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "응답" + +#: [button]return +msgid "Return" +msgstr "되돌리기" + +#: [button]save +msgid "Save" +msgstr "저장하기" + +#: [button]search +msgid "Search" +msgstr "검색" + +#: [button]send_to +msgid "Send to" +msgstr "보내기" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "공유하기" + +#: [button]sign_up +msgid "Sign Up" +msgstr "가입하기" + +#: [button]submitting +msgid "Submitting" +msgstr "제출 중" + +#: [button]unregister +msgid "Unregister" +msgstr "등록 취소" + +#: [button]update +msgid "Update" +msgstr "업데이트" + +#: [button]updating +msgid "Updating" +msgstr "업데이트 중" + +#: [button]validate +msgid "Validate" +msgstr "확인" + +#: [button]video_call +msgid "Video Call" +msgstr "영상 통화" + +#: [input]optional +msgid "Optional" +msgstr "선택 사항" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "관련 커뮤니티" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "요일" + +#: [day]monday +msgid "Monday" +msgstr "월요일" + +#: [day]tuesday +msgid "Tuesday" +msgstr "화요일" + +#: [day]wednesday +msgid "Wednesday" +msgstr "수요일" + +#: [day]thursday +msgid "Thursday" +msgstr "목요일" + +#: [day]friday +msgid "Friday" +msgstr "금요일" + +#: [day]saturday +msgid "Saturday" +msgstr "토요일" + +#: [day]sunday +msgid "Sunday" +msgstr "일요일" + +#: [client]bot +msgid "Bot" +msgstr "봇" + +#: [client]console +msgid "Console" +msgstr "콘솔" + +#: [client]desktop +msgid "Desktop" +msgstr "데스크탑" + +#: [client]phone +msgid "Phone" +msgstr "휴대폰" + +#: [client]web +msgid "Web" +msgstr "웹" + +#: [client]registered +msgid "Registered" +msgstr "등록됨" + +#: [client]gateway +msgid "Gateway" +msgstr "게이트웨이" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "온라인" + +#: [presence]away +msgid "Away" +msgstr "자리 비움" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "방해 금지" + +#: [presence]xa +msgid "Extended Away" +msgstr "오래 자리 비움" + +#: [presence]offline +msgid "Offline" +msgstr "오프라인" + +#: [presence]error +msgid "Error" +msgstr "에러" + +#: [mood]afraid +msgid "afraid" +msgstr "두려운" + +#: [mood]amazed +msgid "amazed" +msgstr "놀란" + +#: [mood]amorous +msgid "amorous" +msgstr "요염한" + +#: [mood]angry +msgid "angry" +msgstr "화난" + +#: [mood]annoyed +msgid "annoyed" +msgstr "짜증난" + +#: [mood]anxious +msgid "anxious" +msgstr "불안한" + +#: [mood]aroused +msgid "aroused" +msgstr "흥분한" + +#: [mood]ashamed +msgid "ashamed" +msgstr "부끄러운" + +#: [mood]bored +msgid "bored" +msgstr "지루한" + +#: [mood]brave +msgid "brave" +msgstr "용감한" + +#: [mood]calm +msgid "calm" +msgstr "침착한" + +#: [mood]cautious +msgid "cautious" +msgstr "신중한" + +#: [mood]cold +msgid "cold" +msgstr "차가운" + +#: [mood]confident +msgid "confident" +msgstr "자신감 있는" + +#: [mood]confused +msgid "confused" +msgstr "혼란스러운" + +#: [mood]contemplative +msgid "contemplative" +msgstr "사색하는" + +#: [mood]contented +msgid "contented" +msgstr " 만족하는" + +#: [mood]cranky +msgid "cranky" +msgstr "까칠한" + +#: [mood]crazy +msgid "crazy" +msgstr "미친" + +#: [mood]creative +msgid "creative" +msgstr "창의적인" + +#: [mood]curious +msgid "curious" +msgstr "궁금한" + +#: [mood]dejected +msgid "dejected" +msgstr "낙담한" + +#: [mood]depressed +msgid "depressed" +msgstr "우울한" + +#: [mood]disappointed +msgid "disappointed" +msgstr "실망한" + +#: [mood]disgusted +msgid "disgusted" +msgstr "메스꺼워하는" + +#: [mood]dismayed +msgid "dismayed" +msgstr "경악한" + +#: [mood]distracted +msgid "distracted" +msgstr "산만한" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "당황스러운" + +#: [mood]envious +msgid "envious" +msgstr "부러운" + +#: [mood]excited +msgid "excited" +msgstr "흥분한" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "추파를 던지는" + +#: [mood]frustrated +msgid "frustrated" +msgstr "좌절한" + +#: [mood]grateful +msgid "grateful" +msgstr "감사하는" + +#: [mood]grieving +msgid "grieving" +msgstr "비통한" + +#: [mood]grumpy +msgid "grumpy" +msgstr "성격이 나쁜" + +#: [mood]guilty +msgid "guilty" +msgstr "죄책감이 드는" + +#: [mood]happy +msgid "happy" +msgstr "행복한" + +#: [mood]hopeful +msgid "hopeful" +msgstr "희망에 찬" + +#: [mood]hot +msgid "hot" +msgstr "더운" + +#: [mood]humbled +msgid "humbled" +msgstr "겸손한" + +#: [mood]humiliated +msgid "humiliated" +msgstr "굴욕적인" + +#: [mood]hungry +msgid "hungry" +msgstr "배고픈" + +#: [mood]hurt +msgid "hurt" +msgstr "아픈" + +#: [mood]impressed +msgid "impressed" +msgstr "감명받은" + +#: [mood]in_awe +msgid "in awe" +msgstr "경외감이 드는" + +#: [mood]in_love +msgid "in love" +msgstr "사랑에 빠진" + +#: [mood]indignant +msgid "indignant" +msgstr "분개한" + +#: [mood]interested +msgid "interested" +msgstr "관심 있는" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr " 취한" + +#: [mood]invincible +msgid "invincible" +msgstr "무적의" + +#: [mood]jealous +msgid "jealous" +msgstr "질투난" + +#: [mood]lonely +msgid "lonely" +msgstr "외로운" + +#: [mood]lost +msgid "lost" +msgstr "상심한" + +#: [mood]lucky +msgid "lucky" +msgstr "운이 좋은" + +#: [mood]mean +msgid "mean" +msgstr "인색한" + +#: [mood]moody +msgid "moody" +msgstr "변덕스러운" + +#: [mood]nervous +msgid "nervous" +msgstr "불안한" + +#: [mood]neutral +msgid "neutral" +msgstr " 중립적인" + +#: [mood]offended +msgid "offended" +msgstr "기분이 상한" + +#: [mood]outraged +msgid "outraged" +msgstr "격분한" + +#: [mood]playful +msgid "playful" +msgstr "장난기 많은" + +#: [mood]proud +msgid "proud" +msgstr "자랑스러운" + +#: [mood]relaxed +msgid "relaxed" +msgstr "느긋한" + +#: [mood]relieved +msgid "relieved" +msgstr "안도하는" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "가만히 못 있는" + +#: [mood]sad +msgid "sad" +msgstr "슬픈" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "비꼬는" + +#: [mood]satisfied +msgid "satisfied" +msgstr "만족한" + +#: [mood]serious +msgid "serious" +msgstr "심각한" + +#: [mood]shocked +msgid "shocked" +msgstr "충격받은" + +#: [mood]shy +msgid "shy" +msgstr "부끄러운" + +#: [mood]sick +msgid "sick" +msgstr "아픈" + +#: [mood]sleepy +msgid "sleepy" +msgstr "졸린" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "자발적인" + +#: [mood]stressed +msgid "stressed" +msgstr "스트레스를 받는" + +#: [mood]strong +msgid "strong" +msgstr "강한" + +#: [mood]surprised +msgid "surprised" +msgstr "놀란" + +#: [mood]thankful +msgid "thankful" +msgstr "감사하는" + +#: [mood]thirsty +msgid "thirsty" +msgstr "목마른" + +#: [mood]tired +msgid "tired" +msgstr "피곤한" + +#: [mood]undefined +msgid "undefined" +msgstr "확실하지 않은" + +#: [mood]weak +msgid "weak" +msgstr "약한" + +#: [mood]worried +msgid "worried" +msgstr "걱정스러운" + +#: [month]title +msgid "Month" +msgstr "월" + +#: [month]january +msgid "January" +msgstr "1월" + +#: [month]february +msgid "February" +msgstr "2월" + +#: [month]march +msgid "March" +msgstr "3월" + +#: [month]april +msgid "April" +msgstr "4월" + +#: [month]may +msgid "May" +msgstr "5월" + +#: [month]june +msgid "June" +msgstr "6월" + +#: [month]july +msgid "July" +msgstr "7월" + +#: [month]august +msgid "August" +msgstr "8월" + +#: [month]september +msgid "September" +msgstr "9월" + +#: [month]october +msgid "October" +msgstr "10월" + +#: [month]november +msgid "November" +msgstr "11월" + +#: [month]december +msgid "December" +msgstr "12월" + +#: [year]title +msgid "Year" +msgstr "년" + +#: [date]today +msgid "Today" +msgstr "오늘" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "내일" + +#: [date]yesterday +msgid "Yesterday" +msgstr "어제" + +#: [date]ago +msgid "%d days ago" +msgstr "%d일 전" + +#: [date]day +msgid "day" +msgstr "일" + +#: [post]title +msgid "Title" +msgstr "제목" + +#: [post]place +msgid "Place" +msgstr "장소" + +#: [post]by +msgid "by" +msgstr "작성자" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "지리적 위치" + +#: [post]email +msgid "email" +msgstr "이메일" + +#: [post]empty +msgid "No content" +msgstr "내용이 없습니다" + +#: [post]no_comments +msgid "No comments yet" +msgstr "아직 댓글이 없습니다" + +#: [post]older +msgid "Get older posts" +msgstr "이전 게시물 가져오기" + +#: [post]new_items +msgid "%s new items" +msgstr "%s개의 새로운 항목" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "댓글 게시 오류" + +#: [post]comments_get +msgid "Get the comments" +msgstr "댓글 가져오기" + +#: [post]comment_add +msgid "Add a comment" +msgstr "댓글 추가" + +#: [post]share +msgid "Share with" +msgstr "공유" + +#: [post]share_everyone +msgid "Everyone" +msgstr "모두" + +#: [post]updated +msgid "Updated" +msgstr "업데이트됨" + +#: [post]content_not_found +msgid "Content not found" +msgstr "콘텐츠를 찾을 수 없음" + +#: [post]default_title +msgid "Contact publication" +msgstr "연락처의 게시물" + +#: [post]comments +msgid "Comments" +msgstr "댓글" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "원본 게시물 삭제됨" + +#: [filesize]byte +msgid "B" +msgstr "B" + +#: [filesize]kilobyte +msgid "KB" +msgstr "KB" + +#: [filesize]megabyte +msgid "MB" +msgstr "MB" + +#: [filesize]gigabyte +msgid "GB" +msgstr "GB" + +#: [filesize]terabyte +msgid "TB" +msgstr "TB" + +#: [affiliation]owner +msgid "Owner" +msgstr "소유자" + +#: [affiliation]admin +msgid "Admin" +msgstr "관리자" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "발행자" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "게시 전용" + +#: [affiliation]member +msgid "Member" +msgstr "멤버" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "차단한 사람" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "권한 없음" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "소유자 권한의 사용자" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "관리자 권한의 사용자" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "멤버 권한의 사용자" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "차단된 사용자" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "사용자의 권한이 제거됨" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "API에 연결할 수 없습니다. 나중에 다시 시도하십시오." + +#: [field]type_here +msgid "Type here" +msgstr "여기에 입력하세요" diff --git a/frontend/locales/lb.po b/frontend/locales/lb.po new file mode 100644 index 0000000..fa2958b --- /dev/null +++ b/frontend/locales/lb.po @@ -0,0 +1,4154 @@ +# +# Translators: +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Luxembourgish (http://app.transifex.com/movim/movim/language/lb/)\n" +"Language: lb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "" + +#: [about]developers +msgid "Developers" +msgstr "" + +#: [about]translators +msgid "Translators" +msgstr "" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "" + +#: [about]software +msgid "Software" +msgstr "" + +#: [about]resources +msgid "Resources" +msgstr "" + +#: [about]api +msgid "API" +msgstr "" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "" + +#: [account]delete +msgid "Delete your account" +msgstr "" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "" + +#: [general]theme +msgid "Theme" +msgstr "" + +#: [general]language +msgid "Default language" +msgstr "" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "" + +#: [credentials]re_password +msgid "Retype password" +msgstr "" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "" + +#: [general]gender +msgid "Gender" +msgstr "" + +#: [general]marital +msgid "Marital Status" +msgstr "" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "" + +#: [general]about +msgid "About Me" +msgstr "" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "" + +#: [day]tuesday +msgid "Tuesday" +msgstr "" + +#: [day]wednesday +msgid "Wednesday" +msgstr "" + +#: [day]thursday +msgid "Thursday" +msgstr "" + +#: [day]friday +msgid "Friday" +msgstr "" + +#: [day]saturday +msgid "Saturday" +msgstr "" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "" + +#: [presence]away +msgid "Away" +msgstr "" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "" + +#: [month]february +msgid "February" +msgstr "" + +#: [month]march +msgid "March" +msgstr "" + +#: [month]april +msgid "April" +msgstr "" + +#: [month]may +msgid "May" +msgstr "" + +#: [month]june +msgid "June" +msgstr "" + +#: [month]july +msgid "July" +msgstr "" + +#: [month]august +msgid "August" +msgstr "" + +#: [month]september +msgid "September" +msgstr "" + +#: [month]october +msgid "October" +msgstr "" + +#: [month]november +msgid "November" +msgstr "" + +#: [month]december +msgid "December" +msgstr "" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "" + +#: [date]yesterday +msgid "Yesterday" +msgstr "" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/locales.ini b/frontend/locales/locales.ini new file mode 100644 index 0000000..8c747b1 --- /dev/null +++ b/frontend/locales/locales.ini @@ -0,0 +1,295 @@ +[global] +no_js = Movim requires Javascript to be enabled to work properly. +description = Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features. +loading = Loading… +or = Or +change_pod = Switch to another pod +main_menu = Main menu +bottom_menu = Bottom menu +skip_main = Skip to main content + +[page] +about = About +account = Account +account_creation = Account Creation +administration = Administration +avatar = Profile Picture +blog = Blog +chats = Messages +communities = Communities +configuration = Configuration +contacts = Contacts +explore = Explore +feed = Feed +gallery = Gallery +help = Help +home = Home +login = Login +news = News +not_found = Not Found +post = Post +posts = Posts +profile = Profile +publish = Publish +room = Group Chat +share = Share +space = Space +tag = Tag +visio = Visio-conference + +[error] +error = Error: %s +cannot_load_file = "Cannot load file '%s'" +widget_load_error = "Requested widget '%s' doesn’t exist." +widget_call_error = "Requested event '%s' not registered." +whoops = "Whoops!" +websocket = Movim cannot talk with the server, please try again later +websocket_connect = Reconnection to the server… +oops = Oops! + +[button] +accept = Accept +add = Add +audio_call = Audio Call +bool_no = No +bool_yes = Yes +call = Call +cancel = Cancel +chat = Chat +clear = Clear +close = Close +connecting = Connecting +copy_link = Copy Link +create = Create +delete = Delete +destroy = Destroy +discover = Discover +edit = Edit +enable = Enable +invite = Invite +join = Join +leave = Leave +like = Like +more = More +new = New conversation +next = Next +not_now = Not Now +open = Open +preview = Preview +previous = Previous +quote = Quote +refresh = Refresh +refuse = Refuse +register = Register +remove = Remove +reply = Reply +reset = Reset +return = Return +save = Save +search = Search +send_to = Send to +share = Share +sign_up = Sign Up +submit = Submit +submitting = Submitting +unregister = Unregister +update = Update +updating = Updating +upload = Upload +validate = Validate +video_call = Video Call + +[input] +username = Username +password = Password +optional = Optional +muc_pubsub_node = Associated Community +open_me_using = "Open me using" + +[day] +title = Day +monday = Monday +tuesday = Tuesday +wednesday = Wednesday +thursday = Thursday +friday = Friday +saturday = Saturday +sunday = Sunday + +[client] +bot = Bot +console = Console +desktop = Desktop +phone = Phone +web = Web +registered = Registered +gateway = Gateway +im = Server + +[presence] +online = Online +away = Away +dnd = Do Not Disturb +xa = Extended Away +offline = Offline +error = Error + +[mood] +afraid = afraid +amazed = amazed +amorous = amorous +angry = angry +annoyed = annoyed +anxious = anxious +aroused = aroused +ashamed = ashamed +bored = bored +brave = brave +calm = calm +cautious = cautious +cold = cold +confident = confident +confused = confused +contemplative = contemplative +contented = contented +cranky = cranky +crazy = crazy +creative = creative +curious = curious +dejected = dejected +depressed = depressed +disappointed = disappointed +disgusted = disgusted +dismayed = dismayed +distracted = distracted +embarrassed = embarrassed +envious = envious +excited = excited +flirtatious = flirtatious +frustrated = frustrated +grateful = grateful +grieving = grieving +grumpy = grumpy +guilty = guilty +happy = happy +hopeful = hopeful +hot = hot +humbled = humbled +humiliated = humiliated +hungry = hungry +hurt = hurt +impressed = impressed +in_awe = in awe +in_love = in love +indignant = indignant +interested = interested +intoxicated = intoxicated +invincible = invincible +jealous = jealous +lonely = lonely +lost = lost +lucky = lucky +mean = mean +moody = moody +nervous = nervous +neutral = neutral +offended = offended +outraged = outraged +playful = playful +proud = proud +relaxed = relaxed +relieved = relieved +remorseful = remorseful +restless = restless +sad = sad +sarcastic = sarcastic +satisfied = satisfied +serious = serious +shocked = shocked +shy = shy +sick = sick +sleepy = sleepy +spontaneous = spontaneous +stressed = stressed +strong = strong +surprised = surprised +thankful = thankful +thirsty = thirsty +tired = tired +undefined = undefined +weak = weak +worried = worried + +[month] +title = Month +january = January +february = February +march = March +april = April +may = May +june = June +july = July +august = August +september = September +october = October +november = November +december = December + +[year] +title = Year + +[date] +today = Today +tomorrow = Tomorrow +yesterday = Yesterday +ago = %d days ago +day = day + +[post] +title = Title +place = Place +by = by +geolocalisation = Geolocalisation +email = email +empty = No content +no_comments = No comments yet +older = Get older posts +new_items = %s new items +comment_error = Comment publication error +comments_get = Get the comments +comment_add = Add a comment +share = Share with +share_everyone = Everyone +delete = Delete this post +updated = Updated +content_not_found = Content not found +default_title = Contact publication +comments = Comments +original_deleted = Original post deleted + +[filesize] +byte = B +kilobyte = KB +megabyte = MB +gigabyte = GB +terabyte = TB + +[affiliation] +owner = Owner +admin = Admin +publisher = Publisher +publish-only = Publish only +member = Member +outcast = Outcast +no_aff = No affiliation +owner_changed = User granted as owner +admin_changed = User granted as admin +member_changed = User granted as member +outcast_changed = User banned +none_changed = Affiliation removed for the user + +[api] +error = The API is not reachable, try again later + +[field] +type_here = Type here diff --git a/frontend/locales/lt.po b/frontend/locales/lt.po new file mode 100644 index 0000000..05f22f4 --- /dev/null +++ b/frontend/locales/lt.po @@ -0,0 +1,4155 @@ +# +# Translators: +# Mantas Ramonas , 2017 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Mantas Ramonas , 2017\n" +"Language-Team: Lithuanian (http://app.transifex.com/movim/movim/language/lt/)\n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Ačiū" + +#: [about]developers +msgid "Developers" +msgstr "Kūrėjai" + +#: [about]translators +msgid "Translators" +msgstr "Vertėjai" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Ačiū visiems vertėjams" + +#: [about]software +msgid "Software" +msgstr "Programa" + +#: [about]resources +msgid "Resources" +msgstr "Resursai" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim yra XMPP pagrindu remta komunikacijos platforma. Visas projektas, išskyrus šią programinę įrangą ir išteklius, yra pagal" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Paskyra" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Pakeisti slaptažodį" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Slaptažodis" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Slaptažodžio patvirtinimas" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "Jūsų slaptažodis yra atnaujintas" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "Įvesti slaptažodžiai neatitinka" + +#: [account]delete +msgid "Delete your account" +msgstr "Ištrinti jūsų paskyrą" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Veiksmai" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "Bendrieji parametrai" + +#: [general]theme +msgid "Theme" +msgstr "Tema" + +#: [general]language +msgid "Default language" +msgstr "Numatytoji kalba" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Vartotojo vardas" + +#: [credentials]re_password +msgid "Retype password" +msgstr "" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "" + +#: [general]gender +msgid "Gender" +msgstr "" + +#: [general]marital +msgid "Marital Status" +msgstr "" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "" + +#: [general]about +msgid "About Me" +msgstr "" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Sukurti naują paskyrą" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "Serveryje nerasta paskyros sukūrimo formos" + +#: [create]server_on +msgid "on" +msgstr "Į" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "Kraunama" + +#: [create]placeholder +msgid "…and start playing" +msgstr "...ir pradėkit žaisti" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Nepriimtina" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "" + +#: [day]tuesday +msgid "Tuesday" +msgstr "" + +#: [day]wednesday +msgid "Wednesday" +msgstr "" + +#: [day]thursday +msgid "Thursday" +msgstr "" + +#: [day]friday +msgid "Friday" +msgstr "" + +#: [day]saturday +msgid "Saturday" +msgstr "" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "Vartai" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "" + +#: [presence]away +msgid "Away" +msgstr "" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "" + +#: [month]february +msgid "February" +msgstr "" + +#: [month]march +msgid "March" +msgstr "" + +#: [month]april +msgid "April" +msgstr "" + +#: [month]may +msgid "May" +msgstr "" + +#: [month]june +msgid "June" +msgstr "" + +#: [month]july +msgid "July" +msgstr "" + +#: [month]august +msgid "August" +msgstr "" + +#: [month]september +msgid "September" +msgstr "" + +#: [month]october +msgid "October" +msgstr "" + +#: [month]november +msgid "November" +msgstr "" + +#: [month]december +msgid "December" +msgstr "" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "" + +#: [date]yesterday +msgid "Yesterday" +msgstr "" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/lv.po b/frontend/locales/lv.po new file mode 100644 index 0000000..aeee7ab --- /dev/null +++ b/frontend/locales/lv.po @@ -0,0 +1,4156 @@ +# +# Translators: +# FIRST AUTHOR , 2014 +# Jans Petersons , 2017 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Jans Petersons , 2017\n" +"Language-Team: Latvian (http://app.transifex.com/movim/movim/language/lv/)\n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Paldies" + +#: [about]developers +msgid "Developers" +msgstr "Izstrādātāji" + +#: [about]translators +msgid "Translators" +msgstr "Tulkotāji" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Paldies visiem tulkotājiem " + +#: [about]software +msgid "Software" +msgstr "Programmatūra" + +#: [about]resources +msgid "Resources" +msgstr "Resursi" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Konts" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Mainīt paroli " + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Parole" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Paroles apstiprinājums " + +#: [account]password_changed +msgid "The password has been updated" +msgstr "Parole tika atjaunināta " + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "Ievadītās paroles nav vienādas" + +#: [account]delete +msgid "Delete your account" +msgstr "Izdzēst kontu " + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "Pamest šo instanci " + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Darbības" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "Vispārīgie iestatījumi" + +#: [general]theme +msgid "Theme" +msgstr "Motīvs" + +#: [general]language +msgid "Default language" +msgstr "Noklusējuma valoda" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Lietotājvārds" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Pārievadiet paroli" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Apraksts" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "Informācijas paziņojums" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "Sesijas" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "Šifrēta vēstule" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%s pieprasa jūsu uzmanību" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "Kontakti" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "Vispārīgi" + +#: [config]language +msgid "Language" +msgstr "Valoda" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "Atjaunināta konfigurācija" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "Spiest enter lai apstiprināt." + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "Kontakts atjaunināts" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "Nosaukums" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "Segvārds" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Dzimšanas datums" + +#: [general]gender +msgid "Gender" +msgstr "Dzimums" + +#: [general]marital +msgid "Marital Status" +msgstr "Ģimenes stāvoklis" + +#: [general]email +msgid "Email" +msgstr "E-pasts" + +#: [general]website +msgid "Website" +msgstr "Tīmekļa vietne" + +#: [general]about +msgid "About Me" +msgstr "Par mani" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "Ģeogrāfiskais novietojums" + +#: [position]locality +msgid "Locality" +msgstr "Apvidus" + +#: [position]country +msgid "Country" +msgstr "Valsts" + +#: [listen]title +msgid "Listening" +msgstr "Klausās" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "Pseidonīms" + +#: [edit]group +msgid "Group" +msgstr "Grupa" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "Nepareizs lietotājvārds" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "Servera iekšēja kļūda" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "Konts veiksmīgi izveidots" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "Nezināma kļūda" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "Jūsu XMPP serveris nav atļauts" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "XMPP autentifikācija neizdevās" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "Savienots" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%s grib ar jums sazināties" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "Atvienoties" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Izveidot jaunu kontu" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "Konta izveides forma netika atrasta šajā serverī" + +#: [create]server_on +msgid "on" +msgstr "šajā datumā" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "Ielādē" + +#: [create]placeholder +msgid "…and start playing" +msgstr "...un uzsākt atskaņošanu " + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Nav Pieņemams " + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "Šī servera reģistrācijas sistēma pašlaik nav pieejama " + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "Reģistrācija liegta " + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "Tukšs vārds" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "Profils atjaunināts" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "Administrācija" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "Emuārs" + +#: [page]chats +msgid "Messages" +msgstr "Ziņojumi" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "Izpētīt" + +#: [page]feed +msgid "Feed" +msgstr "Plūsma" + +#: [page]home +msgid "Home" +msgstr "Sākumvieta" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "Ieraksti" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "Pievienot" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "Tērzēšana" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "Aizvērt" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "Atklāt" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "Saglabāt" + +#: [button]search +msgid "Search" +msgstr "Meklēt" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "" + +#: [day]tuesday +msgid "Tuesday" +msgstr "" + +#: [day]wednesday +msgid "Wednesday" +msgstr "" + +#: [day]thursday +msgid "Thursday" +msgstr "" + +#: [day]friday +msgid "Friday" +msgstr "" + +#: [day]saturday +msgid "Saturday" +msgstr "" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "Vārteja " + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "" + +#: [presence]away +msgid "Away" +msgstr "" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "Kļūda" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "" + +#: [month]february +msgid "February" +msgstr "" + +#: [month]march +msgid "March" +msgstr "" + +#: [month]april +msgid "April" +msgstr "" + +#: [month]may +msgid "May" +msgstr "" + +#: [month]june +msgid "June" +msgstr "" + +#: [month]july +msgid "July" +msgstr "" + +#: [month]august +msgid "August" +msgstr "" + +#: [month]september +msgid "September" +msgstr "" + +#: [month]october +msgid "October" +msgstr "" + +#: [month]november +msgid "November" +msgstr "" + +#: [month]december +msgid "December" +msgstr "" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "" + +#: [date]yesterday +msgid "Yesterday" +msgstr "" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "Pievienot komentāru" + +#: [post]share +msgid "Share with" +msgstr "Dalīt ar" + +#: [post]share_everyone +msgid "Everyone" +msgstr "Ikviens" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/my.po b/frontend/locales/my.po new file mode 100644 index 0000000..fb4779b --- /dev/null +++ b/frontend/locales/my.po @@ -0,0 +1,4154 @@ +# +# Translators: +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Burmese (Myanmar) (http://app.transifex.com/movim/movim/language/my_MM/)\n" +"Language: my_MM\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "" + +#: [about]developers +msgid "Developers" +msgstr "" + +#: [about]translators +msgid "Translators" +msgstr "" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "" + +#: [about]software +msgid "Software" +msgstr "" + +#: [about]resources +msgid "Resources" +msgstr "" + +#: [about]api +msgid "API" +msgstr "" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "" + +#: [account]delete +msgid "Delete your account" +msgstr "" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "" + +#: [general]theme +msgid "Theme" +msgstr "" + +#: [general]language +msgid "Default language" +msgstr "" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "" + +#: [credentials]re_password +msgid "Retype password" +msgstr "" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "" + +#: [general]gender +msgid "Gender" +msgstr "" + +#: [general]marital +msgid "Marital Status" +msgstr "" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "" + +#: [general]about +msgid "About Me" +msgstr "" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "" + +#: [day]tuesday +msgid "Tuesday" +msgstr "" + +#: [day]wednesday +msgid "Wednesday" +msgstr "" + +#: [day]thursday +msgid "Thursday" +msgstr "" + +#: [day]friday +msgid "Friday" +msgstr "" + +#: [day]saturday +msgid "Saturday" +msgstr "" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "" + +#: [presence]away +msgid "Away" +msgstr "" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "" + +#: [month]february +msgid "February" +msgstr "" + +#: [month]march +msgid "March" +msgstr "" + +#: [month]april +msgid "April" +msgstr "" + +#: [month]may +msgid "May" +msgstr "" + +#: [month]june +msgid "June" +msgstr "" + +#: [month]july +msgid "July" +msgstr "" + +#: [month]august +msgid "August" +msgstr "" + +#: [month]september +msgid "September" +msgstr "" + +#: [month]october +msgid "October" +msgstr "" + +#: [month]november +msgid "November" +msgstr "" + +#: [month]december +msgid "December" +msgstr "" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "" + +#: [date]yesterday +msgid "Yesterday" +msgstr "" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/nb.po b/frontend/locales/nb.po new file mode 100644 index 0000000..1a996bb --- /dev/null +++ b/frontend/locales/nb.po @@ -0,0 +1,4160 @@ +# +# Translators: +# Allan Nordhøy , 2017 +# Dominik George , 2017-2018 +# pere , 2017 +# Ruben Solvang , 2016-2017 +# 1b09ca809bd1d57b09c4d19f89cfcafa_19f763a <9a173cebe69c399e2bc3c9d455cdd880_367693>, 2016 +# Vitalis Vitalis, 2025 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Vitalis Vitalis, 2025\n" +"Language-Team: Norwegian Bokmål (Norway) (http://app.transifex.com/movim/movim/language/nb_NO/)\n" +"Language: nb_NO\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Takk" + +#: [about]developers +msgid "Developers" +msgstr "Utviklere" + +#: [about]translators +msgid "Translators" +msgstr "Oversettere" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Takk til alle oversettere" + +#: [about]software +msgid "Software" +msgstr "Programvare" + +#: [about]resources +msgid "Resources" +msgstr "Ressurser" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim er basert på kommunikasjonsplattformen XMPP. Hele prosjektet, med unntak av følgende programvare og ressurser, er under" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Konto" + +#: [account]account_management +msgid "Account management" +msgstr "Kontoadministrasjon" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Endre passordet mitt" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Passord" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Passordbekreftelse" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "Passordet er oppdatert" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "Passordene er ulike" + +#: [account]delete +msgid "Delete your account" +msgstr "Slett kontoen din" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "Skriv ditt fulle brukernavn" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "Vennligst inntast et gyldig brukernavn" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "Forlat denne enheten" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "OMEMO Nøkkel-destruksjon" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "Du er i ferd med å destruere følgende OMEMO nøkkel. Dine kontakter vil ikke lengre kunne kryptere meldinger med denne nøkkelen. Denne handlingen kan ikke bli reversert. Er du sikker på at du vil fortsette?" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Handlinger" + +#: [adhoc]completed +msgid "Action completed" +msgstr "Handling utført" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "Generelle innstillinger" + +#: [general]theme +msgid "Theme" +msgstr "Drakt" + +#: [general]language +msgid "Default language" +msgstr "Forvalgt språk" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "Detaljrikdom i loggen" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "Er din enhet offentlig?" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "Registrer enheten din på join.movim.eu og bli med i Movim federasjonen!" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "Innskrenk søkeforslag" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "Kun snakkerom" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "Deaktiver alle sosiale funksjoner (Samfunn, Blog..) og behold snakkerom" + +#: [credentials]title +msgid "Administration Credential" +msgstr "Administrasjonsakkreditiv" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Brukernavn" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Gjenta passord" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "Deaktiver XMPP kontoregistrering" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "Fjern XMPP kontoregistreringsfunksjonen og registreringsknappen fra grensesnittet" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "La dette feltet stå tomt for å gi tilgang til alle XMPP-kontoer" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Beskrivelse" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "Generell beskrivelse av denne enheten" + +#: [information]banner +msgid "Main banner" +msgstr "Hovedbanner" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "Informasjonsmelding" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "Standard XMPP-tjener" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "Forvalgt XMPP-tjenerdomene" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "Forvalgt XMPP-tjenerbeskrivelse" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "Forvalgt XMPP-tjenerland" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "Velg ut et land fra listen" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "Tom" + +#: [log]syslog +msgid "Syslog" +msgstr "Syslog" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "Syslog og filer" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "Sesjoner" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "Fil" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "Dette innholdet er privat, logg på for å se det" + +#: [message]published +msgid "Message Published" +msgstr "Melding publisert" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "Meldingen din kunne ikke sendes, trenge på nytt senere." + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "Kryptert melding" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "Oppretter…" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "Pauserer…" + +#: [message]gone +msgid "Contact gone" +msgstr "Kontakten er borte" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%s trenger din oppmerksomhet" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "Meddelelsen din her…" + +#: [chat]smileys +msgid "Smileys" +msgstr "Emoji-er" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "Ofte brukte kontakter" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "Ennå intet her…" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "Vær ikke blyg, sender en først meddelelse for å begynne diskusjonen" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "Du mottok en invitasjon til å bli med i et samtalerom" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "Bli med i %s" + +#: [chat]profile +msgid "See the profile" +msgstr "Se profilen" + +#: [chat]clear +msgid "Clear the history" +msgstr "Nullstill historien" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "Endre siste melding" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "Melde misbruk" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "Ingen samtaler ennå…" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "Begynn en ny samtale ved å klikke knappen %s." + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "Prat med en kontakt" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "Alle" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "Kontakter" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "Oppdag, følg og del" + +#: [communities]counter +msgid "%s communities" +msgstr "%s samfunn" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "Søk etter en ny tjener" + +#: [communities]servers +msgid "Communities servers" +msgstr "Samfunns-tjenere" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "Denne tjeneren eksisterer ikke" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "Klarte å opprette fellesskapet" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "Det er ennå ingen fellesskap på denne tjeneren." + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "Lag et nytt fellesskap på %s" + +#: [communitiesserver]name +msgid "Community name" +msgstr "Navn på fellesskap" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "Fanklubb for SKAM-serien" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "Skriv inn et gyldig fellesskapsnavn (minst fire tegn)" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "Du kan ikke opprette et nytt fellesskap på denne tjeneren" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Oppsett" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "Abonnementer " + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "Sletting av fellesskap gikk bra" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "Slett dette fellesskapet" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "Du er igang med å slette følgende fellesskap. Vær så snill å bekreft dette." + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "Oppsett lagret" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "Eiere" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "Utgivere" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "Roller" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "Rollen riktig satt" + +#: [communityconfig]publication +msgid "Publication" +msgstr "Utgivelse" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "Alle kan publisere" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "Utgivere kan publisere" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "Abonnenter" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "Abonnentene kan publisere" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "Galleri" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "%s abonnenter" + +#: [communitydata]num +msgid "%s posts" +msgstr "%s innlegg" + +#: [communitydata]public +msgid "Public page" +msgstr "Offentlig side" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "Dette samfunnet har skrudd av muligheten for å abonnere" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "Gi et navn til dette samfunnet" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "Mitt samfunnsnavn" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "Det vil vises på din profil" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "Er du sikker?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "Hei" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "Her kan du administrere alle dine abonnement." + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "Generelt" + +#: [config]language +msgid "Language" +msgstr "Språk" + +#: [config]roster +msgid "Roster display" +msgstr "Visningsmetode" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "Vis avloggede kontakter" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "Ikke vis avloggede kontakter" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "Oppsettet er oppdatert" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "Konfigurasjonen ikke godtatt" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "Avansert oppsett" + +#: [config]nsfw +msgid "Display adult content" +msgstr "Vis innhold for voksne" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "Lar deg lese meldinger merket med #nsfw-merkelappen" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "Nattmodus" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "Bruk mørke farger for å avspenne øyne dine" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "Alltid" + +#: [config]mam_never +msgid "Never" +msgstr "Aldri" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "Arkivinstillinger lagret" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "Bekreftelse av autentisering" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "Autentiseringskode" + +#: [roster]add_title +msgid "Add a contact" +msgstr "Legg til kontakt" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "Trykk enter for å godkjenne" + +#: [roster]added +msgid "Contact added" +msgstr "Kontakten ble lagt til" + +#: [roster]updated +msgid "Contact updated" +msgstr "Kontakten ble oppdatert" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "Kontakten ble slettet" + +#: [general]legend +msgid "General Information" +msgstr "Generelle informasjoner" + +#: [general]name +msgid "Name" +msgstr "Navn" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "Kallenavn" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Fødselsdato" + +#: [general]gender +msgid "Gender" +msgstr "Kjønn" + +#: [general]marital +msgid "Marital Status" +msgstr "Sivilstatus" + +#: [general]email +msgid "Email" +msgstr "E-post" + +#: [general]website +msgid "Website" +msgstr "Nettside" + +#: [general]about +msgid "About Me" +msgstr "Om meg" + +#: [general]accounts +msgid "Other Accounts" +msgstr "Andre kontoer" + +#: [general]tune +msgid "Is Listening" +msgstr "Lytter" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "Geografisk posisjon" + +#: [position]locality +msgid "Locality" +msgstr "Plassering" + +#: [position]country +msgid "Country" +msgstr "Land" + +#: [listen]title +msgid "Listening" +msgstr "Lytter" + +#: [last]title +msgid "Last seen" +msgstr "Sist sett" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "Sist registrert" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "Rediger" + +#: [edit]alias +msgid "Alias" +msgstr "Kallenavn" + +#: [edit]group +msgid "Group" +msgstr "Gruppe" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "%s år" + +#: [blog]last +msgid "Last public post" +msgstr "Siste offentlige innlegg" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "Du kan se denne kontaktstatusen" + +#: [subscription]to_button +msgid "Share my status" +msgstr "Del min status" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "Men denne kontakten kan ikke se dine" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "Du abonnerer ikke på denne kontakten" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "Spør om å få abonnere" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "Men denne kontakten kan fortsatt se at du er pålogget" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "Inviter" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "Ofte stilte spørsmål" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "Vi anbefaler også" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "Administrasjon og kontakt" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "Chat med Movim teamet" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "Legg til samtalerom" + +#: [error]username +msgid "Wrong username" +msgstr "Feil brukernavn" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "Tom 'challange' fra tjeneren" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "Intern tjenerfeil" + +#: [error]session +msgid "Session error" +msgstr "Øktfeil" + +#: [error]account_created +msgid "Account successfully created" +msgstr "Kontoen ble opprettet" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "Umulig innlogging" + +#: [error]default +msgid "Unknown error" +msgstr "Ukjent feil" + +#: [error]login_format +msgid "Invalid username format" +msgstr "Uriktig format på brukernavn" + +#: [error]password_format +msgid "Invalid password format" +msgstr "Uriktig format brukt i passordet" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "XMPP-tjeneren din er ikke autentisert" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "Movim klarte ikke å autentisere. Du har oppgitt feil informasjon." + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "Autentiseringsmekanismen støttes ikke av Movim" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "XMPP-autentiseringen feilet" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "Min adresse" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "Tilkoblet" + +#: [form]population +msgid "Population" +msgstr "Populasjon" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "%s inviterte deg til å ta del i et samtalerom" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "Ingen nyheter enda…" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "Mine innlegg" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "Skriv en ny melding…" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "Varsel" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%s ønsker å prate med deg" + +#: [notifs]empty +msgid "No new notifications" +msgstr "Ingen nye varsler" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "Movim kan varsle deg når nye innlegg publiseres og når du mottar meldinger" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "Du kan alltids skru dem av senere" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "Offentlig profil" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "Gjør profilen din offentlig, slik at andre brukere lettere kan finne deg og ta kontakt" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "Du kan alltids skru dette av i oppsettet senere" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "Nyhetsstrøm" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "Oppdag og abonner på gruppene du liker" + +#: [post]content +msgid "Content" +msgstr "Innhold" + +#: [post]published +msgid "Post published" +msgstr "Innlegg publisert" + +#: [post]deleted +msgid "Post deleted" +msgstr "Innlegg slettet" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "Siste innlegg fra samfunn du ikke abonnerer på (enda)" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "Dette er viderepostet fra %s" + +#: [post]see_profile +msgid "See %s profile" +msgstr "Se profilen til %s" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "Denne posten er offentlig" + +#: [post]public_no +msgid "This post is private" +msgstr "Dette innlegget er privat" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "Dette innleggets offentlige nettadresse" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "Slett innlegget" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "Du er i ferd med å slette innlegget, bekreft handlingen" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "Er du sikker på at du ønsker å slette denne kommentaren?" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "Les mer" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "Kommentarer er avskrudd" + +#: [post]comment_published +msgid "Comment published" +msgstr "Kommentaren ble publisert" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "Kommentaren ble slettet" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "Kontaktpost" + +#: [hello]share_title +msgid "Universal share button" +msgstr "Universell delingsknapp" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "Bokmerk eller dra-og-slipp følgende knapp til verktøyslinjen. Trykk på bokmerket når du besøker en side du ønsker å dele på Movim." + +#: [hello]share_button +msgid "Share on Movim" +msgstr "Del på Movim" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "Å, hei!" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "Sjekk menyen" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "Du kan gå til konfigurasjonssiden for å legge inn en beskrivelse av deg selv og laste opp et bilde" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "Koble fra" + +#: [status]presence +msgid "Presence" +msgstr "Tilstedeværelse" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "Hva er nytt?" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "Innlegg" + +#: [publish]post +msgid "Write a post" +msgstr "Skriv en melding" + +#: [publish]add_link +msgid "Add a link" +msgstr "Legg til lenke" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "Lag en overskrift" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "Forhåndsvisning" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "Legge til en fil eller et bilde" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "Du kan ikke publisere et innlegg her" + +#: [publish]new +msgid "New post" +msgstr "Nytt innlegg" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "Mate en gyldig lenke" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "Du kan formatere tekst og innhold med Markdown-syntaks" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "Hjelp" + +#: [publishhelp]more +msgid "More help" +msgstr "Mer hjelp" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "Bruksanvisning for tekstformatering" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Opprett en ny konto" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "Fant ikke skjema for opprettelse av ny konto på tjeneren" + +#: [create]server_on +msgid "on" +msgstr "på" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "Laster" + +#: [create]placeholder +msgid "…and start playing" +msgstr "…og start leken" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Ikke akseptert" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "Registreringssystemet på denne tjeneren er foreløpig utilgjengelig" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "Registrering forbudt" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "Tomt navn" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "Du har ingen samtaleromer ennå." + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "Legg til en ved å trykke på \"Legg til\"-knappen" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "Medlemer" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "Kunne ikke bli med i samtalerommet, registrering er påkrevd." + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "Emne" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "Samtalerom" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "Bokmerke oppdatert" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "Logg inn på %s" + +#: [room]invite +msgid "Invite a contact" +msgstr "Inviter en kontakt" + +#: [room]invited +msgid "Invitation sent" +msgstr "Invitasjon er sendt" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "Send denne lenken til dine kontakter" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "Hva leter du etter?" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "Merkelapp" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "En klistrelapp har blitt sendt via Movim" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "%ss strøm" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "Denne kontakten har ingen offentlig strøm" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "Ingen kontakt spesifisert" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "Last opp" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "Velg en fil å laste opp" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "Store bilder vil bli redusert og komprimert" + +#: [upload]error_filesize +msgid "File too large" +msgstr "Filen er for stor" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "Opplastingen feilet" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Profil" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "Profilen ble oppdatert" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "Profilen ble ikke oppdatert" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "Profilen din er nå offentlig" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "Profilen har nå begrenset synlighet" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Send inn" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Nullstill" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "Movim operere nå i degradert modus" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "Kontakt administratoren av tjeneren for å sjekke om funksjonaliteten kan aktiveres." + +#: [visio]calling +msgid "…is calling you" +msgstr "…ringer deg" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "…ringer" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "…kobler til" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "Laster inn…" + +#: [global]or +msgid "Or" +msgstr "Eller" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "Om" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Opprettelse av konto" + +#: [page]administration +msgid "Administration" +msgstr "Administrasjon" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "Blogg" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "Samfunn" + +#: [page]explore +msgid "Explore" +msgstr "Utforsk" + +#: [page]feed +msgid "Feed" +msgstr "Strøm" + +#: [page]home +msgid "Home" +msgstr "Hjem" + +#: [page]login +msgid "Login" +msgstr "Logg inn" + +#: [page]news +msgid "News" +msgstr "Nyheter" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "Innlegg" + +#: [page]publish +msgid "Publish" +msgstr "Publiser" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "Del" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "Merkelapp" + +#: [page]visio +msgid "Visio-conference" +msgstr "Visio-konferanse" + +#: [error]error +msgid "Error: %s" +msgstr "Feil: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "Kan ikke laste filen '%s'" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "Den etterspurte hendelsen '%s' finnes ikke." + +#: [error]whoops +msgid "Whoops!" +msgstr "Oida!" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "Movim får ikke kontakt med tjeneren, prøv igjen senere" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "Uffda!" + +#: [button]accept +msgid "Accept" +msgstr "Aksepter" + +#: [button]add +msgid "Add" +msgstr "Legg til" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "Nei" + +#: [button]bool_yes +msgid "Yes" +msgstr "Ja" + +#: [button]call +msgid "Call" +msgstr "Ring" + +#: [button]cancel +msgid "Cancel" +msgstr "Avbryt" + +#: [button]chat +msgid "Chat" +msgstr "Samtale" + +#: [button]clear +msgid "Clear" +msgstr "Tøm" + +#: [button]close +msgid "Close" +msgstr "Lukk" + +#: [button]connecting +msgid "Connecting" +msgstr "Kobler til" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "Slett" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "Oppdag" + +#: [button]enable +msgid "Enable" +msgstr "Aktiver" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "Lik" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "Ny samtale" + +#: [button]next +msgid "Next" +msgstr "Neste" + +#: [button]not_now +msgid "Not Now" +msgstr "Ikke nå" + +#: [button]open +msgid "Open" +msgstr "Åpne" + +#: [button]previous +msgid "Previous" +msgstr "Forrige" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "Oppdater" + +#: [button]refuse +msgid "Refuse" +msgstr "Avslå" + +#: [button]register +msgid "Register" +msgstr "Registrer" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "Svar" + +#: [button]return +msgid "Return" +msgstr "Tilbake" + +#: [button]save +msgid "Save" +msgstr "Lagre" + +#: [button]search +msgid "Search" +msgstr "Søk" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "Del" + +#: [button]sign_up +msgid "Sign Up" +msgstr "Registrere" + +#: [button]submitting +msgid "Submitting" +msgstr "Sender inn" + +#: [button]unregister +msgid "Unregister" +msgstr "Avregistrer" + +#: [button]update +msgid "Update" +msgstr "Oppdater" + +#: [button]updating +msgid "Updating" +msgstr "Oppdaterer" + +#: [button]validate +msgid "Validate" +msgstr "Valider" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "Dag" + +#: [day]monday +msgid "Monday" +msgstr "Mandag" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Tirsdag" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Onsdag" + +#: [day]thursday +msgid "Thursday" +msgstr "Torsdag" + +#: [day]friday +msgid "Friday" +msgstr "Fredag" + +#: [day]saturday +msgid "Saturday" +msgstr "Lørdag" + +#: [day]sunday +msgid "Sunday" +msgstr "Søndag" + +#: [client]bot +msgid "Bot" +msgstr "Bot" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "Skrivebord" + +#: [client]phone +msgid "Phone" +msgstr "Telefon" + +#: [client]web +msgid "Web" +msgstr "Nett" + +#: [client]registered +msgid "Registered" +msgstr "Registrert" + +#: [client]gateway +msgid "Gateway" +msgstr "Portner" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "Pålogget" + +#: [presence]away +msgid "Away" +msgstr "Borte" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "Ikke forstyrr" + +#: [presence]xa +msgid "Extended Away" +msgstr "Borte for en lengre periode" + +#: [presence]offline +msgid "Offline" +msgstr "Avlogget" + +#: [presence]error +msgid "Error" +msgstr "Feil" + +#: [mood]afraid +msgid "afraid" +msgstr "redd" + +#: [mood]amazed +msgid "amazed" +msgstr "overrasket" + +#: [mood]amorous +msgid "amorous" +msgstr "amorøs" + +#: [mood]angry +msgid "angry" +msgstr "sint" + +#: [mood]annoyed +msgid "annoyed" +msgstr "irritert" + +#: [mood]anxious +msgid "anxious" +msgstr "nervøs" + +#: [mood]aroused +msgid "aroused" +msgstr "opphisset" + +#: [mood]ashamed +msgid "ashamed" +msgstr "skamfull" + +#: [mood]bored +msgid "bored" +msgstr "lei" + +#: [mood]brave +msgid "brave" +msgstr "modig" + +#: [mood]calm +msgid "calm" +msgstr "rolig" + +#: [mood]cautious +msgid "cautious" +msgstr "forsiktig" + +#: [mood]cold +msgid "cold" +msgstr "kald" + +#: [mood]confident +msgid "confident" +msgstr "selvsikker" + +#: [mood]confused +msgid "confused" +msgstr "forvirret" + +#: [mood]contemplative +msgid "contemplative" +msgstr "ettertenksom" + +#: [mood]contented +msgid "contented" +msgstr "fornøyd" + +#: [mood]cranky +msgid "cranky" +msgstr "gretten" + +#: [mood]crazy +msgid "crazy" +msgstr "gal" + +#: [mood]creative +msgid "creative" +msgstr "kreativ" + +#: [mood]curious +msgid "curious" +msgstr "nyskjerrig" + +#: [mood]dejected +msgid "dejected" +msgstr "nedslått" + +#: [mood]depressed +msgid "depressed" +msgstr "deprimert" + +#: [mood]disappointed +msgid "disappointed" +msgstr "skuffet" + +#: [mood]disgusted +msgid "disgusted" +msgstr "forferdet" + +#: [mood]dismayed +msgid "dismayed" +msgstr "forskrekket" + +#: [mood]distracted +msgid "distracted" +msgstr "distrahert" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "flau" + +#: [mood]envious +msgid "envious" +msgstr "sjalu" + +#: [mood]excited +msgid "excited" +msgstr "opprømt" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "flørtende" + +#: [mood]frustrated +msgid "frustrated" +msgstr "frustrert" + +#: [mood]grateful +msgid "grateful" +msgstr "takknemlig" + +#: [mood]grieving +msgid "grieving" +msgstr "sørgende" + +#: [mood]grumpy +msgid "grumpy" +msgstr "gretten" + +#: [mood]guilty +msgid "guilty" +msgstr "skyldig" + +#: [mood]happy +msgid "happy" +msgstr "glad" + +#: [mood]hopeful +msgid "hopeful" +msgstr "håpefull" + +#: [mood]hot +msgid "hot" +msgstr "heit" + +#: [mood]humbled +msgid "humbled" +msgstr "ydmyk" + +#: [mood]humiliated +msgid "humiliated" +msgstr "ydmyket" + +#: [mood]hungry +msgid "hungry" +msgstr "sulten" + +#: [mood]hurt +msgid "hurt" +msgstr "såret" + +#: [mood]impressed +msgid "impressed" +msgstr "imponert" + +#: [mood]in_awe +msgid "in awe" +msgstr "satt ut" + +#: [mood]in_love +msgid "in love" +msgstr "forelsket" + +#: [mood]indignant +msgid "indignant" +msgstr "indignert" + +#: [mood]interested +msgid "interested" +msgstr "interessert" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "beruset" + +#: [mood]invincible +msgid "invincible" +msgstr "uovervinnelig" + +#: [mood]jealous +msgid "jealous" +msgstr "sjalu" + +#: [mood]lonely +msgid "lonely" +msgstr "ensom" + +#: [mood]lost +msgid "lost" +msgstr "fortapt" + +#: [mood]lucky +msgid "lucky" +msgstr "heldig" + +#: [mood]mean +msgid "mean" +msgstr "slem" + +#: [mood]moody +msgid "moody" +msgstr "humørsyk" + +#: [mood]nervous +msgid "nervous" +msgstr "nervøs" + +#: [mood]neutral +msgid "neutral" +msgstr "nøytral" + +#: [mood]offended +msgid "offended" +msgstr "fornærmet" + +#: [mood]outraged +msgid "outraged" +msgstr "rasende" + +#: [mood]playful +msgid "playful" +msgstr "leken" + +#: [mood]proud +msgid "proud" +msgstr "stolt" + +#: [mood]relaxed +msgid "relaxed" +msgstr "avslappet" + +#: [mood]relieved +msgid "relieved" +msgstr "lettet" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "rastløs" + +#: [mood]sad +msgid "sad" +msgstr "trist" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "sarkastisk" + +#: [mood]satisfied +msgid "satisfied" +msgstr "tilfreds" + +#: [mood]serious +msgid "serious" +msgstr "seriøs" + +#: [mood]shocked +msgid "shocked" +msgstr "sjokkert" + +#: [mood]shy +msgid "shy" +msgstr "sjenert" + +#: [mood]sick +msgid "sick" +msgstr "syk" + +#: [mood]sleepy +msgid "sleepy" +msgstr "søvnig" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "spontan" + +#: [mood]stressed +msgid "stressed" +msgstr "stresset" + +#: [mood]strong +msgid "strong" +msgstr "sterk" + +#: [mood]surprised +msgid "surprised" +msgstr "overrasket" + +#: [mood]thankful +msgid "thankful" +msgstr "takknemlig" + +#: [mood]thirsty +msgid "thirsty" +msgstr "tørst" + +#: [mood]tired +msgid "tired" +msgstr "trøtt" + +#: [mood]undefined +msgid "undefined" +msgstr "udefinert" + +#: [mood]weak +msgid "weak" +msgstr "svak" + +#: [mood]worried +msgid "worried" +msgstr "bekymret" + +#: [month]title +msgid "Month" +msgstr "Måned" + +#: [month]january +msgid "January" +msgstr "Januar" + +#: [month]february +msgid "February" +msgstr "Februar" + +#: [month]march +msgid "March" +msgstr "Mars" + +#: [month]april +msgid "April" +msgstr "April" + +#: [month]may +msgid "May" +msgstr "Mai" + +#: [month]june +msgid "June" +msgstr "Juni" + +#: [month]july +msgid "July" +msgstr "Juli" + +#: [month]august +msgid "August" +msgstr "August" + +#: [month]september +msgid "September" +msgstr "September" + +#: [month]october +msgid "October" +msgstr "Oktober" + +#: [month]november +msgid "November" +msgstr "November" + +#: [month]december +msgid "December" +msgstr "Desember" + +#: [year]title +msgid "Year" +msgstr "År" + +#: [date]today +msgid "Today" +msgstr "Idag" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "Imorgen" + +#: [date]yesterday +msgid "Yesterday" +msgstr "I går" + +#: [date]ago +msgid "%d days ago" +msgstr "For %d dager siden" + +#: [date]day +msgid "day" +msgstr "dag" + +#: [post]title +msgid "Title" +msgstr "Overskrift" + +#: [post]place +msgid "Place" +msgstr "Sted" + +#: [post]by +msgid "by" +msgstr "by" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "Plassering" + +#: [post]email +msgid "email" +msgstr "e-post" + +#: [post]empty +msgid "No content" +msgstr "Ingen innhold" + +#: [post]no_comments +msgid "No comments yet" +msgstr "Ingen kommentarer enda" + +#: [post]older +msgid "Get older posts" +msgstr "Hent eldre innlegg" + +#: [post]new_items +msgid "%s new items" +msgstr "%s nye innlegg" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "Feil oppstod ved publisering av kommentar" + +#: [post]comments_get +msgid "Get the comments" +msgstr "Hent kommentarene" + +#: [post]comment_add +msgid "Add a comment" +msgstr "Legg til kommentar" + +#: [post]share +msgid "Share with" +msgstr "Del med" + +#: [post]share_everyone +msgid "Everyone" +msgstr "Alle" + +#: [post]updated +msgid "Updated" +msgstr "Oppdatert" + +#: [post]content_not_found +msgid "Content not found" +msgstr "Innholdet ble ikke funnet" + +#: [post]default_title +msgid "Contact publication" +msgstr "Kontakt publikasjon" + +#: [post]comments +msgid "Comments" +msgstr "Kommentarer" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "Opprinnelig post slettet" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "Eier" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "Utgiver" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "API-et kan ikke nås, prøv igjen senere" + +#: [field]type_here +msgid "Type here" +msgstr "Skriv her" diff --git a/frontend/locales/ne.po b/frontend/locales/ne.po new file mode 100644 index 0000000..11f0f5f --- /dev/null +++ b/frontend/locales/ne.po @@ -0,0 +1,4155 @@ +# +# Translators: +# FIRST AUTHOR , 2012 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: FIRST AUTHOR , 2012\n" +"Language-Team: Nepali (http://app.transifex.com/movim/movim/language/ne/)\n" +"Language: ne\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "" + +#: [about]developers +msgid "Developers" +msgstr "" + +#: [about]translators +msgid "Translators" +msgstr "" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "" + +#: [about]software +msgid "Software" +msgstr "" + +#: [about]resources +msgid "Resources" +msgstr "" + +#: [about]api +msgid "API" +msgstr "" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "" + +#: [account]delete +msgid "Delete your account" +msgstr "" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "" + +#: [general]theme +msgid "Theme" +msgstr "" + +#: [general]language +msgid "Default language" +msgstr "" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "" + +#: [credentials]re_password +msgid "Retype password" +msgstr "" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "" + +#: [general]gender +msgid "Gender" +msgstr "" + +#: [general]marital +msgid "Marital Status" +msgstr "" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "" + +#: [general]about +msgid "About Me" +msgstr "" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "त्रुटि: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "दिन" + +#: [day]monday +msgid "Monday" +msgstr "सोमबार" + +#: [day]tuesday +msgid "Tuesday" +msgstr "मंगलबार" + +#: [day]wednesday +msgid "Wednesday" +msgstr "बुधबार" + +#: [day]thursday +msgid "Thursday" +msgstr "बिहिबार" + +#: [day]friday +msgid "Friday" +msgstr "शुक्रबार" + +#: [day]saturday +msgid "Saturday" +msgstr "शनीबार" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "" + +#: [presence]away +msgid "Away" +msgstr "" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "महिना" + +#: [month]january +msgid "January" +msgstr "" + +#: [month]february +msgid "February" +msgstr "" + +#: [month]march +msgid "March" +msgstr "" + +#: [month]april +msgid "April" +msgstr "" + +#: [month]may +msgid "May" +msgstr "" + +#: [month]june +msgid "June" +msgstr "" + +#: [month]july +msgid "July" +msgstr "" + +#: [month]august +msgid "August" +msgstr "" + +#: [month]september +msgid "September" +msgstr "" + +#: [month]october +msgid "October" +msgstr "" + +#: [month]november +msgid "November" +msgstr "" + +#: [month]december +msgid "December" +msgstr "" + +#: [year]title +msgid "Year" +msgstr "वर्ष" + +#: [date]today +msgid "Today" +msgstr "आज" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "भोली" + +#: [date]yesterday +msgid "Yesterday" +msgstr "हिजो" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "दिन" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/nl.po b/frontend/locales/nl.po new file mode 100644 index 0000000..2d9ed8f --- /dev/null +++ b/frontend/locales/nl.po @@ -0,0 +1,4164 @@ +# +# Translators: +# LinuxArie , 2018 +# before , 2015 +# Joep Seuren , 2015 +# Casper , 2018 +# Flevo Polder , 2017 +# Heimen Stoffels , 2018 +# Jeshua Edgar , 2016 +# Robbie Deighton , 2019 +# Rolf Deenen , 2017 +# Steven Roose , 2015 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Robbie Deighton , 2019\n" +"Language-Team: Dutch (http://app.transifex.com/movim/movim/language/nl/)\n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Bedankt" + +#: [about]developers +msgid "Developers" +msgstr "Ontwikkelaars" + +#: [about]translators +msgid "Translators" +msgstr "Vertalers" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Vertalers, bedankt!" + +#: [about]software +msgid "Software" +msgstr "Software" + +#: [about]resources +msgid "Resources" +msgstr "Hulpmiddelen" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim is een op XMPP gebaseerd communicatieplatform. Het gehele project, met uitzondering van de volgende software en hulpmiddelen, is onder" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Account" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Wijzig mijn wachtwoord" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Wachtwoord" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Wachtwoord bevestigen" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "Je wachtwoord is bijgewerkt" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "De ingevoerde wachtwoorden zijn niet gelijk" + +#: [account]delete +msgid "Delete your account" +msgstr "Mijn account verwijderen" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "Deze server verlaten" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Acties" + +#: [adhoc]completed +msgid "Action completed" +msgstr "Actie voltooid" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "Algemene instellingen" + +#: [general]theme +msgid "Theme" +msgstr "Thema" + +#: [general]language +msgid "Default language" +msgstr "Standaardtaal" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "Logniveau" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "Suggesties beperken" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "Beheer-inloggegevens" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Gebruikersnaam" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Wachtwoord herhalen" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "Verlaat dit onbeschreven veld als u de toegang tot alle XMPP-accounts toestaat." + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Beschrijving" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "Deze informatie zal op de aanmeldpagina worden weergegeven. Het kan bijvoorbeeld worden gebruikt om een link naar de voorwaarden en condities van je Movim instantie te maken." + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "Laat dit veld leeg als je geen berichten wilt tonen." + +#: [information]label +msgid "Information Message" +msgstr "Informatieve Melding" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "Standaard XMPP Server" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "Standaard XMPP Server domein" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "Standaard XMPP Server beschrijving" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "Standaard XMPP Server land" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "Selecteer een land uit de lijst" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "Leeg" + +#: [log]syslog +msgid "Syslog" +msgstr "Syslog" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "Syslog en bestanden" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "Sessies" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "Bestand" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "Deze data is privé, log in om dit te zien." + +#: [message]published +msgid "Message Published" +msgstr "Bericht gepubliceerd" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "Je bericht kon niet worden verzonden. probeer het a.u.b. later nog eens" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "Geëncrypteerd bericht" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "Aan het schrijven..." + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "Gepauzeerd..." + +#: [message]gone +msgid "Contact gone" +msgstr "Contact verdwenen" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%s heeft uw aandacht nodig" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "Je bericht hier..." + +#: [chat]smileys +msgid "Smileys" +msgstr "Smileys" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "Frequente contacten" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "Hier is nog niets..." + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "Wees niet verlegen, zend een eerste bericht om de discussie te starten" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "Je hebt een uitnodiging ontvangen om je aan te sluiten bij een chatruimte" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "Lid worden van %s" + +#: [chat]profile +msgid "See the profile" +msgstr "Bekijk profiel" + +#: [chat]clear +msgid "Clear the history" +msgstr "Verwijder geschiedenis" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "Bewerk laatste bericht" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "Meld misbruik" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "Momenteel geen gesprekken..." + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "Start een nieuwe conversatie door op de %s knop te klikken." + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "Chat met een contactpersoon" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "Alles" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "Contactpersonen" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "Ontdek, volg en deel" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "Zoek een nieuwe server" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "My Little Pony - Fan Club" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Configuratie" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "Abonnementen" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "Instellingen opgeslagen" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "Beheerders" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "Rollen" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "rol correct ingesteld" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "Iedereen kan publiceren" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "Gallerij" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "%s geabbonneerde" + +#: [communitydata]num +msgid "%s posts" +msgstr "%s berichten" + +#: [communitydata]public +msgid "Public page" +msgstr "Openbare pagina" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "Abonneren is voor deze groep uitgeschakeld" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "Geef deze groep een label" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "Mijn groepsnaam" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "Het verschijnt in je profiel" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "Weet je het zeker?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "Hallo" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "Hier kun je al je abonnementen beheren." + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "Algemeen" + +#: [config]language +msgid "Language" +msgstr "Taal" + +#: [config]roster +msgid "Roster display" +msgstr "rooster tonen" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "Toon offline contactpersonen" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "Verberg offline contactpersonen" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "Instellingen bijgewerkt" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "Ongeldige configuratie" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "Geavanceerde configuratie" + +#: [config]nsfw +msgid "Display adult content" +msgstr "Verberg NSFW niet" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "Laat je ook berichten zien die als #nsfw zijn aangemerkt" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "altijd" + +#: [config]mam_never +msgid "Never" +msgstr "nooit" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "Authenticatiecode" + +#: [roster]add_title +msgid "Add a contact" +msgstr "Voeg een contact toe" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "Geef een enter om te valideren" + +#: [roster]added +msgid "Contact added" +msgstr "Contactpersoon toegevoegd" + +#: [roster]updated +msgid "Contact updated" +msgstr "Contactpersoon bijgewerkt" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "Contactpersoon verwijderd" + +#: [general]legend +msgid "General Information" +msgstr "Algemene informatie" + +#: [general]name +msgid "Name" +msgstr "Naam" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "bijnaam" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Geboortedatum" + +#: [general]gender +msgid "Gender" +msgstr "Geslacht" + +#: [general]marital +msgid "Marital Status" +msgstr "Burgerlijke staat" + +#: [general]email +msgid "Email" +msgstr "E-mail" + +#: [general]website +msgid "Website" +msgstr "Website" + +#: [general]about +msgid "About Me" +msgstr "Over Mij" + +#: [general]accounts +msgid "Other Accounts" +msgstr "Andere Accounts" + +#: [general]tune +msgid "Is Listening" +msgstr "luistert" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "Geografische Positie" + +#: [position]locality +msgid "Locality" +msgstr "Plaats" + +#: [position]country +msgid "Country" +msgstr "Land" + +#: [listen]title +msgid "Listening" +msgstr "Luisteren" + +#: [last]title +msgid "Last seen" +msgstr "Laatst gezien" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "Laatst geregistreerd" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "Aanpassen" + +#: [edit]alias +msgid "Alias" +msgstr "Alias" + +#: [edit]group +msgid "Group" +msgstr "Groep" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "%s jaren" + +#: [blog]last +msgid "Last public post" +msgstr "laatste publiek bericht" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "Je kunt deze contactpersoon zijn status zien" + +#: [subscription]to_button +msgid "Share my status" +msgstr "Deel mijn status" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "Maar deze contactpersoon kan die van jou niet zien" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "Je bent niet geabbonneerd op deze contactpersoon" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "Vraag om te abboneren" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "Maar deze contactpersoon kan nog steeds zien dat je online bent" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "Uitnodigen" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "Veelgestelde vragen" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "Voeg de chatroom toe" + +#: [error]username +msgid "Wrong username" +msgstr "Foute gebruikersnaam" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "Lege Challenge van de server" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "interne server fout" + +#: [error]session +msgid "Session error" +msgstr "sessie fout" + +#: [error]account_created +msgid "Account successfully created" +msgstr "Account succesvol aangemaakt" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "Onmogelijke login" + +#: [error]default +msgid "Unknown error" +msgstr "Onbekende fout" + +#: [error]login_format +msgid "Invalid username format" +msgstr "Gebruikersnaam voldoet niet aan eisen" + +#: [error]password_format +msgid "Invalid password format" +msgstr "Wachtwoord voldoet niet aan eisen" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "De XMPP Server is niet toegestaan" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "Movim kon niet aanmelden. Je hebt verkeerde gegevens ingevuld" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "Deze manier van aanmelden wordt door Movim niet ondersteund" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "Aanmelden bij XMPP is mislukt" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "Mijn adres" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "Verbonden" + +#: [form]population +msgid "Population" +msgstr "Populatie" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "Nog geen nieuws" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "Mijn berichten" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "Schrijf een nieuw bericht..." + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "Meldingen" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%s wil met je praten" + +#: [notifs]empty +msgid "No new notifications" +msgstr "Geen nieuwe meldingen" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "Moving kan melden wanneer er een nieuw bericht is gepubliceerd" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "Je kan ze altijd later weer uitschakelen" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "Openbare profiel" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "Maak je profiel openbaar. Hiermee kunnen andere gebruikers je makkelijker vinden en leg je makkelijker contact" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "Je kan dit altijd later weer uitschakelen in de instellingen" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "nieuwsfeed" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "Ontdek en abonneer op de groepen waarop je geinteresseerd bent" + +#: [post]content +msgid "Content" +msgstr "inhoud" + +#: [post]published +msgid "Post published" +msgstr "bericht gepubliceerd" + +#: [post]deleted +msgid "Post deleted" +msgstr "bericht verwijderd" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "dit is een repost van %s" + +#: [post]see_profile +msgid "See %s profile" +msgstr "zie %s profiel" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "Dit bericht is openbaar" + +#: [post]public_no +msgid "This post is private" +msgstr "Dit bericht is niet openbaar" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "Openbare URL van dit bericht" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "Verwijder dit bericht" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "Weet je zeker dat je dit bericht wil verwijderen?" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "Lees verder" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "Reacties uitgeschakeld" + +#: [post]comment_published +msgid "Comment published" +msgstr "Reactie gepubliceerd" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "Reactie verwijderd" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "Universele deel-knop" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "Deel op Movim" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "Oh! Hallo!" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "Check het menu" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "Het lijkt er op dat je je profiel niet helemaal hebt ingevuld" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "Uitloggen" + +#: [status]presence +msgid "Presence" +msgstr "aanwezigheid" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "Bericht" + +#: [publish]post +msgid "Write a post" +msgstr "Schrijf een bericht" + +#: [publish]add_link +msgid "Add a link" +msgstr "Voeg een link toe" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "Geef een titel in" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "Voorbeeld" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "Voeg een bestand of foto toe" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "nieuwe berichten" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "Voer een geldig url in alstublieft" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "je kunt je inhoud opmaken met Markdown" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "Help" + +#: [publishhelp]more +msgid "More help" +msgstr "Meer help" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "Markdown syntax handleiding" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Nieuw account creëren" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "Geen accountformulier gevonden op de server" + +#: [create]server_on +msgid "on" +msgstr "op" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "Bezig met laden..." + +#: [create]placeholder +msgid "…and start playing" +msgstr "...en speel af" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Niet-aanvaardbaar" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "Het registratiesysteem van deze server is momenteel niet bereikbaar" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "Registratie niet toegestaan" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "Lege naam" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "Klik op toevoegen om er een toe te voegen." + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "Leden" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "Onderwerp" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "Chatrooms" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "Favoriet bijgewerkt" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "Login op %s" + +#: [room]invite +msgid "Invite a contact" +msgstr "Nodig een contactpersoon uit" + +#: [room]invited +msgid "Invitation sent" +msgstr "Uitnodiging verzonden" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "Wat zoek je?" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "Tag" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "Er is je een sticker toegezonden door Movim" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "Feed van %s" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "Geen publieke feed beschikbaar voor deze contactpersoon" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "Geen contactpersoon geselecteerd" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "Uploaden" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "Kies een bestand om te uploaden" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "Grote afbeeldingen worden automatisch verkleind" + +#: [upload]error_filesize +msgid "File too large" +msgstr "Bestand is te groot" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "Het uploaden is mislukt" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Profiel" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "Profiel bijgewerkt" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "Profiel niet bijgewerkt" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "Je profiel is nu openbaar" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "Je profiel is nu afgeschermd" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Zenden" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Reset" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "Movim werkt niet optimaal" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "Contact de server beheerder om te zien of de mogelijkheid kan worden ingeschakeld" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "Afgewezen" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "Laden..." + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "Over" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Account aanmaken" + +#: [page]administration +msgid "Administration" +msgstr "Beheer" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "Blog" + +#: [page]chats +msgid "Messages" +msgstr "Berichten" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "Verkennen" + +#: [page]feed +msgid "Feed" +msgstr "Feed" + +#: [page]home +msgid "Home" +msgstr "Home" + +#: [page]login +msgid "Login" +msgstr "Inloggen" + +#: [page]news +msgid "News" +msgstr "Nieuws" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "Berichten" + +#: [page]publish +msgid "Publish" +msgstr "Publiceer" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "Delen" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "Tag" + +#: [page]visio +msgid "Visio-conference" +msgstr "Visioconferentie" + +#: [error]error +msgid "Error: %s" +msgstr "Error: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "Kan bestand %s niet laden" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "Het opgevraagde event '%s' is niet geregistreerd." + +#: [error]whoops +msgid "Whoops!" +msgstr "Oeps!" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "Oeps!" + +#: [button]accept +msgid "Accept" +msgstr "Accepteer" + +#: [button]add +msgid "Add" +msgstr "Toevoegen" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "Nee" + +#: [button]bool_yes +msgid "Yes" +msgstr "Ja" + +#: [button]call +msgid "Call" +msgstr "Bellen" + +#: [button]cancel +msgid "Cancel" +msgstr "Annuleren" + +#: [button]chat +msgid "Chat" +msgstr "Chat" + +#: [button]clear +msgid "Clear" +msgstr "Opnieuw" + +#: [button]close +msgid "Close" +msgstr "Sluit" + +#: [button]connecting +msgid "Connecting" +msgstr "Verbinden" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "Verwijderen" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "Verkennen" + +#: [button]enable +msgid "Enable" +msgstr "Inschakelen" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "Vind ik leuk" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "Nieuw gesprek" + +#: [button]next +msgid "Next" +msgstr "Volgende" + +#: [button]not_now +msgid "Not Now" +msgstr "Niet nu" + +#: [button]open +msgid "Open" +msgstr "open" + +#: [button]previous +msgid "Previous" +msgstr "Vorige" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "Vernieuwen" + +#: [button]refuse +msgid "Refuse" +msgstr "Weiger" + +#: [button]register +msgid "Register" +msgstr "Registreren" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "Antwoord" + +#: [button]return +msgid "Return" +msgstr "Terug" + +#: [button]save +msgid "Save" +msgstr "Opslaan" + +#: [button]search +msgid "Search" +msgstr "Zoeken" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "Delen" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "Bezig met opslaan" + +#: [button]unregister +msgid "Unregister" +msgstr "Uitschrijven" + +#: [button]update +msgid "Update" +msgstr "Bijwerken" + +#: [button]updating +msgid "Updating" +msgstr "Aan het bijwerken" + +#: [button]validate +msgid "Validate" +msgstr "Bevestig" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "Dag" + +#: [day]monday +msgid "Monday" +msgstr "maandag" + +#: [day]tuesday +msgid "Tuesday" +msgstr "dinsdag" + +#: [day]wednesday +msgid "Wednesday" +msgstr "woensdag" + +#: [day]thursday +msgid "Thursday" +msgstr "donderdag" + +#: [day]friday +msgid "Friday" +msgstr "vrijdag" + +#: [day]saturday +msgid "Saturday" +msgstr "zaterdag" + +#: [day]sunday +msgid "Sunday" +msgstr "zondag" + +#: [client]bot +msgid "Bot" +msgstr "Bot" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "Bureaublad" + +#: [client]phone +msgid "Phone" +msgstr "Telefoon" + +#: [client]web +msgid "Web" +msgstr "Web" + +#: [client]registered +msgid "Registered" +msgstr "Geregistreerd" + +#: [client]gateway +msgid "Gateway" +msgstr "Gateway" + +#: [client]im +msgid "Server" +msgstr "Server" + +#: [presence]online +msgid "Online" +msgstr "Online" + +#: [presence]away +msgid "Away" +msgstr "Afwezig" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "Niet Storen" + +#: [presence]xa +msgid "Extended Away" +msgstr "Langdurig Afwezig" + +#: [presence]offline +msgid "Offline" +msgstr "Offline" + +#: [presence]error +msgid "Error" +msgstr "Fout" + +#: [mood]afraid +msgid "afraid" +msgstr "bang" + +#: [mood]amazed +msgid "amazed" +msgstr "verbaasd" + +#: [mood]amorous +msgid "amorous" +msgstr "vriendelijk" + +#: [mood]angry +msgid "angry" +msgstr "boos" + +#: [mood]annoyed +msgid "annoyed" +msgstr "geirriteerd" + +#: [mood]anxious +msgid "anxious" +msgstr "nerveus" + +#: [mood]aroused +msgid "aroused" +msgstr "opgewonden" + +#: [mood]ashamed +msgid "ashamed" +msgstr "beschaamd" + +#: [mood]bored +msgid "bored" +msgstr "verveeld" + +#: [mood]brave +msgid "brave" +msgstr "moedig" + +#: [mood]calm +msgid "calm" +msgstr "kalm" + +#: [mood]cautious +msgid "cautious" +msgstr "voorzichtig" + +#: [mood]cold +msgid "cold" +msgstr "koud" + +#: [mood]confident +msgid "confident" +msgstr "zelfverzekerd" + +#: [mood]confused +msgid "confused" +msgstr "verward" + +#: [mood]contemplative +msgid "contemplative" +msgstr "beschouwend" + +#: [mood]contented +msgid "contented" +msgstr "tevreden" + +#: [mood]cranky +msgid "cranky" +msgstr "nors" + +#: [mood]crazy +msgid "crazy" +msgstr "gek" + +#: [mood]creative +msgid "creative" +msgstr "creatief" + +#: [mood]curious +msgid "curious" +msgstr "nieuwsgierig" + +#: [mood]dejected +msgid "dejected" +msgstr "bedroefd" + +#: [mood]depressed +msgid "depressed" +msgstr "neerslachtig" + +#: [mood]disappointed +msgid "disappointed" +msgstr "teleurgesteld" + +#: [mood]disgusted +msgid "disgusted" +msgstr "walgend" + +#: [mood]dismayed +msgid "dismayed" +msgstr "ongerust" + +#: [mood]distracted +msgid "distracted" +msgstr "afgeleid" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "beschaamd" + +#: [mood]envious +msgid "envious" +msgstr "jaloers" + +#: [mood]excited +msgid "excited" +msgstr "opgewonden" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "complimenteus" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "dankbaar" + +#: [mood]grieving +msgid "grieving" +msgstr "bedroefd" + +#: [mood]grumpy +msgid "grumpy" +msgstr "knorrig" + +#: [mood]guilty +msgid "guilty" +msgstr "schuldig" + +#: [mood]happy +msgid "happy" +msgstr "blij" + +#: [mood]hopeful +msgid "hopeful" +msgstr "hoopvol" + +#: [mood]hot +msgid "hot" +msgstr "hot" + +#: [mood]humbled +msgid "humbled" +msgstr "nederig" + +#: [mood]humiliated +msgid "humiliated" +msgstr "vernederd" + +#: [mood]hungry +msgid "hungry" +msgstr "hongerig" + +#: [mood]hurt +msgid "hurt" +msgstr "bezeerd" + +#: [mood]impressed +msgid "impressed" +msgstr "geimponeerd" + +#: [mood]in_awe +msgid "in awe" +msgstr "verwonderd" + +#: [mood]in_love +msgid "in love" +msgstr "verliefd" + +#: [mood]indignant +msgid "indignant" +msgstr "verontwaardigd" + +#: [mood]interested +msgid "interested" +msgstr "geïnteresseerd" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "onder invloed" + +#: [mood]invincible +msgid "invincible" +msgstr "onoverwinnelijk" + +#: [mood]jealous +msgid "jealous" +msgstr "jaloers" + +#: [mood]lonely +msgid "lonely" +msgstr "eenzaam" + +#: [mood]lost +msgid "lost" +msgstr "verdwaald" + +#: [mood]lucky +msgid "lucky" +msgstr "gelukkig" + +#: [mood]mean +msgid "mean" +msgstr "gemeen" + +#: [mood]moody +msgid "moody" +msgstr "humeurig" + +#: [mood]nervous +msgid "nervous" +msgstr "nerveus" + +#: [mood]neutral +msgid "neutral" +msgstr "neutraal" + +#: [mood]offended +msgid "offended" +msgstr "beledigd" + +#: [mood]outraged +msgid "outraged" +msgstr "woedend" + +#: [mood]playful +msgid "playful" +msgstr "speels" + +#: [mood]proud +msgid "proud" +msgstr "trots" + +#: [mood]relaxed +msgid "relaxed" +msgstr "ontspannen" + +#: [mood]relieved +msgid "relieved" +msgstr "opgelucht" + +#: [mood]remorseful +msgid "remorseful" +msgstr "berouwvol" + +#: [mood]restless +msgid "restless" +msgstr "rusteloos" + +#: [mood]sad +msgid "sad" +msgstr "droevig" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "sarcastisch" + +#: [mood]satisfied +msgid "satisfied" +msgstr "voldaan" + +#: [mood]serious +msgid "serious" +msgstr "serieus" + +#: [mood]shocked +msgid "shocked" +msgstr "geschrokken" + +#: [mood]shy +msgid "shy" +msgstr "verlegen" + +#: [mood]sick +msgid "sick" +msgstr "ziek" + +#: [mood]sleepy +msgid "sleepy" +msgstr "slaperig" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "spontaan" + +#: [mood]stressed +msgid "stressed" +msgstr "gestrest" + +#: [mood]strong +msgid "strong" +msgstr "sterk" + +#: [mood]surprised +msgid "surprised" +msgstr "verrast" + +#: [mood]thankful +msgid "thankful" +msgstr "dankbaar" + +#: [mood]thirsty +msgid "thirsty" +msgstr "dorstig" + +#: [mood]tired +msgid "tired" +msgstr "moe" + +#: [mood]undefined +msgid "undefined" +msgstr "ongedefiniëerd" + +#: [mood]weak +msgid "weak" +msgstr "zwak" + +#: [mood]worried +msgid "worried" +msgstr "bezorgd" + +#: [month]title +msgid "Month" +msgstr "Maand" + +#: [month]january +msgid "January" +msgstr "januari" + +#: [month]february +msgid "February" +msgstr "februari" + +#: [month]march +msgid "March" +msgstr "maart" + +#: [month]april +msgid "April" +msgstr "april" + +#: [month]may +msgid "May" +msgstr "mei" + +#: [month]june +msgid "June" +msgstr "juni" + +#: [month]july +msgid "July" +msgstr "juli" + +#: [month]august +msgid "August" +msgstr "augustus" + +#: [month]september +msgid "September" +msgstr "september" + +#: [month]october +msgid "October" +msgstr "oktober" + +#: [month]november +msgid "November" +msgstr "november" + +#: [month]december +msgid "December" +msgstr "december" + +#: [year]title +msgid "Year" +msgstr "Jaar" + +#: [date]today +msgid "Today" +msgstr "Vandaag" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "Morgen" + +#: [date]yesterday +msgid "Yesterday" +msgstr "Gisteren" + +#: [date]ago +msgid "%d days ago" +msgstr "%d dagen geleden" + +#: [date]day +msgid "day" +msgstr "dag" + +#: [post]title +msgid "Title" +msgstr "Titel" + +#: [post]place +msgid "Place" +msgstr "Plaats" + +#: [post]by +msgid "by" +msgstr "door" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "Geolokalisatie" + +#: [post]email +msgid "email" +msgstr "e-mail" + +#: [post]empty +msgid "No content" +msgstr "Geen inhoud" + +#: [post]no_comments +msgid "No comments yet" +msgstr "Nog geen reacties" + +#: [post]older +msgid "Get older posts" +msgstr "Haal oudere berichten op" + +#: [post]new_items +msgid "%s new items" +msgstr "%s nieuwe items" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "Fout bij publiceren van reactie" + +#: [post]comments_get +msgid "Get the comments" +msgstr "Reacties ophalen" + +#: [post]comment_add +msgid "Add a comment" +msgstr "Reactie toevoegen" + +#: [post]share +msgid "Share with" +msgstr "Delen met" + +#: [post]share_everyone +msgid "Everyone" +msgstr "Iedereen" + +#: [post]updated +msgid "Updated" +msgstr "Bijgewerkt" + +#: [post]content_not_found +msgid "Content not found" +msgstr "Geen inhoud gevonden" + +#: [post]default_title +msgid "Contact publication" +msgstr "Contactpersoon publiceren" + +#: [post]comments +msgid "Comments" +msgstr "Reacties" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "Originele bericht verwijderd" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "Beheerder" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "De API is niet bereikbaar, probeer later nog eens" + +#: [field]type_here +msgid "Type here" +msgstr "Typ hier" diff --git a/frontend/locales/oc.po b/frontend/locales/oc.po new file mode 100644 index 0000000..a48c953 --- /dev/null +++ b/frontend/locales/oc.po @@ -0,0 +1,4154 @@ +# +# Translators: +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Occitan (post 1500) (http://app.transifex.com/movim/movim/language/oc/)\n" +"Language: oc\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "" + +#: [about]developers +msgid "Developers" +msgstr "" + +#: [about]translators +msgid "Translators" +msgstr "" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "" + +#: [about]software +msgid "Software" +msgstr "Logicials" + +#: [about]resources +msgid "Resources" +msgstr "" + +#: [about]api +msgid "API" +msgstr "" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Senhal" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "" + +#: [account]delete +msgid "Delete your account" +msgstr "" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Accions" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "Configuracion generala" + +#: [general]theme +msgid "Theme" +msgstr "Tèma" + +#: [general]language +msgid "Default language" +msgstr "Lenga per defaut" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "Nivèl de jornalizacion" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "Identificacion de l'administrator" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Nom d'utilizaire" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Tornar picar lo senhal" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "Daissatz aqueste champ void se desiratz autorizar la connexion a totes los comptes XMPP." + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Descripcion" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "Messatge d'informacion" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "Messatge publicat" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "Messatge chifrat" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%s a besonh de vòstre atencion" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "Tot" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "Mon Pichon Poni - Fan Club" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Configuracion" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "Lenga" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "Contacte mes a jorn" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "Nom" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "Escais" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Data de Naissença" + +#: [general]gender +msgid "Gender" +msgstr "Sèxe" + +#: [general]marital +msgid "Marital Status" +msgstr "Situacion familiala" + +#: [general]email +msgid "Email" +msgstr "Adreça electronica" + +#: [general]website +msgid "Website" +msgstr "Site web" + +#: [general]about +msgid "About Me" +msgstr "A prepaus de ieu" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "Posicion geografica" + +#: [position]locality +msgid "Locality" +msgstr "Localitat" + +#: [position]country +msgid "Country" +msgstr "País" + +#: [listen]title +msgid "Listening" +msgstr "En escota" + +#: [last]title +msgid "Last seen" +msgstr "Darrièra visita" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "Darrièrs marcats" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "Aliàs" + +#: [edit]group +msgid "Group" +msgstr "Grop" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "Nom d'utilizaire incorrècte" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "Error intèrna del servidor" + +#: [error]session +msgid "Session error" +msgstr "Error de sesilha" + +#: [error]account_created +msgid "Account successfully created" +msgstr "Compte creat amb succès" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "Error desconeguda" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "Autentificacion al servidor XMPP impossibla" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "Mon adreça" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "Se desconnectar" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "Ajuda" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Crear un compte novèl" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "" + +#: [create]server_on +msgid "on" +msgstr "lo" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "Nom void" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "Salons de discussion" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "Signets meses a jorn" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "Mandar" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Perfil" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "Perfil mes a jorn" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Validar" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Reïnicializar" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "A prepaus" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Creacion de compte" + +#: [page]administration +msgid "Administration" +msgstr "Administracion" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "Blòg" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "Explorar" + +#: [page]feed +msgid "Feed" +msgstr "Flux" + +#: [page]home +msgid "Home" +msgstr "Dorsièr personal" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "Actualitats" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "Visioconferéncia" + +#: [error]error +msgid "Error: %s" +msgstr "Error : %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "Lo fichier '%s' es pas accessible" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "Acceptar" + +#: [button]add +msgid "Add" +msgstr "Apondre" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "Non" + +#: [button]bool_yes +msgid "Yes" +msgstr "Òc" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "Abandonar" + +#: [button]chat +msgid "Chat" +msgstr "Messatjariá instantanèa (chat)" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "Tampar" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "Descobrir" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "Metre a jorn" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "Enregistrar" + +#: [button]search +msgid "Search" +msgstr "Recercar" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "Somission en cors" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "Metre a jorn" + +#: [button]updating +msgid "Updating" +msgstr "Mesa a jorn" + +#: [button]validate +msgid "Validate" +msgstr "Validar" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "Jorn" + +#: [day]monday +msgid "Monday" +msgstr "Diluns" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Dimars" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Dimècres" + +#: [day]thursday +msgid "Thursday" +msgstr "Dijòus" + +#: [day]friday +msgid "Friday" +msgstr "Divendres" + +#: [day]saturday +msgid "Saturday" +msgstr "Dissabte" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "Robòt" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "Burèu" + +#: [client]phone +msgid "Phone" +msgstr "Telefòn" + +#: [client]web +msgid "Web" +msgstr "Internet" + +#: [client]registered +msgid "Registered" +msgstr "Enregistrat" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "Servidor" + +#: [presence]online +msgid "Online" +msgstr "En linha" + +#: [presence]away +msgid "Away" +msgstr "Absent(a)" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "De derengar pas" + +#: [presence]xa +msgid "Extended Away" +msgstr "Abséncia longa" + +#: [presence]offline +msgid "Offline" +msgstr "Desconnectat" + +#: [presence]error +msgid "Error" +msgstr "Error" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "estonat(ada)" + +#: [mood]amorous +msgid "amorous" +msgstr "Amorós/osa" + +#: [mood]angry +msgid "angry" +msgstr "en colèra" + +#: [mood]annoyed +msgid "annoyed" +msgstr "contrariat/ada" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "estimulat(ada)" + +#: [mood]ashamed +msgid "ashamed" +msgstr "vergonhós(osa)" + +#: [mood]bored +msgid "bored" +msgstr "alassat(ada)" + +#: [mood]brave +msgid "brave" +msgstr "coratjós(osa)" + +#: [mood]calm +msgid "calm" +msgstr "calm(a)" + +#: [mood]cautious +msgid "cautious" +msgstr "prudent(a)" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "Fisançós/osa" + +#: [mood]confused +msgid "confused" +msgstr "perplèxe(a)" + +#: [mood]contemplative +msgid "contemplative" +msgstr "contemplatiu(va)" + +#: [mood]contented +msgid "contented" +msgstr "satisfach(a)" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "Franc fadard(a)" + +#: [mood]creative +msgid "creative" +msgstr "creatiu(va)" + +#: [mood]curious +msgid "curious" +msgstr "curiós(osa)" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "deprimit(ida)" + +#: [mood]disappointed +msgid "disappointed" +msgstr "decebut(uda)" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "distrach(a)" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "Excitat/ada" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "seductor" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "reconeissent" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "romegós" + +#: [mood]guilty +msgid "guilty" +msgstr "copable" + +#: [mood]happy +msgid "happy" +msgstr "Urós/osa" + +#: [mood]hopeful +msgid "hopeful" +msgstr "optimista" + +#: [mood]hot +msgid "hot" +msgstr "Caud(a)" + +#: [mood]humbled +msgid "humbled" +msgstr "esmougut" + +#: [mood]humiliated +msgid "humiliated" +msgstr "umiliat" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "impressionat" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "amorós" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "interessat" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "intoxicat" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "gelós" + +#: [mood]lonely +msgid "lonely" +msgstr "sol" + +#: [mood]lost +msgid "lost" +msgstr "perdut" + +#: [mood]lucky +msgid "lucky" +msgstr "astruc" + +#: [mood]mean +msgid "mean" +msgstr "missant" + +#: [mood]moody +msgid "moody" +msgstr "ronhós" + +#: [mood]nervous +msgid "nervous" +msgstr "nerviós" + +#: [mood]neutral +msgid "neutral" +msgstr "neutre" + +#: [mood]offended +msgid "offended" +msgstr "ofensat" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "jogaire" + +#: [mood]proud +msgid "proud" +msgstr "fièr" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "impacient" + +#: [mood]sad +msgid "sad" +msgstr "triste" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "sarcastic" + +#: [mood]satisfied +msgid "satisfied" +msgstr "satisfach" + +#: [mood]serious +msgid "serious" +msgstr "seriós" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "timid" + +#: [mood]sick +msgid "sick" +msgstr "malaut" + +#: [mood]sleepy +msgid "sleepy" +msgstr "endormit" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "espontanèu" + +#: [mood]stressed +msgid "stressed" +msgstr "estressat" + +#: [mood]strong +msgid "strong" +msgstr "fòrt" + +#: [mood]surprised +msgid "surprised" +msgstr "susprés" + +#: [mood]thankful +msgid "thankful" +msgstr "reconeissent" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "alassat" + +#: [mood]undefined +msgid "undefined" +msgstr "pas definit" + +#: [mood]weak +msgid "weak" +msgstr "feble" + +#: [mood]worried +msgid "worried" +msgstr "preocupat" + +#: [month]title +msgid "Month" +msgstr "Mes" + +#: [month]january +msgid "January" +msgstr "Genièr" + +#: [month]february +msgid "February" +msgstr "Febrièr" + +#: [month]march +msgid "March" +msgstr "Març" + +#: [month]april +msgid "April" +msgstr "Abril" + +#: [month]may +msgid "May" +msgstr "Mai" + +#: [month]june +msgid "June" +msgstr "Junh" + +#: [month]july +msgid "July" +msgstr "Julhet" + +#: [month]august +msgid "August" +msgstr "Agost" + +#: [month]september +msgid "September" +msgstr "Setembre" + +#: [month]october +msgid "October" +msgstr "Octobre" + +#: [month]november +msgid "November" +msgstr "Novembre" + +#: [month]december +msgid "December" +msgstr "Decembre" + +#: [year]title +msgid "Year" +msgstr "Annada" + +#: [date]today +msgid "Today" +msgstr "Uèi" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "Deman" + +#: [date]yesterday +msgid "Yesterday" +msgstr "Ièr" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "jorn" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "Luòc" + +#: [post]by +msgid "by" +msgstr "per" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "E-mail" + +#: [post]empty +msgid "No content" +msgstr "Pas cap de contengut" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "Recuperar los ancians pòsts" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/pl.po b/frontend/locales/pl.po new file mode 100644 index 0000000..04ef3d7 --- /dev/null +++ b/frontend/locales/pl.po @@ -0,0 +1,4159 @@ +# +# Translators: +# Sylwester Cyba, 2024 +# Obscenely Sad , 2016 +# Rafał Kołucki , 2020 +# Robert Wolniak , 2015-2017 +# Sylwester Cyba, 2024 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Sylwester Cyba, 2024\n" +"Language-Team: Polish (http://app.transifex.com/movim/movim/language/pl/)\n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Podziękowania" + +#: [about]developers +msgid "Developers" +msgstr "Deweloperzy" + +#: [about]translators +msgid "Translators" +msgstr "Tłumacze" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Dziękujemy wszystkim tłumaczom" + +#: [about]software +msgid "Software" +msgstr "Oprogramowanie" + +#: [about]resources +msgid "Resources" +msgstr "Zasoby" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim to oparta na XMPP platforma komunikacji. Cały projekt poza następującym oprogramowaniem i zasobami jest na licencji" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Konto" + +#: [account]account_management +msgid "Account management" +msgstr "Zarządzanie kontem" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Zmień hasło" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Hasło" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Potwierdzenie hasła" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "Hasło zostało zaktualizowane" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "Podane hasła nie są takie same" + +#: [account]delete +msgid "Delete your account" +msgstr "Usuń swoje konto" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "Podaj swoją nazwę użytkownika" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "Proszę podać poprawną nazwę użytkownika" + +#: [account]gateway_title +msgid "Gateways" +msgstr "Bramki" + +#: [account]clear +msgid "Leave this instance" +msgstr "Opuść instancję" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "Kasowanie klucza OMEMO" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "Chcesz zniszczyć klucz OMEMO. Twoje kontakty utracą możliwość szyfrowania wiadomości z jego użyciem. Operacji tej nie cofniesz. To jak, kasujemy?" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Akcje" + +#: [adhoc]completed +msgid "Action completed" +msgstr "Zadanie wykonane" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "Ogólne Ustawienia" + +#: [general]theme +msgid "Theme" +msgstr "Motyw" + +#: [general]language +msgid "Default language" +msgstr "Domyślny język" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "Szczegółowość logów" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "Ogranicz sugestie" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "Tylko czat" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "Wyłącz wszystkie funkcje społecznościowe (Społeczności, Blog...) i pozostaw tylko funkcje czatu" + +#: [credentials]title +msgid "Administration Credential" +msgstr "Upoważnienia Administratora" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Nazwa użytkownika" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Przepisz hasło" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "Wyłącz rejestracje przez XMPP" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "Usuń związane z XMPP elementy interfejsu" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "Zostaw to pole puste jeśli chcesz zezwolić na dostęp do wszystkich kont XMPP." + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Opis" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "Ogólny opis instancji" + +#: [information]banner +msgid "Main banner" +msgstr "Główny banner" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "Upelnij się, że obrazek nie jest za duży i jest osiągalny dla każdej strony www" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "Ta wiadomość zostanie wyświetlona na stronie logowania. Może być użyta aby odesłać np. do zasad użytkowania twojej instancji Movim." + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "Pozostaw to pole puste o ile nie chcesz pokazać żadnych wiadomości." + +#: [information]label +msgid "Information Message" +msgstr "Wiadomość Informacyjna" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "Domyślny serwer XMMP" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "Główna domena serwera XMPP" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "Opis głównego serwera XMPP" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "Kraj głównego serwera XMPP" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "Wybierz swój kraj na liście" + +#: [tenor]title +msgid "Tenor integration" +msgstr "Integracja z Tenor" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "Klucz API dla Tenor" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "Movim wykorzystuje API od Tenor aby wyświetlać i wyszukiwać GIF w czacie" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "Odwiedź Ten aby pozyskać klucz API" + +#: [log]empty +msgid "Empty" +msgstr "Puste" + +#: [log]syslog +msgid "Syslog" +msgstr "Syslog" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "Syslog i pliki" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "Zgłoszone przez %s użytkowników" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "Te konta zostały zgłoszone przez użytkowników Movim" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "Możesz zablokować wgląd wszystkim innym użytkownikom" + +#: [adminsessions]title +msgid "Sessions" +msgstr "Sesje" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "Obecnie połączeni użytkownicy w tej instancji" + +#: [avatar]file +msgid "File" +msgstr "Plik" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "Zmień banner" + +#: [banner]updated +msgid "Banner Updated" +msgstr "Zaktualizowano banner" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "Banner bez zmian" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "Zablokowane" + +#: [blocked]block_account +msgid "Block the account" +msgstr "Zablokuj konto" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "Odblokuj konto" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "Konto zablokowane" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "Konto odblokowane" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "Znajdzie tu listę zablokowanych użytkowników" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "Następujący użytkowcy zostali zablokowani przez Movim i nie możliwości podjęcia kontaktu" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "Administrator ma świadomość, że ta lista może doprowadzić do zablokowania użytkowników jak świat długi i szeroki" + +#: [blog]title +msgid "%s’s blog" +msgstr "Blog %s" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "Niniejsza zawartość jest prywatna. Zaloguj się, by ją zobaczyć" + +#: [message]published +msgid "Message Published" +msgstr "Opublikowano wiadomość" + +#: [message]react +msgid "Add a reaction" +msgstr "Dodaj reakcję" + +#: [message]retract +msgid "Retract" +msgstr "Wycofaj" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "Kontakt chciał wycofać poprzednią wiadomość ale funkcja ta nie jest obsługiwana przez twojego klienta" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "Ta wiadomość została zmoderowana" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "Wiadomość nie może zostać wysłana, spróbuj później" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "Wiadomość zaszyfrowana" + +#: [message]retracted +msgid "Retracted message" +msgstr "Wycofana wiadomość" + +#: [message]composing +msgid "Composing…" +msgstr "Szykowane..." + +#: [message]invitation +msgid "Invitation" +msgstr "Zaproszenie" + +#: [message]paused +msgid "Paused…" +msgstr "Wstrzymane..." + +#: [message]gone +msgid "Contact gone" +msgstr "Kontakt zniknął" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "↑ aby zmienić poprzednią wiadomość" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr ":shortcut: aby dodać emoji" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%s potrzebuje twojej uwagi" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "Miejsce na wiadomość..." + +#: [chat]smileys +msgid "Smileys" +msgstr "Uśmieszki" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "Ostatnie kontakty" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "Nic tu jeszcze nie ma..." + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "Trochę odwagi, wyślij pierwszą wiadomość aby rozpocząć dyskusję" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "Otrzymałeś zaproszenie do pokoju rozmów" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "Wysłałeś zaproszenie o dołączenie do pokoju czatu" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "Dołącz do %s" + +#: [chat]profile +msgid "See the profile" +msgstr "Zobacz profil" + +#: [chat]clear +msgid "Clear the history" +msgstr "Wyczyść historię" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "Zmień ostatnią wiadomość" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "Zgłoś nadużycie" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "Połączenie przychodzące" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "Połączenie wychodzące" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "Przeoczone połączenie" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "Odrzucone połączenie" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "Połączenie zakończone" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "%s godzin %s minut" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "%s minut i %s sekund" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "%s sekund" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "%s został administratorem" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "%s został właścicielem" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "%s został zablokowany" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "%s został użytkownikiem" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "Wystąpił błąd podczas wysyłania wiadomości" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "Zadanie nie do wykonania w szyfrowanym czacie" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "To początek tej konwersacji" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "Możesz doać jako nowy kontakt albo zablokować unikając niechcianych wiadomości" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "Dodaj do kontaktów" + +#: [chat]first_messages_block +msgid "Block" +msgstr "Zablokuj" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "Skopiuj tekst" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "Skopiowano tekst" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "Odciski palców" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "Odciski palców OMEMO" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "Generowanie kluczy szyfrowania... zaczekaj moment." + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "Wygenerowano klucze do szyfrowania" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "Ustalanie urządzeń OMEMO" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "Tworzenie szyfrowanych sesji" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "Szyfrowanie wyłączone" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "Wyślij wiadomość aby zestawić szyfrowaną sesję" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "Włączanie szyfrowania dla kontaktu" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "Wyłączanie szyfrowania dla kontaktu" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "Ostatnia aktywność" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "%s przygotowanych sesji" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "Póki co brak czatów..." + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "Rozpocznij konwersację klikając w %s przycisk." + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "Czatuj z kontaktem" + +#: [chats]me +msgid "Me" +msgstr "Ja" + +#: [chats]picture +msgid "Picture" +msgstr "Obraz" + +#: [chats]video +msgid "Video" +msgstr "Wideo" + +#: [chats]audio +msgid "Audio" +msgstr "Audio" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "Wszystko" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "Kontakty" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "Odkryj, śledź i dziel się" + +#: [communities]counter +msgid "%s communities" +msgstr "Społeczności %s" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "Szukaj nowego serwera" + +#: [communities]servers +msgid "Communities servers" +msgstr "Serwery społeczności" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "Odkryj społeczności wg serwerów" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "Serwer społeczności odnaleziony" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "Taki serwer nie istnieje" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "Społeczności, które mogą pasować" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "Społeczność utworzona poprawnie" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "Na tym serwerze brak społeczności" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "Stwórz społeczność na %s" + +#: [communitiesserver]name +msgid "Community name" +msgstr "Nazwa społeczności" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "Fanklub Kucyków Pony" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "Wprowadź poprawną nazwę społeczności (co najmniej 4 znaki)" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "Nie masz zgody na utworzenie społeczności na tym serwerze" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "Problem z ustaleniem elementów" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "Serwer %s jest niedostępny" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "Brak serwerów społeczności..." + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "Wygląda na to, że chwilowo nie można odnaleźć społeczności" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Konfiguracja" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "Subskrypcje" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "Ogólnodostępne subskrypcje" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "Moje subskrypcje społeczności" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "Społeczność skasowana poprawnie" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "Skasuj społeczność" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "Chcesz skasować następującą społeczność. Proszę potwierdź." + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "Wygląda na to, że tej społeczności już nie ma. Skasować z listy subskrybowanych?" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "Konfiguracja zapisana" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "Błąd przy konfiguracji instancji" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "Właściciele" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "Publikujący" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "Role" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "Role poprawnie ustawione" + +#: [communityconfig]publication +msgid "Publication" +msgstr "Publikacja" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "Ogólnodostępny" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "Każdy może coś opublikować" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "Wydawcy mogą publikować" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "Subskrybenci" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "Subskrybenci mogą publikować" + +#: [communityconfig]type +msgid "Community type" +msgstr "Rodzaj społeczności" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "Artykuły" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "Opublikuj i czytaj artykuły" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "Galeria" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "Opublikuj i przeglądaj obrazki" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "%s subskrybujących" + +#: [communitydata]num +msgid "%s posts" +msgstr "%s wpisów" + +#: [communitydata]public +msgid "Public page" +msgstr "Strona ogólnodostępna" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "Tylko wydawcy mogą publikować" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "Tylko subskrybenci mogą publikować" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "Wyłączono subskrypcje dla tej społeczności" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "Dodaj notkę do tej społeczności" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "Nazwa mojej społeczności" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "Pojawi się w twoim profilu" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "Jesteś pewny/a?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "Brak publikacji? Dodaj wpis aby inni wpadli na twój profil" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "Opublikuj pierwszy wpis" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "Konto prywatne" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "Zasubskrybowane społeczności" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "Cześć" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "Tutaj będziesz miał możliwość zarządzania swoimi wszystkimi subskrypcjami." + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "Póki co nie subskrybujesz żadnej ze społeczności" + +#: [config]general +msgid "General" +msgstr "Ogólne" + +#: [config]language +msgid "Language" +msgstr "Język" + +#: [config]roster +msgid "Roster display" +msgstr "Wyświetlanie listy" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "Pokaż kontakty offline" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "Ukryj kontakty offline" + +#: [config]appearence +msgid "Appearance" +msgstr "Zachowanie" + +#: [config]updated +msgid "Configuration updated" +msgstr "Konfiguracja zaktualizowana" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "Niedozwolona konfiguracja" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "Konfiguracja Zaawansowana" + +#: [config]nsfw +msgid "Display adult content" +msgstr "Pokazuj treść dla pełnoletnich" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "Pozwoli ci czytać posty otagowane jako #nsfw" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "Użyj OMEMO" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "Włącz szyfrowanie end-to-end dla swojego konta Movim" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "Tryb nocny" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "Oszczędzaj wzrok dzięki ciemnym kolorom" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "Twoja przeglądarka już domyślnie informuje Movim o korzystaniu z trybu nocnego" + +#: [config]chatmain +msgid "Main chat page" +msgstr "Strona główna czatu" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "Ustawienia archiwizowania wiadomości czatu po stronie serwera" + +#: [config]mam_always +msgid "Always" +msgstr "Zawsze" + +#: [config]mam_never +msgid "Never" +msgstr "Nigdy" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "Zapisano ustawienia archiwizowania" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "Widoczność osobistego bloga" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "Blog ogólnodostępny" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "Widoczny dla wszystkich w sieci" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "Blog prywatny" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "Ograniczony do subskrybentów" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "Widoczność bloga zapisana" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "Poufność" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "Powiadomienia audio" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "Wiadomość przychodząca" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "Potwierdzenie uwierzytelnienia" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "Następująca platforma oczekuje weryfikacji konta" + +#: [confirm]code +msgid "Authentication code" +msgstr "Kod autoryzujący" + +#: [roster]add_title +msgid "Add a contact" +msgstr "Dodaj kontakt" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "Wciśnij enter by potwierdzić" + +#: [roster]added +msgid "Contact added" +msgstr "Kontakt dodany" + +#: [roster]updated +msgid "Contact updated" +msgstr "Kontakt zaktualizowany" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "Kontakt usunięty" + +#: [general]legend +msgid "General Information" +msgstr "Ogólne informacje" + +#: [general]name +msgid "Name" +msgstr "Nazwa" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "Nick" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Data urodzenia" + +#: [general]gender +msgid "Gender" +msgstr "Płeć" + +#: [general]marital +msgid "Marital Status" +msgstr "Stan Cywilny" + +#: [general]email +msgid "Email" +msgstr "Email" + +#: [general]website +msgid "Website" +msgstr "Strona internetowa" + +#: [general]about +msgid "About Me" +msgstr "O mnie" + +#: [general]accounts +msgid "Other Accounts" +msgstr "Inne Konta" + +#: [general]tune +msgid "Is Listening" +msgstr "Słucha" + +#: [general]pictures +msgid "Pictures" +msgstr "Obrazy" + +#: [general]links +msgid "Links" +msgstr "Odnośniki" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "Pozycja Geograficzna" + +#: [position]locality +msgid "Locality" +msgstr "Miejscowość" + +#: [position]country +msgid "Country" +msgstr "Państwo" + +#: [listen]title +msgid "Listening" +msgstr "Słucham" + +#: [last]title +msgid "Last seen" +msgstr "Ostatni raz widziany" + +#: [clients]title +msgid "Clients" +msgstr "Klienci" + +#: [clients]title_full +msgid "Clients information" +msgstr "Informacja o klientach" + +#: [explore]last_registered +msgid "Last registered" +msgstr "Ostatnio zarejestrowany" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "Odszukaj nowe kontakty" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "Edytuj" + +#: [edit]alias +msgid "Alias" +msgstr "Alias" + +#: [edit]group +msgid "Group" +msgstr "Grupa" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "%s lat" + +#: [blog]last +msgid "Last public post" +msgstr "Ostatni publiczny post" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "Odwiedź blog ogólnodostępny" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "Możesz zobaczyć status kontaktu" + +#: [subscription]to_button +msgid "Share my status" +msgstr "Opublikuj status" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "Lecz ten kontakt nie widzi twojego" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "Nie jesteś subskrybowany przez ten kontakt" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "Poproś o subskrypcję" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "Lecz ten kontakt może cię widzieć jeśli jesteś online" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "Zaproś" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "Dyktafon" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "Przyciśnij by nagrywać" + +#: [dictaphone]recording +msgid "Recording" +msgstr "Nagranie" + +#: [draw]title +msgid "Draw" +msgstr "Rysunek" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "Emoji" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "Moje ulubione emoji" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "Wybierz emotikony z poniższych pakietów, które chcesz dodać do ulubionych." + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "Zmień ulubione emoji" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "Nowe emoji dodane do ulubionych" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "Skrót jest już wykorzystywany przez inne emoji" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "Póki co brak ulubionych, sprawdź ustawienia aby je dodać" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "Często Zadawane Pytania" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "Co daje zmiana uprawnień?" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "Domyślnie zawartość jest widoczna jedynie dla twoich kontaktów. Możesz to zmienić i postawić na ogólnodostępność w stosownych ustawieniach." + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "Tak jak z publikacjami na blogu, w domyśle, wpisy są dostępne tylko dla członków lub subskrybentów danej społeczności (chyba, że zostało ustawione inaczej)" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "Gdzie znajdę moje kontakty?" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "Otwierając panel wyszukiwania." + +#: [apps]title +msgid "Applications" +msgstr "Aplikacje" + +#: [apps]install +msgid "Movim App" +msgstr "Apka Movim" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "Zainstaluj Movim na swoim urządzeniu" + +#: [apps]recommend +msgid "We also recommend" +msgstr "Polecamy także" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "Administratorzy i kontakt" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "Czat z zespołem Movim?" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "Dodaj pokój rozmów" + +#: [error]username +msgid "Wrong username" +msgstr "Zła nazwa użytkownika" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "Puste Wyzwanie dla serwera" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "Brakuje części danych!" + +#: [error]internal +msgid "Internal server error" +msgstr "Błąd wewnętrzny serwera" + +#: [error]session +msgid "Session error" +msgstr "Błąd sesji" + +#: [error]account_created +msgid "Account successfully created" +msgstr "Pomyślnie utworzono konto" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "Niemożliwy login" + +#: [error]default +msgid "Unknown error" +msgstr "Nieznany błąd" + +#: [error]login_format +msgid "Invalid username format" +msgstr "Zły format nazwy użytkownika" + +#: [error]password_format +msgid "Invalid password format" +msgstr "Zły format hasła" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "Twój serwer XMPP nie posiada autoryzacji" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "Movim ma problemy z uwierzytelnieniem. Wpisałeś złe dane" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "Mechanizm uwierzytelnienia nie wspierany w Movim" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "Uwierzytelnienie XMPP nieudane" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "Połączono z serwerem" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "Serwer został uwierzytelniony" + +#: [form]username +msgid "My address" +msgstr "Mój adres" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "Zaloguj z użyciem kont z tych serwerów" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "`" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "Połączono" + +#: [form]population +msgid "Population" +msgstr "Populacja" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "%s zaprosił do pokoju czatu" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "Administrowany przez" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "Movim jest platformą czatu i blogowania" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "Odwiedź stronę internetową projektu %s." + +#: [menu]empty_title +msgid "No news yet…" +msgstr "Chwilowo brak wiadomości..." + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "Moje publikacje" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "Napisz nowego posta..." + +#: [notification]request_title +msgid "Notifications request" +msgstr "Potrzeba powiadomień" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "Movim wymaga zgody aby wyświetlać powiadomienia" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "Zgoda może zostać wycofana w każdej chwili" + +#: [notification]request_button +msgid "Request" +msgstr "Zapotrzebowanie" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "Autoryzacja potwierdzona" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "Autoryzacja odrzucona" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "Powiadomienia" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "Powiadomienia push" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "Movim wyśle powiadomienia push na następujące urządzenia" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "Powiadomienia push włączone dla tego urządzenia" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "Powiadomienia push wyłączone dla tego urządzenia" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "Nieznana przeglądarka" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "Nieznana platforma" + +#: [invitations]received +msgid "Received Invitations" +msgstr "Odebrane zaproszenia" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "%s chce cię dodać" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "Brak nowych zaproszeń" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "Brak oczekujących subskrypcji" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%s chce z tobą rozmawiać" + +#: [notifs]empty +msgid "No new notifications" +msgstr "Brak nowych powiadomień" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "Movim może wysłać ci powiadomienie o nowych postach lub otrzymanych wiadomościach" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "Zawsze możesz później wyłączyć tę opcję" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "Profil publiczny" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "Zmień swój profil na publiczny by inni użytkownicy mogli cię odnaleźć i mogli łatwiej nawiązywać kontakty" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "Zawsze możesz później wyłączyć tę opcję w konfiguracjach" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "Nowinki" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "Odkryj i zarejestruj się do grup, którymi jesteś zainteresowany" + +#: [post]content +msgid "Content" +msgstr "Zawartość" + +#: [post]published +msgid "Post published" +msgstr "Wpis opublikowany" + +#: [post]deleted +msgid "Post deleted" +msgstr "Wpis usunięty" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "Niedawno opublikowane posty w społecznościach których (jeszcze) nie subskrybujesz" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "To jest ponownie opublikowany wpis z %s" + +#: [post]see_profile +msgid "See %s profile" +msgstr "Zobacz profil %s" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "Nieznany kontakt" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "%s minuta" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "%s minut" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "Wpis jest publiczny" + +#: [post]public_no +msgid "This post is private" +msgstr "Ten post jest prywatny" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "Publiczny adres URL tego postu" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "Wyłącz komentarze" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "Nikt nie będzie w stanie polubić czy skomentować" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "Usuń ten wpis" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "Zamierzasz usunąć ten wpis, potwierdź swoje zamiary" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "Czy chcesz skasować ten komentarz?" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "Czytaj więcej" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "Komentowanie zablokowane" + +#: [post]comment_published +msgid "Comment published" +msgstr "Komentarz opublikowany" + +#: [post]comment_like_published +msgid "Liked" +msgstr "Polubił" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "Nie można opublikować komentarza" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "Komentarz usunięty" + +#: [post]liked +msgid "Liked your publication" +msgstr "Polubił twoją publikację" + +#: [post]commented +msgid "Commented" +msgstr "Skomentował" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "Wpis Kontaktu" + +#: [hello]share_title +msgid "Universal share button" +msgstr "Uniwersalny przycisk dzielenia się" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "Ustaw zakładkę lub przeciągnij i upusć niniejszy guzik na twój pasek by użyć go na wszystkich stronach, które chcesz udostępnić na Movim" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "Udostępnij na Movim" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "Ah! Witaj!" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "Sprawdź Menu" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "Większość funkcji Movim jest tam dostępna. A więc bez obaw i sprawdź je!" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "Wygląda na to, że nadal nie wypełniłeś danych w profilu" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "Możesz przejść do strony konfiguracji by napisać coś o sobie i wgrać swoje zdjęcie" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "Rozłączono" + +#: [status]presence +msgid "Presence" +msgstr "Obecność" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "Czy na pewno wylogować?" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "Odnośnik skopiowany do schowka" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "Co nowego?" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "Opublikuj" + +#: [publish]post +msgid "Write a post" +msgstr "Napisz posta" + +#: [publish]add_link +msgid "Add a link" +msgstr "Załącz link" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "Zrób zdjęcie" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "Proszę podać tytuł" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "Wymagany jest co najmniej jeden obraz" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "Podgląd" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "Dodaj plik lub obrazek" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "Nie możesz zamieścić tu wpisu" + +#: [publish]new +msgid "New post" +msgstr "Nowy wpis" + +#: [publish]title +msgid "Post title" +msgstr "Tytuł wpisu" + +#: [publish]content +msgid "Markdown content" +msgstr "Zawartość markdown" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "Wprowadź poprawny adres URL" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "Możesz formatować swoją zawartość poprzez użycie Markdown" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "Szkic zapisany" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "Edytor RTE" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "Nie masz uprawnień do publikowania w tym miejscu" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "Pozwoli to na dostęp do publikacji także poza Movim" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "Pomoc" + +#: [publishhelp]more +msgid "More help" +msgstr "Więcej pomocy" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "Podręcznik Markdown syntax" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Stwórz nowe konto" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "Żadna forma tworzenia konta nie znaleziona na serwerze" + +#: [create]server_on +msgid "on" +msgstr "na" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "Konto zostało pomyślnie utworzone" + +#: [create]loading +msgid "Loading" +msgstr "Ładowanie" + +#: [create]placeholder +msgid "…and start playing" +msgstr "...i zacznij grać" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Nie akceptowalne" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "System rejestracji na tym serwerze jest obecnie niedostępny" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "Rejestracja niedozwolona" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "Zablokowany" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "Stwórz pokój czatu" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "Pokój czatu utworzony" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "Aby skorzystać z serwisu wymagana jest rejestracja" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "Pusta nazwa" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "Dodaj coś poprzez kliknięcie na przycisku Dodaj" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "Nazwa lub opis" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "Nie masz zgody aby dołączyć do tego pokoju czatu" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "Pokój czatu nie istnieje" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "Twoje przezwisko nie jest prawidłowe" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "Dołącz do czatu" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "Dołącz do specjalnego pokoju czatu" + +#: [chatrooms]members +msgid "Members" +msgstr "Członkowie" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "Nie do przyjęcia" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "Nie masz zgody na tworzenie pokoju czatu w tym miejscu" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "Hasło jest wymagane" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "Wyróżnij ten pókój czatu" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "Pokój czatu nie jest dostępny, bo wymaga rejestracji" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "Serwer zdalny tego pokoju czatu nie istnieje" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "Połączenie ze zdalnym serwerem jest po czasie" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "Temat" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "Pokoje Czatowe" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "Użytkownicy" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "Zakładki zaktualizowane" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "Obecnie jesteś zalogowany jako użytkownik anonimowy" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "Możesz dołączyć korzystając z istniejącego konta lub utworzyć nowe wylogowując się z użyciem krzyżyka w prawym górnym rogu." + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "Zalogowano na %s" + +#: [room]invite +msgid "Invite a contact" +msgstr "Zaproś kontakt" + +#: [room]invited +msgid "Invitation sent" +msgstr "Wysłano zaproszenie" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "Wyślij ten odnośnik do kontaktów" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "Ten pokój czatu jest ogólnodostępny" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "Profile ogólnodostępne" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "Zarchiwizowane" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "Wiadomości czatu są archiwizowane" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "Czat grupowy" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "Prywatny czat grupowy dla zaproszonych członków" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "Dodaj członka" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "Zablokuj kogoś" + +#: [room]banned_remove +msgid "Unban" +msgstr "Odblokuj" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "Nie masz zgody na zmienę tej przynależności" + +#: [room]affiliation +msgid "Affiliation" +msgstr "Przynależność" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "Powód" + +#: [room]channel +msgid "Channel" +msgstr "Kanał" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "Kanał ogólnodostępny, który można odnaleźć i się do niego przyłączyć" + +#: [room]notify_never +msgid "Never notify" +msgstr "Bez powiadomień" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "Zawsze powiadamiaj" + +#: [room]pinned +msgid "Pinned" +msgstr "Wyróżnione" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "Odwiedzający" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "Nie odnaleziono lokalnych pokojów czatu" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "Nie znaleziono globalnych pokojów czatu" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "Czego szukasz?" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "#cats, username@server.com, John…" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "Brak kontaktów?" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "Tagi" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "Pokaż wszystkie kontakty" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "Dołącz do publikacji na blogu" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "Podziel się w nowej publikacji" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "Wpis udostępniony" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "Więcej kontaktów" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "Podziel się poza Movim" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "Znaczniki" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "Wysłano stickera za pomocą Movim" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "Wpisz słowo kluczowe" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "Odnajdź GIF" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "Napędza Tenor" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "%s treści" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "Brak publicznych treści tego kontaktu" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "Nie określono żadnego kontaktu" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "Upload" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "Wybierz plik do wysłania" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "Duże obrazy będą przeskalowane i skompresowane" + +#: [upload]error_filesize +msgid "File too large" +msgstr "Plik za duży" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "Wysyłanie nie powiodło się" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "Nie masz uprawnień aby załadować plik" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "Przekroczyłeś limit" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "Przeciągnij i upuść plik w ten obszar" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "Maks. rozmiar pliku %s" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Profil" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "Profil Zaktualizowany" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "Profil Nie Zaktualizowany" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "Takie będzie domyślne przezwisko przy dołączeniu do pokoju czatu" + +#: [profile]public +msgid "Your profile is now public" +msgstr "Twój profil jest teraz publiczny" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "Twój profil jest teraz zablokowany" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "Wybierz nazwę dla instancji" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "Czy to w tej instancji Movim konto jest ogólnodostępne?" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "Movim utworzy ogólnodostępną stronę z twoim blogiem i kontem, które będą mogli odnaleźć inni użytkownicy Movim." + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "Ustaw lokalne przezwisko aby umożliwić innym użytkownikom odszukiwanie." + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "Twoje przezwisko to %s." + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "John_Bob96" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "Przezwisko powinno zawierać jedynie litery, cyfry, - i _" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "Takie przezwisko jest już zajęte" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "Zapisano przezwisko" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Wyślij" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Resetuj" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "Movim obecnie działa w trybie degradacji" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "Proszę powiadomić administratora twojego serwera w sprawie włączenia tej funkcji." + +#: [visio]calling +msgid "…is calling you" +msgstr "…dzwoni do ciebie" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "Przychodzące połączenie wideo" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "Przychodzące połączenie audio" + +#: [visio]ringing +msgid "…ringing" +msgstr "…dzwoni" + +#: [visio]declined +msgid "Declined" +msgstr "Odrzucone" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "Nie udało się" + +#: [visio]connecting +msgid "…connecting" +msgstr "…łączę" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "%s dzwoni do ciebie" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "Dzwoni %s" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "Ustawienia kamery i mikrofonu" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "Proszę użyj przeglądarki do udostępniania między urządzeniami" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "Domyślny mikrofon" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "Domyślna kamera" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "Zmieniono domyślny mikrofon" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "Zmieniono domyślną kamerę" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "Nie wykryto dźwięku z mikrofonu" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "Movim aby pracować poprawnie wymaga Javascript." + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "Movim to kozak w kwestii rozproszonych mediów społecznościowych, który ma na uwadze twoją prywatność jednocześnie oferując atrakcyjne funkcje." + +#: [global]loading +msgid "Loading…" +msgstr "Ładowanie..." + +#: [global]or +msgid "Or" +msgstr "lub" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "Zmień instancję na inną" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "O stronie" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Tworzenie Konta" + +#: [page]administration +msgid "Administration" +msgstr "Administracja" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "Blog" + +#: [page]chats +msgid "Messages" +msgstr "Wiadomości" + +#: [page]communities +msgid "Communities" +msgstr "Społeczności" + +#: [page]explore +msgid "Explore" +msgstr "Poznaj" + +#: [page]feed +msgid "Feed" +msgstr "Treści" + +#: [page]home +msgid "Home" +msgstr "Home" + +#: [page]login +msgid "Login" +msgstr "Zaloguj" + +#: [page]news +msgid "News" +msgstr "Nowości" + +#: [page]not_found +msgid "Not Found" +msgstr "Nie odnaleziono" + +#: [page]posts +msgid "Posts" +msgstr "Posty" + +#: [page]publish +msgid "Publish" +msgstr "Opublikuj" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "Udostępnij" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "Tag" + +#: [page]visio +msgid "Visio-conference" +msgstr "Visio-konferencja" + +#: [error]error +msgid "Error: %s" +msgstr "Błąd: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "Nie można wczytać pliku '%s'" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "Taki widżet jak %s nie istnieje." + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "Podane wydarzenie '%s' nie zarejestrowane." + +#: [error]whoops +msgid "Whoops!" +msgstr "Ups!" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "Movim nie może skomunikować się z serwerem, spróbuj później" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "Wznawianie połączenia z serwerem..." + +#: [error]oops +msgid "Oops!" +msgstr "Ups!" + +#: [button]accept +msgid "Accept" +msgstr "Zaakceptuj" + +#: [button]add +msgid "Add" +msgstr "Dodaj" + +#: [button]audio_call +msgid "Audio Call" +msgstr "Połączenie audio" + +#: [button]bool_no +msgid "No" +msgstr "Nie" + +#: [button]bool_yes +msgid "Yes" +msgstr "Tak" + +#: [button]call +msgid "Call" +msgstr "Zadzwoń" + +#: [button]cancel +msgid "Cancel" +msgstr "Anuluj" + +#: [button]chat +msgid "Chat" +msgstr "Czat" + +#: [button]clear +msgid "Clear" +msgstr "Wyczyść" + +#: [button]close +msgid "Close" +msgstr "Zamknij" + +#: [button]connecting +msgid "Connecting" +msgstr "Łączenie" + +#: [button]copy_link +msgid "Copy Link" +msgstr "Skopiuj odnośnik" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "Usuń" + +#: [button]destroy +msgid "Destroy" +msgstr "Zniszcz" + +#: [button]discover +msgid "Discover" +msgstr "Odkryj" + +#: [button]enable +msgid "Enable" +msgstr "Zezwól" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "Zalajkuj" + +#: [button]more +msgid "More" +msgstr "Więcej" + +#: [button]new +msgid "New conversation" +msgstr "Nowa rozmowa" + +#: [button]next +msgid "Next" +msgstr "Następna" + +#: [button]not_now +msgid "Not Now" +msgstr "Nie Teraz" + +#: [button]open +msgid "Open" +msgstr "Otwórz" + +#: [button]previous +msgid "Previous" +msgstr "Poprzednia" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "Odśwież" + +#: [button]refuse +msgid "Refuse" +msgstr "Odmów" + +#: [button]register +msgid "Register" +msgstr "Zarejestruj" + +#: [button]remove +msgid "Remove" +msgstr "Usuń" + +#: [button]reply +msgid "Reply" +msgstr "Skomentuj" + +#: [button]return +msgid "Return" +msgstr "Wróć" + +#: [button]save +msgid "Save" +msgstr "Zapisz" + +#: [button]search +msgid "Search" +msgstr "Szukaj" + +#: [button]send_to +msgid "Send to" +msgstr "Wyślij do" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "Udostępnij" + +#: [button]sign_up +msgid "Sign Up" +msgstr "Zarejestruj" + +#: [button]submitting +msgid "Submitting" +msgstr "Wysyłanie" + +#: [button]unregister +msgid "Unregister" +msgstr "Odrejestruj" + +#: [button]update +msgid "Update" +msgstr "Aktualizacja" + +#: [button]updating +msgid "Updating" +msgstr "Aktualizowanie" + +#: [button]validate +msgid "Validate" +msgstr "Zweryfikuj" + +#: [button]video_call +msgid "Video Call" +msgstr "Połączenie wideo" + +#: [input]optional +msgid "Optional" +msgstr "Opcjonalne" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "Powiązana społeczność" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "Dzień" + +#: [day]monday +msgid "Monday" +msgstr "Poniedziałek" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Wtorek" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Środa" + +#: [day]thursday +msgid "Thursday" +msgstr "Czwartek" + +#: [day]friday +msgid "Friday" +msgstr "Piątek" + +#: [day]saturday +msgid "Saturday" +msgstr "Sobota" + +#: [day]sunday +msgid "Sunday" +msgstr "Niedziela" + +#: [client]bot +msgid "Bot" +msgstr "Bot" + +#: [client]console +msgid "Console" +msgstr "Konsola" + +#: [client]desktop +msgid "Desktop" +msgstr "Pulpit" + +#: [client]phone +msgid "Phone" +msgstr "Telefon" + +#: [client]web +msgid "Web" +msgstr "Strona" + +#: [client]registered +msgid "Registered" +msgstr "Zarejestrowany" + +#: [client]gateway +msgid "Gateway" +msgstr "Bramka" + +#: [client]im +msgid "Server" +msgstr "Serwer" + +#: [presence]online +msgid "Online" +msgstr "Dostępny" + +#: [presence]away +msgid "Away" +msgstr "Poza Komputerem" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "Nie Przeszkadzać" + +#: [presence]xa +msgid "Extended Away" +msgstr "Długo Poza Komputerem" + +#: [presence]offline +msgid "Offline" +msgstr "Offline" + +#: [presence]error +msgid "Error" +msgstr "Błąd" + +#: [mood]afraid +msgid "afraid" +msgstr "przestraszony" + +#: [mood]amazed +msgid "amazed" +msgstr "zaskoczony" + +#: [mood]amorous +msgid "amorous" +msgstr "kochliwy" + +#: [mood]angry +msgid "angry" +msgstr "zły" + +#: [mood]annoyed +msgid "annoyed" +msgstr "podirytowany" + +#: [mood]anxious +msgid "anxious" +msgstr "niespokojny" + +#: [mood]aroused +msgid "aroused" +msgstr "podniecony" + +#: [mood]ashamed +msgid "ashamed" +msgstr "zawstydzony" + +#: [mood]bored +msgid "bored" +msgstr "znudzony" + +#: [mood]brave +msgid "brave" +msgstr "odważny" + +#: [mood]calm +msgid "calm" +msgstr "spokojny" + +#: [mood]cautious +msgid "cautious" +msgstr "ostrożny" + +#: [mood]cold +msgid "cold" +msgstr "zimny" + +#: [mood]confident +msgid "confident" +msgstr "pewny" + +#: [mood]confused +msgid "confused" +msgstr "zmieszany" + +#: [mood]contemplative +msgid "contemplative" +msgstr "kontemplacyjny" + +#: [mood]contented +msgid "contented" +msgstr "zadowolony" + +#: [mood]cranky +msgid "cranky" +msgstr "nieznośny" + +#: [mood]crazy +msgid "crazy" +msgstr "szalony" + +#: [mood]creative +msgid "creative" +msgstr "kreatywny" + +#: [mood]curious +msgid "curious" +msgstr "ciekawski" + +#: [mood]dejected +msgid "dejected" +msgstr "strapiony" + +#: [mood]depressed +msgid "depressed" +msgstr "przygnębiony" + +#: [mood]disappointed +msgid "disappointed" +msgstr "zawiedziony" + +#: [mood]disgusted +msgid "disgusted" +msgstr "obrzydzony" + +#: [mood]dismayed +msgid "dismayed" +msgstr "przerażony" + +#: [mood]distracted +msgid "distracted" +msgstr "nieogarnięty" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "zakłopotany" + +#: [mood]envious +msgid "envious" +msgstr "zawistny" + +#: [mood]excited +msgid "excited" +msgstr "podekscytowany" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "bałamutny" + +#: [mood]frustrated +msgid "frustrated" +msgstr "sfrustrowany" + +#: [mood]grateful +msgid "grateful" +msgstr "wdzięczny" + +#: [mood]grieving +msgid "grieving" +msgstr "w żałobie" + +#: [mood]grumpy +msgid "grumpy" +msgstr "gderliwy" + +#: [mood]guilty +msgid "guilty" +msgstr "winny" + +#: [mood]happy +msgid "happy" +msgstr "szczęśliwy" + +#: [mood]hopeful +msgid "hopeful" +msgstr "pełen nadziei" + +#: [mood]hot +msgid "hot" +msgstr "gorący" + +#: [mood]humbled +msgid "humbled" +msgstr "upokorzony" + +#: [mood]humiliated +msgid "humiliated" +msgstr "upokorzony" + +#: [mood]hungry +msgid "hungry" +msgstr "głodny" + +#: [mood]hurt +msgid "hurt" +msgstr "skrzywdzony" + +#: [mood]impressed +msgid "impressed" +msgstr "pod wrażeniem" + +#: [mood]in_awe +msgid "in awe" +msgstr "zachwycony" + +#: [mood]in_love +msgid "in love" +msgstr "zakochany" + +#: [mood]indignant +msgid "indignant" +msgstr "oburzony" + +#: [mood]interested +msgid "interested" +msgstr "zainteresowany" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "odurzony" + +#: [mood]invincible +msgid "invincible" +msgstr "niezwyciężony" + +#: [mood]jealous +msgid "jealous" +msgstr "zazdrosny" + +#: [mood]lonely +msgid "lonely" +msgstr "samotny" + +#: [mood]lost +msgid "lost" +msgstr "zagubiony" + +#: [mood]lucky +msgid "lucky" +msgstr "szczęściarz" + +#: [mood]mean +msgid "mean" +msgstr "nieprzyjemny" + +#: [mood]moody +msgid "moody" +msgstr "markotny" + +#: [mood]nervous +msgid "nervous" +msgstr "nerwowy" + +#: [mood]neutral +msgid "neutral" +msgstr "neutralny" + +#: [mood]offended +msgid "offended" +msgstr "urażony" + +#: [mood]outraged +msgid "outraged" +msgstr "oburzony" + +#: [mood]playful +msgid "playful" +msgstr "żartobliwy" + +#: [mood]proud +msgid "proud" +msgstr "dumny" + +#: [mood]relaxed +msgid "relaxed" +msgstr "odprężony" + +#: [mood]relieved +msgid "relieved" +msgstr "spokojniejszy" + +#: [mood]remorseful +msgid "remorseful" +msgstr "skruszony" + +#: [mood]restless +msgid "restless" +msgstr "niespokojny" + +#: [mood]sad +msgid "sad" +msgstr "smutny" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "sarkastyczny" + +#: [mood]satisfied +msgid "satisfied" +msgstr "usatysfakcjonowany" + +#: [mood]serious +msgid "serious" +msgstr "poważny" + +#: [mood]shocked +msgid "shocked" +msgstr "zaszokowany" + +#: [mood]shy +msgid "shy" +msgstr "wstydliwy" + +#: [mood]sick +msgid "sick" +msgstr "chory" + +#: [mood]sleepy +msgid "sleepy" +msgstr "śpiący" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "spontaniczny" + +#: [mood]stressed +msgid "stressed" +msgstr "zestresowany" + +#: [mood]strong +msgid "strong" +msgstr "silny" + +#: [mood]surprised +msgid "surprised" +msgstr "zaskoczony" + +#: [mood]thankful +msgid "thankful" +msgstr "wdzięczny" + +#: [mood]thirsty +msgid "thirsty" +msgstr "spragniony" + +#: [mood]tired +msgid "tired" +msgstr "zmęczony" + +#: [mood]undefined +msgid "undefined" +msgstr "nieokreślony" + +#: [mood]weak +msgid "weak" +msgstr "słaby" + +#: [mood]worried +msgid "worried" +msgstr "zmartwiony" + +#: [month]title +msgid "Month" +msgstr "Miesiąc" + +#: [month]january +msgid "January" +msgstr "Styczeń" + +#: [month]february +msgid "February" +msgstr "Luty" + +#: [month]march +msgid "March" +msgstr "Marzec" + +#: [month]april +msgid "April" +msgstr "Kwiecień" + +#: [month]may +msgid "May" +msgstr "Maj" + +#: [month]june +msgid "June" +msgstr "Czerwiec" + +#: [month]july +msgid "July" +msgstr "Lipiec" + +#: [month]august +msgid "August" +msgstr "Sierpień" + +#: [month]september +msgid "September" +msgstr "Wrzesień" + +#: [month]october +msgid "October" +msgstr "Październik" + +#: [month]november +msgid "November" +msgstr "Listopad" + +#: [month]december +msgid "December" +msgstr "Grudzień" + +#: [year]title +msgid "Year" +msgstr "Rok" + +#: [date]today +msgid "Today" +msgstr "Dzisiaj" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "Jutro" + +#: [date]yesterday +msgid "Yesterday" +msgstr "Wczoraj" + +#: [date]ago +msgid "%d days ago" +msgstr "%d dni temu" + +#: [date]day +msgid "day" +msgstr "dzień" + +#: [post]title +msgid "Title" +msgstr "Tytuł" + +#: [post]place +msgid "Place" +msgstr "Miejsce" + +#: [post]by +msgid "by" +msgstr "przez" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "Geolokalizacja" + +#: [post]email +msgid "email" +msgstr "email" + +#: [post]empty +msgid "No content" +msgstr "Brak zawartości" + +#: [post]no_comments +msgid "No comments yet" +msgstr "Chwilowy brak komentarzy" + +#: [post]older +msgid "Get older posts" +msgstr "Zobacz starsze wpisy" + +#: [post]new_items +msgid "%s new items" +msgstr "%s nowych przedmiotów" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "Błąd publikacji komentarza" + +#: [post]comments_get +msgid "Get the comments" +msgstr "Zobacz komentarze" + +#: [post]comment_add +msgid "Add a comment" +msgstr "Dodaj komentarz" + +#: [post]share +msgid "Share with" +msgstr "Udostępnij" + +#: [post]share_everyone +msgid "Everyone" +msgstr "Każdy" + +#: [post]updated +msgid "Updated" +msgstr "Zaktualizowano" + +#: [post]content_not_found +msgid "Content not found" +msgstr "Nie znaleziono zawartości" + +#: [post]default_title +msgid "Contact publication" +msgstr "Publikacje kontaktu" + +#: [post]comments +msgid "Comments" +msgstr "Komentarze" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "Oryginalny post skasowany" + +#: [filesize]byte +msgid "B" +msgstr "B" + +#: [filesize]kilobyte +msgid "KB" +msgstr "KB" + +#: [filesize]megabyte +msgid "MB" +msgstr "MB" + +#: [filesize]gigabyte +msgid "GB" +msgstr "GB" + +#: [filesize]terabyte +msgid "TB" +msgstr "TB" + +#: [affiliation]owner +msgid "Owner" +msgstr "Właściciel" + +#: [affiliation]admin +msgid "Admin" +msgstr "Admin" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "Publikujący" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "Tylko opublikuj" + +#: [affiliation]member +msgid "Member" +msgstr "Członek" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "Wyrzutek" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "Brak przynależności" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "Użytkownik potwierdzony jako właściciel" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "Użytkownik potwierdzony jako administrator" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "Użytkownik potwierdzony jako członek" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "Użytkownik zablokowany" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "Przynależność usunięta dla użytkownika" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "Interfejs nieosiągalny, spróbuj ponownie później" + +#: [field]type_here +msgid "Type here" +msgstr "Pisz tutaj" diff --git a/frontend/locales/pt.po b/frontend/locales/pt.po new file mode 100644 index 0000000..954b78e --- /dev/null +++ b/frontend/locales/pt.po @@ -0,0 +1,4157 @@ +# +# Translators: +# Adilson Cabral , 2016 +# dinisbcoelho , 2017 +# Emanuel Carneiro Machado , 2015 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: dinisbcoelho , 2017\n" +"Language-Team: Portuguese (http://app.transifex.com/movim/movim/language/pt/)\n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Obrigado" + +#: [about]developers +msgid "Developers" +msgstr "Programadores" + +#: [about]translators +msgid "Translators" +msgstr "Tradutores" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Obrigado a todos os tradutores" + +#: [about]software +msgid "Software" +msgstr "Software" + +#: [about]resources +msgid "Resources" +msgstr "Recursos" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movin é uma plataforma baseada em comunicação XMPPP. Todo o projeto excepto os seguintes softwares e recursos, a baixo" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Conta" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Alterar senha" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Senha" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Confirmação de senha" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "A senha foi actualizada" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "As senhas fornecidas não são iguais." + +#: [account]delete +msgid "Delete your account" +msgstr "Eliminar Conta" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Ações" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "Definições Gerais" + +#: [general]theme +msgid "Theme" +msgstr "Tema" + +#: [general]language +msgid "Default language" +msgstr "Língua Padrão" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Nome de utilizador" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Repetir a senha" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Descrição" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "Vazio" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "Tudo" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Configuraçāo" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "Idioma" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "Nome" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "Apelido" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Data de Nascimento" + +#: [general]gender +msgid "Gender" +msgstr "Sexo" + +#: [general]marital +msgid "Marital Status" +msgstr "Estado Civil" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "Página Web" + +#: [general]about +msgid "About Me" +msgstr "Sobre Mim" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "Alias" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "Nome de utilizador errado" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "Erro interno de servidor" + +#: [error]session +msgid "Session error" +msgstr "Erro de sessão" + +#: [error]account_created +msgid "Account successfully created" +msgstr "Conta criada com sucesso" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "Erro desconhecido" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "Falha na autenticação do Movim. Dado errados foram inseridos." + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "A autenticação XMPP falhou" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "O meu endereço" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "Ajuda" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Criar uma nova conta" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "" + +#: [create]server_on +msgid "on" +msgstr "ligado" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "A carregar" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Ilegível" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Perfil" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Enviar" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Limpar" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Criar uma Conta" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "Feed" + +#: [page]home +msgid "Home" +msgstr "Início" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "Erro: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "Não foi possível carregar o ficheiro '%s'" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "Aceitar" + +#: [button]add +msgid "Add" +msgstr "Adicionar" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "Não" + +#: [button]bool_yes +msgid "Yes" +msgstr "Sim" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "Cancelar" + +#: [button]chat +msgid "Chat" +msgstr "Chat" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "Enviar" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "Dia" + +#: [day]monday +msgid "Monday" +msgstr "Segunda-feira" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Terça-feira" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Quarta-feira" + +#: [day]thursday +msgid "Thursday" +msgstr "Quinta-feira" + +#: [day]friday +msgid "Friday" +msgstr "Sexta-feira" + +#: [day]saturday +msgid "Saturday" +msgstr "Sábado" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "Robô" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "Ambiente de trabalho" + +#: [client]phone +msgid "Phone" +msgstr "Telemóvel" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "Intermediário" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "Online" + +#: [presence]away +msgid "Away" +msgstr "Ausente" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "Não Perturbe" + +#: [presence]xa +msgid "Extended Away" +msgstr "Ausência Prolongada" + +#: [presence]offline +msgid "Offline" +msgstr "Indisponível" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "zangado" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "Mês" + +#: [month]january +msgid "January" +msgstr "Janeiro" + +#: [month]february +msgid "February" +msgstr "Fevereiro" + +#: [month]march +msgid "March" +msgstr "Março" + +#: [month]april +msgid "April" +msgstr "Abril" + +#: [month]may +msgid "May" +msgstr "Maio" + +#: [month]june +msgid "June" +msgstr "Junho" + +#: [month]july +msgid "July" +msgstr "Julho" + +#: [month]august +msgid "August" +msgstr "Agosto" + +#: [month]september +msgid "September" +msgstr "Setembro" + +#: [month]october +msgid "October" +msgstr "Outubro" + +#: [month]november +msgid "November" +msgstr "Novembro" + +#: [month]december +msgid "December" +msgstr "Dezembro" + +#: [year]title +msgid "Year" +msgstr "Ano" + +#: [date]today +msgid "Today" +msgstr "Hoje" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "Amanhã" + +#: [date]yesterday +msgid "Yesterday" +msgstr "Ontem" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "Dia" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "Ver artigos mais antigos" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/pt_br.po b/frontend/locales/pt_br.po new file mode 100644 index 0000000..6adc068 --- /dev/null +++ b/frontend/locales/pt_br.po @@ -0,0 +1,4169 @@ +# +# Translators: +# 4a07df7d16253bcdb03104f7ee66c2be_5b7215b, 2020 +# Christopher Ribeiro , 2018 +# Danilo Silva, 2019 +# Evandro Alves Rodrigues , 2017,2019 +# Felipe, 2020 +# Felipe Nogueira , 2023 +# FIRST AUTHOR , 2012 +# Guilherme Alves, 2026 +# ismael bonato , 2016 +# Jose Marcos Araujo , 2016 +# Renato P , 2017 +# The Cat, 2021 +# Victor Vinicius , 2015 +# Victor Vinicius , 2015 +# Vincenzo Tozzi, 2023 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Guilherme Alves, 2026\n" +"Language-Team: Portuguese (Brazil) (http://app.transifex.com/movim/movim/language/pt_BR/)\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Obrigado" + +#: [about]developers +msgid "Developers" +msgstr "Desenvolvedores" + +#: [about]translators +msgid "Translators" +msgstr "Tradutores" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Obrigado a todos os tradutores" + +#: [about]software +msgid "Software" +msgstr "Programa" + +#: [about]resources +msgid "Resources" +msgstr "Recursos" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim é uma plataforma de comunicação baseada em XMPP. Todo o projeto, exceto os seguintes softwares e recursos, está sob" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Conta" + +#: [account]account_management +msgid "Account management" +msgstr "Gestão conta" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Alterar minha senha" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Senha" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Confirmação de senha" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "A senha foi atualizada" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "As senhas informadas são diferentes" + +#: [account]delete +msgid "Delete your account" +msgstr "Apague sua conta" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "Você apagará sua conta XMPP e todas as informações relacionadas (perfil, contatos e publicações)." + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "Digite seu nome de usuário" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "Por favor, forneça um nome de usuário válido" + +#: [account]gateway_title +msgid "Gateways" +msgstr "Gateways" + +#: [account]clear +msgid "Leave this instance" +msgstr "Sair desta instância" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "Deletar chave OMEMO " + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Ações" + +#: [adhoc]completed +msgid "Action completed" +msgstr "Ação completada" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "Configurações Gerais" + +#: [general]theme +msgid "Theme" +msgstr "Tema" + +#: [general]language +msgid "Default language" +msgstr "Idioma padrão" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "Detalhamento do Log" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "Restringir sugestões" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "Apenas bate-papo" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "Desabilitar todas funcionalidade sociais (comunidades, blog...) e manter apenas a de bate-papo" + +#: [credentials]title +msgid "Administration Credential" +msgstr "Credenciais de Administração" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Nome de usuário" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Digite a senha novamente" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "Desativar o recurso de registro XMPP" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "Remover o fluxo de registro XMPP e os botões da interface" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "Deixe este campo em branco caso deseje permitir acesso para todas as contas XMPP" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Descrição" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "Descrição geral da instância" + +#: [information]banner +msgid "Main banner" +msgstr "Cabeçalho principal" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "Certifique-se que a imagem não seja grande demais e que é acessível em todas as paginas. " + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "Esta mensagem será exibida na página de login. Pode ser usada para apresentar os Termos e Condições de sua instância do Movim, por exemplo." + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "Deixe este campo em branco se não quiser mostrar nenhuma mensagem" + +#: [information]label +msgid "Information Message" +msgstr "Mensagem de informação" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "Servidor XMPP padrão" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "Servidor de domínio principal XMPP" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "Descrição do servidor principal XMPP" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "País do servidor XMPP principal" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "Selecione um país na lista" + +#: [tenor]title +msgid "Tenor integration" +msgstr "Integração com Tenor" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "Sua chave API Tenor" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "Movim integra a API Tenor para permitir pesquisa e publicação de GIFs no bate-papo" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "Acesse o Tenor e obtenha sua chave API" + +#: [log]empty +msgid "Empty" +msgstr "Vazio" + +#: [log]syslog +msgid "Syslog" +msgstr "Syslog" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "Syslog e arquivos" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "Relatado por %s de usuaries" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "Essas contas foram reportadas por alguns usuaries do Movim" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "Você pode bloquear para todes usuaries" + +#: [adminsessions]title +msgid "Sessions" +msgstr "Sessões" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "Usuários atualmente conectados ao pod" + +#: [avatar]file +msgid "File" +msgstr "Arquivo" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "Mudar meu cabeçalho" + +#: [banner]updated +msgid "Banner Updated" +msgstr "Cabeçalho atualizado" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "Cabeçalho não atualizado" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "Bloqueado" + +#: [blocked]block_account +msgid "Block the account" +msgstr "Bloquear a conta" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "Desbloquear a conta" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "Conta bloqueada" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "Conta desbloqueada" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "Vai encontrar aqui as contas que você bloqueou " + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "As seguintes contas foram bloqueadas no Movim e não podem mais te contactar" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "Quem administra esta ciente dessa lista e pode então bloquear essas contas no sistema inteiro" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "Este conteúdo é privado, por favor entre entre em sua conta para visualizá-lo" + +#: [message]published +msgid "Message Published" +msgstr "Mensagem publicada" + +#: [message]react +msgid "Add a reaction" +msgstr "Adicionar uma reação" + +#: [message]retract +msgid "Retract" +msgstr "Retrair" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "Seu contato tentou acessar um mensagem precedente, mas seu cliente não tem suporte para isso" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "Sua mensagem não pôde ser enviada, por favor tente novamente mais tarde" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "Mensagem criptografada" + +#: [message]retracted +msgid "Retracted message" +msgstr "Mensagem removida" + +#: [message]composing +msgid "Composing…" +msgstr "Criando..." + +#: [message]invitation +msgid "Invitation" +msgstr "Convite" + +#: [message]paused +msgid "Paused…" +msgstr "Parado..." + +#: [message]gone +msgid "Contact gone" +msgstr "Contato saiu" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "↑ para editar sua mensagem anterior" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr ":shortcut: para inserir um emoji" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%s precisa de sua atenção" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "Sua mensagem aqui..." + +#: [chat]smileys +msgid "Smileys" +msgstr "Smileys" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "Contatos frequentes" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "Nada aqui ainda..." + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "Não tenha timidez, mande uma primeira mensagem para iniciar a conversa" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "Você recebeu um convite para entrar em uma sala de chat" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "Você enviou um convite para entrar nesse bate-papo" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "Entrar em %s" + +#: [chat]profile +msgid "See the profile" +msgstr "Ver o perfil" + +#: [chat]clear +msgid "Clear the history" +msgstr "Limpar o histórico" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "Editar a mensagem anterior" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "Reportar abuso" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "Chamada recebida" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "Chamada de saída" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "Chamada encerrada" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "%s horas %s minutos " + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "%s minutos e %s segundos " + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "%s segundos" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "%s esta administrando agora" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "%s esta banido agora" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "Ação impossível em bate-papo criptografados " + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "Gerando chaves de criptografia, por favor aguarde..." + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "Chaves criptográficas geradas " + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "Resolvendo dispositivos OMEMO" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "Criando sessões criptografadas próprias " + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "Criptografia desabilitada" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "Enviar uma mensagem para criar sessão criptografada " + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "Habilitando criptografia para o contato " + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "Desabilitando criptografia para o contato " + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "Última atividade" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "%s sessões criadas" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "Sem conversas ainda..." + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "Inicie uma nova conversa clicando no botão %s." + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "Converse com um contato" + +#: [chats]me +msgid "Me" +msgstr "Eu" + +#: [chats]picture +msgid "Picture" +msgstr "Imagem" + +#: [chats]video +msgid "Video" +msgstr "Vídeo" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "Tudo" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "Contatos" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "Descubra, siga e compartilhe" + +#: [communities]counter +msgid "%s communities" +msgstr "Comunidades %s" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "Procurar por um novo servidor" + +#: [communities]servers +msgid "Communities servers" +msgstr "Servidores comunitários" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "Descubra as Comunidades em cada servidor" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "Servidores comunitários localizados" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "Este servidor não existe" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "Comunidades que você pode gostar" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "Comunidade criada com sucesso" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "Não há ainda comunidades neste servidor" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "Criar uma nova comunidade em %s" + +#: [communitiesserver]name +msgid "Community name" +msgstr "Nome da Comunidade" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "Meu Pequeno Pônei - Fã-Clube" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "Por favor indique um nome válido para a comunidade (no mínimo 4 caracteres)" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "Você não pode criar uma nova comunidade neste servidor" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "Algo aconteceu tentando encontrar os itens " + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "Ainda sem servidores comunitários..." + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "Parece que não conseguimos localizar nenhuma comunidade por enquanto" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Configuração" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "Inscrições" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "Subscrições publicas " + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "Minhas assinaturas de Comunidades" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "Comunidade apagada com sucesso" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "Apagar a comunidade" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "Você vai apagar a comunidade seguinte. Por favor, confirme sua ação" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "Parece que esta comunidade não existe. Você deseja removê-la de suas inscrições?" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "Configuração salva" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "Erro durante a aplicação da configuração do nó" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "Dono" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "Editores" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "Papéis" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "Papel configurado corretamente" + +#: [communityconfig]publication +msgid "Publication" +msgstr "Publicação" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "Público" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "Todos podem publicar" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "Os editores podem publicar" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "Inscritos" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "Os inscritos podem publicar" + +#: [communityconfig]type +msgid "Community type" +msgstr "Tipo de comunidade" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "Artigos " + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "Publica e lé artigos " + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "Galeria" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "Publica e navega nas imagens " + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "%s inscritos" + +#: [communitydata]num +msgid "%s posts" +msgstr "%s artigos" + +#: [communitydata]public +msgid "Public page" +msgstr "Página pública" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "Somente editores podem publicar" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "Somente inscritos podem publicar" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "As inscrições estão desabilitadas nesta comunidade" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "Atribuir uma etiqueta para este grupo" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "Nome da minha comunidade" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "Irá aparecer em seu perfil" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "Você tem certeza?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "Nenhuma publicação ainda? Escreve seu primeiro artigo assim as pessoas podem encontrar seu perfil" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "Olá" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "Aqui você será capaz de gerenciar todas as suas inscrições." + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "Geral" + +#: [config]language +msgid "Language" +msgstr "Idioma" + +#: [config]roster +msgid "Roster display" +msgstr "Exibição na lista" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "Mostrar os contatos offline" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "Esconder os contatos offline" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "Configuração atualizada" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "configuração invalida" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "configurações avançadas" + +#: [config]nsfw +msgid "Display adult content" +msgstr "Exibir conteúdo adulto" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "Irá lhe permitir ler postagens marcadas com a etiqueta #nsfw" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "Modo noturno" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "Use cores escuras para descansar seus olhos" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "Sala de bate-papo principal" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "Sempre" + +#: [config]mam_never +msgid "Never" +msgstr "Nunca" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "Arquivando preferências salvas" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "Notificação de áudio" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "Mensagem recebida" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "Confirmação de autenticação" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "A seguinte plataforma gostaria da sua confirmação para autenticar nesta conta" + +#: [confirm]code +msgid "Authentication code" +msgstr "Código de autenticação" + +#: [roster]add_title +msgid "Add a contact" +msgstr "Adicionar um contato" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "Aperte Enter para ratificar." + +#: [roster]added +msgid "Contact added" +msgstr "Contato adicionado" + +#: [roster]updated +msgid "Contact updated" +msgstr "Contato atualizado" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "Contato excluído" + +#: [general]legend +msgid "General Information" +msgstr "Informações gerais" + +#: [general]name +msgid "Name" +msgstr "Nome" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "Apelido" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Data de Nascimento" + +#: [general]gender +msgid "Gender" +msgstr "Sexo" + +#: [general]marital +msgid "Marital Status" +msgstr "Estado Civil" + +#: [general]email +msgid "Email" +msgstr "E-mail" + +#: [general]website +msgid "Website" +msgstr "Site" + +#: [general]about +msgid "About Me" +msgstr "Sobre Mim" + +#: [general]accounts +msgid "Other Accounts" +msgstr "Outras contas" + +#: [general]tune +msgid "Is Listening" +msgstr "Escutando" + +#: [general]pictures +msgid "Pictures" +msgstr "Imagens" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "Posição geográfica" + +#: [position]locality +msgid "Locality" +msgstr "Localização" + +#: [position]country +msgid "Country" +msgstr "País" + +#: [listen]title +msgid "Listening" +msgstr "Ouvindo" + +#: [last]title +msgid "Last seen" +msgstr "Última visualização" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "Informações dos clientes" + +#: [explore]last_registered +msgid "Last registered" +msgstr "Último login" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "Encontrar novos contatos" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "Editar" + +#: [edit]alias +msgid "Alias" +msgstr "Apelido" + +#: [edit]group +msgid "Group" +msgstr "Grupo" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "%s anos" + +#: [blog]last +msgid "Last public post" +msgstr "Último artigo público" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "Você pode ver o estado do seu contato" + +#: [subscription]to_button +msgid "Share my status" +msgstr "Compartilhar meu estado" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "Mas este contato não pode ver o seu" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "Você não está inscrito para este contato" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "Solicitar inscrição" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "Mas este contato ainda pode ver se você está online" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "Convidar" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "Desenhar" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "Dúvidas mais comuns" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "O quê a configuração de permissão faz?" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "Por padrão o conteúdo está disponível apenas aos seus contatos. Você pode tornar o seu perfil e publicações públicas ativando a configuração correspondente." + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "Da mesma forma que suas postagens no blog, exceto que, por padrão, os artigos estão disponíveis somente para membros ou inscritos da Comunidade (exceto se você abrir explicitamente todo o conteúdo da Comunidade)" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "Onde posso encontrar meus contatos?" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "Abrindo o painel de busca." + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "Também recomendamos" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "Adiministradores e contato" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "Conversar com o time Movim?" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "Adicionar a sala de bate-papo" + +#: [error]username +msgid "Wrong username" +msgstr "Nome de usuário incorreto" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "Sem resposta ao desafio por parte do servidor" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "Alguns dados estão perdidos!" + +#: [error]internal +msgid "Internal server error" +msgstr "Erro interno do servidor" + +#: [error]session +msgid "Session error" +msgstr "Erro de sessão" + +#: [error]account_created +msgid "Account successfully created" +msgstr "Conta criada com sucesso" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "Login impossível" + +#: [error]default +msgid "Unknown error" +msgstr "Erro desconhecido" + +#: [error]login_format +msgid "Invalid username format" +msgstr "Formato de nome de usuário inválido" + +#: [error]password_format +msgid "Invalid password format" +msgstr "Formato de senha inválido" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "Seu servidor XMPP não está autorizado" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "A autenticação do Movim falhou. Você inseriu dados errados." + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "O Mecanismo de autenticação não é suportado por Movim" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "A autenticação XMPP falhou" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "Conectado ao servidor" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "Autenticado ao servidor" + +#: [form]username +msgid "My address" +msgstr "Meu endereço" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "Conectar-se com contas desses servidores" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "Conectar-se usando qualquer conta XMPP ou criar uma nova" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "Conectado" + +#: [form]population +msgid "Population" +msgstr "População" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "%slhe convidou para uma sala de chat" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "Administrado por" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "Sem notícias ainda..." + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "Minhas publicações" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "Escrever nova postagem" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "Autorização concedida" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "Autorização recusada" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "Notificações" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "Navegador desconhecido" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "Plataforma desconhecida" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%s quer falar com você" + +#: [notifs]empty +msgid "No new notifications" +msgstr "Sem novas notificações" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "Movim pode lhe notificar quando nova postagem for publicada ou se receber novas mensagens" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "Você sempre pode desabilitar posteriormente" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "Perfil público" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "Tornar seu perfil público e outros usuários irão lhe encontrar e fazer novos contatos facilmente" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "voc&e pode sempre desabilitar isso nas configurações posteriormente" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "Fonte de Notícias" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "Descubra e registre-se em grupos que você está interessado" + +#: [post]content +msgid "Content" +msgstr "Conteúdo" + +#: [post]published +msgid "Post published" +msgstr "Artigo publicado" + +#: [post]deleted +msgid "Post deleted" +msgstr "Artigo excluído" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "Postagens recentemente publicadas em comunidades nas quais ainda não está inscrito" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "Este é um artigo republicado de %s" + +#: [post]see_profile +msgid "See %s profile" +msgstr "Ver o perfil de %s" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "%s minuto" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "%s minutos" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "Este artigo é público" + +#: [post]public_no +msgid "This post is private" +msgstr "Este artigo é privado" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "Endereço público desse artigo
" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "Excluir este artigo" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "Você irá excluir este artigo, por favor confirme sua ação" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "Tem certeza que deseja apagar este comentário?" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "Ler mais" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "Comentários desabilitados" + +#: [post]comment_published +msgid "Comment published" +msgstr "Comentário publicado" + +#: [post]comment_like_published +msgid "Liked" +msgstr "Curtido" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "O comentário não pôde ser publicado" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "Comentário excluído" + +#: [post]liked +msgid "Liked your publication" +msgstr "Curtiu sua publicação" + +#: [post]commented +msgid "Commented" +msgstr "Comentou" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "Artigo de um contato" + +#: [hello]share_title +msgid "Universal share button" +msgstr "Botão de compartilhamento universal" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "Favorite ou arraste e solte o seguinte botão na sua barra de ferramentas e utilize-o em todas as páginas que você queira compartilhar no Movim" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "Compartilhar no Movim" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "Oh! Ola!" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "Verificar o Menu" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "Todas as funcionalidades principais do Movim estão acessíveis aqui. Não hesite em navegar através das páginas para descobrir mais!" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "Parece que você ainda não completou seu perfil" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "Você pode ir na pagina de Configurações do seu perfil para descrever-se e também carregar uma figura legal" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "Desconectar" + +#: [status]presence +msgid "Presence" +msgstr "Presente" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "Você realmente quer sair?" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "Link copiado para a área de transferência" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "O que há de novo?" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "Postagem" + +#: [publish]post +msgid "Write a post" +msgstr "Escrever uma postagem" + +#: [publish]add_link +msgid "Add a link" +msgstr "Adicionar um novo endereço" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "Tirar uma fotografia" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "Por favor forneça um título" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "Visualizar" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "Adicione um arquivo ou imagem" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "Você não pode publicar um artigo aqui" + +#: [publish]new +msgid "New post" +msgstr "Novo artigo" + +#: [publish]title +msgid "Post title" +msgstr "Título da postagem" + +#: [publish]content +msgid "Markdown content" +msgstr "Conteúdo do Markdown" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "Por favor informe um URL válido" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "Você pode formatar o seu conteúdo utilizando Markdown" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "Rascunho guardado" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "Editor de texto avançado" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "Ajuda" + +#: [publishhelp]more +msgid "More help" +msgstr "Mais ajuda" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "Manual de sintaxe Markdown" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Criar uma nova conta" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "O formulário de criação de conta não foi encontrado no servidor" + +#: [create]server_on +msgid "on" +msgstr "em" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "Carregando" + +#: [create]placeholder +msgid "…and start playing" +msgstr "... começando" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Não permitido" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "O sistema de registro deste servidor está momentaneamente indisponível" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "Registro proibido" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "Banido" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "Criar uma sala de bate-papo" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "Sala de bate-papo criada" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "Nome vazio" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "Você ainda não tem nenhuma sala de bate-papo." + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "Adicione pressionando o botão adicionar" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "Nome ou descrição" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "Seu apelido não é válido" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "Participar de uma sala de bate-papo" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "Participar de uma sala de bate-papo personalizada" + +#: [chatrooms]members +msgid "Members" +msgstr "Membros" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "Um senha é obrigatória" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "Fixar esta sala de bate-papo" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "Você não pode entrar nesta sala de chat, é necessário registro prévio" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "Assunto" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "Salas de Bate-papo" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "Usuários" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "Favoritos atualizados" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "Você está atualmente conectado como um usuário anônimo." + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "Conectar em %s" + +#: [room]invite +msgid "Invite a contact" +msgstr "Convidar um contato" + +#: [room]invited +msgid "Invitation sent" +msgstr "Convite enviado" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "Enviar este link para seus contatos" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "Esta sala de bate-papo pode ser localizada publicamente" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "Perfis públicos" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "Arquivado" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "As mensagens da sala de bate-papo estão arquivadas" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "Bate-papo em grupo" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "Bate-papo em grupo privado com membros convidados" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "Adicionar um novo membro" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "Desbanir" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "Afiliação" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "Motivo" + +#: [room]channel +msgid "Channel" +msgstr "Canal" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "Canal público com livre visualização e participação" + +#: [room]notify_never +msgid "Never notify" +msgstr "Nunca notifique" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "Notifique sempre" + +#: [room]pinned +msgid "Pinned" +msgstr "Fixado" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "Visitante" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "Nenhuma sala de bate-papo encontrada localmente" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "Nenhuma sala de bate-papo encontrada globalmente" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "O que você esta procurando?" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "#gatos, usuario@servidor.com, João…" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "Ainda sem contatos?" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "Etiquetas" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "Exibir todos os contatos" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "Anexar para uma publicação de blog" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "Artigo compartilhado" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "Mais contatos" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "Figurinhas" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "Um adesivo foi enviado utilizando o Movim" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "Digite uma palavra-chave" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "Encontrar um GIF" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "Desenvolvido por Tenor" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "Notícias de %s" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "Não há Fonte de notícias pública para este contato" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "Sem contato específico" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "Enviar" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "Escolha um arquivo para enviar" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "Figuras grandes serão redimensionadas e compactadas" + +#: [upload]error_filesize +msgid "File too large" +msgstr "O arquivo é grande demais" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "O envio falhou" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "Você não tem permissão para enviar um arquivo" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "Você excedeu sua quota" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "Arraste e solte seu arquivo nessa área" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "Tamanho máximo do arquivo %s" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Perfil" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "Perfil atualizado" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "Perfil Não Atualizado" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "Seu perfil agora é público" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "Seu perfil está restrito agora" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "Configure seu apelido nessa instância" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "Define uma apelido local para que outros usuários na instância atual possam encontrá-lo facilmente." + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "Seu apelido é %s." + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "José_Maria96" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "Esse apelido já está registrado" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "Apelido salvo" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Enviar" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Restaurar" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "Movim está no momento operando em modo degradado" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "Por favor, entre em contato com o administrador de seu servidor para verificar se este recurso pode ser habilitado" + +#: [visio]calling +msgid "…is calling you" +msgstr "... está lhe ligando" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "Recebendo chamada de vídeo" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "Recebendo chamada de voz" + +#: [visio]ringing +msgid "…ringing" +msgstr "... chamando" + +#: [visio]declined +msgid "Declined" +msgstr "Recusado" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "...conectando" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "Microfone padrão" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "Câmera padrão" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "Movim requer que o Javascript esteja ativado para funcionar corretamente." + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "Carregando" + +#: [global]or +msgid "Or" +msgstr "ou" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "Mudar para outro pod" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "Sobre" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Criar conta" + +#: [page]administration +msgid "Administration" +msgstr "Administração" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "Blog" + +#: [page]chats +msgid "Messages" +msgstr "Mensagens" + +#: [page]communities +msgid "Communities" +msgstr "Comunidades" + +#: [page]explore +msgid "Explore" +msgstr "Explorar" + +#: [page]feed +msgid "Feed" +msgstr "Fonte de notícias" + +#: [page]home +msgid "Home" +msgstr "Página inicial" + +#: [page]login +msgid "Login" +msgstr "Entrar" + +#: [page]news +msgid "News" +msgstr "Notícias" + +#: [page]not_found +msgid "Not Found" +msgstr "Não encontrado" + +#: [page]posts +msgid "Posts" +msgstr "Artigos" + +#: [page]publish +msgid "Publish" +msgstr "Publicar" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "Compartilhar" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "Etiqueta" + +#: [page]visio +msgid "Visio-conference" +msgstr "Video conferência" + +#: [error]error +msgid "Error: %s" +msgstr "Erro: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "Não foi possível carregar o arquivo '%s'" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "A ferramenta '%s' requerida não existe." + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "Evento solicitado '%s' não registrado." + +#: [error]whoops +msgid "Whoops!" +msgstr "Ooops!" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "Movim não consegue falar com o servidor, por favor tente novamente mais tarde" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "Reconexão com o servidor..." + +#: [error]oops +msgid "Oops!" +msgstr "Oops!" + +#: [button]accept +msgid "Accept" +msgstr "Aceitar" + +#: [button]add +msgid "Add" +msgstr "Adicionar" + +#: [button]audio_call +msgid "Audio Call" +msgstr "Chamada de voz" + +#: [button]bool_no +msgid "No" +msgstr "Não" + +#: [button]bool_yes +msgid "Yes" +msgstr "Sim" + +#: [button]call +msgid "Call" +msgstr "Ligação" + +#: [button]cancel +msgid "Cancel" +msgstr "Cancelar" + +#: [button]chat +msgid "Chat" +msgstr "Bate-papo" + +#: [button]clear +msgid "Clear" +msgstr "Limpar" + +#: [button]close +msgid "Close" +msgstr "Fechar" + +#: [button]connecting +msgid "Connecting" +msgstr "Conectando" + +#: [button]copy_link +msgid "Copy Link" +msgstr "Copiar Link" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "Excluir" + +#: [button]destroy +msgid "Destroy" +msgstr "Destruir" + +#: [button]discover +msgid "Discover" +msgstr "Descubra" + +#: [button]enable +msgid "Enable" +msgstr "Habilitar" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "Gostar" + +#: [button]more +msgid "More" +msgstr "Mais" + +#: [button]new +msgid "New conversation" +msgstr "Nova conversa" + +#: [button]next +msgid "Next" +msgstr "Próximo" + +#: [button]not_now +msgid "Not Now" +msgstr "Não agora" + +#: [button]open +msgid "Open" +msgstr "Aberto" + +#: [button]previous +msgid "Previous" +msgstr "Anterior" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "Recarregar" + +#: [button]refuse +msgid "Refuse" +msgstr "Recusar" + +#: [button]register +msgid "Register" +msgstr "Registrar" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "Responder" + +#: [button]return +msgid "Return" +msgstr "Retornar" + +#: [button]save +msgid "Save" +msgstr "Salvar" + +#: [button]search +msgid "Search" +msgstr "Procurar" + +#: [button]send_to +msgid "Send to" +msgstr "Enviar para" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "Compartilhar" + +#: [button]sign_up +msgid "Sign Up" +msgstr "Inscrever" + +#: [button]submitting +msgid "Submitting" +msgstr "Enviando" + +#: [button]unregister +msgid "Unregister" +msgstr "Desfazer registro" + +#: [button]update +msgid "Update" +msgstr "Atualizar" + +#: [button]updating +msgid "Updating" +msgstr "Atualizando" + +#: [button]validate +msgid "Validate" +msgstr "Validar" + +#: [button]video_call +msgid "Video Call" +msgstr "Chamada de vídeo" + +#: [input]optional +msgid "Optional" +msgstr "Opcional" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "Dia" + +#: [day]monday +msgid "Monday" +msgstr "Segunda-feira" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Terça-feira" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Quarta-feira" + +#: [day]thursday +msgid "Thursday" +msgstr "Quinta-feira" + +#: [day]friday +msgid "Friday" +msgstr "Sexta-feira" + +#: [day]saturday +msgid "Saturday" +msgstr "Sábado" + +#: [day]sunday +msgid "Sunday" +msgstr "Domingo" + +#: [client]bot +msgid "Bot" +msgstr "Robô" + +#: [client]console +msgid "Console" +msgstr "Console" + +#: [client]desktop +msgid "Desktop" +msgstr "Área de trabalho" + +#: [client]phone +msgid "Phone" +msgstr "Telefone" + +#: [client]web +msgid "Web" +msgstr "Web" + +#: [client]registered +msgid "Registered" +msgstr "Registrado" + +#: [client]gateway +msgid "Gateway" +msgstr "Gateway" + +#: [client]im +msgid "Server" +msgstr "Servidor" + +#: [presence]online +msgid "Online" +msgstr "Conectado" + +#: [presence]away +msgid "Away" +msgstr "Ausente" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "Não perturbe" + +#: [presence]xa +msgid "Extended Away" +msgstr "Não disponível por um tempo" + +#: [presence]offline +msgid "Offline" +msgstr "Desconectado" + +#: [presence]error +msgid "Error" +msgstr "Erro" + +#: [mood]afraid +msgid "afraid" +msgstr "amedrontado" + +#: [mood]amazed +msgid "amazed" +msgstr "maravilhado(a)" + +#: [mood]amorous +msgid "amorous" +msgstr "amoroso(a)" + +#: [mood]angry +msgid "angry" +msgstr "bravo(a)" + +#: [mood]annoyed +msgid "annoyed" +msgstr "irritado(a)" + +#: [mood]anxious +msgid "anxious" +msgstr "ansioso(a)" + +#: [mood]aroused +msgid "aroused" +msgstr "excitado(a)" + +#: [mood]ashamed +msgid "ashamed" +msgstr "envergonhado(a)" + +#: [mood]bored +msgid "bored" +msgstr "entediado(a)" + +#: [mood]brave +msgid "brave" +msgstr "encorajado(a)" + +#: [mood]calm +msgid "calm" +msgstr "calmo(a)" + +#: [mood]cautious +msgid "cautious" +msgstr "cauteloso(a)" + +#: [mood]cold +msgid "cold" +msgstr "frio" + +#: [mood]confident +msgid "confident" +msgstr "confiante" + +#: [mood]confused +msgid "confused" +msgstr "confuso(a)" + +#: [mood]contemplative +msgid "contemplative" +msgstr "contemplativo(a)" + +#: [mood]contented +msgid "contented" +msgstr "satisfeito(a)" + +#: [mood]cranky +msgid "cranky" +msgstr "ranzinza" + +#: [mood]crazy +msgid "crazy" +msgstr "louco(a)" + +#: [mood]creative +msgid "creative" +msgstr "criativo(a)" + +#: [mood]curious +msgid "curious" +msgstr "curioso(a)" + +#: [mood]dejected +msgid "dejected" +msgstr "rejeitado(a)" + +#: [mood]depressed +msgid "depressed" +msgstr "deprimido(a)" + +#: [mood]disappointed +msgid "disappointed" +msgstr "disapontado(a)" + +#: [mood]disgusted +msgid "disgusted" +msgstr "enojado(a)" + +#: [mood]dismayed +msgid "dismayed" +msgstr "desiludido(a)" + +#: [mood]distracted +msgid "distracted" +msgstr "distraído(a)" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "tímido(a)" + +#: [mood]envious +msgid "envious" +msgstr "ciumento(a)" + +#: [mood]excited +msgid "excited" +msgstr "animado(a)" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "paquera" + +#: [mood]frustrated +msgid "frustrated" +msgstr "frustrado" + +#: [mood]grateful +msgid "grateful" +msgstr "grato(a)" + +#: [mood]grieving +msgid "grieving" +msgstr "pesaroso(a)" + +#: [mood]grumpy +msgid "grumpy" +msgstr "rabujento(a)" + +#: [mood]guilty +msgid "guilty" +msgstr "culpado(a)" + +#: [mood]happy +msgid "happy" +msgstr "feliz" + +#: [mood]hopeful +msgid "hopeful" +msgstr "esperançoso(a)" + +#: [mood]hot +msgid "hot" +msgstr "quente" + +#: [mood]humbled +msgid "humbled" +msgstr "humilde" + +#: [mood]humiliated +msgid "humiliated" +msgstr "humilhado(a)" + +#: [mood]hungry +msgid "hungry" +msgstr "faminto(a)" + +#: [mood]hurt +msgid "hurt" +msgstr "machucado(a)" + +#: [mood]impressed +msgid "impressed" +msgstr "impressionado(a)" + +#: [mood]in_awe +msgid "in awe" +msgstr "admirado" + +#: [mood]in_love +msgid "in love" +msgstr "apaixonado(a)" + +#: [mood]indignant +msgid "indignant" +msgstr "indignado" + +#: [mood]interested +msgid "interested" +msgstr "interessado(a)" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "intoxicado(a)" + +#: [mood]invincible +msgid "invincible" +msgstr "invencível" + +#: [mood]jealous +msgid "jealous" +msgstr "invejoso(a)" + +#: [mood]lonely +msgid "lonely" +msgstr "sozinho(a)" + +#: [mood]lost +msgid "lost" +msgstr "perdido(a)" + +#: [mood]lucky +msgid "lucky" +msgstr "sortudo(a)" + +#: [mood]mean +msgid "mean" +msgstr "malvado(a)" + +#: [mood]moody +msgid "moody" +msgstr "no clima" + +#: [mood]nervous +msgid "nervous" +msgstr "nervoso(a)" + +#: [mood]neutral +msgid "neutral" +msgstr "neutro" + +#: [mood]offended +msgid "offended" +msgstr "ofendido(a)" + +#: [mood]outraged +msgid "outraged" +msgstr "ultrajado(a)" + +#: [mood]playful +msgid "playful" +msgstr "divertido" + +#: [mood]proud +msgid "proud" +msgstr "orgulhoso(a)" + +#: [mood]relaxed +msgid "relaxed" +msgstr "relaxado(a)" + +#: [mood]relieved +msgid "relieved" +msgstr "aliviado(a)" + +#: [mood]remorseful +msgid "remorseful" +msgstr "com remorso" + +#: [mood]restless +msgid "restless" +msgstr "agitado" + +#: [mood]sad +msgid "sad" +msgstr "triste" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "sarcástico" + +#: [mood]satisfied +msgid "satisfied" +msgstr "satisfeito(a)" + +#: [mood]serious +msgid "serious" +msgstr "sério(a)" + +#: [mood]shocked +msgid "shocked" +msgstr "chocado(a)" + +#: [mood]shy +msgid "shy" +msgstr "tímido(a)" + +#: [mood]sick +msgid "sick" +msgstr "doente" + +#: [mood]sleepy +msgid "sleepy" +msgstr "sonolento(a)" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "espontâneo(a)" + +#: [mood]stressed +msgid "stressed" +msgstr "estressado(a)" + +#: [mood]strong +msgid "strong" +msgstr "forte" + +#: [mood]surprised +msgid "surprised" +msgstr "surpreso(a)" + +#: [mood]thankful +msgid "thankful" +msgstr "agradecido(a)" + +#: [mood]thirsty +msgid "thirsty" +msgstr "sedento(a)" + +#: [mood]tired +msgid "tired" +msgstr "cansado(a)" + +#: [mood]undefined +msgid "undefined" +msgstr "indefinido" + +#: [mood]weak +msgid "weak" +msgstr "fraco(a)" + +#: [mood]worried +msgid "worried" +msgstr "preocupado(a)" + +#: [month]title +msgid "Month" +msgstr "Mês" + +#: [month]january +msgid "January" +msgstr "Janeiro" + +#: [month]february +msgid "February" +msgstr "Fevereiro" + +#: [month]march +msgid "March" +msgstr "Março" + +#: [month]april +msgid "April" +msgstr "Abril" + +#: [month]may +msgid "May" +msgstr "Maio" + +#: [month]june +msgid "June" +msgstr "Junho" + +#: [month]july +msgid "July" +msgstr "Julho" + +#: [month]august +msgid "August" +msgstr "Agosto" + +#: [month]september +msgid "September" +msgstr "Setembro" + +#: [month]october +msgid "October" +msgstr "Outubro" + +#: [month]november +msgid "November" +msgstr "Novembro" + +#: [month]december +msgid "December" +msgstr "Dezembro" + +#: [year]title +msgid "Year" +msgstr "Ano" + +#: [date]today +msgid "Today" +msgstr "Hoje" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "Amanhã" + +#: [date]yesterday +msgid "Yesterday" +msgstr "Ontem" + +#: [date]ago +msgid "%d days ago" +msgstr "%d dias atrás" + +#: [date]day +msgid "day" +msgstr "dia" + +#: [post]title +msgid "Title" +msgstr "Título" + +#: [post]place +msgid "Place" +msgstr "Lugar" + +#: [post]by +msgid "by" +msgstr "por" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "Geolocalização" + +#: [post]email +msgid "email" +msgstr "email" + +#: [post]empty +msgid "No content" +msgstr "Sem conteúdo" + +#: [post]no_comments +msgid "No comments yet" +msgstr "Sem comentários ainda" + +#: [post]older +msgid "Get older posts" +msgstr "Pegar os artigos mais antigas" + +#: [post]new_items +msgid "%s new items" +msgstr "%s novos itens" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "Erro ao comentar a publicação." + +#: [post]comments_get +msgid "Get the comments" +msgstr "Obter os comentários" + +#: [post]comment_add +msgid "Add a comment" +msgstr "Adicionar um comentário" + +#: [post]share +msgid "Share with" +msgstr "Compartilhar com" + +#: [post]share_everyone +msgid "Everyone" +msgstr "Qualquer um" + +#: [post]updated +msgid "Updated" +msgstr "Atualizado" + +#: [post]content_not_found +msgid "Content not found" +msgstr "Conteúdo não encontrado" + +#: [post]default_title +msgid "Contact publication" +msgstr "Publicação do contato" + +#: [post]comments +msgid "Comments" +msgstr "Comentários" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "Postagem original removida" + +#: [filesize]byte +msgid "B" +msgstr "B " + +#: [filesize]kilobyte +msgid "KB" +msgstr "KB " + +#: [filesize]megabyte +msgid "MB" +msgstr "MB " + +#: [filesize]gigabyte +msgid "GB" +msgstr "GB " + +#: [filesize]terabyte +msgid "TB" +msgstr "TB " + +#: [affiliation]owner +msgid "Owner" +msgstr "Dono" + +#: [affiliation]admin +msgid "Admin" +msgstr "Administrador" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "Editor" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "Apenas publicar" + +#: [affiliation]member +msgid "Member" +msgstr "Membro" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "Exilado" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "Sem afiliação" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "Usuário banido" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "A API está inalcançável, tente mais tarde" + +#: [field]type_here +msgid "Type here" +msgstr "Digite aqui" diff --git a/frontend/locales/ro.po b/frontend/locales/ro.po new file mode 100644 index 0000000..aa59858 --- /dev/null +++ b/frontend/locales/ro.po @@ -0,0 +1,4155 @@ +# +# Translators: +# Marvin42 Marvin , 2017 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Marvin42 Marvin , 2017\n" +"Language-Team: Romanian (http://app.transifex.com/movim/movim/language/ro/)\n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Mulțumesc" + +#: [about]developers +msgid "Developers" +msgstr "Dezvoltatori" + +#: [about]translators +msgid "Translators" +msgstr "Traducători" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Mulțumiri la toți traducătorii" + +#: [about]software +msgid "Software" +msgstr "Programe" + +#: [about]resources +msgid "Resources" +msgstr "Resurse" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim este o platformă de comunicare bazată pe XMPP. Tot proiectul, cu excepția următoarelor programe și resurse, este sub" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Cont" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Schimbă-mi parola" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Parola" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Cofirmare parolă" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "Parola a fost actualizată" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "Parolele furnizate nu sunt la fel" + +#: [account]delete +msgid "Delete your account" +msgstr "Șterge contul tău" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Acțiuni" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "Setări generale" + +#: [general]theme +msgid "Theme" +msgstr "Temă" + +#: [general]language +msgid "Default language" +msgstr "Limba implicită" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Utilizator" + +#: [credentials]re_password +msgid "Retype password" +msgstr "" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "Mesaj publicat" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "Mesaj criptat" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "Contacte frecvente" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "Descoperiți, urmăriți și distribuiți" + +#: [communities]counter +msgid "%s communities" +msgstr "%s comunități" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "Caută un nou server" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Configurare" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "Abonamente" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "Configurare salvată" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "Abonamentele sunt dezactivate pentru această comunitate" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "Adaugă o etichetă pentru aceasta comunitate" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "Numele comunității mele" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "Va apărea pe profilul dumneavoastră" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "Sunteți sigur(ă)?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "Bună" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "Aici veți putea să gestionați toate abonamentele dumneavoastră." + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "General" + +#: [config]language +msgid "Language" +msgstr "Limba" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "Afișați contactele deconectate" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "Ascunde contactele deconectate" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "Configurare invalidă" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "Configurare avansată" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "Adaugă un contact" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "Apăsați pe Enter pentru a valida" + +#: [roster]added +msgid "Contact added" +msgstr "Contact adăugat" + +#: [roster]updated +msgid "Contact updated" +msgstr "Contact actualizat" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "Contact șters" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "Nume" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "Porecla" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Data nasterii" + +#: [general]gender +msgid "Gender" +msgstr "Gen" + +#: [general]marital +msgid "Marital Status" +msgstr "Starea civilă" + +#: [general]email +msgid "Email" +msgstr "E-mail" + +#: [general]website +msgid "Website" +msgstr "Website" + +#: [general]about +msgid "About Me" +msgstr "Despre Mine" + +#: [general]accounts +msgid "Other Accounts" +msgstr "Alte conturi" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "Poziție geografică" + +#: [position]locality +msgid "Locality" +msgstr "Localitate" + +#: [position]country +msgid "Country" +msgstr "Țară" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "Ultima oară văzut(ă)" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "Înregistrat ultima oară" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "Editați" + +#: [edit]alias +msgid "Alias" +msgstr "Alias" + +#: [edit]group +msgid "Group" +msgstr "Grup" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "%s ani" + +#: [blog]last +msgid "Last public post" +msgstr "Ultima postare publică" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "Puteți vedea status-ul acestui contact" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "Nu sunteți abonat la acest contact" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "Cereți să vă abonați" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "Dar acest contact poate vedea în continuare dacă sunteți online" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "Invitați" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "Întrebări frecvente" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "Nume utilizator greșit" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "Adresa mea" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "Postare" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Creează un nou cont" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "Nici un formular de creare a contului nu a fost găsit pe server" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "Încărcare" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Nu este acceptat" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "Sistemul de înregistrare pe acest server este deocamdată indisponibil" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "Înregistrare interzisă" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "Nume necompletat" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "Membri" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "Subiect" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "Conectare pe %s" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "Ce cauți?" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "Nici un contact specificat" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "Alege un fișier pentru a-l încărca" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "Pozele mari vor fi redimensionate și comprimate" + +#: [upload]error_filesize +msgid "File too large" +msgstr "Fișier prea mare" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "Încărcarea a eșuat" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Profil" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Înregistrare" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Reinitializeaza" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "Se încarcă..." + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "Despre" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Cont nou" + +#: [page]administration +msgid "Administration" +msgstr "Administrare" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "Comunități" + +#: [page]explore +msgid "Explore" +msgstr "Explorează" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "Pagina Principala" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "Știri" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "Postări" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "Eroare: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "Fisierul '%s' nu poate fi incarcat." + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "Accepta" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "Chat" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "Conversație nouă" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "" + +#: [day]tuesday +msgid "Tuesday" +msgstr "" + +#: [day]wednesday +msgid "Wednesday" +msgstr "" + +#: [day]thursday +msgid "Thursday" +msgstr "" + +#: [day]friday +msgid "Friday" +msgstr "" + +#: [day]saturday +msgid "Saturday" +msgstr "" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "" + +#: [presence]away +msgid "Away" +msgstr "Plecat" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "" + +#: [month]february +msgid "February" +msgstr "" + +#: [month]march +msgid "March" +msgstr "" + +#: [month]april +msgid "April" +msgstr "" + +#: [month]may +msgid "May" +msgstr "" + +#: [month]june +msgid "June" +msgstr "" + +#: [month]july +msgid "July" +msgstr "" + +#: [month]august +msgid "August" +msgstr "" + +#: [month]september +msgid "September" +msgstr "" + +#: [month]october +msgid "October" +msgstr "" + +#: [month]november +msgid "November" +msgstr "" + +#: [month]december +msgid "December" +msgstr "" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "" + +#: [date]yesterday +msgid "Yesterday" +msgstr "" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/ru.po b/frontend/locales/ru.po new file mode 100644 index 0000000..1918c28 --- /dev/null +++ b/frontend/locales/ru.po @@ -0,0 +1,4171 @@ +# +# Translators: +# Alexander Popov (AlexWayfer) , 2016 +# Alexander Radchenko , 2016 +# Alexey Korepov , 2017 +# yanislavb , 2017 +# Dig Dig, 2018 +# Ilya Shumilov , 2019 +# yanislavb , 2017-2018 +# Jaussoin Timothée , 2017 +# Killy MXI , 2018 +# MMurzik MMurzik , 2016 +# Paul Miller , 2020 +# Qim Armnov , 2016 +# Rus D , 2021 +# Stanislav N. , 2016-2017 +# yanislavb , 2017 +# yanislavb , 2017 +# Yurt Page, 2025 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Yurt Page, 2025\n" +"Language-Team: Russian (http://app.transifex.com/movim/movim/language/ru/)\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Спасибо" + +#: [about]developers +msgid "Developers" +msgstr "Разработчики" + +#: [about]translators +msgid "Translators" +msgstr "Переводчики" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Спасибо всем переводчикам" + +#: [about]software +msgid "Software" +msgstr "Программа" + +#: [about]resources +msgid "Resources" +msgstr "Ресурсы" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim — основанная на XMPP платформа для коммуникаций. Весь проект, кроме следующих программ и ресурсов, находится под" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Учётная запись" + +#: [account]account_management +msgid "Account management" +msgstr "Управление учёткой" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Изменить мой пароль" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Пароль" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Подтверждение пароля" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "Пароль был изменен" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "Введенные пароли не совпадают" + +#: [account]delete +msgid "Delete your account" +msgstr "Удалить мою учётную запись" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "Вы удалите свою учётную запись XMPP и всю связанную с ней информацию (профиль, контакты и публикации)." + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "Введите Ваше полное имя" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "Пожалуйста введите действующую учётную запись" + +#: [account]gateway_title +msgid "Gateways" +msgstr "Шлюзы" + +#: [account]clear +msgid "Leave this instance" +msgstr "Покинуть этот инстанс" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "При этом будет удалена вся соответствующая информация, связанная с вашей учётной записью в этом сервере Movim (профиль, контакты и публикации)." + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "Это действие не приведет к удалению вашей учётной записи, но отключит вас от Movim." + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "Удаление ключа OMEMO" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "Вы собираетесь уничтожить следующий ключ OMEMO. Ваши контакты больше не смогут шифровать сообщения с помощью этого ключа. Это действие необратимо. Вы уверены?" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Действия" + +#: [adhoc]completed +msgid "Action completed" +msgstr "Действие выполнено" + +#: [tools]title +msgid "Developer Tools" +msgstr "Инструменты разработчика" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "Преобразовать SDP в Jingle" + +#: [tools]sdp_title +msgid "SDP" +msgstr "SDP" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "Преобразовать Jingle в SDP" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "Строфа Jingle" + +#: [admin]general +msgid "General Settings" +msgstr "Общие параметры" + +#: [general]theme +msgid "Theme" +msgstr "Тема" + +#: [general]language +msgid "Default language" +msgstr "Язык по умолчанию" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "Детализация лога" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "Ваш сервер публичен?" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "Зарегистрируйте свой сервер на join.movim.eu и присоединитесь к федерации Movim!" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "Предотвращать подсказки" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "Предлагайте только те чаты, сообщества и всё другое, которые доступны на XMPP-сервере пользователя и связанных с ним сервисах." + +#: [chatonly]title +msgid "Chat only" +msgstr "Только чат" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "Отключите все социальные функции (сообщества, блог и т.д.) и оставить только чат." + +#: [credentials]title +msgid "Administration Credential" +msgstr "Управление учётными данными" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Имя пользователя" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Введите пароль ещё раз" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "Отключить возможность регистрации по XMPP" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "Удалите из интерфейса процесс регистрации по XMPP и соответствующие кнопки." + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "Позволеные XMPP серверы" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "Если вы хотите указать список авторизованных XMPP-серверов для вашего Movim-пода и запретить подключение ко всем остальным, пожалуйста, укажите здесь их доменные имена через запятую (например: movim.eu,jabber.fr)." + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "Оставьте это поле пустым, если вы хотите позволить доступ ко всем XMPP аккаунтам." + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "Список позволеных XMPP серверов" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Описание" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "Общее описание этого сервера" + +#: [information]banner +msgid "Main banner" +msgstr "Главный банер" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "Убедитесь, что изображение не слишком большое и доступно с любой веб-страницы." + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "Это сообщение будет отображаться на странице входа в систему. Его можно использовать, например, для ссылки на Условия использования вашего сервера Movim." + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "Если Вы не хотите показывать сообщения, оставьте это поле пустым. " + +#: [information]label +msgid "Information Message" +msgstr "Информационное сообщение" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "XMPP-сервер по умолчанию" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "Домен основного XMPP-сервера" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "Описание основного XMPP-сервера" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "Страна нахождения основного XMPP-сервера" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "Выберите страну из списка" + +#: [tenor]title +msgid "Tenor integration" +msgstr "Интеграция с Tenor" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "Ваш API ключ Тенора" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "Movim интегрируется с Tenor, чтобы искать и публиковать GIFки в чате." + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "Зайдите на Тенор и получите свой ключ API" + +#: [log]empty +msgid "Empty" +msgstr "Пусто" + +#: [log]syslog +msgid "Syslog" +msgstr "Syslog" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "Syslog и файлы" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "Был обжалован %sпользователями" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "На эти сообщения поступили жалобы от некоторых пользователей Movim." + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "Вы можете заблокировать их для всех остальных пользователей." + +#: [adminsessions]title +msgid "Sessions" +msgstr "Сеансы" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "Сейчас подключенных пользователи к этому серверу." + +#: [avatar]file +msgid "File" +msgstr "Файл" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "Фото профиля обновлено" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "Фото профиля не обновлено" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "Изменить моё фото профиля" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "Ваше фото слишком большое" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "Ещё нет фото" + +#: [banner]change +msgid "Change my banner" +msgstr "Изменить мой банер" + +#: [banner]updated +msgid "Banner Updated" +msgstr "Банер обновлён" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "Банер не обновлён" + +#: [banner]missing +msgid "No banner yet" +msgstr "Ещё нет банера" + +#: [blocked]title +msgid "Blocked" +msgstr "Заблокирован" + +#: [blocked]block_account +msgid "Block the account" +msgstr "Заблокировать этот профиль" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "Разблокировать этот профиль" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "Профиль заблокирован" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "Профиль разблокирован" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "Здесь вы найдете пользователей, которых вы заблокировали" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "Следующие пользователи заблокированы Movim и больше не могут с вами связаться." + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "Администратор также осведомлён об этом списке и, следовательно, может заблокировать этих пользователей во всей системе." + +#: [blog]title +msgid "%s’s blog" +msgstr "Блог %s" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "Этот контент приватный, пожалуйста авторизуйтесь, чтобы посмотреть его" + +#: [message]published +msgid "Message Published" +msgstr "Сообщение опубликовано" + +#: [message]react +msgid "Add a reaction" +msgstr "Добавить отклик" + +#: [message]retract +msgid "Retract" +msgstr "Убрать" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "Ваш собеседник попытался отозвать предыдущее сообщение, но ваш чат-клиент не поддерживает эту функциональность" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "Это сообщение было отмодерировано" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "Не удалось отправить сообщение, попробуйте позже" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "Зашифрованное сообщение" + +#: [message]retracted +msgid "Retracted message" +msgstr "Удалённое сообщение" + +#: [message]composing +msgid "Composing…" +msgstr "Сопоставление..." + +#: [message]invitation +msgid "Invitation" +msgstr "Приглашение" + +#: [message]paused +msgid "Paused…" +msgstr "Пауза" + +#: [message]gone +msgid "Contact gone" +msgstr "Контакт ушел" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "↑ чтобы редактировать ваши предыдущие сообщения" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr ":сочетание: чтобы вставить смайлик" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "В этом чате отправлять сообщения запрещено" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%s нуждается в Вашем внимании" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "Ваше сообщение здесь" + +#: [chat]smileys +msgid "Smileys" +msgstr "Смайлики" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "Популярные контакты" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "Пока ничего нет..." + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "Не стесняйтесь, отправьте первое сообщение и начните общение " + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "Вы получили приглашение в комнату" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "Вы отправили приглашение присоединится к чат-комнате " + +#: [chat]invitation_join +msgid "Join %s" +msgstr "Зайти в %s" + +#: [chat]profile +msgid "See the profile" +msgstr "Смотреть профиль" + +#: [chat]clear +msgid "Clear the history" +msgstr "Очистить историю" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "Редактировать последнее сообщение" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "Сообщить о нарушении" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "Входящий звонок" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "Исходящий звонок" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "Пропущенный звонок" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "Отклонённый звонок" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "Вызов завершён " + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "%s часов %s минут" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "%s минут и %s секунд" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "%s секунд" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "%s теперь админ" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "%s теперь владелец" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "%s теперь заблокирован" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "%s теперь член" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "Ошибка при отправке сообщения" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "Очистить локальную историю" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "Вы собираетесь удалить %s локальных сообщений, вы уверены?" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "Это действие невозможно в шифрованных чатах" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "Это начало этого разговора." + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "Вы можете добавить его в качестве нового контакта или заблокировать, чтобы предотвратить получение других нежелательных сообщений" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "Добавить в мои контакты" + +#: [chat]first_messages_block +msgid "Block" +msgstr "Заблокировать" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "Копировать текст" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "Текст скопирован" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "Искать сообщения по тексту" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "Не найдено сообщений" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "Отпечатки" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "Отпечатки OMEMO" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "Генерация ключей шифрования, пожалуйста, подождите…" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "Сгенерированы ключи шифрования" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "Определение устройств OMEMO" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "Создание собственных сессий шифрования" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "Шифрование отключено" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "Включение шифрования для контакта" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "Включение шифрования для этого чата" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "Отключение шифрования для контакта" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "Отключение шифрования для чат-комнаты" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "Последние действия" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "сделано %s сделано сессий" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "Нет чатов..." + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "Для начала нового разговора нажмите на кнопку %s." + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "Пообщаться с контактом" + +#: [chats]me +msgid "Me" +msgstr "Я" + +#: [chats]picture +msgid "Picture" +msgstr "Фото" + +#: [chats]video +msgid "Video" +msgstr "Видео" + +#: [chats]audio +msgid "Audio" +msgstr "Аудио" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "Все" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "Контакты" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "Изучайте новое, подписывайтесь и делитесь" + +#: [communities]counter +msgid "%s communities" +msgstr "%s сообществ" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "Поиск нового сервера" + +#: [communities]servers +msgid "Communities servers" +msgstr "Сервера сообществ" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "Ищите себе сообщества по серверам" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "Сервер сообщества обнаружен" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "Такого сервера не существует" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "Сообщества что могут вам быть интересны" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "Сообщество успешно создано" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "На сервере пока нет сообществ." + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "Создать новое сообщество на сервере %s" + +#: [communitiesserver]name +msgid "Community name" +msgstr "Название группы" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "My Little Pony - Фан Клуб" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "Пожалуйста, введите правильное имя сообщества (минимум 4 символа)" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "Вы не можете создать сообщества на этом сервере." + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "Проблема при попытке найти эти элементы" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "Сервер %s недоступен" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "Серверов сообществ пока нет…" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "Похоже, что на данный момент мы не можем найти никаких сообществ" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Настройки" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "Подписки" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "Публичные подписки" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "Подписки на мои сообщества" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "Сообщество успешно удалено" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "Удалить это сообщество" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "Вы собираетесь удалить это сообщество. Пожалуйста, подтвердите Ваши намерения." + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "Похоже, этого сообщества больше не существует. Вы хотите удалить его из своих подписок?" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "Ошибка при удалении узла." + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "Настройки сохранены" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "Ошибка при применении конфигурации узла." + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "Владельцы" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "Авторы" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "Роли" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "Роли установлены верно." + +#: [communityconfig]publication +msgid "Publication" +msgstr "Публикация" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "Публично" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "Каждый может публиковать" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "Редакторы могут публиковать" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "Подписчики" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "Подписчики могут публиковать" + +#: [communityconfig]type +msgid "Community type" +msgstr "Тип сообщества" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "Статьи" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "Публиковать и читать статьи" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "Галерея" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "Публиковать и смотреть картинки" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "%s подписчиков" + +#: [communitydata]num +msgid "%s posts" +msgstr "%s публикаций" + +#: [communitydata]public +msgid "Public page" +msgstr "Публичная страница" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "Только публиканты могут публиковать" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "Только подписчики могут публиковать" + +#: [communityheader]follow +msgid "Follow" +msgstr "Подписаться" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "Отписаться" + +#: [communityheader]followed +msgid "Followed" +msgstr "Подписано" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "Отписано" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "Подписки отключены для этого сообщества" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "Дайте название этому сообществу" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "Мое имя сообщества" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "Поделится со всеми этой подпиской" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "Оно будет отражено в Вашем профиле" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "Вы собираетесь отписаться от этого сообщества." + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "Вы уверены?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "Пока нет публикаций? Напишите свою первую запись, чтобы люди нашли ваш профиль" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "Написать мою первую запись" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "Личный приватный профиль" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "Попросите %s добавить вас в свои контакты, чтобы он мог видеть публикации" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "Отправить запрос на приглашение, прежде чем подписаться на контакт." + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "В данный момент вы не можете подписаться на этот контакт." + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "Подписные сообщества" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "Здравствуйте" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "Здесь вы можете управлять своими подписками" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "У вас ещё нет подписок на сообщества." + +#: [config]general +msgid "General" +msgstr "Общие" + +#: [config]language +msgid "Language" +msgstr "Язык" + +#: [config]roster +msgid "Roster display" +msgstr "Ростер" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "Показывать контакты не в сети" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "Скрыть контакты не в сети" + +#: [config]appearence +msgid "Appearance" +msgstr "Внешний вид" + +#: [config]updated +msgid "Configuration updated" +msgstr "Конфигурация обновлена" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "Неправильные настройки" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "Расширенные настройки" + +#: [config]nsfw +msgid "Display adult content" +msgstr "Отображать контент \"для взрослых\"" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "Это разрешит вам читать посты с тегом #nsfw" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "Использовать OMEMO" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "Включить сквозное шифрование на Movim для вашей учётной записи" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "Ночной режим" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "Тёмные цвета дадут отдохнуть вашим глазам" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "Ваш браузер уже по умолчанию указывает Movim использовать ночной режим." + +#: [config]chatmain +msgid "Main chat page" +msgstr "Главная страница - чаты" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "Установить страницу чата по умолчанию при открытии Movim" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "Настройки архивирования сообщений чата на стороне сервера" + +#: [config]mam_always +msgid "Always" +msgstr "Всегда" + +#: [config]mam_never +msgid "Never" +msgstr "Никогда" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "Архивные настройки сохранены" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "Конфиденциальность личного блога" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "Публичный блог" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "Доступно всем пользователям сети" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "Личный приватный блог" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "Ограничено только для ваших подписщиков" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "Сохранены настройки конфиденциальность личного блога" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "Конфиденциальность" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "Звуковые уведомления" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "Входящее сообщение" + +#: [config]accent_color +msgid "Accent color" +msgstr "Цвет профиля" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "Будьте осторожны" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "Изменение вашего псевдонима повлияет на адрес ссылки вашего публичного блога, ленты новостей и статей" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "Подтверждение аутентификации" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "Через данные платформы Вы можете подтвердить аутентификацию Вашего аккаунта" + +#: [confirm]code +msgid "Authentication code" +msgstr "Код аутентификации" + +#: [roster]add_title +msgid "Add a contact" +msgstr "Добавить контакт" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "Введите XMPP-адрес вашего контакта." + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "Нажмите Enter для проверки." + +#: [roster]added +msgid "Contact added" +msgstr "Контакт добавлен" + +#: [roster]updated +msgid "Contact updated" +msgstr "Контакты обновлены" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "Контакт удалён" + +#: [general]legend +msgid "General Information" +msgstr "Общая информация" + +#: [general]name +msgid "Name" +msgstr "Имя" + +#: [general]pronouns +msgid "Pronouns" +msgstr "Обращение" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "ты, вы, сударь, госпожа, товарищ, гражданин, доктор" + +#: [general]nickname +msgid "Nickname" +msgstr "Псевдоним" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Дата рождения" + +#: [general]gender +msgid "Gender" +msgstr "Пол" + +#: [general]marital +msgid "Marital Status" +msgstr "Семейное положение" + +#: [general]email +msgid "Email" +msgstr "Эл. почта" + +#: [general]website +msgid "Website" +msgstr "Веб-сайт" + +#: [general]about +msgid "About Me" +msgstr "О себе" + +#: [general]accounts +msgid "Other Accounts" +msgstr "Другие учётные записи" + +#: [general]tune +msgid "Is Listening" +msgstr "Слушает" + +#: [general]pictures +msgid "Pictures" +msgstr "Изображения" + +#: [general]links +msgid "Links" +msgstr "Ссылки" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "Ваш профиль является приватным." + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "Перейдите на страницу настроек, чтобы создать общедоступный блог и разрешить другим пользователям находить вас." + +#: [position]legend +msgid "Geographic Position" +msgstr "Географическое расположение" + +#: [position]locality +msgid "Locality" +msgstr "Местоположение" + +#: [position]country +msgid "Country" +msgstr "Страна" + +#: [listen]title +msgid "Listening" +msgstr "Слушаю" + +#: [last]title +msgid "Last seen" +msgstr "Последнее посещение" + +#: [clients]title +msgid "Clients" +msgstr "Чат-клиенты" + +#: [clients]title_full +msgid "Clients information" +msgstr "Информация о клиентах" + +#: [explore]last_registered +msgid "Last registered" +msgstr "Последний зарегестрированый" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "Find some new contacts" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "Редактировать" + +#: [edit]alias +msgid "Alias" +msgstr "Псевдоним" + +#: [edit]group +msgid "Group" +msgstr "Группа" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "Вы собираетесь удалить один из своих контактов, пожалуйста, подтвердите это действие." + +#: [age]years +msgid "%s years" +msgstr "%s лет" + +#: [blog]last +msgid "Last public post" +msgstr "Последняя публикация" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "Посетить публичный блог" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "Вы можете видеть статус этого контакта" + +#: [subscription]to_button +msgid "Share my status" +msgstr "Поделиться статусом" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "Но этот контакт не может видеть ваш" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "Вы не подписаны на этот контакт" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "Запросить подписку" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "Но этот контакт может видеть ваш онлайн-статус" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "Вы ни на кого не подписаны." + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "Пригласить" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "Этот контакт есть в вашем списке контактов, но вы не подписаны друг на друга." + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "Предложения вам" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "Диктофон" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "Нажмите для записи" + +#: [dictaphone]recording +msgid "Recording" +msgstr "Записывание" + +#: [draw]title +msgid "Draw" +msgstr "Нарисовать" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "Эмодзи" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "Любимые эмодзи" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "Выберите из представленных ниже наборов смайлики, которые хотите добавить в избранное." + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "Изменить любимые эмодзи" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "Сочетание должно содержать только строчные буквы, цифры и дефисы" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "Добавлен новый любимый смайлик." + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "Сочетание уже используется для другого эмодзи" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "Избранное пока не добавлено, проверьте страницу настроек, чтобы добавить его." + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "Часто Задаваемые Вопросы (FAQ)" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "Что делает настройка разрешений?" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "По умолчанию записи доступны только вашим контактам. Вы можете сделать свой профиль и публикации общедоступными, включив соответствующую настройку." + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "Как это относится к публикациям в разделе «Сообщества»?" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "Аналогично публикациям в вашем блоге, за исключением того, что по умолчанию эти записи доступны только участникам или подписчикам сообщества (если вы явно не откроете всё содержимое сообщества)." + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "Где я могу найти список групповых чатов?" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "Где я могу найти мои контакты?" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "Открыв панель поиска." + +#: [apps]title +msgid "Applications" +msgstr "Приложения" + +#: [apps]install +msgid "Movim App" +msgstr "Приложение Movim" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "Установить Movim на вашем устройство" + +#: [apps]recommend +msgid "We also recommend" +msgstr "Мы также рекомендуем" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "Администраторы и связь с ними" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "Хотите ли связаться с командой Movim?" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "Добавить чат-комнату" + +#: [error]username +msgid "Wrong username" +msgstr "Неверное имя пользователя" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "Неправильный XMPP-адрес" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "Пустая Соль пришла с сервера" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "Ошибка домена XMPP: ваша учётная запись не является допустимым адресом XMPP" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "Некоторые данные потеряны! " + +#: [error]internal +msgid "Internal server error" +msgstr "Внутренняя ошибка сервера" + +#: [error]session +msgid "Session error" +msgstr "Ошибка сеанса" + +#: [error]account_created +msgid "Account successfully created" +msgstr "Учётная запись успешно создана" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "Недопустимое имя пользователя" + +#: [error]default +msgid "Unknown error" +msgstr "Неизвестная ошибка" + +#: [error]login_format +msgid "Invalid username format" +msgstr "Неверный формат имени пользователя" + +#: [error]password_format +msgid "Invalid password format" +msgstr "Неверный формат пароля" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "Ваш XMPP сервер не авторизован" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "Идентификация в Movim неудалась. Вы ввели неверные данные." + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "Данный механизм аутентификации не поддерживается Movim" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "XMPP-аутентификация не прошла" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "Подключено к серверу" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "Аутентификацировано на сервере" + +#: [form]username +msgid "My address" +msgstr "Мой адрес" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "Войти через учётки от этих серверов" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "Войдите в систему, используя любую учётную запись XMPP, или создайте новую" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "Соединение установлено" + +#: [form]population +msgid "Population" +msgstr "Население" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "%s пригласил вас в комнату" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "Администрируется от" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "Movim — это федеративная платформа для ведения блогов и обсуждений." + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "Посетите официальный сайт проекта %s." + +#: [menu]empty_title +msgid "No news yet…" +msgstr "Пока нет новостей" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "Добро пожаловать в вашу новостную ленту! Здесь вы увидите все публикации, размещённые вашими контактами и в сообществах, на которые вы подписаны." + +#: [menu]mine +msgid "My publications" +msgstr "Мои публикации" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "Написать новый пост..." + +#: [notification]request_title +msgid "Notifications request" +msgstr "Запрос уведомлений" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "Для отображения уведомлений Movim требуется ваше разрешение" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "Это разрешение может быть отозвано в любое время" + +#: [notification]request_button +msgid "Request" +msgstr "Запросить" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "Разрешение предоставлено" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "Разрешение отклонено" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "Уведомления" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "Пуш уведомления" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "Movim будет отправлять push-уведомления на следующие зарегистрированные устройства" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "Пуш-уведомления включены для этого устройства" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "Пуш-уведомления отключены для этого устройства" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "Неизвестный обозреватель" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "Неизвестная платформа" + +#: [invitations]received +msgid "Received Invitations" +msgstr "Полученые приглашения" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "%s хочет добавить вас" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "Нет новых приглашений" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "Нет ожидающих подписок" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%s хочет поговорить с вами" + +#: [notifs]empty +msgid "No new notifications" +msgstr "Нет новых уведомлений" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "Movim может уведомлять Вас, когда будет опубликован новый пост, или Вы получите сообщение" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "Вы всегда, впоследствии, можете отключить это." + +#: [onboarding]public_title +msgid "Public profile" +msgstr "Публичный профиль" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "Сделайте Ваш профиль публичным и разрешите другим пользователям находить Вас и заводить новые контакты еще легче!" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "Вы всегда можете выключить это в конфигурации" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "Новостная лента" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "Найдите и зарегистрируйтесь в интересных вам группах" + +#: [post]content +msgid "Content" +msgstr "Содержание" + +#: [post]published +msgid "Post published" +msgstr "Запись опубликована" + +#: [post]deleted +msgid "Post deleted" +msgstr "Запись удалена" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "Посты, недавно опубликованные в сообществе, на которые Вы (пока) не подписались" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "Это репост от %s" + +#: [post]see_profile +msgid "See %s profile" +msgstr "Смотрите профиль %s" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "Неизвестный контакт" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "%s минута" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "%s минут" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "Ссылка предсмотра: %s" + +#: [post]public_yes +msgid "This post is public" +msgstr "Эта публикация общедоступна" + +#: [post]public_no +msgid "This post is private" +msgstr "Это приватный пост" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "Публичная ссылка на этот пост" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "Отключить обсуждение" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "Никто не сможет поставить лайк или оставить комментарий" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "Комментарии к этой записи отключены" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "Комментарии к этой записи включены" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "Удалить этот пост" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "Вы собираетесь удалить этот пост. Пожалуйста, подтвердите это." + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "Вы уверены что хотите удалить этот комментарий?" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "Больше публикаций вы найдете на странице сообществ" + +#: [post]more +msgid "Read more" +msgstr "Читать больше" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "Комментарии отключены" + +#: [post]comment_published +msgid "Comment published" +msgstr "Комментарий опубликован" + +#: [post]comment_like_published +msgid "Liked" +msgstr "Понравилось" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "Комментарий не может быть опубликован" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "Комментарий удален" + +#: [post]liked +msgid "Liked your publication" +msgstr "Нравится Ваша публикация" + +#: [post]commented +msgid "Commented" +msgstr "Откомментировано" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "Для просмотра этой публикации необходимо подписаться на %s" + +#: [hello]contact_post +msgid "Contact post" +msgstr "Для связи" + +#: [hello]share_title +msgid "Universal share button" +msgstr "Кнопка \"Поделиться\"" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "Перенесите эту кнопку на свою панель закладок и используйте ее, когда хотите поделиться чем-то в Movim" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "Поделиться в Movim" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "Ох! Здравствуйте!" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "Похоже, вы только присоединились! Добро пожаловать на Movim!" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "Посмотрите меню" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "Все основные возможности Movim доступны там. Не стесняйтесь просматривать страницы, чтобы узнать больше!" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "Выглядит словно вы не заполнили свой профиль" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "Вы можете заполнить профиль на странице \"Конфигурация\"" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "Выйти" + +#: [status]presence +msgid "Presence" +msgstr "Присутствие" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "Вы действительно хотите выйти? " + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "Ссылка скопирована в буфер обмена" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "Что нового?" + +#: [publish]brief_title +msgid "Brief" +msgstr "Сводка" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "Запис" + +#: [publish]post +msgid "Write a post" +msgstr "Напишите пост" + +#: [publish]add_link +msgid "Add a link" +msgstr "Добавьте ссылку" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "Сфотографировать " + +#: [publish]no_title +msgid "Please provide a title" +msgstr "Заголовок" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "Нужна хотя бы одна картинка" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "Предпросмотр" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "Добавить файл или картинку" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "Вы не можете публиковать записи здесь" + +#: [publish]new +msgid "New post" +msgstr "Новая запись" + +#: [publish]title +msgid "Post title" +msgstr "Заголовок записи" + +#: [publish]content +msgid "Markdown content" +msgstr "Текст в формате Markdown" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "Введите правильный URL" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "Вы можете использовать форматирование Markdown" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "Черновик сохранён" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "Редактор с форматированием" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "Добавьте #метки в заголовок или текст, чтобы вашу публикацию могли найти" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "Вам не разрешено публиковать тут" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "Эта запись слишком большая чтобы её опубликовать" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "Ваш текст слишком длинный, позволено до %s символов" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "Доступ к вашему блогу имеют только ваши подписчики. Вы можете сделать его доступным для всех на странице настроек." + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "Это медиа будет встроено" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "Сделать общедоступный HTTP-адрес для публикации." + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "Это позволит любому, кто не работает в Movim, получить доступ к вашей публикации" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "Помощь" + +#: [publishhelp]more +msgid "More help" +msgstr "Больше помощи" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "Помощник по синтаксису Markdown" + +#: [story]new +msgid "New story" +msgstr "Новый момент" + +#: [story]new_edit +msgid "Edit your story" +msgstr "Изменить ваш момент" + +#: [story]new_publish +msgid "Publish your story" +msgstr "Опубликовать ваш момент" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "Публиковать мои контакты" + +#: [story]uploading +msgid "Uploading the story" +msgstr "Закачка момента" + +#: [story]publishing +msgid "Publishing the story" +msgstr "Публикация момента" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "Уже почти…" + +#: [story]published +msgid "Story published" +msgstr "Момент опубликован" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Создайте новую учётную запись" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "На сервере не найдена форма создания учётной записи" + +#: [create]server_on +msgid "on" +msgstr "на" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "Ваш профиль успешно зарегистрирован." + +#: [create]loading +msgid "Loading" +msgstr "Идёт загрузка" + +#: [create]placeholder +msgid "…and start playing" +msgstr "... и начинайте игру" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Недопустимо" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "Регистрация на этом сервере в данный момент недоступна" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "Регистрация запрещена" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "Присоединятся к чату при входе" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "Плохой адрес чат-комнаты" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "Пожалуйста, введите допустимый псевдоним (от 2 до 40 символов)." + +#: [chatrooms]banned +msgid "Banned" +msgstr "Заблокирован" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "Псевдоним уже занят" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "Присоединился к чату" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "Создать чат-комнату" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "Чат-комната создана" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "Обычная чат-комната" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "Вы уверены, что хотите навсегда удалить эту чат-комнату?" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "Удалить эту чат-комнату" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "Чат-комната удалена" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "Для использования сервиса необходима регистрация" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "Покинул чат" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "Имя не задано" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "У вас пока нет чат-комнат." + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "Добавьте с помощью кнопки \"Добавить\"" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "Имя или описание" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "Вам не позволено присоединится в этот чат" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "Чат-комната для шлюза" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "Скрыть отключенные чаты" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "Адрес чат-комнаты" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "Этот чат не существует" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "Ваш псевдоним неправильный" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "Присоединится к чат-комнате" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "Присоединится к чат-комнате по адресу" + +#: [chatrooms]members +msgid "Members" +msgstr "Участники" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "Не принимается" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "Вам запрещено создавать там чат-комнаты." + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "Требуется пароль" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "Закрепить этот чат" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "Невозможно войти в комнату, необходима регистрация" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "Отдалённый сервер для этого чата не существует" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "Время ожидания подключения к удалённому серверу истекло" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "Вы навсегда покинете данный чат. Пожалуйста, подтвердите своё действие." + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "Навсегда покинуть чат" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "Достигнуто ограничение участников чата." + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "Показать все чат-комнаты" + +#: [chatrooms]subject +msgid "Subject" +msgstr "Тема" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "Комнаты" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "Тип чат-комнаты" + +#: [chatrooms]users +msgid "Users" +msgstr "Пользователи" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "Закладки обновлены" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "Публичный канал" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "Вы вошли как анонимный пользователь." + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "Вы можете зарегистрироваться, используя свою учётную запись, или создать ее на странице входа, выйдя из системы с помощью крестика в правом верхнем углу." + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "Войти на %s" + +#: [room]invite +msgid "Invite a contact" +msgstr "Пригласить контакт" + +#: [room]invited +msgid "Invitation sent" +msgstr "Приглашение отправлено" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "Отправьте эту ссылку своим контактам" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "Этот чат публично доступен." + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "Публичные профили" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "Участники этого чата могут видеть XMPP-адреса друг друга." + +#: [room]archived +msgid "Archived" +msgstr "Архивировано" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "Сообщения в чате заархивированы" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "Групповой чат" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "Личный групповой чат с приглашёнными членами" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "Добавить нового члена" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "Заблокировать кого-то" + +#: [room]banned_remove +msgid "Unban" +msgstr "Разблокировать" + +#: [room]configure_user +msgid "Configure the user" +msgstr "Настроить пользователя" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "Вы не имеете права изменять это участие." + +#: [room]affiliation +msgid "Affiliation" +msgstr "Участие" + +#: [room]role +msgid "Role" +msgstr "Роль" + +#: [room]reason +msgid "Reason" +msgstr "Причина" + +#: [room]channel +msgid "Channel" +msgstr "Канал" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "Общедоступный канал, который можно найти и присоединиться." + +#: [room]notify_never +msgid "Never notify" +msgstr "Никогда не оповещать" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "Всегда оповещать" + +#: [room]pinned +msgid "Pinned" +msgstr "Прикреплено" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "Админы" + +#: [room]visitor +msgid "Visitor" +msgstr "Посетитель" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "Позволено ли пользователям отправлять сообщения?" + +#: [room]role_changed +msgid "Role changed" +msgstr "Роль изменена" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "Не найдены чат-контаты локально" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "Каналы" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "Не найдено чат-комнат" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "Найти больше каналов" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "%s в общем" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "Что вы хотите найти?" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "#коты, пользователь@server.com, Иван…" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "Нет контактов?" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "Найдите, выполнив поиск по имени или адресу" + +#: [search]tags +msgid "Tags" +msgstr "Метки" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "Показать все контакты" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "Приложить к публикации блога" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "Поделитесь в новой публикации" + +#: [sendto]selected +msgid "contacts selected" +msgstr "контактов выбрано" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "Выберите контакты, с которыми вы хотите поделиться этой публикацией" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "Поделится постом" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "Поделились записью с %s контактами" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "ещё контакты" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "Поделится во вне Movim" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "Запись опубликована используя Movim" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "Момент опубликован через Movim" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "Стикеры" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "Стикер был отправлен из Movim" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "Введите ключевое слово" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "Подобрать GIF" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "Сделано от Tenor" + +#: [stories]publish +msgid "New Story" +msgstr "Новый момент" + +#: [stories]title +msgid "Stories" +msgstr "Моменты" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "Новый момент от %s" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "У вас нет доступа к этому моменту, отправьте приглашение автору, чтобы получить к нему доступ." + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "Если у вас нет доступа к этому моменту, отправьте приглашение автору, чтобы получить доступ." + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "Возможно, им придётся оформить подписку на профиль издателя." + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "Откомментировать для %s" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "Удаление момента" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "Вы уверены, что хотите удалить этот момент?" + +#: [stories]deleted +msgid "Story deleted" +msgstr "Момент удалён" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "Movim — это децентрализованная социальная сеть. Приглашаем вас зарегистрироваться на этих XMPP-серверах" + +#: [feed]title +msgid "%s’s feed" +msgstr "Лента от %s" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "Нет публичной ленты для этого контакта" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "Контакт не задан" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "Загрузить" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "Выберите файл для загрузки" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "Большие изображения будут сжаты" + +#: [upload]error_filesize +msgid "File too large" +msgstr "Файл слишком велик" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "Загрузка не удалась" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "У Вас нет разрешения на загрузку файлов" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "Вы превысили квоту" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "Перетащите файл в эту область" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "Максимальный размер файла %s" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "Закачивается на ваш профиль" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Профиль" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "Профиль обновлён" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "Профиль не обновлён" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "Это имя также будет использоваться в качестве вашего псевдонима по умолчанию при присоединении к чат-комнате" + +#: [profile]public +msgid "Your profile is now public" +msgstr "Ваш профиль теперь общедоступен" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "Ваш профиль теперь скрыт" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "Настроить псевдоним сервера" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "Является-ли этот профиль публичным на этом сервере Movim?" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "Movim создаст общедоступную страницу для размещения вашего блога, и ваш профиль будет доступен для поиска другим пользователям Movim." + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "Задайте локальный псевдоним, чтобы другие пользователи этого экземпляра могли легко вас найти." + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "Ваш логин %s." + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "Ivan_Ivanov96" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "Ваш псевдоним может содержать только буквы, цифры, дефис - и нижнюю черту _" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "Этот логин уже зарегистрирован" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "Логин сохранён" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Отправить" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Сброс" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "Movim временно работает в режиме деградации" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "Ваш сервер не поддерживает сохранение состояния XMPP Pubsub, или же администратор отключил социальные функции (сообщества, новостную ленту и профиль)." + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "Пожалуйста, свяжитесь с Вашим администратором для устранения данной проблемы" + +#: [visio]calling +msgid "…is calling you" +msgstr "... звонит Вам" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "Входящий видеовызов" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "Входящий аудиовызов" + +#: [visio]ringing +msgid "…ringing" +msgstr "...звонит" + +#: [visio]declined +msgid "Declined" +msgstr "Отклонено" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "Текущий звонок" + +#: [visio]joined_call +msgid "Joined call" +msgstr "Присоединился к звонку" + +#: [visio]failed +msgid "Failed" +msgstr "Не удалось" + +#: [visio]connecting +msgid "…connecting" +msgstr "... соединение" + +#: [visio]ended +msgid "End of call" +msgstr "Конец звонка" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "Все участники покинули звонок" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "Закончить звонок" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "Вы собираетесь завершить звонок, вы уверены?" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "%s звонит вам" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "Звонит %s" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "Создание конференц-звонка в %s" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "Присоединение к звонку" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "Настройте вашу камеру и микрофон" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "Пожалуйста, разрешите вашему обозревателю использовать ваши устройства для их настройки" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "Микрофон по умолчанию" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "Камера по умолчанию" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "Изменён микрофон по умолчанию" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "Изменена камера по умолчанию" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "Звук из вашего микрофона не обнаружен." + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "Попробуйте создать какой-нибудь шум, выберите другой источник или проверьте настройки системы." + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "Для правильной работы Movim необходимо разрешить Javascript." + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "Movim — это потрясающая распределенная социальная сеть, которая защищает вашу конфиденциальность и обладает набором замечательных возможностей." + +#: [global]loading +msgid "Loading…" +msgstr "Загрузка..." + +#: [global]or +msgid "Or" +msgstr "Или" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "Переключится на другой сервер" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "О" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Создание учётной записи" + +#: [page]administration +msgid "Administration" +msgstr "Администрирование" + +#: [page]avatar +msgid "Profile Picture" +msgstr "Фото профиля" + +#: [page]blog +msgid "Blog" +msgstr "Блог" + +#: [page]chats +msgid "Messages" +msgstr "Сообщения" + +#: [page]communities +msgid "Communities" +msgstr "Сообщества" + +#: [page]explore +msgid "Explore" +msgstr "Обзор" + +#: [page]feed +msgid "Feed" +msgstr "Лента" + +#: [page]home +msgid "Home" +msgstr "Домой" + +#: [page]login +msgid "Login" +msgstr "Войти" + +#: [page]news +msgid "News" +msgstr "Новости" + +#: [page]not_found +msgid "Not Found" +msgstr "Не найдено" + +#: [page]posts +msgid "Posts" +msgstr "Записи" + +#: [page]publish +msgid "Publish" +msgstr "Опубликовать" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "Поделиться" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "Тег" + +#: [page]visio +msgid "Visio-conference" +msgstr "Visio-конференция" + +#: [error]error +msgid "Error: %s" +msgstr "Ошибка: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "Не удаётся получить файл '%s'" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "Запрашиваемый виджет '%s' отсутствует." + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "Запрашиваемое событие '%s' не зарегистрировано." + +#: [error]whoops +msgid "Whoops!" +msgstr "Ой-ой!" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "Movim не может установить связь с сервером, зайдите позже" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "Переподключение к серверу…" + +#: [error]oops +msgid "Oops!" +msgstr "Упс!" + +#: [button]accept +msgid "Accept" +msgstr "Принять" + +#: [button]add +msgid "Add" +msgstr "Добавить" + +#: [button]audio_call +msgid "Audio Call" +msgstr "Аудио звонок" + +#: [button]bool_no +msgid "No" +msgstr "Нет" + +#: [button]bool_yes +msgid "Yes" +msgstr "Да" + +#: [button]call +msgid "Call" +msgstr "Звонок" + +#: [button]cancel +msgid "Cancel" +msgstr "Отменить" + +#: [button]chat +msgid "Chat" +msgstr "Чат" + +#: [button]clear +msgid "Clear" +msgstr "Очистить" + +#: [button]close +msgid "Close" +msgstr "Закрыть" + +#: [button]connecting +msgid "Connecting" +msgstr "Идет подключение" + +#: [button]copy_link +msgid "Copy Link" +msgstr "Копировать ссылку" + +#: [button]create +msgid "Create" +msgstr "Создать" + +#: [button]delete +msgid "Delete" +msgstr "Удалить" + +#: [button]destroy +msgid "Destroy" +msgstr "Удалить" + +#: [button]discover +msgid "Discover" +msgstr "Открывай" + +#: [button]enable +msgid "Enable" +msgstr "Включить" + +#: [button]join +msgid "Join" +msgstr "Присоединится " + +#: [button]leave +msgid "Leave" +msgstr "Покинуть" + +#: [button]like +msgid "Like" +msgstr "Нравится" + +#: [button]more +msgid "More" +msgstr "Более" + +#: [button]new +msgid "New conversation" +msgstr "Новая беседа" + +#: [button]next +msgid "Next" +msgstr "Следующий" + +#: [button]not_now +msgid "Not Now" +msgstr "Не сейчас" + +#: [button]open +msgid "Open" +msgstr "Открыть" + +#: [button]previous +msgid "Previous" +msgstr "Предыдущий" + +#: [button]quote +msgid "Quote" +msgstr "Цитировать" + +#: [button]refresh +msgid "Refresh" +msgstr "Обновить" + +#: [button]refuse +msgid "Refuse" +msgstr "Отказаться" + +#: [button]register +msgid "Register" +msgstr "Зарегистрировать" + +#: [button]remove +msgid "Remove" +msgstr "Удалить" + +#: [button]reply +msgid "Reply" +msgstr "Ответить" + +#: [button]return +msgid "Return" +msgstr "Назад" + +#: [button]save +msgid "Save" +msgstr "Сохранить" + +#: [button]search +msgid "Search" +msgstr "Поиск" + +#: [button]send_to +msgid "Send to" +msgstr "Отправить к" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "Поделиться" + +#: [button]sign_up +msgid "Sign Up" +msgstr "Регистрация" + +#: [button]submitting +msgid "Submitting" +msgstr "Отправление" + +#: [button]unregister +msgid "Unregister" +msgstr "Отменить регистрацию" + +#: [button]update +msgid "Update" +msgstr "Обновить" + +#: [button]updating +msgid "Updating" +msgstr "Идёт обновление" + +#: [button]validate +msgid "Validate" +msgstr "Проверить" + +#: [button]video_call +msgid "Video Call" +msgstr "Видео звонок" + +#: [input]optional +msgid "Optional" +msgstr "Необязательно" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "Сопутствующее сообщество" + +#: [input]open_me_using +msgid "Open me using" +msgstr "Открывать меня исользуя" + +#: [day]title +msgid "Day" +msgstr "День" + +#: [day]monday +msgid "Monday" +msgstr "Понедельник" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Вторник" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Среда" + +#: [day]thursday +msgid "Thursday" +msgstr "Четверг" + +#: [day]friday +msgid "Friday" +msgstr "Пятница" + +#: [day]saturday +msgid "Saturday" +msgstr "Суббота" + +#: [day]sunday +msgid "Sunday" +msgstr "Воскресенье" + +#: [client]bot +msgid "Bot" +msgstr "Бот" + +#: [client]console +msgid "Console" +msgstr "Консоль" + +#: [client]desktop +msgid "Desktop" +msgstr "Настольный компьютер" + +#: [client]phone +msgid "Phone" +msgstr "Телефон" + +#: [client]web +msgid "Web" +msgstr "Веб" + +#: [client]registered +msgid "Registered" +msgstr "Зарегистрировано" + +#: [client]gateway +msgid "Gateway" +msgstr "Шлюз" + +#: [client]im +msgid "Server" +msgstr "Сервер" + +#: [presence]online +msgid "Online" +msgstr "В сети" + +#: [presence]away +msgid "Away" +msgstr "В отсутствии" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "Не беспокоить" + +#: [presence]xa +msgid "Extended Away" +msgstr "Давно нет на месте" + +#: [presence]offline +msgid "Offline" +msgstr "Не в сети" + +#: [presence]error +msgid "Error" +msgstr "Ошибка" + +#: [mood]afraid +msgid "afraid" +msgstr "боятся" + +#: [mood]amazed +msgid "amazed" +msgstr "пораженный" + +#: [mood]amorous +msgid "amorous" +msgstr "влюбчивый" + +#: [mood]angry +msgid "angry" +msgstr "злой" + +#: [mood]annoyed +msgid "annoyed" +msgstr "раздраженный" + +#: [mood]anxious +msgid "anxious" +msgstr "тревожный" + +#: [mood]aroused +msgid "aroused" +msgstr "вызвал" + +#: [mood]ashamed +msgid "ashamed" +msgstr "стыдно" + +#: [mood]bored +msgid "bored" +msgstr "скучающий" + +#: [mood]brave +msgid "brave" +msgstr "храбрый" + +#: [mood]calm +msgid "calm" +msgstr "спокойно" + +#: [mood]cautious +msgid "cautious" +msgstr "осторожный" + +#: [mood]cold +msgid "cold" +msgstr "холод" + +#: [mood]confident +msgid "confident" +msgstr "уверенный" + +#: [mood]confused +msgid "confused" +msgstr "смущен" + +#: [mood]contemplative +msgid "contemplative" +msgstr "созерцательный" + +#: [mood]contented +msgid "contented" +msgstr "довольный" + +#: [mood]cranky +msgid "cranky" +msgstr "капризный" + +#: [mood]crazy +msgid "crazy" +msgstr "сумасшедший" + +#: [mood]creative +msgid "creative" +msgstr "творческий" + +#: [mood]curious +msgid "curious" +msgstr "любопытный" + +#: [mood]dejected +msgid "dejected" +msgstr "удрученный" + +#: [mood]depressed +msgid "depressed" +msgstr "подавленный" + +#: [mood]disappointed +msgid "disappointed" +msgstr "разочарованный" + +#: [mood]disgusted +msgid "disgusted" +msgstr "отвращение" + +#: [mood]dismayed +msgid "dismayed" +msgstr "встревоженный" + +#: [mood]distracted +msgid "distracted" +msgstr "рассеянный" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "смущенный" + +#: [mood]envious +msgid "envious" +msgstr "завистливый" + +#: [mood]excited +msgid "excited" +msgstr "возбужденный" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "кокетливый" + +#: [mood]frustrated +msgid "frustrated" +msgstr "не состоялось" + +#: [mood]grateful +msgid "grateful" +msgstr "благодарный" + +#: [mood]grieving +msgid "grieving" +msgstr "горевать" + +#: [mood]grumpy +msgid "grumpy" +msgstr "раздражительный" + +#: [mood]guilty +msgid "guilty" +msgstr "виновный" + +#: [mood]happy +msgid "happy" +msgstr "счастливый" + +#: [mood]hopeful +msgid "hopeful" +msgstr "многообещающий" + +#: [mood]hot +msgid "hot" +msgstr "горячий" + +#: [mood]humbled +msgid "humbled" +msgstr "приниженный" + +#: [mood]humiliated +msgid "humiliated" +msgstr "униженный" + +#: [mood]hungry +msgid "hungry" +msgstr "голодный" + +#: [mood]hurt +msgid "hurt" +msgstr "больной" + +#: [mood]impressed +msgid "impressed" +msgstr "впечатленный" + +#: [mood]in_awe +msgid "in awe" +msgstr "в страхе" + +#: [mood]in_love +msgid "in love" +msgstr "влюбленный" + +#: [mood]indignant +msgid "indignant" +msgstr "негодует" + +#: [mood]interested +msgid "interested" +msgstr "заинтересованный" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "пьяный" + +#: [mood]invincible +msgid "invincible" +msgstr "непобедимый" + +#: [mood]jealous +msgid "jealous" +msgstr "ревнивый" + +#: [mood]lonely +msgid "lonely" +msgstr "одинокий" + +#: [mood]lost +msgid "lost" +msgstr "потерян" + +#: [mood]lucky +msgid "lucky" +msgstr "счастливый" + +#: [mood]mean +msgid "mean" +msgstr "имею в виду" + +#: [mood]moody +msgid "moody" +msgstr "угрюмый" + +#: [mood]nervous +msgid "nervous" +msgstr "нервный" + +#: [mood]neutral +msgid "neutral" +msgstr "нейтрален" + +#: [mood]offended +msgid "offended" +msgstr "обидел" + +#: [mood]outraged +msgid "outraged" +msgstr "возмущен" + +#: [mood]playful +msgid "playful" +msgstr "игривый" + +#: [mood]proud +msgid "proud" +msgstr "гордый" + +#: [mood]relaxed +msgid "relaxed" +msgstr "расслабленный" + +#: [mood]relieved +msgid "relieved" +msgstr "уволен" + +#: [mood]remorseful +msgid "remorseful" +msgstr "раскаявшийся" + +#: [mood]restless +msgid "restless" +msgstr "беспокойный" + +#: [mood]sad +msgid "sad" +msgstr "печальный" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "саркастический" + +#: [mood]satisfied +msgid "satisfied" +msgstr "удовлетворенный" + +#: [mood]serious +msgid "serious" +msgstr "серьезный" + +#: [mood]shocked +msgid "shocked" +msgstr "потрясенный" + +#: [mood]shy +msgid "shy" +msgstr "застенчивый" + +#: [mood]sick +msgid "sick" +msgstr "больной" + +#: [mood]sleepy +msgid "sleepy" +msgstr "сонный" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "спонтанный" + +#: [mood]stressed +msgid "stressed" +msgstr "подчеркнул" + +#: [mood]strong +msgid "strong" +msgstr "сильный" + +#: [mood]surprised +msgid "surprised" +msgstr "удивленный" + +#: [mood]thankful +msgid "thankful" +msgstr "благодарный" + +#: [mood]thirsty +msgid "thirsty" +msgstr "жаждущий" + +#: [mood]tired +msgid "tired" +msgstr "устал" + +#: [mood]undefined +msgid "undefined" +msgstr "не определено" + +#: [mood]weak +msgid "weak" +msgstr "слаб" + +#: [mood]worried +msgid "worried" +msgstr "тревожный" + +#: [month]title +msgid "Month" +msgstr "Месяц" + +#: [month]january +msgid "January" +msgstr "Январь" + +#: [month]february +msgid "February" +msgstr "Февраль" + +#: [month]march +msgid "March" +msgstr "Март" + +#: [month]april +msgid "April" +msgstr "Апрель" + +#: [month]may +msgid "May" +msgstr "Май" + +#: [month]june +msgid "June" +msgstr "Июнь" + +#: [month]july +msgid "July" +msgstr "Июль" + +#: [month]august +msgid "August" +msgstr "Август" + +#: [month]september +msgid "September" +msgstr "Сентябрь" + +#: [month]october +msgid "October" +msgstr "Октябрь" + +#: [month]november +msgid "November" +msgstr "Ноябрь" + +#: [month]december +msgid "December" +msgstr "Декабрь" + +#: [year]title +msgid "Year" +msgstr "Год" + +#: [date]today +msgid "Today" +msgstr "Сегодня" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "Завтра" + +#: [date]yesterday +msgid "Yesterday" +msgstr "Вчера" + +#: [date]ago +msgid "%d days ago" +msgstr "%d дней назад" + +#: [date]day +msgid "day" +msgstr "день" + +#: [post]title +msgid "Title" +msgstr "Название" + +#: [post]place +msgid "Place" +msgstr "Место" + +#: [post]by +msgid "by" +msgstr "по" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "Геолокация" + +#: [post]email +msgid "email" +msgstr "электронная почта" + +#: [post]empty +msgid "No content" +msgstr "Нет данных" + +#: [post]no_comments +msgid "No comments yet" +msgstr "Комментариев пока нет" + +#: [post]older +msgid "Get older posts" +msgstr "Получить предыдущие сообщения" + +#: [post]new_items +msgid "%s new items" +msgstr "%s новых записей" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "Ошибка добавления комментария" + +#: [post]comments_get +msgid "Get the comments" +msgstr "Загрузить комментарии" + +#: [post]comment_add +msgid "Add a comment" +msgstr "Добавить комментарий" + +#: [post]share +msgid "Share with" +msgstr "Поделиться с" + +#: [post]share_everyone +msgid "Everyone" +msgstr "Все" + +#: [post]updated +msgid "Updated" +msgstr "Обновлено" + +#: [post]content_not_found +msgid "Content not found" +msgstr "Содержание не найдено" + +#: [post]default_title +msgid "Contact publication" +msgstr "Публикация контакта" + +#: [post]comments +msgid "Comments" +msgstr "Комментарии" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "Первичный пост удален" + +#: [filesize]byte +msgid "B" +msgstr "Б" + +#: [filesize]kilobyte +msgid "KB" +msgstr "КБ" + +#: [filesize]megabyte +msgid "MB" +msgstr "МБ" + +#: [filesize]gigabyte +msgid "GB" +msgstr "ГБ" + +#: [filesize]terabyte +msgid "TB" +msgstr "ТБ" + +#: [affiliation]owner +msgid "Owner" +msgstr "Владелец" + +#: [affiliation]admin +msgid "Admin" +msgstr "Админ" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "Автор" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "Только публикация" + +#: [affiliation]member +msgid "Member" +msgstr "Участник" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "Изгой" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "Не принадлежит" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "Пользователь назначен владельцем" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "Пользователь назначен админом" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "Пользователь назначен членом" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "Пользователь заблокирован" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "Участие удалено для этого пользователя" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "API недоступен, попробуйте позже" + +#: [field]type_here +msgid "Type here" +msgstr "Введите здесь" diff --git a/frontend/locales/sk.po b/frontend/locales/sk.po new file mode 100644 index 0000000..e420656 --- /dev/null +++ b/frontend/locales/sk.po @@ -0,0 +1,4158 @@ +# +# Translators: +# Jaussoin Timothée , 2020 +# palica , 2016 +# palica , 2016 +# Slavko , 2020-2021 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Slavko , 2020-2021\n" +"Language-Team: Slovak (Slovakia) (http://app.transifex.com/movim/movim/language/sk_SK/)\n" +"Language: sk_SK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Ďakujeme" + +#: [about]developers +msgid "Developers" +msgstr "Vývojári" + +#: [about]translators +msgid "Translators" +msgstr "Prekladatelia" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Ďakujeme všetkým prekladateľom" + +#: [about]software +msgid "Software" +msgstr "Softvér" + +#: [about]resources +msgid "Resources" +msgstr "Prostriedky" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim je komunikačná platforma založená na protokole XMPP. Celý projekt, okrem nasledujúcich programov a zdroj je vydaný pod licenciou" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Účet" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Zmeniť svoje heslo" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Heslo" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Potvrdenie hesla" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "Heslo bolo zmenené" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "Zadané heslá sa nezhodujú" + +#: [account]delete +msgid "Delete your account" +msgstr "Zmazať svoj účet" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "Zadajte svoje celé meno" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "Prosím, zadajte platné používateľské meno." + +#: [account]gateway_title +msgid "Gateways" +msgstr "Brány" + +#: [account]clear +msgid "Leave this instance" +msgstr "Opustiť túto inštanciu" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Akcie" + +#: [adhoc]completed +msgid "Action completed" +msgstr "Akcia dokončená" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "Všeobecné nastavenia" + +#: [general]theme +msgid "Theme" +msgstr "Téma" + +#: [general]language +msgid "Default language" +msgstr "Predvolený jazyk" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "Podrobnosť záznamu" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "Obmedziť odporúčania" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "Len chat" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "Vypnúť všetky sociálne funkcie (Komunity, Blog…) a ponechať len chat" + +#: [credentials]title +msgid "Administration Credential" +msgstr "Prihlasovacie údaje správcu" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Meno používateľa" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Zopakujte heslo" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "Vypnúť možnosť registrácie XMPP" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "Odstráni registráciu XMPP a jej tlačidlá z rozhrania" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "Ponechajte toto pole prázdne na povolenie prístupu zo všetkých účtov XMPP." + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Popis" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "Všeobecný popis tejto inštancie" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "Táto správa bude zobrazená na prihlasovacej stránke. Môže byť použitá napr. na odkazy na Požiadavky a podmienky svojej inštancie Movim." + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "Ponechajte toto pole prázdne, ak nechcete zobraziť žiadnu správu." + +#: [information]label +msgid "Information Message" +msgstr "Informácia" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "Predvolený server XMPP" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "Hlavná doména servera XMPP" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "Popis hlavného servera XMPP" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "Krajina hlavného servera XMPP" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "Zvoľte krajinu zo zoznamu" + +#: [tenor]title +msgid "Tenor integration" +msgstr "Integrácia Tenor" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "Movim integruje API Tenor na hľadanie a zverejnenie GIF v čete" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "Prejsť na Tenor a získať kľúč API" + +#: [log]empty +msgid "Empty" +msgstr "Prázdny" + +#: [log]syslog +msgid "Syslog" +msgstr "Syslog" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "Syslog a súbory" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "Relácie" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "Súbor" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "Tento obsah je súkromný, prosím prihláste sa na jeho zobrazenie" + +#: [message]published +msgid "Message Published" +msgstr "Správa uverejnená" + +#: [message]react +msgid "Add a reaction" +msgstr "Pridať reakciu" + +#: [message]retract +msgid "Retract" +msgstr "Odvolať" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "Vašu správu nemožno odoslať, prosím, skúste neskôr" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "Šifrovaná správa" + +#: [message]retracted +msgid "Retracted message" +msgstr "Odvolaná správa" + +#: [message]composing +msgid "Composing…" +msgstr "Píše…" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "Prerušil…" + +#: [message]gone +msgid "Contact gone" +msgstr "Kontakt stratený" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "↑ na úpravu predošlej správy" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr ":skratka: na vloženie emoji" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "Vyžaduje pozornosť: %s" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "Vaša správa tu…" + +#: [chat]smileys +msgid "Smileys" +msgstr "Smajlíky" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "Časté kontakty" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "Zatiaľ tu nič nie je…" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "Nehanbite sa a pošlite prvú správu, ktorá začne diskusiu" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "Bola Vám doručená pozvánka na vstup do chatu" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "Vstúpiť do %s" + +#: [chat]profile +msgid "See the profile" +msgstr "Pozrieť profil" + +#: [chat]clear +msgid "Clear the history" +msgstr "Vymazať históriu" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "Upraviť poslednú správu" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "Nahlásiť obťažovanie" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "Prichádzajúci hovor" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "Hovor skončil" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "Zatiaľ žiadne chaty…" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "Začnite novú konverzáciu kliknutím na tlačidlo %s." + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "Chatovať s kontaktom" + +#: [chats]me +msgid "Me" +msgstr "Ja" + +#: [chats]picture +msgid "Picture" +msgstr "Obrázok" + +#: [chats]video +msgid "Video" +msgstr "Video" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "Všetky" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "Kontakty" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "Objavte, sledujte a zdieľajte" + +#: [communities]counter +msgid "%s communities" +msgstr "Komunity: %s" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "Nájsť nový server" + +#: [communities]servers +msgid "Communities servers" +msgstr "Komunitné servery" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "Objaviť komunity po serveroch" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "Objavené komunitné servery" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "Tento server neexistuje" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "Komunity, ktoré môžete chcieť" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "Komunita úspešne vytvorená" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "Tento server nemá zatiaľ žiadne komunity." + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "Vytvoriť novú komunitu na %s" + +#: [communitiesserver]name +msgid "Community name" +msgstr "Názov komunity" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "Môj jednorožec - fanklub" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "Prosím, zadajte platný názov komunity (min. 4 znaky)" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "Nemôžete vytvárať nové komunity na tomto serveri" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "Zatiaľ žiadne komunitné servery…" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "Zdá sa, že teraz nemožno nájsť žiadne komunity" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Konfigurácia" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "Odbery" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "Moje odbery komunít" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "Komunita úspešne odstránená" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "Odstrániť komunitu" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "Odstraňujete nasledujúcu komunitu. Prosím, potvrďte svoju akciu" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "Zdá sa, že táto komunita už neexistuje. Chcete ju odstrániť zo svojich odberov?" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "Konfigurácia uložená" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "Chyba pri aplikácií nastavenia uzla" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "Vlastníci" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "Vydavatelia" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "Role" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "Role správne nastavené" + +#: [communityconfig]publication +msgid "Publication" +msgstr "Uverejnenia" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "Verejné" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "Každý môže uverejňovať" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "Vydavatelia môžu uverejňovať" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "Odberatelia" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "Odberatelia môžu uverejňovať" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "Galéria" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "Odberateľov: %s" + +#: [communitydata]num +msgid "%s posts" +msgstr "Príspevkov: %s" + +#: [communitydata]public +msgid "Public page" +msgstr "Verejná stránka" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "Len vydavatelia môžu uverejňovať" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "Len odberatelia môžu uverejňovať" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "Odbery tejto komunity sú vypnuté" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "Zadajte menovku tejto komunity" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "Moje meno komunity" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "Bude zobrazený vo Vašom profile" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "Ste si istý?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "Ahoj" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "Tu môžete spravovať svoje odbery." + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "Všeobecné" + +#: [config]language +msgid "Language" +msgstr "Jazyk" + +#: [config]roster +msgid "Roster display" +msgstr "Zobrazenie kontaktov" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "Zobraziť odpojené kontakty" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "Skryť odpojené kontakty" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "Konfigurácia uložená" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "Neplatné nastavenia" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "Pokročilé nastavenia" + +#: [config]nsfw +msgid "Display adult content" +msgstr "Zobraziť obsah pre dospelých" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "Dovolí vám čítať príspevky označené značkou #nsfw" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "Nočný režim" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "Použiť tmavé farby, na oddýchnutie očiam" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "Hlavná stránka chatu" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "Vždy" + +#: [config]mam_never +msgid "Never" +msgstr "Nikdy" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "Nastavenia archivovania uložené" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "Audio upozornenia" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "Prichádzajúca správa" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "Potvrdenie autentifikcáie" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "Nasledujúca platforma by chcela potvrdenie autenticity tohoto účtu" + +#: [confirm]code +msgid "Authentication code" +msgstr "Autentifikačný kód" + +#: [roster]add_title +msgid "Add a contact" +msgstr "Pridať kontakt" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "Stlačte enter na overenie." + +#: [roster]added +msgid "Contact added" +msgstr "Kontakt pridaný" + +#: [roster]updated +msgid "Contact updated" +msgstr "Kontakt upravený" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "Kontakt odstránený" + +#: [general]legend +msgid "General Information" +msgstr "Všeobecné informácie" + +#: [general]name +msgid "Name" +msgstr "Meno" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "Prezývky" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Dátum narodenia" + +#: [general]gender +msgid "Gender" +msgstr "Pohlavie" + +#: [general]marital +msgid "Marital Status" +msgstr "Rodinný stav" + +#: [general]email +msgid "Email" +msgstr "Email" + +#: [general]website +msgid "Website" +msgstr "Webová stránka" + +#: [general]about +msgid "About Me" +msgstr "O mne" + +#: [general]accounts +msgid "Other Accounts" +msgstr "Ostatné účty" + +#: [general]tune +msgid "Is Listening" +msgstr "Počúva" + +#: [general]pictures +msgid "Pictures" +msgstr "Obrázky" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "Geografická pozícia" + +#: [position]locality +msgid "Locality" +msgstr "Lokalita" + +#: [position]country +msgid "Country" +msgstr "Krajina" + +#: [listen]title +msgid "Listening" +msgstr "Počúvanie" + +#: [last]title +msgid "Last seen" +msgstr "Naposledy videný" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "Informácie o klientovi" + +#: [explore]last_registered +msgid "Last registered" +msgstr "Naposledy registrovaný" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "Upraviť" + +#: [edit]alias +msgid "Alias" +msgstr "Alias" + +#: [edit]group +msgid "Group" +msgstr "Skupina" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "%s rokov" + +#: [blog]last +msgid "Last public post" +msgstr "Najnovšie verejné príspevky" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "Môžete vidieť status tohoto kontaktu" + +#: [subscription]to_button +msgid "Share my status" +msgstr "Zdieľať svoj status" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "Ale tento kontakt nemôže vidieť ten Váš" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "Neodoberáte tento kontakt" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "Požiadať o odber" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "Ale tento kontakt stále môže vidieť, či ste odhlásený" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "Pozvať" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "Kresliť" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "Často kladené otázky" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "Čo robia nastavenia povolení?" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "Predvolene je obsah dostupný len pre Vaše kontakty. Môžete urobiť svoj profil a uverejnenia verejné, zapnutím príslušného nastavenia." + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "Podobne ako pri uverejnení v blogu, okrem toho, že predvolene sú dostupné len šlenom alebo odberateľom komunity (ibaže explicitne otvoríte všetok obsah Komunity)" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "Kde môžem nájsť svoje kontakty?" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "Otvorením panela hľadania." + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "Odporúčame aj" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "Správcovia & kontakty" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "Chatovať s tímom Movim?" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "Pridať miestnosť" + +#: [error]username +msgid "Wrong username" +msgstr "Zlé používateľské meno" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "Prázdna výzva zo servera" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "Niektoré dáta chybajú!" + +#: [error]internal +msgid "Internal server error" +msgstr "Interná chyba servera" + +#: [error]session +msgid "Session error" +msgstr "Chyba relácie" + +#: [error]account_created +msgid "Account successfully created" +msgstr "Účet úspešne vytvorený" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "Nemožné prihlásenie" + +#: [error]default +msgid "Unknown error" +msgstr "Neznáma chyba" + +#: [error]login_format +msgid "Invalid username format" +msgstr "Neplatný formát používateľského mena" + +#: [error]password_format +msgid "Invalid password format" +msgstr "Neplatný formát hesla" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "Váš server XMPP nie je autorizovaný" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "Movim zlyhal pri autentifikácii, zadali ste zlé údaje" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "Autentifikačný mechanizmus nepodporovaný v Movim" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "Autentifikácia XMPP zlyhala" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "Pripojený k serveru" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "Autentifikovaný k serveru" + +#: [form]username +msgid "My address" +msgstr "Moja adresa" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "Prihlásiť sa účtami z týchto serverov" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "Prihlásiť sa ľubovoľným účtom XMPP alebo vytvoriť nový" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "Pripojený" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "%s Vás pozval vstúpiť do miestnosti" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "Zatiaľ žiadne novinky…" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "Moje príspevky" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "Napísať nový príspevok…" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "Upozornenia" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%s chce s Vami rozprávať" + +#: [notifs]empty +msgid "No new notifications" +msgstr "Žiadne nové upozornenia" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "Movim Vás môže upozorniť, keď je uverejnený nový príspevok alebo keď prijmete správy" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "Kedykoľvek neskôr ich môžete vypnúť" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "Verejný profil" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "Urobte svoj profil verejný, aby Vás mohli ostatní používatelia ľahšie nájsť a pridať do kontaktov" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "Kedykoľvek neskôr to môžete v konfigurácii vypnúť" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "Kanály noviniek" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "Objavte a registrujte sa do skupín, podľa vlastného záujmu" + +#: [post]content +msgid "Content" +msgstr "Obsah" + +#: [post]published +msgid "Post published" +msgstr "Príspevok uverejnený" + +#: [post]deleted +msgid "Post deleted" +msgstr "Príspevok odstránený" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "Najnovšie príspevky v komunitách, ktoré neodoberáte (zatiaľ)" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "Toto je preposlanie od %s" + +#: [post]see_profile +msgid "See %s profile" +msgstr "Pozrieť profil: %s" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "%s minúta" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "%s minúty" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "Tento príspevok je verejný" + +#: [post]public_no +msgid "This post is private" +msgstr "Tento príspevok je súkromný" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "Verejná URL tohoto príspevku" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "Odstrániť tento príspevok" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "Odstraňujete tento príspevok, prosím potvrďte svoju akciu" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "Naozaj chcete odstrániť tento komentár?" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "Čítať ďalej" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "Komentáre vypnuté" + +#: [post]comment_published +msgid "Comment published" +msgstr "Komentár uverejnený" + +#: [post]comment_like_published +msgid "Liked" +msgstr "Páči sa" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "Komentár nemožno uverejniť" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "Komentár odstránený" + +#: [post]liked +msgid "Liked your publication" +msgstr "Ocenil Vaše uverejnenie" + +#: [post]commented +msgid "Commented" +msgstr "Komentoval" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "Príspevky kontaktu" + +#: [hello]share_title +msgid "Universal share button" +msgstr "Univerzálne tlačidlo zdieľania" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "Pridajte si nasledujúce tlačidlo do záložiek alebo ho pretiahnite do panela nástrojov a použite ho všetkých stránkach, ktoré chcete zdieľať v Movim" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "Zdieľať v Movim" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "Oh! Vitajte!" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "Skúste menu" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "Všetky hlavné funkcie Movim sú z neho dostupné. Nehanbite sa prechádzať stránkami, aby ste objavili viac!" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "Zdá sa, že ste zatiaľ nedokončili svoj profil" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "V stránke konfigurácie môžete popísať sám seba a pridať si zaujímavý obrázok" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "Odhlásiť" + +#: [status]presence +msgid "Presence" +msgstr "Prítomnosť" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "Naozaj sa chcete odhlásiť?" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "Odkaz skopírovaný do schránky" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "Čo je nové?" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "Príspevky" + +#: [publish]post +msgid "Write a post" +msgstr "Napísať príspevok" + +#: [publish]add_link +msgid "Add a link" +msgstr "Pridať odkaz" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "Získať obrázok" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "Prosím, zadajte titulok" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "Ukážka" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "Pridať súbor alebo obrázok" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "Nemôžete tu uverejniť príspevok" + +#: [publish]new +msgid "New post" +msgstr "Nový príspevok" + +#: [publish]title +msgid "Post title" +msgstr "Titulok príspevku" + +#: [publish]content +msgid "Markdown content" +msgstr "Obsah Markdown" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "Prosí, zadajte platnú URL" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "Svoj obsah môžete formátovať pomocou Markdown" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "Pracovná verzia uložená" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "Editor obohateného textu" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "Pomocník" + +#: [publishhelp]more +msgid "More help" +msgstr "Ďalšia pomoc" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "Manuál syntaxe Markdown" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Vytvoriť nový účet" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "Nebol nájdený registračný formulár servera" + +#: [create]server_on +msgid "on" +msgstr "na" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "Načítanie" + +#: [create]placeholder +msgid "…and start playing" +msgstr "…a začnite sa zabávať" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Neprijateľné" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "Registračný systém tohoto servera nie je momentálne dostupný" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "Registrácia zakázaná" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "Vytvoriť miestnosť" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "Prázdne meno" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "Nemáte zatiaľ žiadnu miestnosť." + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "Pridajte si nejakú kliknutím na tlačidlo pridať." + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "Názov alebo popis" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "Vstúpiť do miestnosti" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "Vstúpiť do zadanej miestnosti" + +#: [chatrooms]members +msgid "Members" +msgstr "Členovia" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "Je vyžadované heslo" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "Do miestnosti nemožno vstúpiť, je vyžadovaná registrácia" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "Predmet" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "Chatové miestnosti" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "Používatelia" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "Záložky aktualizované" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "Ste prihlásený ako anonymný požuívateľ." + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "Prihlásiť sa v %s" + +#: [room]invite +msgid "Invite a contact" +msgstr "Pozvať kontakt" + +#: [room]invited +msgid "Invitation sent" +msgstr "Pozvánka poslaná" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "Poslať tento odkaz svojim kontaktom" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "Táto miestnosť je verejne zistiteľná" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "Verejné profily" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "Skupinový chat" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "Súkromná skupina s pozvanými členmi" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "Pridať člena" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "Kanál" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "Nikdy neupozorňovať" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "Vždy upozorniť" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "Návštevník" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "Čo hľadáte?" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "#kateg, username@server.com, Jožko…" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "Zatiaľ žiadne kontakty?" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "Značky" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "Zobraziť všetky kontakty" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "Pripojiť k uverejneneniu v blogu" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "Príspevok zdieľaný" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "Ďalšie kontakty" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "Napíšte kľúčové slovo" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "Nájsť GIF" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "Poskytuje Tenor" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "Kanál: %s" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "Žiadne verejné kanály tohoto kontaktu" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "Nebol zadaný kontakt" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "Nahrať" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "Zvoľte súbor na nahratie" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "Veľké obrázky budú zmenšené a komprimované" + +#: [upload]error_filesize +msgid "File too large" +msgstr "Súbor príliš veľký" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "Nahratie zlyhalo" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "Nemáte dovolené nahrať súbor" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "Prekročili ste kvôtu" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "Pretiahnite svoj súbor do tejto oblasti" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "Max veľkosť súboru %s" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Profil" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "Profil upravený" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "Profil nebol upravený" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "Váš profil je teraz verejný" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "Váš profil je teraz obmedzený" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "Nastavte si prezývku v tejto inštancii" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "Nastaví lokálnu prezývku, aby Vás ostatní používatelia tejto inštancie ľahšie našli." + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "Vaša prezývka je %s." + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "Jožko_Mrkvička96" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "Prezývka už je registrovaná" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "Prezývka uložená" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Poslať" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Vymazať" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "Movim momentálne pracuje v degradovanom režime" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "Prosím, kontaktujte správcu servera, aby ste zistili či môže byť táto vlastnosť zapnutá." + +#: [visio]calling +msgid "…is calling you" +msgstr "…Vám volá" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "Prichádzajúci video hovor" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "Prichádzajúci audio hovor" + +#: [visio]ringing +msgid "…ringing" +msgstr "…zvoní" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "…pripájanie" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "Aby Movim fungoval správne, vyžaduje zapnutý a funkčný Javascript." + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "Načítanie…" + +#: [global]or +msgid "Or" +msgstr "alebo" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "Prepnúť na iný POD" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "O aplikácii" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Vytvorenie účtu" + +#: [page]administration +msgid "Administration" +msgstr "Asministrácia" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "Blog" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "Komunity" + +#: [page]explore +msgid "Explore" +msgstr "Preskúmať" + +#: [page]feed +msgid "Feed" +msgstr "Kanál" + +#: [page]home +msgid "Home" +msgstr "Domov" + +#: [page]login +msgid "Login" +msgstr "Prihlásiť" + +#: [page]news +msgid "News" +msgstr "Novinky" + +#: [page]not_found +msgid "Not Found" +msgstr "Nenájdené" + +#: [page]posts +msgid "Posts" +msgstr "Príspevky" + +#: [page]publish +msgid "Publish" +msgstr "Uverejniť" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "Zdieľať" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "Značka" + +#: [page]visio +msgid "Visio-conference" +msgstr "Video-konferencia" + +#: [error]error +msgid "Error: %s" +msgstr "Chyba: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "Nemožno načítať súbor „%s”" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "Požadovaný widget „%s” neexistuje." + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "Požadovaná udalosť „%s” nie je registrovaná." + +#: [error]whoops +msgid "Whoops!" +msgstr "Hops!" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "Movim nemôže komunikovať so serverom, prosím, skúste neskôr" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "Opätovné pripojenie k serveru…" + +#: [error]oops +msgid "Oops!" +msgstr "Hups!" + +#: [button]accept +msgid "Accept" +msgstr "Prijať" + +#: [button]add +msgid "Add" +msgstr "Pridať" + +#: [button]audio_call +msgid "Audio Call" +msgstr "Audio hovor" + +#: [button]bool_no +msgid "No" +msgstr "Nie" + +#: [button]bool_yes +msgid "Yes" +msgstr "Áno" + +#: [button]call +msgid "Call" +msgstr "Volať" + +#: [button]cancel +msgid "Cancel" +msgstr "Zrušiť" + +#: [button]chat +msgid "Chat" +msgstr "Chat" + +#: [button]clear +msgid "Clear" +msgstr "Vymazať" + +#: [button]close +msgid "Close" +msgstr "Zatvoriť" + +#: [button]connecting +msgid "Connecting" +msgstr "Pripájanie" + +#: [button]copy_link +msgid "Copy Link" +msgstr "Kopírovať odkaz" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "Odstrániť" + +#: [button]destroy +msgid "Destroy" +msgstr "Zničiť" + +#: [button]discover +msgid "Discover" +msgstr "Objaviť" + +#: [button]enable +msgid "Enable" +msgstr "Zapnúť" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "Páči" + +#: [button]more +msgid "More" +msgstr "Viac" + +#: [button]new +msgid "New conversation" +msgstr "Nové konverzácie" + +#: [button]next +msgid "Next" +msgstr "Ďalšie" + +#: [button]not_now +msgid "Not Now" +msgstr "Nie teraz" + +#: [button]open +msgid "Open" +msgstr "Otvorené" + +#: [button]previous +msgid "Previous" +msgstr "Predošlé" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "Obnoviť" + +#: [button]refuse +msgid "Refuse" +msgstr "Odmietnuť" + +#: [button]register +msgid "Register" +msgstr "Registrovať" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "Odpovedať" + +#: [button]return +msgid "Return" +msgstr "Návrat" + +#: [button]save +msgid "Save" +msgstr "Uložiť" + +#: [button]search +msgid "Search" +msgstr "Hľadať" + +#: [button]send_to +msgid "Send to" +msgstr "Poslať" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "Zdieľať" + +#: [button]sign_up +msgid "Sign Up" +msgstr "Registrovať" + +#: [button]submitting +msgid "Submitting" +msgstr "ODosielanie" + +#: [button]unregister +msgid "Unregister" +msgstr "Odvolať" + +#: [button]update +msgid "Update" +msgstr "Aktualizovať" + +#: [button]updating +msgid "Updating" +msgstr "Aktualizovanie" + +#: [button]validate +msgid "Validate" +msgstr "Overiť" + +#: [button]video_call +msgid "Video Call" +msgstr "Video hovor" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "Deň" + +#: [day]monday +msgid "Monday" +msgstr "Pondelok" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Utorok" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Streda" + +#: [day]thursday +msgid "Thursday" +msgstr "Štvrtok" + +#: [day]friday +msgid "Friday" +msgstr "Piatok" + +#: [day]saturday +msgid "Saturday" +msgstr "Sobota" + +#: [day]sunday +msgid "Sunday" +msgstr "Nedeľa" + +#: [client]bot +msgid "Bot" +msgstr "Bot" + +#: [client]console +msgid "Console" +msgstr "Konzola" + +#: [client]desktop +msgid "Desktop" +msgstr "Desktop" + +#: [client]phone +msgid "Phone" +msgstr "Telefón" + +#: [client]web +msgid "Web" +msgstr "Web" + +#: [client]registered +msgid "Registered" +msgstr "Registrovaný" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "Pripojený" + +#: [presence]away +msgid "Away" +msgstr "Preč" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "Nerušiť" + +#: [presence]xa +msgid "Extended Away" +msgstr "Celkom preč" + +#: [presence]offline +msgid "Offline" +msgstr "Odpojený" + +#: [presence]error +msgid "Error" +msgstr "Chyba" + +#: [mood]afraid +msgid "afraid" +msgstr "ustráchaný" + +#: [mood]amazed +msgid "amazed" +msgstr "užasnutý" + +#: [mood]amorous +msgid "amorous" +msgstr "zamilovaný" + +#: [mood]angry +msgid "angry" +msgstr "nahnevaný" + +#: [mood]annoyed +msgid "annoyed" +msgstr "mrzutý" + +#: [mood]anxious +msgid "anxious" +msgstr "úzkostlivý" + +#: [mood]aroused +msgid "aroused" +msgstr "nabudený" + +#: [mood]ashamed +msgid "ashamed" +msgstr "zahanbený" + +#: [mood]bored +msgid "bored" +msgstr "znudený" + +#: [mood]brave +msgid "brave" +msgstr "odvážny" + +#: [mood]calm +msgid "calm" +msgstr "pokojný" + +#: [mood]cautious +msgid "cautious" +msgstr "opatrný" + +#: [mood]cold +msgid "cold" +msgstr "chladný" + +#: [mood]confident +msgid "confident" +msgstr "sebaistý" + +#: [mood]confused +msgid "confused" +msgstr "zmätený" + +#: [mood]contemplative +msgid "contemplative" +msgstr "zamyslený" + +#: [mood]contented +msgid "contented" +msgstr "spokojný" + +#: [mood]cranky +msgid "cranky" +msgstr "vratký" + +#: [mood]crazy +msgid "crazy" +msgstr "bláznivý" + +#: [mood]creative +msgid "creative" +msgstr "tvorivý" + +#: [mood]curious +msgid "curious" +msgstr "zvedavý" + +#: [mood]dejected +msgid "dejected" +msgstr "skľúčený" + +#: [mood]depressed +msgid "depressed" +msgstr "deprimovaný" + +#: [mood]disappointed +msgid "disappointed" +msgstr "sklamaný" + +#: [mood]disgusted +msgid "disgusted" +msgstr "zhnusený" + +#: [mood]dismayed +msgid "dismayed" +msgstr "zdesený" + +#: [mood]distracted +msgid "distracted" +msgstr "rozrušený" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "rozpačitý" + +#: [mood]envious +msgid "envious" +msgstr "závistlivý" + +#: [mood]excited +msgid "excited" +msgstr "vzrušený" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "záletný" + +#: [mood]frustrated +msgid "frustrated" +msgstr "frustrovaný" + +#: [mood]grateful +msgid "grateful" +msgstr "vďačný" + +#: [mood]grieving +msgid "grieving" +msgstr "trúchliaci" + +#: [mood]grumpy +msgid "grumpy" +msgstr "mrzutý" + +#: [mood]guilty +msgid "guilty" +msgstr "vinný" + +#: [mood]happy +msgid "happy" +msgstr "šťastný" + +#: [mood]hopeful +msgid "hopeful" +msgstr "sľubný" + +#: [mood]hot +msgid "hot" +msgstr "horlivý" + +#: [mood]humbled +msgid "humbled" +msgstr "pokorený" + +#: [mood]humiliated +msgid "humiliated" +msgstr "ponížený" + +#: [mood]hungry +msgid "hungry" +msgstr "hladný" + +#: [mood]hurt +msgid "hurt" +msgstr "zranený" + +#: [mood]impressed +msgid "impressed" +msgstr "dojatý" + +#: [mood]in_awe +msgid "in awe" +msgstr "zhrozený" + +#: [mood]in_love +msgid "in love" +msgstr "zaľúbený" + +#: [mood]indignant +msgid "indignant" +msgstr "rozhorčený" + +#: [mood]interested +msgid "interested" +msgstr "zaujímajúci sa" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "pod vplyvom" + +#: [mood]invincible +msgid "invincible" +msgstr "neprekonateľný" + +#: [mood]jealous +msgid "jealous" +msgstr "žiarlivý" + +#: [mood]lonely +msgid "lonely" +msgstr "osamelý" + +#: [mood]lost +msgid "lost" +msgstr "stratený" + +#: [mood]lucky +msgid "lucky" +msgstr "šťastný" + +#: [mood]mean +msgid "mean" +msgstr "zlý" + +#: [mood]moody +msgid "moody" +msgstr "náladový" + +#: [mood]nervous +msgid "nervous" +msgstr "nervózny" + +#: [mood]neutral +msgid "neutral" +msgstr "neutrálny" + +#: [mood]offended +msgid "offended" +msgstr "urazený" + +#: [mood]outraged +msgid "outraged" +msgstr "pobúrený" + +#: [mood]playful +msgid "playful" +msgstr "hravý" + +#: [mood]proud +msgid "proud" +msgstr "hrdý" + +#: [mood]relaxed +msgid "relaxed" +msgstr "oddychujúci" + +#: [mood]relieved +msgid "relieved" +msgstr "uvoľnený" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "nespokojný" + +#: [mood]sad +msgid "sad" +msgstr "smutný" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "sarkastický" + +#: [mood]satisfied +msgid "satisfied" +msgstr "spokojný" + +#: [mood]serious +msgid "serious" +msgstr "vážny" + +#: [mood]shocked +msgid "shocked" +msgstr "šokovaný" + +#: [mood]shy +msgid "shy" +msgstr "hanblivý" + +#: [mood]sick +msgid "sick" +msgstr "chorý" + +#: [mood]sleepy +msgid "sleepy" +msgstr "ospalý" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "spontánny" + +#: [mood]stressed +msgid "stressed" +msgstr "vystresovaný" + +#: [mood]strong +msgid "strong" +msgstr "silný" + +#: [mood]surprised +msgid "surprised" +msgstr "prekvapený" + +#: [mood]thankful +msgid "thankful" +msgstr "vďačný" + +#: [mood]thirsty +msgid "thirsty" +msgstr "smädný" + +#: [mood]tired +msgid "tired" +msgstr "unavený" + +#: [mood]undefined +msgid "undefined" +msgstr "nedefinované" + +#: [mood]weak +msgid "weak" +msgstr "slabý" + +#: [mood]worried +msgid "worried" +msgstr "ustarostený" + +#: [month]title +msgid "Month" +msgstr "Mesiac" + +#: [month]january +msgid "January" +msgstr "Január" + +#: [month]february +msgid "February" +msgstr "Február" + +#: [month]march +msgid "March" +msgstr "Marec" + +#: [month]april +msgid "April" +msgstr "Apríl" + +#: [month]may +msgid "May" +msgstr "Máj" + +#: [month]june +msgid "June" +msgstr "Jún" + +#: [month]july +msgid "July" +msgstr "Júl" + +#: [month]august +msgid "August" +msgstr "August" + +#: [month]september +msgid "September" +msgstr "September" + +#: [month]october +msgid "October" +msgstr "Október" + +#: [month]november +msgid "November" +msgstr "November" + +#: [month]december +msgid "December" +msgstr "December" + +#: [year]title +msgid "Year" +msgstr "Rok" + +#: [date]today +msgid "Today" +msgstr "Dnes" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "Zajtra" + +#: [date]yesterday +msgid "Yesterday" +msgstr "Včera" + +#: [date]ago +msgid "%d days ago" +msgstr "pred %d dňami" + +#: [date]day +msgid "day" +msgstr "deň" + +#: [post]title +msgid "Title" +msgstr "Titulok" + +#: [post]place +msgid "Place" +msgstr "Miesto" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "Geolokalizácia" + +#: [post]email +msgid "email" +msgstr "email" + +#: [post]empty +msgid "No content" +msgstr "Žiadny obsah" + +#: [post]no_comments +msgid "No comments yet" +msgstr "zatiaľ žiadne komentáre" + +#: [post]older +msgid "Get older posts" +msgstr "Získať staršie príspevky" + +#: [post]new_items +msgid "%s new items" +msgstr "Nové položky: %s" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "Chyba uverejnenia komentára" + +#: [post]comments_get +msgid "Get the comments" +msgstr "Získať komentáre" + +#: [post]comment_add +msgid "Add a comment" +msgstr "Pridať komentár" + +#: [post]share +msgid "Share with" +msgstr "Zdieľať s" + +#: [post]share_everyone +msgid "Everyone" +msgstr "Každý" + +#: [post]updated +msgid "Updated" +msgstr "Aktualizvoané" + +#: [post]content_not_found +msgid "Content not found" +msgstr "Obsah nenájdený" + +#: [post]default_title +msgid "Contact publication" +msgstr "Uverejnenia kontaktu" + +#: [post]comments +msgid "Comments" +msgstr "Komentáre" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "Pôvodný príspevok zmazaný" + +#: [filesize]byte +msgid "B" +msgstr "B" + +#: [filesize]kilobyte +msgid "KB" +msgstr "kB" + +#: [filesize]megabyte +msgid "MB" +msgstr "MB" + +#: [filesize]gigabyte +msgid "GB" +msgstr "GB" + +#: [filesize]terabyte +msgid "TB" +msgstr "TB" + +#: [affiliation]owner +msgid "Owner" +msgstr "Vlastník" + +#: [affiliation]admin +msgid "Admin" +msgstr "Správca" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "Vydavateľ" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "Len vydavateľ" + +#: [affiliation]member +msgid "Member" +msgstr "Člen" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "Blokovaný" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "Bez pričlenenia" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "API nie je dostupné, skúste neskôr" + +#: [field]type_here +msgid "Type here" +msgstr "Píšte tu" diff --git a/frontend/locales/sl.po b/frontend/locales/sl.po new file mode 100644 index 0000000..1a431eb --- /dev/null +++ b/frontend/locales/sl.po @@ -0,0 +1,4154 @@ +# +# Translators: +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Slovenian (http://app.transifex.com/movim/movim/language/sl/)\n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "" + +#: [about]developers +msgid "Developers" +msgstr "" + +#: [about]translators +msgid "Translators" +msgstr "" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "" + +#: [about]software +msgid "Software" +msgstr "" + +#: [about]resources +msgid "Resources" +msgstr "" + +#: [about]api +msgid "API" +msgstr "" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "" + +#: [account]delete +msgid "Delete your account" +msgstr "" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "" + +#: [general]theme +msgid "Theme" +msgstr "" + +#: [general]language +msgid "Default language" +msgstr "" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "" + +#: [credentials]re_password +msgid "Retype password" +msgstr "" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "" + +#: [general]gender +msgid "Gender" +msgstr "" + +#: [general]marital +msgid "Marital Status" +msgstr "" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "" + +#: [general]about +msgid "About Me" +msgstr "" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "" + +#: [day]tuesday +msgid "Tuesday" +msgstr "" + +#: [day]wednesday +msgid "Wednesday" +msgstr "" + +#: [day]thursday +msgid "Thursday" +msgstr "" + +#: [day]friday +msgid "Friday" +msgstr "" + +#: [day]saturday +msgid "Saturday" +msgstr "" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "" + +#: [presence]away +msgid "Away" +msgstr "" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "" + +#: [month]february +msgid "February" +msgstr "" + +#: [month]march +msgid "March" +msgstr "" + +#: [month]april +msgid "April" +msgstr "" + +#: [month]may +msgid "May" +msgstr "" + +#: [month]june +msgid "June" +msgstr "" + +#: [month]july +msgid "July" +msgstr "" + +#: [month]august +msgid "August" +msgstr "" + +#: [month]september +msgid "September" +msgstr "" + +#: [month]october +msgid "October" +msgstr "" + +#: [month]november +msgid "November" +msgstr "" + +#: [month]december +msgid "December" +msgstr "" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "" + +#: [date]yesterday +msgid "Yesterday" +msgstr "" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/sq.po b/frontend/locales/sq.po new file mode 100644 index 0000000..d64f970 --- /dev/null +++ b/frontend/locales/sq.po @@ -0,0 +1,4157 @@ +# +# Translators: +# Besnik Bleta , 2018 +# Besnik Bleta , 2018,2020-2026 +# Besnik Bleta , 2018-2020 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Besnik Bleta , 2018,2020-2026\n" +"Language-Team: Albanian (http://app.transifex.com/movim/movim/language/sq/)\n" +"Language: sq\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Faleminderit" + +#: [about]developers +msgid "Developers" +msgstr "Zhvillues" + +#: [about]translators +msgid "Translators" +msgstr "Përkthyes" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Faleminderit për krejt përkthyesit" + +#: [about]software +msgid "Software" +msgstr "Software" + +#: [about]resources +msgid "Resources" +msgstr "Burime" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim është një platformë komunikimesh me bazë XMPP. Krejt projektet, me përjashtim të software-it dhe burimeve vijuese, gjenden nën" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "Kod burim" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "Merreni kodin burim te depoja në Github" + +#: [account]title [page]account +msgid "Account" +msgstr "Llogari" + +#: [account]account_management +msgid "Account management" +msgstr "Administrim llogarish" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Ndryshoje fjalëkalimin tim" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Fjalëkalim" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Ripohim fjalëkalimi" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "Fjalëkalimi u përditësua" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "Fjalëkalimet e dhëna s’janë të njëjtë" + +#: [account]delete +msgid "Delete your account" +msgstr "Fshijeni llogarinë tuaj" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "Do të fshini llogarinë tuaj XMPP dhe krejt informacionin relativ lidhur me të (profil, kontakte dhe publikime)." + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "Shtypni emrin tuaj të plotë të përdoruesit" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "Ju lutemi, jepni një emër përdoruesi të vlefshëm." + +#: [account]gateway_title +msgid "Gateways" +msgstr "Kanale" + +#: [account]clear +msgid "Leave this instance" +msgstr "Braktiseni këtë instancë" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "Do të fshini krejt informacionin relativ të lidhur me llogarinë tuaj në këtë instancë Movim (profil, kontakte dhe publikime)." + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "Ky veprim s’do të fshijë llogarinë tuaj, por do t’ju shkëpusë nga Movim-i." + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "Fshirje kyçi OMEMO" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "Ju ndan një hap nga asgjësimi i kyçit vijues OMEMO. Kontaktet tuaja s’do të jenë më në gjendje të fshehtëzojnë mesazhe duke përdorur atë kyç. Ky veprim s’mund të prapakthehet. Jeni i sigurt?" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Veprime" + +#: [adhoc]completed +msgid "Action completed" +msgstr "Veprim i plotësuar" + +#: [tools]title +msgid "Developer Tools" +msgstr "Mjete Zhvilluesish" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "Shndërroje SDP-në në Jingle" + +#: [tools]sdp_title +msgid "SDP" +msgstr "SDP" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "Shndërroje Jingle-in në SDP" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "Instancë Jingle" + +#: [admin]general +msgid "General Settings" +msgstr "Rregullime të Përgjithshme" + +#: [general]theme +msgid "Theme" +msgstr "Temë" + +#: [general]language +msgid "Default language" +msgstr "Gjuhë parazgjedhje" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "Shkallë hollësish te regjistri" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "A është publike instanca juaj?" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "Regjistrojeni instancën tuaj në join.movim.eu dhe bëhuni pjesë e federatës Movim!" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "Kufizoji këshillat" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "Sugjero vetëm dhoma fjalosjesh, Bashkësi dhe lëndë tjetër që janë të gatshme në shërbyesin XMPP të përdoruesit dhe shërbime të lidhura" + +#: [chatonly]title +msgid "Chat only" +msgstr "Vetëm fjalosje" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "Çaktivizo krejt veçoritë e shoqërorëve (Bashkësi, Blog…) dhe mbaj vetëm ato për fjalosje" + +#: [credentials]title +msgid "Administration Credential" +msgstr "Kredenciale Administrimi" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Emër përdoruesi" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Rishtypeni fjalëkalimin" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "Çaktivizo veçorinë e regjistrimit XMPP" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "Hiq nga ndërfaqja pjesën dhe butonat për regjistrim XMPP" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "Shërbyes XMPP të Lejuar" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "Nëse doni të përcaktoni një listë shërbyesish të autorizuar XMPP te nyja juaj Movim dhe të ndaloni lidhjen te krejt të tjerët, ju lutemi, vendosini emrin(at) e tyre këtu, ndarë me presje (p.sh.: movim.eu,jabber.fr)" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "Lëreni të zbrazët këtë fushë, nëse lejoni hyrje te krejt llogaritë XMPP." + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "Listë e shërbyesve XMPP të lejuar" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Përshkrim" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "Përshkrim i përgjithshëm i instancës" + +#: [information]banner +msgid "Main banner" +msgstr "Banderolë kryesore" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "Siguroni që fotoja të mos jetë shumë e madhe dhe të mund të kapet pre cilësdo faqeje web" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "Ky mesazh do të shfaqet te faqja e hyrjeve. Mund të përdoret, për shembull, për të lidhur ndarjen Terma dhe Kushte të instancës tuaj Movim." + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "Lëreni këtë fushë të zbrazët, nëse s’doni të shfaqet ndonjë mesazh." + +#: [information]label +msgid "Information Message" +msgstr "Mesazh Informacioni" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "Shërbyes XMPP parazgjedhje" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "Përkatësia e shërbyesit kryesor XMPP" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "Përshkrimi i shërbyesit kryesor XMPP" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "Vend shërbyesi kryesor XMPP" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "Zgjidhni një vend te lista" + +#: [tenor]title +msgid "Tenor integration" +msgstr "Integrim me Tenor" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "Kyçi Juaj për API Tenor" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "Movim integrohet me API-n Tenor për të lejuar kërkim dhe shfaqje GIF-esh në Fjalosje" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "Hyni në Tenor dhe merrni Kyçin tuaj API" + +#: [log]empty +msgid "Empty" +msgstr "E zbrazët" + +#: [log]syslog +msgid "Syslog" +msgstr "Syslog" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "Syslog dhe kartela" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "Maksimum sesionesh të lidhur" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "Movim-i do t’u ndalojë lidhjen përdoruesve të rinj, kur mbërrihet te kufiri, që kjo të çaktivizohet. vëreni 0" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "Raportuar nga %s përdorues" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "Këto llogari janë raportuar nga disa përdorues Movim" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "Mund të zgjidhni bllokimin e tyre për krejt përdoruesit e tjerë" + +#: [adminsessions]title +msgid "Sessions" +msgstr "Sesione" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "Përdorues aktualisht të lidhur te nyja" + +#: [avatar]file +msgid "File" +msgstr "Kartelë" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "U Përditësua Foto Profili" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "S’u Përditësua Foto Profili" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "Ndrysho foton time të profilit" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "Fotografia juaj është shumë e madhe" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "Ende pa avatar" + +#: [banner]change +msgid "Change my banner" +msgstr "Ndrysho banderolën time" + +#: [banner]updated +msgid "Banner Updated" +msgstr "Banderola u Përditësua" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "Banderola S’u Përditësua" + +#: [banner]missing +msgid "No banner yet" +msgstr "Ende pa banderolë" + +#: [blocked]title +msgid "Blocked" +msgstr "Bllokuar" + +#: [blocked]block_account +msgid "Block the account" +msgstr "Bllokoje llogarinë" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "Zhbllokoje llogarinë" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "Llogaria është bllokuar" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "Llogaria është zhbllokuar" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "Këtu do të gjeni përdoruesit që keni bllokuar" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "Përdoruesit vijues janë bllokuar nga Movim-i dhe s’mund të lidhen më me ju" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "Përgjegjësi është gjithashtu në dijeni të kësaj liste dhe mundet pra t’i bllokojë këta përdorues në krejt sistemin" + +#: [blog]title +msgid "%s’s blog" +msgstr "Blog nga %s" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "Kjo lëndë është private, që ta shihni, ju lutemi, bëni hyrjen" + +#: [message]published +msgid "Message Published" +msgstr "Mesazhi u Botua" + +#: [message]react +msgid "Add a reaction" +msgstr "Shtoni reagim" + +#: [message]retract +msgid "Retract" +msgstr "Tërhiqe" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "Kontakti juaj u përpoq të tërheqë një mesazh të mëparshëm, por kjo nuk mbulohet nga klienti juaj" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "Ky mesazh qe moderuar" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "Mesazhi juaj s’u dërgua dot, ju lutemi, riprovoni më vonë" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "Mesazh i fshehtëzuar" + +#: [message]retracted +msgid "Retracted message" +msgstr "Mesazh i tërhequr" + +#: [message]composing +msgid "Composing…" +msgstr "Po hartohet…" + +#: [message]invitation +msgid "Invitation" +msgstr "Ftesë" + +#: [message]paused +msgid "Paused…" +msgstr "Pushuar…" + +#: [message]gone +msgid "Contact gone" +msgstr "Kontakti ka avulluar" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "↑ që të përpunoni mesazhin tuaj të mëparshëm" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr ":shkurtore: që të futni një emoxhi" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "S’keni leje të dërgoni mesazhe në këtë dhomë fjalosjesh" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%s lyp vëmendjen tuaj" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "Mesazhi juaj këtu…" + +#: [chat]smileys +msgid "Smileys" +msgstr "Emotikone" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "Kontakte të shpeshtë" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "Ende pa gjë këtu…" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "Mos kini turp, dërgoni një mesazh të parë për të filluar diskutimin" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "Morët një ftesë për të hyrë në një dhomë fjalosjesh" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "Dërguat një ftesë për të hyrë në një dhomë fjalosjesh" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "Hyni te %s" + +#: [chat]profile +msgid "See the profile" +msgstr "Shihni profilin" + +#: [chat]clear +msgid "Clear the history" +msgstr "Spastro historikun" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "Përpunoni mesazhin e fundit" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "Njoftoni shpërdorim" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "Thirrje ardhëse" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "Thirrje për dikë" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "Thirrje e humbur" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "Thirrje e hedhur poshtë" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "Thirrja përfundoi" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "%s orë %s minuta" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "%s minuta dhe %s sekonda" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "%s sekonda" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "%s tani është përgjegjës" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "%s tani është pronar" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "%s tani është përzënë" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "%s tani është anëtar" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "Ndodhi një gabim teksa dërgohej mesazhi" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "Spastro historikun vendor" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "Do të fshini %s mesazhe vendore, jeni i sigurt?" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "Veprim i pamundur në fjalosje të fshehtëzuara" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "Ky është fillimi i kësaj bisede" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "Mund të zgjidhni ta shtoni si lëndë të re, ose ta bllokoni, për të penguar disa mesazhe të pakërkuar" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "Shtoje te kontaktet e mi" + +#: [chat]first_messages_block +msgid "Block" +msgstr "Bllokoje" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "Kopjo tekstin" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "Teksti u kopjua" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "Kërkoni te mesazhet sipas lënde" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "S’u gjetën mesazhe" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "Shenja gishtash" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "Shenja gishtash OMEMO" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "Po prodhohen kyçet e fshehtëzimit, ju lutemi, pritni…" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "Kyçet e fshehtëzimit u prodhuan" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "Po ftillohen pajisje OMEMO" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "Krijim sesionesh të fshehtëzuar" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "Po krijohen sesione të vetët fshehtëzimi" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "Fshehtëzimi u çaktivizua" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "Që të ndërtohet sesioni i fshehtëzuar, dërgoni një mesazh" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "Po aktivizohet fshehtëzimi për kontaktin" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "Po aktivizohet fshehtëzim për dhomën e fjalosjeve" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "Po çaktivizohet fshehtëzimi për kontaktin" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "Po çaktivizohet fshehtëzim për dhomën e fjalosjeve" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "Veprimtaria e fundit" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "%s sesione të krijuar" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "Ende pa fjalosje…" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "Filloni një bisedë të re duke klikuar mbi butonin %s." + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "Nisni një bisedë të re" + +#: [chats]add +msgid "Chat with a contact" +msgstr "Fjalosuni me një kontakt" + +#: [chats]me +msgid "Me" +msgstr "Unë" + +#: [chats]picture +msgid "Picture" +msgstr "Foto" + +#: [chats]video +msgid "Video" +msgstr "Video" + +#: [chats]audio +msgid "Audio" +msgstr "Audio" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "Krejt" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "Kontakte" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "Zbuloni, ndiqni dhe ndani me të tjerët" + +#: [communities]counter +msgid "%s communities" +msgstr "%s bashkësi" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "Kërkoni për një shërbyes të ri" + +#: [communities]servers +msgid "Communities servers" +msgstr "Shërbyes bashkësish" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "Zbuloni Bashkësi sipas shërbyesish" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "U pikas shërbyes bashkësis" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "Ky shërbyes s’ekziston" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "Bashkësi që mund t’ju pëlqejnë" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "Bashkësia u krijua me sukses" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "Në këtë shërbyes s’ka ende Bashkësi." + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "Krijoni një bashkësi të re në %s" + +#: [communitiesserver]name +msgid "Community name" +msgstr "Emër bashkësie" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "Gjelbërim Ngado - Shoqatë" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "Ju lutemi, jepni një emër bashkësie të vlefshëm (minimumi 4 shenja)" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "S’mund të krijoni një bashkësi të re në këtë shërbyes" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "Problem kur provohej të pikaseshin objekte" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "Shërbyesi %s s’kapet dot" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "Ende pa Shërbyes Bashkësie…" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "Duket se për çastin s’gjejmë dot ndonjë bashkësi" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Formësim" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "Pajtime" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "Pajtime publike" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "Pajtimet e mia në Bashkësi" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "Bashkësia u fshi me sukses" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "Fshije bashkësinë" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "Ju ndan një hap nga fshirja e bashkësisë vijuese. Ju lutemi, ripohoni veprimin tuaj." + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "Duket se ajo bashkësi s’ekziston më. Doni të hiqet nga pajtimet tuaja?" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "Gabim gjatë fshirjeje të nyjës" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "Formësim u ruajt" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "Gabim gjatë zbatimit të formësimit të nyjës" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "Pronarë" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "Botues" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "Role" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "Roli u caktua saktë" + +#: [communityconfig]publication +msgid "Publication" +msgstr "Botim" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "Publike" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "Cilido mund të botojë" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "Botuesit mund të botojnë" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "Pajtimtarë" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "Pajtimtarët mund të botojnë" + +#: [communityconfig]type +msgid "Community type" +msgstr "Lloj bashkësie" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "Artikuj" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "Publikoni dhe lexoni artikuj" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "Galeri" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "Publikoni dhe shfletoni foto" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "%s pajtimtarë" + +#: [communitydata]num +msgid "%s posts" +msgstr "%s postime" + +#: [communitydata]public +msgid "Public page" +msgstr "Faqe publike" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "Vetëm botuesit mund të botojnë" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "Vetëm pajtimtarët mund të botojnë" + +#: [communityheader]follow +msgid "Follow" +msgstr "Ndiqeni" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "Hiqi ndjekjen" + +#: [communityheader]followed +msgid "Followed" +msgstr "U ndoq" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "Iu hoq ndjekja" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "Pajtimet janë të çaktivizuara për këtë bashkësi" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "Jepni një etiketë për këtë bashkësi" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "Emër i Bashkësisë Time" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "Ndaje këtë ndjekje me këdo" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "Do të shfaqet te profili juaj" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "Ju ndan një hap nga heqja e ndjekjes së kësaj bashkësie" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "Jeni i sigurt?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "Ende pa botim? Shkruani postimin tuaj të parë, që t’i bëni njerëzit të zbulojnë profilin tuaj" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "Boto postimin tim të parë" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "Llogari private" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "Që të shihni publikimet, kërkojini %s të jetë në kontaktet tuaja" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "Dërgoni një kërkesë ftese para ndjekjes së kontaktit" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "S’mund ta ndiqni kontaktin hëpërhë" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "Bashkësi Me Pajtim" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "Tungjatjeta" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "Këtu do të jeni në gjendje të administroni krejt pajtimet tuaja." + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "Ende s’keni ndonjë pajtim në bashkësi." + +#: [config]general +msgid "General" +msgstr "Të përgjithshme" + +#: [config]language +msgid "Language" +msgstr "Gjuhë" + +#: [config]roster +msgid "Roster display" +msgstr "Shfaqje emërtese" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "Shfaqi kontaktet që s’janë në linjë" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "Fshihi kontaktet që s’janë në linjë" + +#: [config]appearence +msgid "Appearance" +msgstr "Dukje" + +#: [config]updated +msgid "Configuration updated" +msgstr "Formësimi u përditësua" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "Formësim i pavlefshëm" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "Formësim i Thelluar" + +#: [config]nsfw +msgid "Display adult content" +msgstr "Shfaq lëndë të rriturish" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "Do t’ju lejojë të lexoni postimet e etiketuara me etiketën #nsfw" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "Përdor OMEMO" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "Aktivizoni për llogarinë tuaj fshehtëzim skaj më skaj në Movim" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "Që të fshehtëzojë dhe shfshehtëzojë mesazhe, Movim-i po përdor ca kod të dhënë nga përkatësia web %s. Nëse doni të shkëmbeni të dhëna me spec, ju lutemi, sigurohuni se e besoni plotësisht kodin e emetuar nga kjo palë ndërmjetëse." + +#: [config]night_mode +msgid "Night Mode" +msgstr "Mënyra Mbrëmje" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "Përdorni ngjyra të errëta për të çlodhur sytë" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "Shfletuesi juaj po i tregon tashmë Movim-it të përdorë, si parazgjedhje, Mënyrën Natë" + +#: [config]chatmain +msgid "Main chat page" +msgstr "Faqja e fjalosjes kryesore" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "Vër si faqe fjalosjeje atë parazgjedhje, kur hapet Movim-i" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "Parapëlqime arkivimi mesazhesh fjalosjesh më anë shërbyesi" + +#: [config]mam_always +msgid "Always" +msgstr "Përherë" + +#: [config]mam_never +msgid "Never" +msgstr "Kurrë" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "Parapëlqimet e arkivimit u ruajtën" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "Shkallë të qeni rezervat blogu personal" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "Blog publik" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "I përdorshëm nga cilido në rrjet" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "Blog privat" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "Kufizuar vetëm për pajtimtarët tuaj" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "U ruajt shkallë të qeni rezervat blogu personal" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "Shkallë të qeni rezervat" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "Njoftime audio" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "Mesazh ardhës" + +#: [config]accent_color +msgid "Accent color" +msgstr "Ngjyrë theksimi" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "Hapni sytë" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "Ndryshimi i nofkës tuaj do të ndryshojë URL-të e blogun tuaj publik, prurjeve dhe artikujve" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "Ripohim i mirëfilltësimit" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "Platforma vijuese do të donte ripohimin tuaj që të mirëfilltësohet kjo llogari" + +#: [confirm]code +msgid "Authentication code" +msgstr "Kod mirëfilltësimi" + +#: [roster]add_title +msgid "Add a contact" +msgstr "Shtoni një kontakt" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "Jepni Adresën XMMP të kontaktit tuaj." + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "Shtypni Enter që të vleftësohet." + +#: [roster]added +msgid "Contact added" +msgstr "Kontakti u shtua" + +#: [roster]updated +msgid "Contact updated" +msgstr "Kontakti u përditësua" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "Kontakti u fshi" + +#: [general]legend +msgid "General Information" +msgstr "Të dhëna të Përgjithshme" + +#: [general]name +msgid "Name" +msgstr "Emër" + +#: [general]pronouns +msgid "Pronouns" +msgstr "Përemra" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "ai/ajo/ata/ato/…" + +#: [general]nickname +msgid "Nickname" +msgstr "Nofkë" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Datëlindje" + +#: [general]gender +msgid "Gender" +msgstr "Gjini" + +#: [general]marital +msgid "Marital Status" +msgstr "Gjendje Civile" + +#: [general]email +msgid "Email" +msgstr "Email" + +#: [general]website +msgid "Website" +msgstr "Sajt" + +#: [general]about +msgid "About Me" +msgstr "Rreth Meje" + +#: [general]accounts +msgid "Other Accounts" +msgstr "Llogari të Tjera" + +#: [general]tune +msgid "Is Listening" +msgstr "Po Dëgjon" + +#: [general]pictures +msgid "Pictures" +msgstr "Foto" + +#: [general]links +msgid "Links" +msgstr "Lidhje" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "Llogaria juaj është private" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "Kaloni te faqja e Rregullimeve që të krijoni një blog publik dhe të lejoni përdorues të tjerë t’ju gjejnë" + +#: [position]legend +msgid "Geographic Position" +msgstr "Pozicion Gjeografik" + +#: [position]locality +msgid "Locality" +msgstr "Lokalitet" + +#: [position]country +msgid "Country" +msgstr "Vend" + +#: [listen]title +msgid "Listening" +msgstr "Duke Dëgjuar" + +#: [last]title +msgid "Last seen" +msgstr "Parë së fundi" + +#: [clients]title +msgid "Clients" +msgstr "Klientë" + +#: [clients]title_full +msgid "Clients information" +msgstr "Të dhëna klientësh" + +#: [explore]last_registered +msgid "Last registered" +msgstr "Regjistruar së fundi" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "Gjeni ca kontakte të reja" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "Përpunojeni" + +#: [edit]alias +msgid "Alias" +msgstr "Alias" + +#: [edit]group +msgid "Group" +msgstr "Grup" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "Po hiqni një nga kontaktet tuaj, ju lutemi, ripohoni veprimin tuaj" + +#: [age]years +msgid "%s years" +msgstr "%s vjet" + +#: [blog]last +msgid "Last public post" +msgstr "Postimi i fundit publik" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "V" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "Mund të shihni gjendjen e këtij kontakti" + +#: [subscription]to_button +msgid "Share my status" +msgstr "Ndaje gjendjen time me të tjerë" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "Por ky kontakt s’mund të shohë tuajt" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "S’jeni i pajtuar te ky kontakt" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "Kërkoni pajtim" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "Por ky kontakt mundet ende të shohë nëse jeni në linjë" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "S’jeni pajtuar te ndokush" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "Ftoje" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "Ky kontakt gjendet në listën tuaj të kontakteve, por s’jeni pajtuar te njëri-tjetri" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "Sugjerime për ju" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "Diktafon" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "Shtypeni që të incizojë" + +#: [dictaphone]recording +msgid "Recording" +msgstr "Po incizon" + +#: [draw]title +msgid "Draw" +msgstr "Vizatim" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "Emoxhi" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "Emoxhit e mi të parapëlqyer" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "Zgjidhni nga paketat më poshtë emoxhit që doni të shtohen te të parapëlqyerit tuaj" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "Administroni një emoxhi të parapëlqyer" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "Shkurtorja duhet të përmbajë vetëm shkronja të vogla, numra dhe vija ndarëse në mes" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "U shtua emoxhi i ri i parapëlqyer" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "Shkurtorja është e përdorur tashmë për një tjetër emoxhi" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "Ende pa të parapëlqyer, shihni te faqja e rregullimeve, që të shtoni ndonjë" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "Pyetje të Bëra Shpesh" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "Ç’kryen ky rregullim lejeje?" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "Si parazgjedhje, te lënda mund të hyjnë vetëm kontaktet tuaja. Profilin dhe publikimet tuaja mund t’i bëni publike duke aktivizuar rregullimin përkatës." + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "Si zbatohet te postime Bashkësie?" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "Në mënyrë të ngjashme me publikimet në blogun tuaj, hiq, si parazgjedhje, postimet që mund të shihen vetëm nga anëtarët ose pajtimtarët e Bashkësisë (hiq rastin kur hapni shprehimisht krejt lëndën e Bashkësisë)" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "Ku mund të gjej një listë të fjalosjeve në grup?" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "Ku mund t’i kontaktet e mia?" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "Duke hapur panelin e kërkimeve." + +#: [apps]title +msgid "Applications" +msgstr "Aplikacione" + +#: [apps]install +msgid "Movim App" +msgstr "Aplikacion Movim" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "Instaloni Movim-in në pajisjen tuaj" + +#: [apps]recommend +msgid "We also recommend" +msgstr "Këshillojmë gjithashtu" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "Përgjegjës & Kontakte" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "Doni të bisedoni me ekipin e Movim-it?" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "Shtoje dhomën e fjalosjeve" + +#: [error]username +msgid "Wrong username" +msgstr "Emër përdoruesi i gabuar" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "Adresë XMPP e pavlefshme" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "Sfidë e pavlefshme prej shërbyesit" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "Gabim Përkatësie XMPP, llogaria juaj s’është adresë XMPP e vlefshme" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "Mungojnë disa të dhëna!" + +#: [error]internal +msgid "Internal server error" +msgstr "Gabim i brendshëm shërbyesi" + +#: [error]session +msgid "Session error" +msgstr "Gabim sesioni" + +#: [error]account_created +msgid "Account successfully created" +msgstr "Llogaria u krijua me sukses" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "Movim-i s’lidhet dot te shërbyes" + +#: [error]impossible +msgid "Impossible login" +msgstr "Hyrje e pamundshme" + +#: [error]default +msgid "Unknown error" +msgstr "Gabim i panjohur" + +#: [error]login_format +msgid "Invalid username format" +msgstr "Format i pavlefshëm emrash përdoruesish" + +#: [error]password_format +msgid "Invalid password format" +msgstr "Format i pavlefshëm fjalëkalimesh" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "Shërbyesi juaj XMPP është i paautorizuar" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "Movim-i s’arriti të bëjë mirëfilltësimin. Dhatë të dhëna të gabuara" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "Mekanizëm mirëfilltësimi i pambuluar nga Movim" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "Mirëfilltësimi XMPP dështoi" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "Kjo instancë Movim aktualisht është plot." + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "Provoni një tjetër te %s" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "I lidhur te shërbyesi" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "U bë mirëfilltësimi kundrejt shërbyesit" + +#: [form]username +msgid "My address" +msgstr "Adresa ime" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "Hyrje me llogari nga këta shërbyes" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "Hyrje duke përdorur çfarëdo llogarie XMPP ose duke krijuar një të re" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "I lidhur" + +#: [form]population +msgid "Population" +msgstr "Popullsi" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "%s ju ftoi të hyni në një dhomë fjalosjesh" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "Administruar nga" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "Movim është një platformë blogimi dhe fjalosjeje me federim." + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "Vizitoni sajtin zyrtar të projektit %s." + +#: [menu]empty_title +msgid "No news yet…" +msgstr "Ende pa lajme…" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "Mirë se vini te prurja juaj e lajmeve, këtu do të shihni krejt postimet e botuara nga kontaktet tuaj dhe në bashkësitë në të cilat jeni pajtuar." + +#: [menu]mine +msgid "My publications" +msgstr "Publikimet e mia" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "Shkruani një postim të ri…" + +#: [notification]request_title +msgid "Notifications request" +msgstr "Kërkesë njoftimesh" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "Movim-i lyp miratimin tuaj për të shfaqur njoftime" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "Ky autorizim mund të shfuqizohet në çfarëdo kohe" + +#: [notification]request_button +msgid "Request" +msgstr "Kërkesë" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "U dha autorizim" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "Autorizimi u hodh poshtë" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "Njoftime" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "Njoftime push" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "Movim-i do të dërgojë njoftime push te pajisjet e mëposhtme të regjistruara" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "Njoftime push të aktivizuara për këtë pajisje" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "Njoftime push të çaktivizuara për këtë pajisje" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "Shfletues i panjohur" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "Platformë e panjohur" + +#: [invitations]received +msgid "Received Invitations" +msgstr "Ftesa të Marra" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "%s dëshiron t’ju shtojë" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "S’ka ftesa të reja" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "Pa pajtime pezull" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%s dëshiron të bisedojë me ju" + +#: [notifs]empty +msgid "No new notifications" +msgstr "S’ka njoftime të reja" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "Movim-i mund t’ju njoftojë kur botohet një postim i ri ose kur merrni mesazhe" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "Mundeni përherë t’i çaktivizoni më pas" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "Profil publik" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "Bëjeni profilin tuaj publik dhe lejojuni përdoruesve të tjerë t’ju gjejnë dhe të krijoni kontakte të reja më lehtë" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "Këtë mundeni përherë ta çaktivizoni më pas te formësimi" + +#: [post]publish_something +msgid "Publish something" +msgstr "Botoni diçka" + +#: [post]news_feed +msgid "News Feed" +msgstr "Prurje Lajmesh" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "Zbuloni dhe regjistroni grupe për të cilët jeni të interesuar" + +#: [post]content +msgid "Content" +msgstr "Lëndë" + +#: [post]published +msgid "Post published" +msgstr "Postimi u botua" + +#: [post]deleted +msgid "Post deleted" +msgstr "Postimi u fshi" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "Postime botuar së fundi në bashkësi te të cilat s’jeni pajtuar (ende)" + +#: [post]new_blog +msgid "New blog post" +msgstr "Postim i ri blogu" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "Ky është një ripostim nga %s" + +#: [post]see_profile +msgid "See %s profile" +msgstr "Shihni profilin e %s" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "Kontakt i panjohur" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "%s minutë" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "%s minuta" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "Paraparje URL-je: %s" + +#: [post]public_yes +msgid "This post is public" +msgstr "Ky postim është publik" + +#: [post]public_no +msgid "This post is private" +msgstr "Ky postim është privat" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "URL publike e këtij postimi" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "Çaktivizoji komentet" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "Askush s’do të ketë në gjendje të pëlqejë, ose komentojë" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "Komentet janë çaktivizuar për këtë postim" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "Komentet janë aktivizuar për këtë postim" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "Fshije këtë postim" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "Ju ndan një hap nga fshirja e këtij postimi, ju lutemi, ripohoni veprimin tuaj" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "Jeni i sigurt se doni të fshihet ky koment?" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "Zbuloni më tepër postime te faqet e bashkësisë" + +#: [post]more +msgid "Read more" +msgstr "Lexoni më tepër" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "Komentet janë çaktivizuar" + +#: [post]comment_published +msgid "Comment published" +msgstr "Komenti u botua" + +#: [post]comment_like_published +msgid "Liked" +msgstr "U pëlqye" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "Komenti s’botohet dot" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "Komenti u fshi" + +#: [post]liked +msgid "Liked your publication" +msgstr "Pëlqeu botimin tuaj" + +#: [post]commented +msgid "Commented" +msgstr "I komentuar" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "Që të shihni këtë publikim, duhet të pajtoheni te %s" + +#: [hello]contact_post +msgid "Contact post" +msgstr "Postim kontakti" + +#: [hello]share_title +msgid "Universal share button" +msgstr "Buton i përgjithshëm ndarjesh" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "Faqeruajini ose tërhiqeni dhe lëreni butonin vijues te paneli juaj dhe përdoreni për krejt faqet që doni të ndani me të tjerët në Movim" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "Ndajeni me të tjerë në Movim" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "Oh! Tungjatjeta!" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "Duket se jeni i ri këtu! Mirë se vini në " + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "Shihni Menunë" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "Krejt veçoritë kryesore të Movim-it mund të përdoren nga këtu. Mos ngurroni të lëvizni nëpër faqe që të zbuloni të tjera!" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "Duket se nuk e keni plotësuar ende profilin tuaj" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "Mund të shkoni te faqja Formësim që të jepni një përshkrim për veten dhe për të vendosur një foto të hijshme" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "Vizitoni blogun tim" + +#: [status]disconnect +msgid "Disconnect" +msgstr "Shkëputu" + +#: [status]presence +msgid "Presence" +msgstr "Prani" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "Doni vërtet të dilni?" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "Fotoja e profilit tim" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "Lidhja u kopjua në të papastër" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "Ç’ka të re?" + +#: [publish]brief_title +msgid "Brief" +msgstr "Shkurt" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "Postoni" + +#: [publish]post +msgid "Write a post" +msgstr "Shkruani një postim" + +#: [publish]add_link +msgid "Add a link" +msgstr "Shtoni një lidhje" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "Bëni një foto" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "Ju lutemi, jepni një titull" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "Është e domosdoshme të paktën një foto" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "Paraparje" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "Shtoni një kartelë ose një foto" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "S’mund të botoni postim këtu" + +#: [publish]new +msgid "New post" +msgstr "Postim i ri" + +#: [publish]title +msgid "Post title" +msgstr "Titull postimi" + +#: [publish]content +msgid "Markdown content" +msgstr "Lëndë Markdown" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "Ju lutemi, jepni një URL të vlefshme" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "Lëndën tuaj mund ta formatoni duke përdorur Markdown" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "Skica u ruajt" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "Përpunues teksti të pasur" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "Shtoni #hashtagë te titulli ose lënda juaj, që ta bëni postimin tuaj të zbulueshëm" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "S’jeni i autorizuar të publikoni atje" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "Postimi juaj është shumë i madh për botim" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "Teksti juaj është shumë i gjatë, e shumta %s shenja" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "Blogu juaj mund të shihet vetëm nga pajtimtarët tuaj. Të përdorshëm nga cilido mund ta bëni që nga faqja e rregullimeve." + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "Media do të trupëzohet" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "Krijoni një URL HTTP publike nga ky publikim" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "Kjo i lejon kujtdo jashtë Movim-it të mund të përdorë botimin tuaj" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "Ndihmë" + +#: [publishhelp]more +msgid "More help" +msgstr "Më tepër ndihmë" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "Doracak sintakse Markdown" + +#: [story]new +msgid "New story" +msgstr "Histori e re" + +#: [story]new_edit +msgid "Edit your story" +msgstr "Përpunoni historinë tuaj" + +#: [story]new_publish +msgid "Publish your story" +msgstr "Botoni historinë tuaj" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "Botoje te kontaktet e mi " + +#: [story]uploading +msgid "Uploading the story" +msgstr "Po ngarkohet rrëfimi" + +#: [story]publishing +msgid "Publishing the story" +msgstr "Po botohet rrëfimi" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "Thuajse mbërritëm… " + +#: [story]published +msgid "Story published" +msgstr "Rrëfimi u botua" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Krijoni një llogari të re" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "S’u gjet në shërbyes formular krijimi llogarish" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "Llogaria juaj u regjistrua me sukses" + +#: [create]loading +msgid "Loading" +msgstr "Po ngarkohet" + +#: [create]placeholder +msgid "…and start playing" +msgstr "…dhe po fillohet të luhet" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "I papranueshëm" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "Sistemi i regjistrimeve në këtë shërbyes është i pakapshëm hëpërhë" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "Regjistrim i ndaluar" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "Hyr te kjo dhomë fjalosje gjatë hyrjes në llogari" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "Adresë e Gabuar Dhome Fjalosjesh" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "Ju lutemi, jepni një nofkë të vlefshme (2 deri në 40 shenjas)" + +#: [chatrooms]banned +msgid "Banned" +msgstr "I dëbuar" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "Thirrje konference" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "Thirrni kontaktet tuaja dhe ndani me ta kamerën tuaj web, ose ekranin" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "Nofkë tashmë e zënë" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "Hyri në dhomën e fjalosjeve" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "Krijoni një dhomë fjalosjeje" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "Dhoma e bisedave u krijua" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "Dhomë standarde fjalosjesh" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "Jeni i sigurt se doni të asgjësoni përgjithnjë dhomën vijuese të fjalosjeve?" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "Asgjësoje dhomën e fjalosjeve" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "Dhoma e fjalosjeve u asgjësua" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "Movim s’qe në gjendje të gjejë një dhomë të vlefshme fjalosjeje. Provoni mbase me një tjetër identifikues." + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "Kjo dhomë fjalosjeje duket të jetë pjesë e një Hapësire, s’jemi në gjendje të gjejmë cilës, por ju këshillojmë me forcë që më mirë të hyni te Hapësira" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "Po provoni të shtoni diçka që s’është një dhomë fjalosjesh" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "Para përdorimit të shërbimit lypset regjistrim" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "Doli nga dhoma e fjalosjeve" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "Emër i zbrazët" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "S’keni ende ndonjë dhomë fjalosjeje" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "Shtoni një duke klikuar mbi butonin e shtimeve." + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "Emër ose përshkrim" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "S’keni leje të hyni në këtë dhomë fjalosjesh" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "Dhomë fjalosjeje kanali" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "Fshihi dhomat e shkëputura të fjalosjeve" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "Adresë Dhome Fjalosjesh" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "Dhoma e fjalosjeve s’ekziston" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "Nofka juaj s’është e vlefshme" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "Hyni në një dhomë fjalosjeje" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "Hyni në një dhomë vetjake fjalosjeje" + +#: [chatrooms]members +msgid "Members" +msgstr "Anëtarë" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "I papranueshëm" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "S’keni leje të krijoni dhomë bisedash këtu" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "Lypset një fjalëkalim" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "Fiksoje këtë dhome fjalosjesh" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "S’hyhet dot te dhomë bisedash, lypset regjistrim" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "Shërbyesi i largët për këtë dhomë fjalosjeje s’ekziston" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "Lidhjes me shërbyes të largët i mbaroi koha" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "Do ta braktisni përgjithnjë dhomën vijuese të fjalosjeve. Ju lutemi, ripohoni veprimin tuaj." + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "Braktisni përgjithnjë një dhomë fjalosjesh" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "Është mbërritur në kufi pjesëmarrësish në dhomën e fjalosjes" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "Shfaqi krejt dhomat e fjalosjeve" + +#: [chatrooms]subject +msgid "Subject" +msgstr "Subjekt" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "Dhoma fjalosjeje" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "Lloj dhome fjalosjesh" + +#: [chatrooms]users +msgid "Users" +msgstr "Përdorues" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "Faqerojtësit u përditësuan" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "Kanal Publik" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "Hëpërhë keni bërë hyrjen si përdorues anonim." + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "Mund të merrni pjesë duke përdorur llogarinë tuaj ose duke krijuar një te faqja e hyrjeve, pasi të keni dalë duke përdorur kryqin në cepin e djathtë sipër." + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "Bëni hyrjen te %s" + +#: [room]invite +msgid "Invite a contact" +msgstr "Ftoni një kontakt" + +#: [room]invited +msgid "Invitation sent" +msgstr "Ftesa u dërgua" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "Dërgojani këtë lidhje kontakteve tuaja" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "Kjo dhomë bisedash mund të zbulohet publikisht" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "Profile publike" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "Pjesëmarrësit e kësaj dhome fjalosjeje mund të shohin Adresat XMPP të njëri-tjetrit" + +#: [room]archived +msgid "Archived" +msgstr "I arkivuar" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "Mesazhet e dhomës së fjalosjes janë arkivuar" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "Fjalosje Në Grup" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "Fjalosje private në grup me anëtarë të ftuar" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "Shtoni një anëtar të ri" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "Dëboni dikë" + +#: [room]banned_remove +msgid "Unban" +msgstr "Hiqini dëbimin" + +#: [room]configure_user +msgid "Configure the user" +msgstr "Formësoni përdoruesin" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "S’jeni i autorizuar të ndryshoni këtë përshoqërim" + +#: [room]affiliation +msgid "Affiliation" +msgstr "Përshoqërim" + +#: [room]role +msgid "Role" +msgstr "Rol" + +#: [room]reason +msgid "Reason" +msgstr "Arsye" + +#: [room]channel +msgid "Channel" +msgstr "Kanal" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "Kanal publik që mund të zbulohet publikisht dhe në të të hyhet publikisht" + +#: [room]notify_never +msgid "Never notify" +msgstr "Mos njofto kurrë" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "Njoftomë, kur përmendem" + +#: [room]notify_always +msgid "Always notify" +msgstr "Njofto përherë" + +#: [room]pinned +msgid "Pinned" +msgstr "E fiksuar" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "Përgjegjës" + +#: [room]visitor +msgid "Visitor" +msgstr "Vizitor" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "I lejohet përdoruesit të dërgojë mesazhe?" + +#: [room]role_changed +msgid "Role changed" +msgstr "Roli ndryshoi" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "S’u gjetën dhoma vendore fjalosjesh" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "Kanale" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "S’u gjetën dhoma globale fjalosjesh" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "Gjeni më tepër kanale" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "%s gjithsej" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "Ç’po kërkoni?" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "#daci, emërpërdoruesi@shërbyes.com, Abaz…" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "Ende pa kontakte?" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "Gjeni një të tillë duke kërkuar për emrin ose adresën e tyre" + +#: [search]tags +msgid "Tags" +msgstr "Etiketa" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "Shfaqi krejt kontaktet" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "Bashkëngjitni te një botim blohu" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "Ndajeni me të tjerë në një botim të ri" + +#: [sendto]selected +msgid "contacts selected" +msgstr "kontaktet u përzgjodhën" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "Zgjidhni kontaktet me të cilët doni të ndani këtë lëndë" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "Postimi u nda me të tjerë" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "Postimi u nda me %s kontakte" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "Më tepër kontakte" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "Ndaje me të tjerët jashtë Movim-i" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "Postim i ndarë duke përdorur Movim-in" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "Rrëfim i ndarë duke përdorur Movim-in" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "Formësim hapësire" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "Formësimi i hapësirës u ruajt" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "Gabim formësimi hapësire" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "Administrim hapësire" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "Asgjësoje hapësirën" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "Ju ndan një hap nga asgjësimi i hapësirës vijuese, krejt dhomat e fjalosjeve në të do të asgjësohen gjithashtu" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "Ftoni kontakte të rinj" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "Kërkesën për ardhje do të duhet ta miratojë një moderator" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "Dërgoni një kyç ftese te kontaktet tuaja" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "Braktiseni hapësirën" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "Shtoni një dhomë" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "%s kërkesa pajtimi janë në pritje të miratimit tuaj" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "%s po pret miratimin tuaj të vijë te hapësira" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "Administroni kërkesën" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "Fiksojeni këtë hapësirë te shtylla" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "I zoti i një hapësire s’mund të braktisë hapësirën e vet" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "Hiqe nga hapësira" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "Krijoni një hapësirë" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "Shtoni një hapësirë të re" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "Bëhuni pjesë e një hapësite" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "Keni ftesë?" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "Titull hapësire" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "Titulli i Hapësirës tuaj është i zbrazët" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "Hapësira u krijua" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "Po ngarkohet hapësira" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "U pajtuat te hapësira" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "Përdorni një kyç ftese" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "Është i domosdoshëm një kyç i vlefshëm" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "Hapësirë e kyçur" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "S’jeni i autorizuar të hyni te hapësira këtë çast" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "Riprovoni" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "Jeni i sigurt se doni të braktisni hapësirën?" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "U dërgua një kërkesë te një moderator." + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "Sapo të pranohet, do të jeni në gjendje të hyni te hapësira." + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "Shtoje %s te hapësira" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "Mohoji hyrjen" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "Kontakti u shtua te hapësira" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "Kontaktit iu mohua hyrja në hapësirë" + +#: [sticker]title +msgid "Stickers" +msgstr "Ngjitës" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "Është dërguar një ngjitëse duke përdorur Movim-in" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "Shtypni një fjalëkyçe" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "Gjeni një GIF" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "Bazuar Tenor" + +#: [stories]publish +msgid "New Story" +msgstr "Rrëfim i Ri" + +#: [stories]title +msgid "Stories" +msgstr "Rrëfime" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "Rrëfim i ri nga %s" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "S’keni hyrje te ky rrëfim, dërgojini autorit një ftesë autorit që t’ju lejojë" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "Disa nga kontaktet tuaj mund të mos kenë hyrje te ky rrëfim" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "Mund t’ju duhet të pajtohen te llogaria e botuesit" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "Dërgoni një koment te %s" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "Fshirje rrëfimi" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "Jeni i sigurt se doni të fshihet ky rrëfim?" + +#: [stories]deleted +msgid "Story deleted" +msgstr "Rrëfimi u fshi" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "Movim është një rrjet shoqëror i decentralizuar, ju ftojmë të regjistroheni në shërbyesin(t) XMPP vijues" + +#: [feed]title +msgid "%s’s feed" +msgstr "Prurje për %s" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "S’ka prurje publike për këtë kontakt" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "S’u përcaktua kontakt" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "Ngarkoje" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "Zgjidhni një kartelë për ngarkim" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "Figurat e mëdha do të ripërmasohen dhe ngjeshen" + +#: [upload]error_filesize +msgid "File too large" +msgstr "Kartelë shumë e madhe" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "Ngarkimi dështoi" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "S’keni leje të ngarkoni kartelë" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "Keni tejkaluar kuotat" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "Tërhiqini dhe i lini kartelat te kjo zonë" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "Madhësi maksimum kartelash %s" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "Po ngarkohet te llogaria juaj" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "Do të dërgoni një kartelë të pafshehtëzuar në një diskutim të fshehtëzuar. Jeni i sigurt për këtë?" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Profil" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "Profili u Përditësua" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "Profili S’u Përditësua" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "Ky do të përdoret gjithashtu si nofka juaj parazgjedhje, kur hyni në një dhomë fjalosjeje" + +#: [profile]public +msgid "Your profile is now public" +msgstr "Profili juaj tani është publik" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "Profili juaj tani është i kufizuar" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "Formësoni nofkën tuaj për instancën" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "A është kjo llogari publike në këtë instancë Movim?" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "Movim do të krijojë një faqe publike për të strehuar blogun tuaj dhe llogarinë tuaj mund të shfaqet në përfundime kërkimesh nga përdorues të tjerë Movim." + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "Caktoni një nofkë vendore për të lejuar përdoruesit e tjerë të instancës t’ju gjejnë kollaj." + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "Nofka juaj është %s." + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "Vajti_dhe_ky45" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "Nofka juaj duhet të përmbajë vetëm shkronja, numra, - dhe _" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "Nofka është tashmë e regjistruar" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "Nofka u ruajt" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Parashtroje" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Riktheje në fillimet" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "Movim-i po punon nën mundësitë e veta" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "Shërbyesi juaj s’mbulon vazhdueshmëri XMPP Pubsub, ose veçoritë shoqërore (bashkësi, prurje lajmesh dhe profil) janë çaktivizuar nga përgjegjësi." + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "Ju lutemi, lidhuni me përgjegjësin e shërbyesit tuaj për të parë nëse mund të aktivizohet kjo veçori." + +#: [visio]calling +msgid "…is calling you" +msgstr "…po ju thërret" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "Thirrje video ardhëse" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "Thirrje audio ardhëse" + +#: [visio]ringing +msgid "…ringing" +msgstr "…po bie zilja" + +#: [visio]declined +msgid "Declined" +msgstr "Hedhur tej" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "Thirrje në kryerje e sipër" + +#: [visio]joined_call +msgid "Joined call" +msgstr "Erdhi në thirrje" + +#: [visio]failed +msgid "Failed" +msgstr "Dështoi" + +#: [visio]connecting +msgid "…connecting" +msgstr "…po lidhet" + +#: [visio]ended +msgid "End of call" +msgstr "Fund i thirrjes" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "Po pritet të vijnë pjesëmarrësit" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "Thirrjen e kanë braktisur krejt pjesëmarrësit" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "Mbylleni thirrjen" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "Do të mbyllni thirrjen e tanishme, jeni i sigurt?" + +#: [visio]pinned +msgid "%s pinned" +msgstr "%s u fiksua" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "Iu hoq fiksimi" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "Po ju thërret %s" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "Po thirret %s" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "Po krijohet një thirrje konferencë në %s" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "Po hyhet në thirrje konferencë" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "Po ujdisen kamera dhe mikrofoni juaj" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "Ju lutemi, lejoni shfletuesin tuaj të përdorë pajisjet tuaja, që t’i formësojë" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "Mikrofon parazgjedhje" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "Kamerë parazgjedhje" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "Mikrofoni parazgjedhje u ndryshua" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "Kamera parazgjedhje u ndryshua" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "S’u pikas zë nga mikrofoni juaj" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "Provoni të bëni ca zhurmë, përzgjidhni një tjetër burim, ose kontrolloni rregullimet e sistemit tuaj" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "Që të funksionojë si duhet, Movim-i lyp që Javascript-i të jetë akivizuar." + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "Movim është një platformë rrjeti shoqëror të shpërndarë, që mbron privatësinë tuaj dhe ju sjell një grup veçorish njëra më e mirë se tjetra." + +#: [global]loading +msgid "Loading…" +msgstr "Po ngarkohet…" + +#: [global]or +msgid "Or" +msgstr "Ose" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "Kaloni te një nyjë tjetër" + +#: [global]main_menu +msgid "Main menu" +msgstr "Menuja kryesore" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "Menu e poshthme" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "Kalo te lënda kryesore" + +#: [page]about +msgid "About" +msgstr "Rreth" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Krijim Llogarie" + +#: [page]administration +msgid "Administration" +msgstr "Administrim" + +#: [page]avatar +msgid "Profile Picture" +msgstr "Foto Profili" + +#: [page]blog +msgid "Blog" +msgstr "Blog" + +#: [page]chats +msgid "Messages" +msgstr "Mesazhe" + +#: [page]communities +msgid "Communities" +msgstr "Bashkësi" + +#: [page]explore +msgid "Explore" +msgstr "Eksploroni" + +#: [page]feed +msgid "Feed" +msgstr "Prurje" + +#: [page]home +msgid "Home" +msgstr "Kreu" + +#: [page]login +msgid "Login" +msgstr "Hyrje" + +#: [page]news +msgid "News" +msgstr "Lajme" + +#: [page]not_found +msgid "Not Found" +msgstr "S’u Gjet" + +#: [page]posts +msgid "Posts" +msgstr "Postime" + +#: [page]publish +msgid "Publish" +msgstr "Publikoni" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "Ndajeni me të tjerët" + +#: [page]space +msgid "Space" +msgstr "Hapësirë" + +#: [page]tag +msgid "Tag" +msgstr "Etiketë" + +#: [page]visio +msgid "Visio-conference" +msgstr "Konferencë Visio" + +#: [error]error +msgid "Error: %s" +msgstr "Gabim: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "S’ngarkohet dot kartela '%s'" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "Widget-i '%s' s’ekziston." + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "Akti i kërkuar '%s' s’është i regjistruar." + +#: [error]whoops +msgid "Whoops!" +msgstr "Ooh!" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "Movim-i s’komunikon dot me shërbyesin, ju lutemi, riprovoni më vonë" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "Rilidhje me shërbyesin…" + +#: [error]oops +msgid "Oops!" +msgstr "Oooh!" + +#: [button]accept +msgid "Accept" +msgstr "Pranoje" + +#: [button]add +msgid "Add" +msgstr "Shtoni" + +#: [button]audio_call +msgid "Audio Call" +msgstr "Thirrje Audio" + +#: [button]bool_no +msgid "No" +msgstr "Jo" + +#: [button]bool_yes +msgid "Yes" +msgstr "Po" + +#: [button]call +msgid "Call" +msgstr "Thirre" + +#: [button]cancel +msgid "Cancel" +msgstr "Anuloje" + +#: [button]chat +msgid "Chat" +msgstr "Fjalosje" + +#: [button]clear +msgid "Clear" +msgstr "Pastroje" + +#: [button]close +msgid "Close" +msgstr "Mbylle" + +#: [button]connecting +msgid "Connecting" +msgstr "Po lidhet" + +#: [button]copy_link +msgid "Copy Link" +msgstr "Kopjo Lidhjen" + +#: [button]create +msgid "Create" +msgstr "Krijoje" + +#: [button]delete +msgid "Delete" +msgstr "Fshije" + +#: [button]destroy +msgid "Destroy" +msgstr "Asgjësoje" + +#: [button]discover +msgid "Discover" +msgstr "Zbuloni" + +#: [button]enable +msgid "Enable" +msgstr "Aktivizoje" + +#: [button]join +msgid "Join" +msgstr "Merrni pjesë" + +#: [button]leave +msgid "Leave" +msgstr "Braktiseni" + +#: [button]like +msgid "Like" +msgstr "Pëlqim" + +#: [button]more +msgid "More" +msgstr "Më tepër" + +#: [button]new +msgid "New conversation" +msgstr "Bisedë e re" + +#: [button]next +msgid "Next" +msgstr "Pasuesi" + +#: [button]not_now +msgid "Not Now" +msgstr "Jo Tani" + +#: [button]open +msgid "Open" +msgstr "I hapur" + +#: [button]previous +msgid "Previous" +msgstr "I mëparshmi" + +#: [button]quote +msgid "Quote" +msgstr "Citim" + +#: [button]refresh +msgid "Refresh" +msgstr "Rifreskoje" + +#: [button]refuse +msgid "Refuse" +msgstr "Hidhe poshtë" + +#: [button]register +msgid "Register" +msgstr "Regjistrohuni" + +#: [button]remove +msgid "Remove" +msgstr "Hiqe" + +#: [button]reply +msgid "Reply" +msgstr "Përgjigjuni" + +#: [button]return +msgid "Return" +msgstr "Kthehu" + +#: [button]save +msgid "Save" +msgstr "Ruaje" + +#: [button]search +msgid "Search" +msgstr "Kërkoni" + +#: [button]send_to +msgid "Send to" +msgstr "Dërgoje te" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "Ndajeni me të tjerët" + +#: [button]sign_up +msgid "Sign Up" +msgstr "Regjistrohuni" + +#: [button]submitting +msgid "Submitting" +msgstr "Po parashtrohet" + +#: [button]unregister +msgid "Unregister" +msgstr "Çregjistrohuni" + +#: [button]update +msgid "Update" +msgstr "Përditësoje" + +#: [button]updating +msgid "Updating" +msgstr "Po përditësohet" + +#: [button]validate +msgid "Validate" +msgstr "Vleftësoje" + +#: [button]video_call +msgid "Video Call" +msgstr "Thirrje Video" + +#: [input]optional +msgid "Optional" +msgstr "Opsional" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "Bashkësi e Përshoqëruar" + +#: [input]open_me_using +msgid "Open me using" +msgstr "Hapmë duke përdorur" + +#: [day]title +msgid "Day" +msgstr "Ditë" + +#: [day]monday +msgid "Monday" +msgstr "E hënë" + +#: [day]tuesday +msgid "Tuesday" +msgstr "E martë" + +#: [day]wednesday +msgid "Wednesday" +msgstr "E mërkurë" + +#: [day]thursday +msgid "Thursday" +msgstr "E enjte" + +#: [day]friday +msgid "Friday" +msgstr "E premte" + +#: [day]saturday +msgid "Saturday" +msgstr "E shtunë" + +#: [day]sunday +msgid "Sunday" +msgstr "E diel" + +#: [client]bot +msgid "Bot" +msgstr "Robot" + +#: [client]console +msgid "Console" +msgstr "Konsolë" + +#: [client]desktop +msgid "Desktop" +msgstr "Desktop" + +#: [client]phone +msgid "Phone" +msgstr "Telefon" + +#: [client]web +msgid "Web" +msgstr "Web" + +#: [client]registered +msgid "Registered" +msgstr "I regjistruar" + +#: [client]gateway +msgid "Gateway" +msgstr "Kanal" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "Në linjë" + +#: [presence]away +msgid "Away" +msgstr "I larguar" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "Mos Më Bezdisni" + +#: [presence]xa +msgid "Extended Away" +msgstr "Largim i Zgjeruar" + +#: [presence]offline +msgid "Offline" +msgstr "Jo në linjë" + +#: [presence]error +msgid "Error" +msgstr "Gabim" + +#: [mood]afraid +msgid "afraid" +msgstr "i frikësuar" + +#: [mood]amazed +msgid "amazed" +msgstr "i mahnitur" + +#: [mood]amorous +msgid "amorous" +msgstr "i dashuruar" + +#: [mood]angry +msgid "angry" +msgstr "i nxehur" + +#: [mood]annoyed +msgid "annoyed" +msgstr "i bezdisur" + +#: [mood]anxious +msgid "anxious" +msgstr "i merakosur" + +#: [mood]aroused +msgid "aroused" +msgstr "i eksituar" + +#: [mood]ashamed +msgid "ashamed" +msgstr "i turpëruar" + +#: [mood]bored +msgid "bored" +msgstr "i mërzitur" + +#: [mood]brave +msgid "brave" +msgstr "trim" + +#: [mood]calm +msgid "calm" +msgstr "i qetë" + +#: [mood]cautious +msgid "cautious" +msgstr "i matur" + +#: [mood]cold +msgid "cold" +msgstr "i ftohtë" + +#: [mood]confident +msgid "confident" +msgstr "me vetëbesim" + +#: [mood]confused +msgid "confused" +msgstr "toruahumbur" + +#: [mood]contemplative +msgid "contemplative" +msgstr "soditës" + +#: [mood]contented +msgid "contented" +msgstr "i kënaqur" + +#: [mood]cranky +msgid "cranky" +msgstr "zevzek" + +#: [mood]crazy +msgid "crazy" +msgstr "i lojtur" + +#: [mood]creative +msgid "creative" +msgstr "krijues" + +#: [mood]curious +msgid "curious" +msgstr "kureshtar" + +#: [mood]dejected +msgid "dejected" +msgstr "i dëshpëruar" + +#: [mood]depressed +msgid "depressed" +msgstr "i ligështuar" + +#: [mood]disappointed +msgid "disappointed" +msgstr "i zhgënjyer" + +#: [mood]disgusted +msgid "disgusted" +msgstr "i neveritur" + +#: [mood]dismayed +msgid "dismayed" +msgstr "i tronditur" + +#: [mood]distracted +msgid "distracted" +msgstr "i shpërqendruar" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "i turpëruar" + +#: [mood]envious +msgid "envious" +msgstr "ziliqar" + +#: [mood]excited +msgid "excited" +msgstr "i ngazëllyer" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "joshës" + +#: [mood]frustrated +msgid "frustrated" +msgstr "i bezdisur" + +#: [mood]grateful +msgid "grateful" +msgstr "mirënjohës" + +#: [mood]grieving +msgid "grieving" +msgstr "i pikëlluar" + +#: [mood]grumpy +msgid "grumpy" +msgstr "gërnjar" + +#: [mood]guilty +msgid "guilty" +msgstr "fajtor" + +#: [mood]happy +msgid "happy" +msgstr "i lumtur" + +#: [mood]hopeful +msgid "hopeful" +msgstr "optimist" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "i përulur" + +#: [mood]humiliated +msgid "humiliated" +msgstr "i poshtëruar" + +#: [mood]hungry +msgid "hungry" +msgstr "i uritur" + +#: [mood]hurt +msgid "hurt" +msgstr "i lënduar" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "i mahnitur" + +#: [mood]in_love +msgid "in love" +msgstr "i dashuruar" + +#: [mood]indignant +msgid "indignant" +msgstr "i zemëruar" + +#: [mood]interested +msgid "interested" +msgstr "i interesuar" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "i helmuar" + +#: [mood]invincible +msgid "invincible" +msgstr "i pamposhtur" + +#: [mood]jealous +msgid "jealous" +msgstr "xheloz" + +#: [mood]lonely +msgid "lonely" +msgstr "i vetmuar" + +#: [mood]lost +msgid "lost" +msgstr "i humbur" + +#: [mood]lucky +msgid "lucky" +msgstr "fatlum" + +#: [mood]mean +msgid "mean" +msgstr "shpirtvogël" + +#: [mood]moody +msgid "moody" +msgstr "i zymtë" + +#: [mood]nervous +msgid "nervous" +msgstr "nervoz" + +#: [mood]neutral +msgid "neutral" +msgstr "asnjanës" + +#: [mood]offended +msgid "offended" +msgstr "i fyer" + +#: [mood]outraged +msgid "outraged" +msgstr "i tërbuar" + +#: [mood]playful +msgid "playful" +msgstr "lojcak" + +#: [mood]proud +msgid "proud" +msgstr "krenar" + +#: [mood]relaxed +msgid "relaxed" +msgstr "i çlodhur" + +#: [mood]relieved +msgid "relieved" +msgstr "i lehtësuar" + +#: [mood]remorseful +msgid "remorseful" +msgstr "i penduar" + +#: [mood]restless +msgid "restless" +msgstr "i palodhur" + +#: [mood]sad +msgid "sad" +msgstr "i trishtuar" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "shpotitës" + +#: [mood]satisfied +msgid "satisfied" +msgstr "i kënaqur" + +#: [mood]serious +msgid "serious" +msgstr "serioz" + +#: [mood]shocked +msgid "shocked" +msgstr "i tronditur" + +#: [mood]shy +msgid "shy" +msgstr "i turpshëm" + +#: [mood]sick +msgid "sick" +msgstr "i sëmurë" + +#: [mood]sleepy +msgid "sleepy" +msgstr "përgjumësh" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "i çlirët" + +#: [mood]stressed +msgid "stressed" +msgstr "i stresuar" + +#: [mood]strong +msgid "strong" +msgstr "i fortë" + +#: [mood]surprised +msgid "surprised" +msgstr "i befasuar" + +#: [mood]thankful +msgid "thankful" +msgstr "mirënjohës" + +#: [mood]thirsty +msgid "thirsty" +msgstr "i etur" + +#: [mood]tired +msgid "tired" +msgstr "i lodhur" + +#: [mood]undefined +msgid "undefined" +msgstr "i papërcaktuar" + +#: [mood]weak +msgid "weak" +msgstr "i dobët" + +#: [mood]worried +msgid "worried" +msgstr "i shqetësuar" + +#: [month]title +msgid "Month" +msgstr "Muaj" + +#: [month]january +msgid "January" +msgstr "Janar" + +#: [month]february +msgid "February" +msgstr "Shkurt" + +#: [month]march +msgid "March" +msgstr "Mars" + +#: [month]april +msgid "April" +msgstr "Prill" + +#: [month]may +msgid "May" +msgstr "Maj" + +#: [month]june +msgid "June" +msgstr "Qershor" + +#: [month]july +msgid "July" +msgstr "Korrik" + +#: [month]august +msgid "August" +msgstr "Gusht" + +#: [month]september +msgid "September" +msgstr "Shtator" + +#: [month]october +msgid "October" +msgstr "Tetor" + +#: [month]november +msgid "November" +msgstr "Nëntor" + +#: [month]december +msgid "December" +msgstr "Dhjetor" + +#: [year]title +msgid "Year" +msgstr "Vit" + +#: [date]today +msgid "Today" +msgstr "Sot" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "Nesër" + +#: [date]yesterday +msgid "Yesterday" +msgstr "Dje" + +#: [date]ago +msgid "%d days ago" +msgstr "%d ditë më parë" + +#: [date]day +msgid "day" +msgstr "ditë" + +#: [post]title +msgid "Title" +msgstr "Titull" + +#: [post]place +msgid "Place" +msgstr "Vend" + +#: [post]by +msgid "by" +msgstr "nga" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "Gjeovendëzim" + +#: [post]email +msgid "email" +msgstr "email" + +#: [post]empty +msgid "No content" +msgstr "S’ka lëndë" + +#: [post]no_comments +msgid "No comments yet" +msgstr "Ende pa komente" + +#: [post]older +msgid "Get older posts" +msgstr "Merr postime më të vjetra" + +#: [post]new_items +msgid "%s new items" +msgstr "%s zëra të rinj" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "Gabim botimi komenti" + +#: [post]comments_get +msgid "Get the comments" +msgstr "Merrni komentet" + +#: [post]comment_add +msgid "Add a comment" +msgstr "Shtoni një koment" + +#: [post]share +msgid "Share with" +msgstr "Ndajeni me" + +#: [post]share_everyone +msgid "Everyone" +msgstr "Cilido" + +#: [post]updated +msgid "Updated" +msgstr "U përditësua" + +#: [post]content_not_found +msgid "Content not found" +msgstr "S'u gjet lëndë" + +#: [post]default_title +msgid "Contact publication" +msgstr "Publikim kontakti" + +#: [post]comments +msgid "Comments" +msgstr "Komente" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "Postimi origjinal u fshi" + +#: [filesize]byte +msgid "B" +msgstr "B" + +#: [filesize]kilobyte +msgid "KB" +msgstr "KB" + +#: [filesize]megabyte +msgid "MB" +msgstr "MB" + +#: [filesize]gigabyte +msgid "GB" +msgstr "GB" + +#: [filesize]terabyte +msgid "TB" +msgstr "TB" + +#: [affiliation]owner +msgid "Owner" +msgstr "Pronar" + +#: [affiliation]admin +msgid "Admin" +msgstr "Përgjegjës" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "Botues" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "Thjesht publikoje" + +#: [affiliation]member +msgid "Member" +msgstr "Anëtar" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "përshoqëro <zotëru" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "Pa përshoqërim" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "Përdoruesi u lejua si pronar." + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "Përdoruesi u lejua si përgjegjës" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "Përdorues u lejua si anëtar" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "Përdoruesi u dëbua" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "Për përdoruesin u hoq përshoqërim" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "API nuk kapet dot, riprovoni më vonë" + +#: [field]type_here +msgid "Type here" +msgstr "Shtypni këtu" diff --git a/frontend/locales/sv.po b/frontend/locales/sv.po new file mode 100644 index 0000000..b35382e --- /dev/null +++ b/frontend/locales/sv.po @@ -0,0 +1,4157 @@ +# +# Translators: +# FIRST AUTHOR , 2012 +# Håkan Eriksson , 2017 +# Lyn, 2022,2025 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Lyn, 2022,2025\n" +"Language-Team: Swedish (http://app.transifex.com/movim/movim/language/sv/)\n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Tack" + +#: [about]developers +msgid "Developers" +msgstr "Utvecklare" + +#: [about]translators +msgid "Translators" +msgstr "Översättare" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Tack till alla översättare" + +#: [about]software +msgid "Software" +msgstr "Programvara" + +#: [about]resources +msgid "Resources" +msgstr "Resurser" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim är en XMPP-baserad kommunikationsplattform. Hela projektet, förutom följande mjukvara och resurser, är under" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Konto" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Ändra mitt lösenord" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Lösenord" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Bekräfta nytt lösenord" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "Lösenordet har ändrats" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "Lösenorden överensstämmer inte" + +#: [account]delete +msgid "Delete your account" +msgstr "Ta bort ditt konto" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "Gateways" + +#: [account]clear +msgid "Leave this instance" +msgstr "Lämna denna instans" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Aktioner" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "Allmänna inställningar" + +#: [general]theme +msgid "Theme" +msgstr "Tema" + +#: [general]language +msgid "Default language" +msgstr "Standardspråk" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "Bara chat" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Användarnamn" + +#: [credentials]re_password +msgid "Retype password" +msgstr "" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Beskrivning" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "Välj ett land från listan" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "Blockerad" + +#: [blocked]block_account +msgid "Block the account" +msgstr "Blockera kontot" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "Avblockera kontot" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "Kontot blockerad" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "Kontot avblockerad" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "Här är personerna vilka du har blockerat" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "%s's blogg" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "Lägg till reaktion" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "Visa profilen" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "Fingeravtryck" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "OMEMO fingeravtryck" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "Alla" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "Kontakter" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "Hitta ny server" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Inställningar" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "Prenumerationer" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "Offentliga prenumerationer" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "Mina gemenskapsprenumerationer" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "Avancerade Inställningar" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "Ljudaviseringar" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "Namn" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "Smeknamn" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Födelsedatum" + +#: [general]gender +msgid "Gender" +msgstr "" + +#: [general]marital +msgid "Marital Status" +msgstr "" + +#: [general]email +msgid "Email" +msgstr "E-Post" + +#: [general]website +msgid "Website" +msgstr "Webbsida" + +#: [general]about +msgid "About Me" +msgstr "Om mig" + +#: [general]accounts +msgid "Other Accounts" +msgstr "Andra konton" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "Plats" + +#: [position]country +msgid "Country" +msgstr "Land" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "Okänt fel" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "Anslutad" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "Aviseringar" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "Offentlig profil" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "Nyhetsflödet" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "Kommentar publicerad" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "Dela på Movim" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "Logga ut" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "Du är inte auktoriserat att publicera här" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "Hjälp" + +#: [publishhelp]more +msgid "More help" +msgstr "Mer hjälp" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Skapa ett nytt konto" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "Ingen kontoform funnen på servern" + +#: [create]server_on +msgid "on" +msgstr "på" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "Laddar" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "Visa alla chattrum" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "Chattrum" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "Offentliga profiler" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "Visa alla kontakterna" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Profil" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "Profil uppdaterad" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "…ansluta" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "Administration" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "Utforska" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "Nyheter" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "Publicera" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "Stäng" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "Sök" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "" + +#: [day]tuesday +msgid "Tuesday" +msgstr "" + +#: [day]wednesday +msgid "Wednesday" +msgstr "" + +#: [day]thursday +msgid "Thursday" +msgstr "" + +#: [day]friday +msgid "Friday" +msgstr "" + +#: [day]saturday +msgid "Saturday" +msgstr "" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "" + +#: [presence]away +msgid "Away" +msgstr "" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "" + +#: [month]february +msgid "February" +msgstr "" + +#: [month]march +msgid "March" +msgstr "" + +#: [month]april +msgid "April" +msgstr "" + +#: [month]may +msgid "May" +msgstr "" + +#: [month]june +msgid "June" +msgstr "" + +#: [month]july +msgid "July" +msgstr "" + +#: [month]august +msgid "August" +msgstr "" + +#: [month]september +msgid "September" +msgstr "" + +#: [month]october +msgid "October" +msgstr "" + +#: [month]november +msgid "November" +msgstr "" + +#: [month]december +msgid "December" +msgstr "" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "" + +#: [date]yesterday +msgid "Yesterday" +msgstr "Igår" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "e-post" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "Utgivare" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/sw.po b/frontend/locales/sw.po new file mode 100644 index 0000000..efcc2ce --- /dev/null +++ b/frontend/locales/sw.po @@ -0,0 +1,4154 @@ +# +# Translators: +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Swahili (http://app.transifex.com/movim/movim/language/sw/)\n" +"Language: sw\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "" + +#: [about]developers +msgid "Developers" +msgstr "" + +#: [about]translators +msgid "Translators" +msgstr "" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "" + +#: [about]software +msgid "Software" +msgstr "" + +#: [about]resources +msgid "Resources" +msgstr "" + +#: [about]api +msgid "API" +msgstr "" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "" + +#: [account]delete +msgid "Delete your account" +msgstr "" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "" + +#: [general]theme +msgid "Theme" +msgstr "" + +#: [general]language +msgid "Default language" +msgstr "" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "" + +#: [credentials]re_password +msgid "Retype password" +msgstr "" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "" + +#: [general]gender +msgid "Gender" +msgstr "" + +#: [general]marital +msgid "Marital Status" +msgstr "" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "" + +#: [general]about +msgid "About Me" +msgstr "" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "" + +#: [day]tuesday +msgid "Tuesday" +msgstr "" + +#: [day]wednesday +msgid "Wednesday" +msgstr "" + +#: [day]thursday +msgid "Thursday" +msgstr "" + +#: [day]friday +msgid "Friday" +msgstr "" + +#: [day]saturday +msgid "Saturday" +msgstr "" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "" + +#: [presence]away +msgid "Away" +msgstr "" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "" + +#: [month]february +msgid "February" +msgstr "" + +#: [month]march +msgid "March" +msgstr "" + +#: [month]april +msgid "April" +msgstr "" + +#: [month]may +msgid "May" +msgstr "" + +#: [month]june +msgid "June" +msgstr "" + +#: [month]july +msgid "July" +msgstr "" + +#: [month]august +msgid "August" +msgstr "" + +#: [month]september +msgid "September" +msgstr "" + +#: [month]october +msgid "October" +msgstr "" + +#: [month]november +msgid "November" +msgstr "" + +#: [month]december +msgid "December" +msgstr "" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "" + +#: [date]yesterday +msgid "Yesterday" +msgstr "" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/tr.po b/frontend/locales/tr.po new file mode 100644 index 0000000..344abd5 --- /dev/null +++ b/frontend/locales/tr.po @@ -0,0 +1,4158 @@ +# +# Translators: +# Ali Can , 2018 +# alisan alacam , 2016 +# FIRST AUTHOR , 2011 +# Kerem Kurtuldu, 2026 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Kerem Kurtuldu, 2026\n" +"Language-Team: Turkish (http://app.transifex.com/movim/movim/language/tr/)\n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Teşekkürler" + +#: [about]developers +msgid "Developers" +msgstr "Geliştiriciler" + +#: [about]translators +msgid "Translators" +msgstr "Çeviriciler" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Tüm geliştiricilere teşekkür ederiz" + +#: [about]software +msgid "Software" +msgstr "Yazılım" + +#: [about]resources +msgid "Resources" +msgstr "" + +#: [about]api +msgid "API" +msgstr "" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Hesap" + +#: [account]account_management +msgid "Account management" +msgstr "Hesap yönetimi" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Şifremi değiştir" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Şifre" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Şifre onaylama" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "Şifre güncellendi" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "" + +#: [account]delete +msgid "Delete your account" +msgstr "" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "Kullanıcı adınızın tamamını yazın" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Eylemler" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "Genel Ayarlar" + +#: [general]theme +msgid "Theme" +msgstr "Tema" + +#: [general]language +msgid "Default language" +msgstr "Varsayılan Dil" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Kullanıcı adı" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Şifre tekrar" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "Hepsi" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Yapılandırma" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "Dil" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "Ad" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "Takma ad" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Doğum Tarihi" + +#: [general]gender +msgid "Gender" +msgstr "Cinsiyeti" + +#: [general]marital +msgid "Marital Status" +msgstr "Medeni Durumu" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "Web sayfası" + +#: [general]about +msgid "About Me" +msgstr "Hakkımda" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "Rumuz" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "Yanlış kullanıcı adı" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "Dahili sunucu hatası" + +#: [error]session +msgid "Session error" +msgstr "Oturum hatası" + +#: [error]account_created +msgid "Account successfully created" +msgstr "Hesap başarıyla oluşturuldu" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "Bilinmeyen hata" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "Movim kimlik doğrulamada başarısız oldu. Yanlış veri girdiniz" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "XMPP kimlik doğrulaması başarısız oldu" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "Adresim" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "Yardım" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Yeni hesap oluştur" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "" + +#: [create]server_on +msgid "on" +msgstr "Açık" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "Yükleniyor" + +#: [create]placeholder +msgid "…and start playing" +msgstr "...ve oynatılıyor" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "Kayıt olma başarısız" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Profil" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Gönder" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Sıfırla" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Hesap Oluşturma" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "Besleme" + +#: [page]home +msgid "Home" +msgstr "Anasayfa" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "Hata: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "Dosya '% s' yüklenemedi" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "Kabul et" + +#: [button]add +msgid "Add" +msgstr "Ekle" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "Hayır" + +#: [button]bool_yes +msgid "Yes" +msgstr "Evet" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "İptal" + +#: [button]chat +msgid "Chat" +msgstr "Sohbet" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "Göndermek" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "Gün" + +#: [day]monday +msgid "Monday" +msgstr "Pazartesi" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Salı" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Çarşamba" + +#: [day]thursday +msgid "Thursday" +msgstr "Perşembe" + +#: [day]friday +msgid "Friday" +msgstr "Cuma" + +#: [day]saturday +msgid "Saturday" +msgstr "Cumartesi" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "Bot" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "Masaüstü" + +#: [client]phone +msgid "Phone" +msgstr "Telefon" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "Çevrimiçi" + +#: [presence]away +msgid "Away" +msgstr "Uzakta" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "Rahatsız Etmeyin" + +#: [presence]xa +msgid "Extended Away" +msgstr "Uzun Süredir Uzakta" + +#: [presence]offline +msgid "Offline" +msgstr "Çevrimdışı" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "Ay" + +#: [month]january +msgid "January" +msgstr "Ocak" + +#: [month]february +msgid "February" +msgstr "Şubat" + +#: [month]march +msgid "March" +msgstr "Mart" + +#: [month]april +msgid "April" +msgstr "Nisan" + +#: [month]may +msgid "May" +msgstr "Mayıs" + +#: [month]june +msgid "June" +msgstr "Haziran" + +#: [month]july +msgid "July" +msgstr "Temmuz" + +#: [month]august +msgid "August" +msgstr "Ağustos" + +#: [month]september +msgid "September" +msgstr "Eylül" + +#: [month]october +msgid "October" +msgstr "Ekim" + +#: [month]november +msgid "November" +msgstr "Kasım" + +#: [month]december +msgid "December" +msgstr "Aralık" + +#: [year]title +msgid "Year" +msgstr "Yıl" + +#: [date]today +msgid "Today" +msgstr "Bugün" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "Yarın" + +#: [date]yesterday +msgid "Yesterday" +msgstr "Dün" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "gün" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "Eski gönderileri getir" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/ug.po b/frontend/locales/ug.po new file mode 100644 index 0000000..befd8a5 --- /dev/null +++ b/frontend/locales/ug.po @@ -0,0 +1,4156 @@ +# +# Translators: +# Keram, 2022 +# Keram, 2023 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Keram, 2023\n" +"Language-Team: Uyghur (http://app.transifex.com/movim/movim/language/ug/)\n" +"Language: ug\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "رەھمەت" + +#: [about]developers +msgid "Developers" +msgstr "لايىھەلىگۈچىلەر" + +#: [about]translators +msgid "Translators" +msgstr "تەرجىمانلار" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "بارلىق تەرجىمانلارغا رەھمەت" + +#: [about]software +msgid "Software" +msgstr "يۇمتال" + +#: [about]resources +msgid "Resources" +msgstr "بايلىقلار" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "مۇۋىم بولسا بىر XMPP-ئاساسىدىكى ئالاقە مۇنبىرى. بارلىق تۈر، تۆۋەندىكى يۇمشاق دىتال ھەمدە بايلىقلاردىن باشقا، نى ئىشلىتىدۇ." + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "ھېسابات" + +#: [account]account_management +msgid "Account management" +msgstr "ھېسابات باشقۇرۇش" + +#: [account]password_change_title +msgid "Change my password" +msgstr "مەخپىي نۇمۇرنى ئۆزگەرتىش" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "مەخپىي نۇمۇر" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "مەخپىي نۇمۇرنى جەزىملەشتۈرۈش" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "مەخپىي نۇمۇر يېڭىلاندى" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "تەمىنلەنگەن مەخپىي نۇمۇرلار ئوخشاش ئەمەس" + +#: [account]delete +msgid "Delete your account" +msgstr "ھېساباتىڭىزنى ئۈچۈرۈڭ" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "تۇلۇق ئىشلەتكۈچى نامىڭىزنى كىرگۈزۈڭ" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "بىر ئىناۋەتلىك ئىشلەتكۈچى نامىنى تەمىنلەڭ." + +#: [account]gateway_title +msgid "Gateways" +msgstr "كىرىش ئېغىزى" + +#: [account]clear +msgid "Leave this instance" +msgstr "بۇ مىسالدىن ئايرىلىش" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "OMEMO ئاچقۇچىنى ئۆچۈرۈش" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "سىز تۆۋەندىكى OMMEO ئاچقۇچىنى ئۆچۈرۋېتىسىز. سىزنىڭ ئالاقىداشلىرىڭىز بۇ ئاچقۇچنى ئىشلىتىپ ئۇچۇرلارنى شىفىرلىيالمايدۇ. بۇ ھەركەتنى ئەسلىگە قايتۇرغىلى بولمايدۇ. جەزىملەشتۈرەمسىز؟" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "ھەركەتلەر" + +#: [adhoc]completed +msgid "Action completed" +msgstr "ھەركەت تاماملاندى" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "ئۇمۇمىي تەڭشەك" + +#: [general]theme +msgid "Theme" +msgstr "كۆرۈنۈش" + +#: [general]language +msgid "Default language" +msgstr "سۈكۈتتىكى تىل" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "خاتىرە مۇكەممەللىكى" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "تەۋسىيەنى چەكلەش" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "پەقەتلا پاراڭ" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "بارلىق ئىجتىمائىي ئىقتىدارلارنى (جامائەتلەر، بىلوگ...) يوق قىلىش ھەمدە پەقەتلا پاراڭلىشىشنى ساقلاپ قېلىش" + +#: [credentials]title +msgid "Administration Credential" +msgstr "باشقۇرغۇچى پارولى" + +#: [credentials]username [input]username +msgid "Username" +msgstr "ئىشلەتكۈچى نامى" + +#: [credentials]re_password +msgid "Retype password" +msgstr "مەخپىي نۇمۇرنى قايتا كىرگۈزۈڭ" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "XMPP تىزىملىتىش ئىقتىدارىنى يوق قىلىش" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "XMPP تىزىملىتىش ئېقىمى ھەمدە كۇنۇپكىسىنى بەتتىن چىقىرىش" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "ئەگەر سىز بارلىق XMPP ھېساباتلارنىڭ كىرىشىگە يول قويسىڭىز، بۇ ئۇرۇننى بوش قۇيۇڭ." + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "چۈشەندۈرۈلىشى" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "بۇ مىسالنىڭ ئۇمۇمىي چۈشەندۈرۈلىشى" + +#: [information]banner +msgid "Main banner" +msgstr "ئاساسلىق پىلاكات" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "رەسىمنىڭ چوڭ ئەمەسلىكىگە ھەمدە بارلىق توربەتلەردىن يەتكىلى بۇلىدىغانلىقىغا كاپالەتلىك قىلىڭ" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "بۇ ئۇچۇر كىرىش بېتىدە كۆرۈنىدۇ. ئۇ سىزنىڭ مۇۋىم مىسالىنىڭ ئىشلىتىش كىلىشىمىگە ئوخشاش بەتلەرنىڭ ئۇلىنىشىنى قىستۇرۇش ئۈچۈن ئىشلىتىلدۇ." + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "ئەگەر سىز ھېچقانداق ئۇچۇر كۆرسەتمىسىڭىز، بۇ ئۇرۇننى بوش قۇيۇڭ." + +#: [information]label +msgid "Information Message" +msgstr "تۇنۇشتۇرۇش ئۇچۇرى" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "سۈكۈتتىكى XMPP مۇلازىمېتىرى" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "ئاساسىي XMPP مۇلازىمېتىر دائىرە نامى" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "ئاساسىي XMPP مۇلازىمېتىر چۈشەندۈرۈلىشى" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "ئاساسىي XMPP مۇلازىمېتىر دۆلىتى" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "بۇ تىزىملىكتىكى بىر دۆلەتنى تاللاڭ" + +#: [tenor]title +msgid "Tenor integration" +msgstr "تېنورنى بىرلەشتۈرۈش" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "سىزنىڭ تېنور API ئاچقۇچىڭىز" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "مۇۋىم تېنور APIنى بىرلەشتۈرۈپ، GIF ئىزدەشنى ھەمدە پاراڭدا ئېلان قىلىش يول قۇيىدۇ" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "تېنورغا كىرىش ھەمدە API ئاچقۇچىغا ئېرىشىش" + +#: [log]empty +msgid "Empty" +msgstr "قۇرۇق" + +#: [log]syslog +msgid "Syslog" +msgstr "سېستىما خاتىرىسى" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "سېستىما خاتىرىسى ھەمدە ھۆججەتلىرى" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "%sئىشلەتكۈچى تەرىپىدىن دوكىلات قىلىندى" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "ئۇ ھېساباتلار بەزى مۇۋىم ئىشلەتكۈچىلىرى تەرىپىدىن دوكىلات قىلىندى" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "سىز باشقا ئىشلەتكۈچىلەر ئۈچۈن ئۇلارنى چەكلىيەلەيسىز" + +#: [adminsessions]title +msgid "Sessions" +msgstr "باسقۇچلار" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "بۇ نوقتىغا نۆۋەتتە ئۇلانغان ئىشلەتكۈچىلەر" + +#: [avatar]file +msgid "File" +msgstr "ھۆججەت" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "تام رەسىمىنى ئۆزگەرتىش" + +#: [banner]updated +msgid "Banner Updated" +msgstr "تام-رەسىم يېڭىلاندى" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "تام-رەسىم يېڭىلانمىدى" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "چەكلەندى" + +#: [blocked]block_account +msgid "Block the account" +msgstr "بۇ ھېساباتنى چەكلەش" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "بۇ ھېساباتنى چەكلىمەسلىك" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "ھېسابات چەكلەندى" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "ھېسابات چەكلەنمىدى" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "سىز بۇ يەردە چەكلەنگەن ئىشلەتكۈچىلەرنى تاپالايسىز" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "تۆۋەندىكى ئىشلەتكۈچىلەر مۇۋىم تەرىپىدىن چەكلەندى شۇڭا ئۇلار سىز بىلەن ئالاقىلىشالمايدۇ" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "باشقۇرغۇچى بۇ تىزىملىكتىن خەۋەردار شۇڭلاشقا ئۇلارنى پۈتۈن سېستىمىدىن چەكلىيەلەيدۇ" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "بۇ مەزمۇن شەخسىي، ئۇنى كۆرۈش ئۈچۈن كىرىڭ" + +#: [message]published +msgid "Message Published" +msgstr "ئۇچۇر ئەۋەتىلدى" + +#: [message]react +msgid "Add a reaction" +msgstr "بىر ئىنكاس قۇشۇڭ" + +#: [message]retract +msgid "Retract" +msgstr "قايتۇرۋېلىش" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "سىزنىڭ تۇنۇشىڭىز بىر ئاۋۋالقى ئۇچۇرنى قايتۇرماقچى بولدى، لىكىن سىزنىڭ خېرىدارىڭىز ئۇنى قوللىمايدۇ." + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "بۇ ئۇچۇر بولسا مۇرەسسە قىلىنغان" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "سىزنىڭ ئۇچۇرىڭىزنى ئەۋەتكىلى بولمىدى، بىر-ئازدىن كىيىن قايتا سىناپ بېقىڭ" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "شىفىرلانغان ئۇچۇر" + +#: [message]retracted +msgid "Retracted message" +msgstr "قايتۇرۋالغان ئۇچۇر" + +#: [message]composing +msgid "Composing…" +msgstr "يېزىۋاتىدۇ..." + +#: [message]invitation +msgid "Invitation" +msgstr "تەكلىپنامە" + +#: [message]paused +msgid "Paused…" +msgstr "توختىدى..." + +#: [message]gone +msgid "Contact gone" +msgstr "تۇنۇش كەتتى" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "↑ئاۋۋالقى ئۇچۇرىڭىزنى تەھرىرلەش ئۈچۈن" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr ": قىسقايول: چىراي ئىپادىسى كىرگۈزۈش ئۈچۈن" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%sسىزنىڭ دىققىتىڭىزگە مۇھتاج" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "سىزنىڭ ئۇچۇرىڭىز بۇ يەردە..." + +#: [chat]smileys +msgid "Smileys" +msgstr "كۈلۈمسىرەشلەر" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "دائىملىق تۇنۇشلار" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "تېخى ھېچنىمە يوق..." + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "خىجىل بولماڭ، تۇنجى ئۇچۇرنى ئەۋەتىپ پاراڭنى باشلاڭ" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "سىز بۇ پاراڭخانىغا كىرىش ئۈچۈن بىر تەكلىپ تاپشۇرۋالدىڭىز" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "سىز بۇ پاراڭخانىغا كىرىش ئۈچۈن بىر تەكلىپ ئەۋەتتىڭىز" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "%sغا قېتىلىش" + +#: [chat]profile +msgid "See the profile" +msgstr "تەرجىمالىنى كۆرۈش" + +#: [chat]clear +msgid "Clear the history" +msgstr "تارىخنى تازىلاش" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "ئاخىرقى ئۇچۇرنى تەھرىرلەش" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "قالايمىقان ئىشلىتىشنى دوكىلات قىلىش" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "كەلگەن تېلىفۇن" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "ئۇرغان تېلىفۇن" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "ئېلىنمىغان تېلىفۇن" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "رەت-قىلىنغان تېلىفۇن" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "تېلىفۇن قۇيۇلدى" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "%sسائەت %sمىنۇت" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "%sمىنۇت ھەمدە %sسىكۇنت" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "%sسىكۇنت" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "%sبولسا نۆۋەتتە باشقۇرغۇچى" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "%sبولسا نۆۋەتتە ئىگىسى" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "%sبولسا نۆۋەتتە چەكلەندى" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "%sبولسا ئەزا" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "بۇ ئۇچۇرنى ئەۋەتىۋاتقاندا بىر خاتالىق كۆرۈلدى" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "شىفىرلانغان پاراڭلاردا ھەركەت مۇمكىن ئەمەس" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "بۇ تېكىستنى كۆچۈرۈش" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "تېكىست كۆچۈرۈلدى" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "بارماق ئىزلىرى" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "OMEMO بارماق ئىزلىرى" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "شىفىرلاش ئاچقۇچلىرىنى ياساۋاتىدۇ، بىردەم ساقلاڭ..." + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "شىفىرلاش ئاچقۇچلىرى ياسالدى" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "OMEMO ئۈسكۈنىلىرىنى بىر-تەرەپ قىلىۋاتىدۇ" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "ئۆزىنىڭ شىفىرلاش باسقۇچلىرىنى قۇرۇۋاتىدۇ" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "شىفىرلاش ئېتىۋېتىلدى" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "شىفىرلانغان باسقۇچنى قۇرۇش ئۈچۈن بىر ئۇچۇر يوللاڭ" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "بۇ تۇنۇش ئۈچۈن شىفىرلاشنى ئېچىۋاتىدۇ" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "بۇ تۇنۇش ئۈچۈن شىفىرلاشنى ئېتىۋاتىدۇ" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "ئاخىرقى پائالىيەت" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "%sباسقۇچلار قۇرۇلدى" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "تېخى پاراڭ يوق" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "بۇ %sكۇنۇپكىنى بېسىش ئارقىلىق بىر يېڭى پاراڭنى باشلاڭ" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "بىر تۇنۇش بىلەن پاراڭلىشىڭ" + +#: [chats]me +msgid "Me" +msgstr "مەن" + +#: [chats]picture +msgid "Picture" +msgstr "رەسىم" + +#: [chats]video +msgid "Video" +msgstr "سىن" + +#: [chats]audio +msgid "Audio" +msgstr "ئاۋاز" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "بارلىق" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "ئالاقىداشلار" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "بايقاڭ، ئەگىشىڭ ھەمدە ھەمبەھىرلەڭ" + +#: [communities]counter +msgid "%s communities" +msgstr "%sجامائەتلەر" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "بىر يېڭى مۇلازىمېتىرنى ئىزدەڭ" + +#: [communities]servers +msgid "Communities servers" +msgstr "جامائەتلەر مۇلازىمېتىرلىرى" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "مۇلازىمېتىرلار بىلەن جامائەتلەرنى بايقاڭ" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "جامائەتلەر مۇلازىمېتىرى بايقالدى" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "بۇ مۇلازىمېتىر مەۋجۇت ئەمەس" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "سىز ياقتۇرىدىغان جامائەتلەر" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "جامائەت مۇۋاپىقىيەتلىك قۇرۇلدى" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "بۇ مۇلازىمېتىردا تېخى بىرەر جامائەت يوق" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "%sدا بىر يېڭى جامائەت قۇرۇش" + +#: [communitiesserver]name +msgid "Community name" +msgstr "جامائەت نامى" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "مىنىڭ كىچىك بۇرادەرلەر كۇلۇبۇم" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "بىر ئىناۋەتلىك جامائەت نامىنى كىرگۈزۈڭ (ئەڭ كەمدە 4 ھەرىپ)" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "سىز بۇ مۇلازىمېتىردا بىر يېڭى جامائەت قۇرالمايسىز" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "بۇ بۇيۇملارنى بايقاۋاتقاندىكى خاتالىق" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "ھېچقانداق جامائەت مۇلازىمېتىرى يوق..." + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "بۇ پەيىتتە بىز ھېچقانداق جامائەتنى تاپالمايدىغاندەك قىلىمىز" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "تەڭشەك" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "مۇشتەرىلەر" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "ئاممىۋى مۇشتەرىلەر" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "مېنىڭ جامائەت مۇشتەرىلىرىم" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "جامائەت مۇۋاپىقىيەتلىك ئۆچۈرۈلدى" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "بۇ جامائەتنى ئۆچۈرۈڭ" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "سىز تۆۋەندىكى جامائەتنى ئۆچۈرىۋاتىسىز، ھەركىتىڭىزنى جەزىملەشتۈرۈڭ." + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "بۇ جامائەت ئەمدى مەۋجۇت ئەمەستەك قىلىدۇ. سىز ئۇنى مۇشتەرىلىكتىن ئۆچۈرەمسىز؟" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "تەڭشەك ساقلاندى" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "بۇ نوقتا تەڭشىكىنى يۈرگۈزىۋاتقاندا خاتالىق كۆرۈلدى" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "ئىگىلىرى" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "ئېلان قىلغۇچىلار" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "روللار" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "رول توغرا بەلگىلەندى" + +#: [communityconfig]publication +msgid "Publication" +msgstr "ئېلان قىلىش" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "ئاممىۋىي" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "ھەممە ئادەم ئېلان قىلالايدۇ" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "ئېلان قىلغۇچىلار ئېلان قىلالايدۇ" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "مۇشتەرى بولغۇچىلار" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "مۇشتەرى بولغۇچىلار ئېلان قىلالايدۇ" + +#: [communityconfig]type +msgid "Community type" +msgstr "جامائەت تۈرى" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "ماقالىلەر" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "ئېلان قىلىش ھەمدە ماقالىلەرنى ئۇقۇش" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "كۆرگەزمىخانا" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "ئېلان قىلىش ھەمدە رەسىملەرنى كۆرۈش" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "%sمۇشتەرى بولغۇچىلار" + +#: [communitydata]num +msgid "%s posts" +msgstr "%sيازمىلار" + +#: [communitydata]public +msgid "Public page" +msgstr "ئاممىۋىي بەت" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "پەقەتلا ئېلان قىلغۇچىلار ئېلان قىلالايدۇ" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "پەقەتلا مۇشتەرى بولغۇچىلار ئېلان قىلالايدۇ" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "بۇ جامائەتكە مۇشتەرى بۇلۇش تاقالدى" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "بۇ جامائەت ئۈچۈن بىر بەلگە قۇيۇڭ" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "مېنىڭ جامائەت ئىسمىم" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "ئۇ سىزنىڭ تەرجىمالىڭىزدا كۆرسىتىلىدۇ" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "جەزىملەشتۈرەمسىز؟" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "ھېچقانداق يازما يوقمۇ؟ سىزنىڭ تۇنجى يازمىڭىزنى چىقىرىپ كىشلەرگە سىزنىڭ تەرجىمالىڭىزنى بايقىتىڭ" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "مېنىڭ تۇنجى يازمامنى چىقىرىمەن" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "شەخسىي ھېسابات" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "تىزىملاتقان جامائەتلەر" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "سالام" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "بۇ يەردە سىزنىڭ بارلىق مۇشتەرىلىرىڭىزنى بىر-تەرەپ قىلالايسىز." + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "سىزنىڭ تېخى ھېچقانداق مۇشتەرىلىكىڭىز يوق." + +#: [config]general +msgid "General" +msgstr "ئۇمۇمىي" + +#: [config]language +msgid "Language" +msgstr "تىل" + +#: [config]roster +msgid "Roster display" +msgstr "ئالاقە تىزىملىكىنى كۆرسىتىش" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "توردا ئەمەس تۇنۇشلارنى كۆرسىتىش" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "توردا ئەمەس تۇنۇشلارنى يۇشۇرۇش" + +#: [config]appearence +msgid "Appearance" +msgstr "كۆرۈنۈش" + +#: [config]updated +msgid "Configuration updated" +msgstr "تەڭشەك يېڭىلاندى" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "تەڭشەك ئىناۋەتسىز" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "ئالىي تەڭشەك" + +#: [config]nsfw +msgid "Display adult content" +msgstr "سېرىق مەزمۇنىنى كۆرسىتىش" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "سىزنى nsfw# بەلگىسى قۇيۇلغان يوللانمىلارنى ئۇقۇغىلى قۇيىدۇ" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "OMEMO نى ئىشلىتىش" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "مۇۋىم ھېساباتىڭىزدا باشتىن-ئاخىر شىفىرلاشنى قوزغىتىڭ" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "كېچە ھالىتى" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "كۆزىڭىزنى ئەسلىگە قايتۇرۇش ئۈچۈن قاراڭغۇ رەڭلەرنى ئىشلىتىڭ" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "ئاساسىي پاراڭ بېتى" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "مۇلازىمېتىر-تەرەپ پاراڭ ئۇچۇرلىرىنى ئارخىپلاشتۇرۇش مايىللىقلىرى" + +#: [config]mam_always +msgid "Always" +msgstr "دائىم" + +#: [config]mam_never +msgid "Never" +msgstr "ھەرگىز" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "ئارخىپلاش مايىللىقلىرى ساقلاندى" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "شەخسىي بىلوگ مەخپىيەتلىكى" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "ئاممىۋى بىلوگ" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "بۇ توردىكى ھەممەيلەنگە ئۇچۇق" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "شەخسىي بىلوگ" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "سىزنىڭ ئەگەشكۈچىلىرىڭىزگىلا ئۇچۇق" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "شەخسىي بىلوگ مەخپىيەتلىكى ساقلاندى" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "مەخپىيەتلىك" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "ئاۋازلىق ئۇقتۇرۇشلار" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "كەلگەن ئۇچۇرلار" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "دەلىللەشنى جەزىملەشتۈرۈش" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "تۆۋەندىكى مۇنبەر سىزنىڭ ھېساباتىڭىزنى دەلىللىشىڭىزنى تەلەپ قىلىدۇ" + +#: [confirm]code +msgid "Authentication code" +msgstr "دەلىللەش كودى" + +#: [roster]add_title +msgid "Add a contact" +msgstr "بىر تۇنۇش قېتىش" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "كىرىشنى بېسىپ تەكشۈرۈڭ" + +#: [roster]added +msgid "Contact added" +msgstr "تۇنۇش قېتىلدى" + +#: [roster]updated +msgid "Contact updated" +msgstr "تۇنۇش يېڭىلاندى" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "تۇنۇش ئۆچۈرۈلدى" + +#: [general]legend +msgid "General Information" +msgstr "ئۇمۇمىي ئۇچۇر" + +#: [general]name +msgid "Name" +msgstr "ئىسىم" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "تەخەللۇس" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "تۇغۇلغان كۈن" + +#: [general]gender +msgid "Gender" +msgstr "جىنىس" + +#: [general]marital +msgid "Marital Status" +msgstr "توي قىلىش ئەھۋالى" + +#: [general]email +msgid "Email" +msgstr "ئېلىخەت" + +#: [general]website +msgid "Website" +msgstr "توربەت" + +#: [general]about +msgid "About Me" +msgstr "مەن كىم" + +#: [general]accounts +msgid "Other Accounts" +msgstr "باشقا ھېسابات" + +#: [general]tune +msgid "Is Listening" +msgstr "ئاڭلاۋاتىدۇ" + +#: [general]pictures +msgid "Pictures" +msgstr "رەسىملەر" + +#: [general]links +msgid "Links" +msgstr "ئۇلىنىشلار" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "جۇغراپىيلىك ئورۇن" + +#: [position]locality +msgid "Locality" +msgstr "رايۇن" + +#: [position]country +msgid "Country" +msgstr "دۆلەت" + +#: [listen]title +msgid "Listening" +msgstr "ئاڭلاۋاتىدۇ" + +#: [last]title +msgid "Last seen" +msgstr "ئاخىرقى كۆرۈش" + +#: [clients]title +msgid "Clients" +msgstr "خېرىدارلار" + +#: [clients]title_full +msgid "Clients information" +msgstr "خېرىدارلار ئۇچۇرى" + +#: [explore]last_registered +msgid "Last registered" +msgstr "ئاخىرقى تىزىملاتقان" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "يېڭى تۇنۇشلارنى ئىزدەڭ" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "تەھرىرلەش" + +#: [edit]alias +msgid "Alias" +msgstr "تەخەللۇس" + +#: [edit]group +msgid "Group" +msgstr "توپ" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "%sيىل" + +#: [blog]last +msgid "Last public post" +msgstr "ئاخىرقى ئاممىۋى يازما" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "ئاممىۋىي بىلوگنى زىيارەت قىلىڭ" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "سىز بۇ تۇنۇشنىڭ ھالىتىنى كۆرەلەيسىز" + +#: [subscription]to_button +msgid "Share my status" +msgstr "ھالىتىمنى ئورتاقلىشىمەن" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "لىكىن بۇ تۇنۇش سىزنىڭكىنى كۆرەلمەيدۇ" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "سىز بۇ تۇنۇشقا ئەگەشمىدىڭىز" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "ئەگىشىشنى سوراڭ" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "لىكىن بۇ تۇنۇش سىزنىڭ توردا ئىكەنلىكىڭىزنى تېخىچە كۆرەلەيدۇ" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "تەكلىپ قىلىڭ" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "ئۈنئالغۇ" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "بېسىپ ئۈنگە ئېلىڭ" + +#: [dictaphone]recording +msgid "Recording" +msgstr "ئۈنگە ئېلىۋاتىدۇ" + +#: [draw]title +msgid "Draw" +msgstr "سىزىش" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "دائىم سورالغان سۇئاللار" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "بۇ ئىجازەت تەڭشىكى نېمە قىلىدۇ؟" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "سۈكۈت ھالەتتە مەزمۇنلارنى پەقەت سىزنىڭ تۇنۇشلىرىڭىزلا كۆرەلەيدۇ. لىكىن سىز مۇناسىۋەتلىك تەڭشەكلەرنى ئۆزگەرتىش ئارقىلىق ئۇلارنى ھەممە ئادەم كۆرەلەيدىغان قىلالايسىز." + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "سىزنىڭ بىلوگ ئېلانلىرىڭىزغا ئوخشايدۇ، سۈكۈت ھالەتتە، بۇ يازمىلار پەقەت بۇ جامائەتنىڭ ئەزالىرىغىلا ياكى مۇشتەرى بولغۇچىلىرىغىلا كۆرۈنىدىغانلىقىنى ھېسابقا ئالمىغاندا ( سىزنىڭ ئاشكارە ھالدا بۇ جامائەتنىڭ بارلىق مەزمۇنلىرىنى ئاچمىسىڭىزلا)" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "مېنىڭ تۇنۇشلىرىمنى قەيەردىن تاپالايمەن؟" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "ئىزدەش سۇپىسىنى ئېچىش ئارقىلىق" + +#: [apps]title +msgid "Applications" +msgstr "قوراللار" + +#: [apps]install +msgid "Movim App" +msgstr "مۇۋىم ئەپى" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "مۇۋىمنى ئۈسكۈنىڭىزگە قاچىلاڭ" + +#: [apps]recommend +msgid "We also recommend" +msgstr "بىزمۇ تەۋسىيە قىلىمىز" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "باشقۇرغۇچىلار ھەمدە تۇنۇش" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "مۇۋىم ئەتىرىتى بىلەن پاراڭلىشامسىز؟" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "بۇ پاراڭخانىنى قېتىش" + +#: [error]username +msgid "Wrong username" +msgstr "خاتا ئىشلەتكۈچى نامى" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "بۇ مۇلازىمېتىردىن قۇرۇق چاقىرىق" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "بەزى ئۇچۇرلار يوق تۇرىدۇ!" + +#: [error]internal +msgid "Internal server error" +msgstr "مۇلازىمېتىر ئىچكى خاتالىقى" + +#: [error]session +msgid "Session error" +msgstr "باسقۇچ خاتالىقى" + +#: [error]account_created +msgid "Account successfully created" +msgstr "ھېسابات مۇۋاپىقىيەتلىك قۇرۇلدى" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "مۇمكىن بولمايدىغان كىرىش" + +#: [error]default +msgid "Unknown error" +msgstr "ناتۇنۇش خاتالىق" + +#: [error]login_format +msgid "Invalid username format" +msgstr "ئىناۋەتسىز ئىشلەتكۈچى ئىسمى فورماتى" + +#: [error]password_format +msgid "Invalid password format" +msgstr "ئىناۋەتسىز مەخپىي نۇمۇر فورماتى" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "سىزنىڭ XMPP مۇلازىمېتىرىڭىزگە ئىجازەت بېرىلمىدى" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "مۇۋىم دەلىللەشتە مەغلۇپ بولدى. سىز خاتا ئۇچۇرنى كىرگۈزدىڭىز." + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "دەلىللەش ئۇسۇلى مۇۋىم تەرىپىدىن يول قۇيۇلمىدى" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "XMPP دەلىللەش مەغلۇپ بولدى" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "مۇلازىمېتىرغا ئۇلاندى" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "مۇلازىمېتىرغا دەلىللەندى" + +#: [form]username +msgid "My address" +msgstr "ئادىرسىم" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "بۇ مۇلازىمېتىرلاردىكى ھېساباتلار بىلەن كىرىش" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "ھەرقانداق بىر XMPP ھېساباتى بىلەن كىرىش ياكى بىرنى تىزىملىتىش" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "ئۇلاندى" + +#: [form]population +msgid "Population" +msgstr "نۇپۇس" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "%sسىزنى بىر پاراڭخانىغا تەكلىپ قىلدى" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "تەرىپىدىن باشقۇرۇلدى " + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "مۇۋىم بولسا بىر باشقارما بىلوگ ۋە پاراڭ سۇپىسى." + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "بۇ تۈرنىڭ رەسمىي توربېتىنى زىيارەت قىلىڭ %s." + +#: [menu]empty_title +msgid "No news yet…" +msgstr "يېڭى خەۋەر يوق..." + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "ئېلان قىلغانلىرىم" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "يېڭى بىر يازما يېزىش" + +#: [notification]request_title +msgid "Notifications request" +msgstr "ئۇقتۇرۇش تەلىپى" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "مۇۋىم سىزنىڭ ئۇقتۇرۇشلارنى كۆرسىتىش ئىجازىتىڭىزنى تەلەپ قىلىدۇ" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "ھوقوق بېرىشنى خالىغان ۋاقىتتا ئەمەلدىن قالدۇرغىلى بۇلىدۇ" + +#: [notification]request_button +msgid "Request" +msgstr "تەلەپ" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "ھوقوق بېرىلدى" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "ھوقوق تارتىۋېلىندى" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "ئۇقتۇرۇشلار" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "ئىتتىرمە ئۇقتۇرۇش" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "مۇۋىم تۆۋەندە تىزىملىتىلغان ئۈسكۈنىلەرگە ئۇقتۇرۇش ئەۋەتىدۇ" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "بۇ ئۈسكۈنىنىڭ ئۇقتۇرۇشى ئېچىلدى" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "بۇ ئۈسكۈنىنىڭ ئۇقتۇرۇشى يېپىلدى" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "نامەلۇم زىيارەت قىلغۇچ" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "نامەلۇم مۇنبەر" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "يېڭى تەكلىپ يوق" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%sسىز بىلەن پاراڭلاشماقچى" + +#: [notifs]empty +msgid "No new notifications" +msgstr "يېڭى ئۇقتۇرۇش يوق" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "يېڭى بىر يازما ئېلان قىلىنغاندا ياكى سىز ئۇچۇر تاپشۇرۋالغاندا مۇۋىم سىزگە ئۇقتۇرۇش ئەۋەتىدۇ" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "سىز ھەرۋاقىت ئۇلارنى ئەمەلدىن قالدۇرالايسىز" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "ئاممىۋى تەرجىمال" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "تەرجىمالىڭىزنى ئاممىۋىي قىلىڭ ھەمدە باشقىلارنىڭ سىزنى تېپىشىغا يول قۇيۇڭ ھەمدە يېڭى ئالاقىداشلار بىلەن ئاسان تۇنۇشۇڭ" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "سىز بۇنى كىيىن تەڭشەكتىن ئەمەلدىن قالدۇرالايسىز" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "خەۋەر يىمىكى" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "سىز قىزىققان توپلارنى بايقاڭ ھەمدە تىزىملىتىڭ" + +#: [post]content +msgid "Content" +msgstr "مەزمۇن" + +#: [post]published +msgid "Post published" +msgstr "يازما ئېلان قىلىندى" + +#: [post]deleted +msgid "Post deleted" +msgstr "يازما ئۆچۈرۋېتىلدى" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "يېقىندا سىز (تېخى) ئەزا بولمىغان جامائەتلەردە يازمىلار ئېلان قىلىندى" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "بۇ بولسا %sنىڭ قايتا يوللانمىسى" + +#: [post]see_profile +msgid "See %s profile" +msgstr "%sنىڭ تەرجىمالىنى كۆرۈش" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "ناتۇنۇش ئالاقىداش" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "%sمىنۇت" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "%sمىنۇتلار" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "بۇ يازما بولسا ئاممىۋى" + +#: [post]public_no +msgid "This post is private" +msgstr "بۇ يازما بولسا شەخسىي" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "بۇ يازمىنىڭ ئاممىۋى ئۇلىنىشى" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "بۇ يازمىنى ئۆچۈرۈش" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "سىز بۇ يازمىنى ئۆچۈرۋەتمەكچى، ھەركىتىڭىزنى جەزىملەشتۈرۈڭ" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "سىز بۇ باھانى ئۆچۈرۈشنى جەزىملەشتۈرەمسىز؟" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "تېخىمۇ كۆپ" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "باھالار تاقالدى" + +#: [post]comment_published +msgid "Comment published" +msgstr "باھا ئېلان قىلىندى" + +#: [post]comment_like_published +msgid "Liked" +msgstr "ياقتۇرۇلدى" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "بۇ باھانى ئېلان قىلغىلى بولمايدۇ" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "باھا ئۆچۈرۈلدى" + +#: [post]liked +msgid "Liked your publication" +msgstr "سىزنىڭ يازمىڭىزنى ياقتۇردى" + +#: [post]commented +msgid "Commented" +msgstr "باھا يازدى" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "ئالاقىداش يازمىسى" + +#: [hello]share_title +msgid "Universal share button" +msgstr "ئۇنۋېرسال ھەمبەھىرلەش كۇنۇپكىسى" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "تۆۋەندىكى كۇنۇپكىنى خەتكۈچلەڭ ھەمدە ئۇنى قورالبالدىقىغا سۆرەپ تاشلاڭ ھەمدە ئۇنى سىز مۇۋىمدىكى ھەمبەھىرلىمەكچى بولغان بارلىق بەتلەردە ئىشلىتىڭ." + +#: [hello]share_button +msgid "Share on Movim" +msgstr "مۇۋىمدا ھەمبەھىرلەش" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "ھەي! سىزگە سالام!" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "تىزىملىكنى تەكشۈرۈڭ" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "مۇۋىمنىڭ بارلىق ئىقتىدارلىرىنى ئۇ يەردىن تاپالايسىز. بەتلەرنى كۆزدىن كەچۈرۈپ تىخىمۇ كۆپ ئىقتىدارلارنى بايقاڭ!" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "سىز تېخى تەرجىمالىڭىزنى تاماملىمىغاندەك قىلىسىز" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "سىز تەڭشەك بېتىدە ئۆزىڭىزنى تۇنۇشتۇرالايسىز ھەمدە بىر گۈزەل رەسىمنى قىستۇرالايسىز" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "ئۈزۈش" + +#: [status]presence +msgid "Presence" +msgstr "مەۋجۇتلۇق" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "سىز راستىنلا چېكىنمەكچىمۇ؟" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "ئۇلانما چاپلاش تاختىسىغا كۆچۈرۈلدى" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "يېڭى نېمىلەر بار؟" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "يازما" + +#: [publish]post +msgid "Write a post" +msgstr "بىر يازما يېزىڭ" + +#: [publish]add_link +msgid "Add a link" +msgstr "بىر ئۇلانما قۇشۇڭ" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "بىر پارسە رەسىم تارتىڭ" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "بىرەر تېما يېزىڭ" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "ئەڭ كەمدە بىر رەسىم تەلەپ قىلىنىدۇ" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "ئالدىن كۆرۈش" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "بىرەر ھۆججەت ياكى رەسىم قىستۇرۇڭ" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "سىز بۇيەردە يازما ئېلان قىلالمايسىز" + +#: [publish]new +msgid "New post" +msgstr "يېڭى يازما" + +#: [publish]title +msgid "Post title" +msgstr "يازما تىېمىسى" + +#: [publish]content +msgid "Markdown content" +msgstr "كودلۇق مەزمۇن" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "بىر ئىناۋەتلىك ئۇلىنىش كىرگۈزۈڭ" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "سىز كودنى ئىشلىتىپ مەزمۇنىڭىزنى فورماتلىيالايسىز" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "قوليازما ساقلاندى" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "تېكىست تەھرىرلىگۈچ" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "سىز ئۇيەردە ئېلان قىلىشقا ئىجازەت بېرىلمىدىڭىز" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "ياردەم" + +#: [publishhelp]more +msgid "More help" +msgstr "تېخىمۇ كۆپ ياردەم" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "كود تىنىش-بەلگىلىرى قوللانمىسى" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "يېڭى ھېسابات ئېچىش" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "بۇ مۇلازىمېتىردا ھېچقانداق ھېسابات ئېچىش جەدىۋېلى تېپىلمىدى" + +#: [create]server_on +msgid "on" +msgstr "دا" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "ھېساباتىڭىز مۇۋاپىقىيەتلىك تىزىملىتىلدى" + +#: [create]loading +msgid "Loading" +msgstr "يۈكلەۋاتىدۇ" + +#: [create]placeholder +msgid "…and start playing" +msgstr "قۇيۇۋاتىدۇ..." + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "قۇبۇل قىلغىلى بولمايدۇ" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "بۇ مۇلازىمېتىرنىڭ تىزىملىتىش سېستىمىسى نۆۋەتتە تەييار ئەمەس" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "تىزىملىتىش مەنئىي قىلىندى" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "مەنئىي قىلىندى" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "بىر پاراڭخانا قۇرۇش" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "ئۆي قۇرۇلدى" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "بۇ مۇلازىمەتنى ئىشلىتىشتىن بۇرۇن تىزىملىتىش تەلەپ قىلىندى" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "قۇرۇق ئىسىم" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "قۇشۇش كۇنۇپكىسىنى بېسىپ بىرنى قۇرۇڭ" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "ئىسمى ياكى چۈشەندۈرۈشى" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "سىزنىڭ بۇ پاراڭخانىغا كىرىشىڭىزگە يول قۇيۇلمىدى" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "بۇ پاراڭخانا مەۋجۇت ئەمەس" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "سىزنىڭ تەخەللۇسىڭىز ئىناۋەتلىك ئەمەس" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "بىر پاراڭخانىغا قۇشۇلۇش" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "بىر ئۆزگىچە پاراڭخانىغا قۇشۇلۇش" + +#: [chatrooms]members +msgid "Members" +msgstr "ئەزالار" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "قۇبۇل قىلارلىق ئەمەس" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "سىز ئۇيەردە بىرەر ئۆي قۇرۇشىڭىزغا يول قۇيۇلمايدۇ" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "بىر مەخپىي نۇمۇر تەلەپ قىلىندى" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "بۇ پاراڭخانىنى مىخلاش" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "پاراڭخانىغا قۇشۇلغىلى بولمىدى، تىزىملىتىش تەلەپ قىلىندى" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "تېما" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "پاراڭخانىلار" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "ئىشلەتكۈچىلەر" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "خەتكۈچ يېڭىلاندى" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "سىز نۆۋەتتە نامسىز ئىشلەتكۈچى ھالەتتە كىردىڭىز" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "سىز ئۆزىڭىزنىڭ ھېساباتى ئارقىلىق ياكى ھېساباتىڭىزدىن چېكىنىپ يېڭى بىرنى قۇرۇش ئارقىلىق كىرەلەيسىز." + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "%sغا كىرىش" + +#: [room]invite +msgid "Invite a contact" +msgstr "بىرەر ئالاقىداش تەكلىپ قىلىش" + +#: [room]invited +msgid "Invitation sent" +msgstr "تەكلىپ ئەۋەتىلدى" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "بۇ ئۇلىنىشنى ئالاقىداشلىرىڭىزغا ئەۋەتىڭ" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "بۇ ئۆينى ئاممىۋىي ھالدا بايقىغىلى بۇلىدۇ" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "ئاممىۋى تەرجىماللار" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "ئارخىپلاندى" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "بۇ ئۆينىڭ ئۇچۇرلىرى ئارخىپلاندى" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "توپپاراڭ" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "تەكلىپ قىلىنغان ئەزالارغا خاس شەخسىي ئۆي" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "يېڭى بىر ئەزا قۇشۇش" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "بىرەيلەننى چەكلەش" + +#: [room]banned_remove +msgid "Unban" +msgstr "چەكلەشنى بىكار قىلىش" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "سىز بۇ خاسلىقنى ئۆزگەرتىشكە يول قۇيۇلمىدىڭىز" + +#: [room]affiliation +msgid "Affiliation" +msgstr "خاسلىق" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "سەۋەپ" + +#: [room]channel +msgid "Channel" +msgstr "قانال" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "ئاممىۋىي بايقىغىلى ھەمدە قاتناشقىلى بۇلىدىغان ئاممىۋى قانال" + +#: [room]notify_never +msgid "Never notify" +msgstr "ئۇقتۇرۇش قىلماڭ" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "ھەردائىم ئۇقتۇرۇش" + +#: [room]pinned +msgid "Pinned" +msgstr "مىخلاندى" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "زىيارەتچى" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "ھېچقاندا يەرلىك پاراڭخانا تېپىلمىدى" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "ھېچقاندا ئۇمۇمىي پاراڭخانا تېپىلمىدى" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "سىز نېمىنى ئىزدەيسىز؟" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "#مۈشۈكلەر، ئىسىم@مۇلازىمېتىر.كوم، جون..." + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "ھېچقاندا ئالاقىداش يوقمۇ؟" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "بەلگىلەر" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "بارلىق ئالاقىداشلارنى كۆرسىتىش" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "بىر بىلوگ يازمىسىغا قىستۇرۇڭ" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "يېڭى بىر يازمىدا ھەمبەھىرلەڭ" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "يازما ھەمبەھىرلەندى" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "تېخىمۇ كۆپ ئالاقىداشلار" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "مۇۋىمنىڭ سىرتىدا ھەمبەھىرلەش" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "قىستۇرما رەسىملەر" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "بىر قىستۇرما رەسىم مۇۋىم بىلەن ئەۋەتىلدى" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "بىرەر ئاچقۇچلۇق سۆزنى يېزىڭ" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "بىرەر GIF نى ئىزدەڭ" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "تېنور ئالاھىدە قوللىدى" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "%sنىڭ يەملىرى" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "بۇ ھېساباتنىڭ ھېچقاندا ئاممىۋى يىمىكى يوق" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "ھېچقانداق ئالاقىداش كۆرسىتىلمىدى" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "چىقىرىش" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "چىقىرىدىغان بىرەر ھۆججەتنى تاللاڭ" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "چوڭ رەسىملەرنىڭ چوڭلۇقى تەڭشىلىدۇ ھەمدە كىچىكلىتىلدۇ" + +#: [upload]error_filesize +msgid "File too large" +msgstr "ھۆججەت بەك چوڭ" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "چىقىرىش مەغلۇپ بولدى" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "سىزنىڭ ھۆججەت چىقىرىشىڭىزغا يوق قۇيۇلمىدى" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "سىز ساقلاش چىكىدىن ئېشىپ كەتتىڭىز" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "ھۆججىتىڭىزنى سۆرەپ بۇ رايۇنغا تاشلاڭ" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "ھۆججەت چىكى %s" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "تەرجىمال" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "تەرجىمال يېڭىلاندى" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "تەرجىمال يېڭىلانمىدى" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "بۇ ھەمدە سىز بىرەر ئۆيگە قېتىلغاندا سىزنىڭ سۈكۈتتىكى تەخەللۇسىڭىز بۇلۇپ ئىشلىتىلدۇ" + +#: [profile]public +msgid "Your profile is now public" +msgstr "سىزنىڭ تەرجىمالىڭىز ھازىر ئاممىۋى" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "سىزنىڭ تەرجىمالىڭىز ھازىر شەخسىي" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "سىزنىڭ مىسالىڭىزنىڭ تەخەللۇسىنى تەڭشەڭ" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "بۇ ھېسابات بۇ مۇۋىم مىسالىدا ئاممىۋىيمۇ؟" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "مۇۋىم سىزگە بىر ئاممىۋى بەتنى قۇرۇپ بېرىدۇ ھەمدە بۇ ھېسابات باشقا مۇۋىم ئىشلەتكۈچىلىرى تەرىپىدىن ئىزدىگىلى بۇلىدۇ" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "بىر يەرلىك تەخەللۇس بېكىتىش ئارقىلىق باشقا ئىشلەتكۈچىلەرنىڭ سىزنى ئاسانلا تېپىشىغا ياردەم قىلىڭ." + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "سىزنىڭ تەخەللۇسىڭىز %s." + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "ئېرشات تۇردى96" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "سىزنىڭ تەخەللۇسىڭىز پەقەتلا ھەرىپلەرنى، سانلارنى، - ھەمدە _ نى ئۆز-ئىچىگە ئېلىشى كېرەك" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "بۇ تەخەللۇس ئاللىبۇرۇن تىزىملىتىلدى" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "تەخەللۇس ساقلاندى" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "ئەۋەتىش" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "ئەسلىگە قايتۇرۇش" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "مۇۋىم نۆۋەتتە ئىقتىدارى تۆۋەنلىگەن ھالەتتە ئىشلەۋاتىدۇ" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "سىزنىڭ مۇلازىمېتىر باشقۇرغۇچى بىلەن ئالاقىلىشىپ بۇ ئىقتىدارنىڭ قوزغاتقىلى بۇلىدىغانلىقىنى سوراڭ." + +#: [visio]calling +msgid "…is calling you" +msgstr "...بولسا سىزنى چاقىرىۋاتىدۇ" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "كەلگەن سىنلىق چاقىرىق" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "كەلگەن ئاۋازلىق چاقىرىق" + +#: [visio]ringing +msgid "…ringing" +msgstr "جىرىڭلاۋاتىدۇ..." + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "ئۇلىنىۋاتىدۇ..." + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "سۈكۈتتىكى مىكروفۇن" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "سۈكۈتتىكى كامىرا" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "سۈكۈتتىكى مىكروفۇن ئۆزگەردى" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "سۈكۈتتىكى كامىرا ئۆزگەردى" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "سىزنىڭ مىكروفۇنىڭىزدىن ھېچقانداق ئاۋاز بايقالمىدى" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "مۇۋىم توغرا ئىشلەش ئۈچۈن Javascript قوزغىتىلىشى كېرەك." + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "مۇۋىم بولسا تېپىۋەتكىلى بۇلىدىغان ئىجتىمائىي سۇپا بۇلۇپ ئىشلەتكۈچىلەرنىڭ مەخپىيەتلىكىنى قوغدايدۇ ھەمدە نۇرغۇنلىغان ئىقتىدارلىرى بار." + +#: [global]loading +msgid "Loading…" +msgstr "يۈكلەۋاتىدۇ..." + +#: [global]or +msgid "Or" +msgstr "ياكى" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "يەنە بىر نۇقتىغا يۆتكىلىڭ" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "ھەققىدە" + +#: [page]account_creation +msgid "Account Creation" +msgstr "ھېسابات قۇرۇش" + +#: [page]administration +msgid "Administration" +msgstr "باشقۇرۇش" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "بىلوگ" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "جامائەتلەر" + +#: [page]explore +msgid "Explore" +msgstr "بايقاڭ" + +#: [page]feed +msgid "Feed" +msgstr "يەم" + +#: [page]home +msgid "Home" +msgstr "ئۆي" + +#: [page]login +msgid "Login" +msgstr "كىرىش" + +#: [page]news +msgid "News" +msgstr "خەۋەرلەر" + +#: [page]not_found +msgid "Not Found" +msgstr "تېپىلمىدى" + +#: [page]posts +msgid "Posts" +msgstr "يازمىلار" + +#: [page]publish +msgid "Publish" +msgstr "ئېلان قىلىش" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "ھەمبەھىرلەش" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "بەلگە" + +#: [page]visio +msgid "Visio-conference" +msgstr "سىنلىق يىغىن" + +#: [error]error +msgid "Error: %s" +msgstr "خاتالىق: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "ھۆججەتنى يۈكلىگىلى بولمىدى '%s'" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "تەلەپ قىلىنغان قورال '%s' مەۋجۇت ئەمەس." + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "تەلەپ قىلىنغان ھەركەت '%s' تىزىملىتىلمىغان." + +#: [error]whoops +msgid "Whoops!" +msgstr "ئاپلا!" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "مۇۋىم بۇ مۇلازىمېتىر بىلەن ئالاقە قىلالمىدى، كىيىنرەك قايتا سىناپ بېقىڭ" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "مۇلازىمېتىرغا قايتا ئۇلاۋاتىدۇ..." + +#: [error]oops +msgid "Oops!" +msgstr "ئاپلا!" + +#: [button]accept +msgid "Accept" +msgstr "قۇبۇل قىلىش" + +#: [button]add +msgid "Add" +msgstr "قۇشۇش" + +#: [button]audio_call +msgid "Audio Call" +msgstr "ئاۋازلىق چاقىرىق" + +#: [button]bool_no +msgid "No" +msgstr "ياق" + +#: [button]bool_yes +msgid "Yes" +msgstr "شۇنداق" + +#: [button]call +msgid "Call" +msgstr "چاقىرىق" + +#: [button]cancel +msgid "Cancel" +msgstr "ئەمەلدىن قالدۇرۇش" + +#: [button]chat +msgid "Chat" +msgstr "پاراڭ" + +#: [button]clear +msgid "Clear" +msgstr "تازلاش" + +#: [button]close +msgid "Close" +msgstr "تاقاش" + +#: [button]connecting +msgid "Connecting" +msgstr "ئۇلىنىۋاتىدۇ" + +#: [button]copy_link +msgid "Copy Link" +msgstr "ئۇلىنىشنى كۆچۈرۈش" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "ئۆچۈرۈش" + +#: [button]destroy +msgid "Destroy" +msgstr "يوقىتىش" + +#: [button]discover +msgid "Discover" +msgstr "بايقاش" + +#: [button]enable +msgid "Enable" +msgstr "قوزغىتىش" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "ياقتۇرۇش" + +#: [button]more +msgid "More" +msgstr "تىخىمۇ كۆپ" + +#: [button]new +msgid "New conversation" +msgstr "يېڭى پاراڭ" + +#: [button]next +msgid "Next" +msgstr "كىيىنكى" + +#: [button]not_now +msgid "Not Now" +msgstr "ھازىر ئەمەس" + +#: [button]open +msgid "Open" +msgstr "ئېچىش" + +#: [button]previous +msgid "Previous" +msgstr "ئالدىنقى" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "يېڭىلاش" + +#: [button]refuse +msgid "Refuse" +msgstr "رەت قىلىش" + +#: [button]register +msgid "Register" +msgstr "تىزىملىتىش" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "جاۋاپ يېزىش" + +#: [button]return +msgid "Return" +msgstr "قايتىش" + +#: [button]save +msgid "Save" +msgstr "ساقلاش" + +#: [button]search +msgid "Search" +msgstr "ئىزدەش" + +#: [button]send_to +msgid "Send to" +msgstr "ئەۋەتىش" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "ھەمبەھىرلەش" + +#: [button]sign_up +msgid "Sign Up" +msgstr "تىزىملىتىش" + +#: [button]submitting +msgid "Submitting" +msgstr "ئەۋەتىۋاتىدۇ" + +#: [button]unregister +msgid "Unregister" +msgstr "تىزىملىكتىن چىقىرىش" + +#: [button]update +msgid "Update" +msgstr "يېڭىلاش" + +#: [button]updating +msgid "Updating" +msgstr "يېڭىلاۋاتىدۇ" + +#: [button]validate +msgid "Validate" +msgstr "دەلىللەش" + +#: [button]video_call +msgid "Video Call" +msgstr "سىنلىق چاقىرىق" + +#: [input]optional +msgid "Optional" +msgstr "ئىختىيارى" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "مۇناسىۋەتلىك جامائەت" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "كۈن" + +#: [day]monday +msgid "Monday" +msgstr "دۈشەنبە" + +#: [day]tuesday +msgid "Tuesday" +msgstr "سەيشەنبە" + +#: [day]wednesday +msgid "Wednesday" +msgstr "چارشەنبە" + +#: [day]thursday +msgid "Thursday" +msgstr "پەيشەنبە" + +#: [day]friday +msgid "Friday" +msgstr "جۈمە" + +#: [day]saturday +msgid "Saturday" +msgstr "شەنبە" + +#: [day]sunday +msgid "Sunday" +msgstr "يەكشەنبە" + +#: [client]bot +msgid "Bot" +msgstr "ماشىنا" + +#: [client]console +msgid "Console" +msgstr "كونترول تاختىسى" + +#: [client]desktop +msgid "Desktop" +msgstr "ئۈستەل يۈزى" + +#: [client]phone +msgid "Phone" +msgstr "تېلىفۇن" + +#: [client]web +msgid "Web" +msgstr "تور" + +#: [client]registered +msgid "Registered" +msgstr "تىزىملىتىلغان" + +#: [client]gateway +msgid "Gateway" +msgstr "كىرىش ئېغىزى" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "توردا" + +#: [presence]away +msgid "Away" +msgstr "توردا ئەمەس" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "دەخلى قىلمىسۇن" + +#: [presence]xa +msgid "Extended Away" +msgstr "ئۇزۇن ۋاقىت سىرىتتا" + +#: [presence]offline +msgid "Offline" +msgstr "توردا ئەمەس" + +#: [presence]error +msgid "Error" +msgstr "خاتالىق" + +#: [mood]afraid +msgid "afraid" +msgstr "قورقتى" + +#: [mood]amazed +msgid "amazed" +msgstr "ھەيران قالدى" + +#: [mood]amorous +msgid "amorous" +msgstr "شەھۋانە" + +#: [mood]angry +msgid "angry" +msgstr "خاپا" + +#: [mood]annoyed +msgid "annoyed" +msgstr "جىلە بولغان" + +#: [mood]anxious +msgid "anxious" +msgstr "ئەنسىرىگەن" + +#: [mood]aroused +msgid "aroused" +msgstr "ئويغاق" + +#: [mood]ashamed +msgid "ashamed" +msgstr "نۇمۇس قىلغان" + +#: [mood]bored +msgid "bored" +msgstr "زېرىككەن" + +#: [mood]brave +msgid "brave" +msgstr "قەيسەر" + +#: [mood]calm +msgid "calm" +msgstr "ئېغىر-بېسىق" + +#: [mood]cautious +msgid "cautious" +msgstr "ئېھتىياتچان" + +#: [mood]cold +msgid "cold" +msgstr "سوغوق" + +#: [mood]confident +msgid "confident" +msgstr "ئۆزىگە ئىشىندىغان" + +#: [mood]confused +msgid "confused" +msgstr "قايمۇققان" + +#: [mood]contemplative +msgid "contemplative" +msgstr "ئويچان" + +#: [mood]contented +msgid "contented" +msgstr "رازى بولغان" + +#: [mood]cranky +msgid "cranky" +msgstr "غەلىتە" + +#: [mood]crazy +msgid "crazy" +msgstr "ئەخمىقانە" + +#: [mood]creative +msgid "creative" +msgstr "ئىجادىي" + +#: [mood]curious +msgid "curious" +msgstr "قىزىقىش" + +#: [mood]dejected +msgid "dejected" +msgstr "پەرىشان" + +#: [mood]depressed +msgid "depressed" +msgstr "چۈشكۈن" + +#: [mood]disappointed +msgid "disappointed" +msgstr "ئۈمۈدسىزلەنگەن" + +#: [mood]disgusted +msgid "disgusted" +msgstr "كۆڭلى ئېلىشقان" + +#: [mood]dismayed +msgid "dismayed" +msgstr "ھۇدۇققان" + +#: [mood]distracted +msgid "distracted" +msgstr "دىققىتى چېچىلغان" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "يۈزى چۈشكەن" + +#: [mood]envious +msgid "envious" +msgstr "ھەسەت قىلغان" + +#: [mood]excited +msgid "excited" +msgstr "ھاياجانلانغان" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "نايناق" + +#: [mood]frustrated +msgid "frustrated" +msgstr "ئۈمۈدسىزلەنگەن" + +#: [mood]grateful +msgid "grateful" +msgstr "مىننەتدار" + +#: [mood]grieving +msgid "grieving" +msgstr "قايغۇرغان" + +#: [mood]grumpy +msgid "grumpy" +msgstr "تەرسا" + +#: [mood]guilty +msgid "guilty" +msgstr "گۇناھكار" + +#: [mood]happy +msgid "happy" +msgstr "خۇشال" + +#: [mood]hopeful +msgid "hopeful" +msgstr "ئۈمۈدۋار" + +#: [mood]hot +msgid "hot" +msgstr "چىرايلىق" + +#: [mood]humbled +msgid "humbled" +msgstr "كەمتەر" + +#: [mood]humiliated +msgid "humiliated" +msgstr "يۈزى تۈكۈلگەن" + +#: [mood]hungry +msgid "hungry" +msgstr "قورسىقى ئاچ" + +#: [mood]hurt +msgid "hurt" +msgstr "ئازار يىگەن" + +#: [mood]impressed +msgid "impressed" +msgstr "تەسىر قالدۇرغان" + +#: [mood]in_awe +msgid "in awe" +msgstr "پەخىرلەنگەن" + +#: [mood]in_love +msgid "in love" +msgstr "كۆڭلىدە بىرسى بار" + +#: [mood]indignant +msgid "indignant" +msgstr "غەزەپلەنگەن" + +#: [mood]interested +msgid "interested" +msgstr "قىزىققان" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "مەست بولغان" + +#: [mood]invincible +msgid "invincible" +msgstr "يەڭگىلى بولمايدىغان" + +#: [mood]jealous +msgid "jealous" +msgstr "ھەسەتخور" + +#: [mood]lonely +msgid "lonely" +msgstr "يالغۇز" + +#: [mood]lost +msgid "lost" +msgstr "يوقالغان" + +#: [mood]lucky +msgid "lucky" +msgstr "تەلەيلىك" + +#: [mood]mean +msgid "mean" +msgstr "ئەسكى" + +#: [mood]moody +msgid "moody" +msgstr "كەيپى ياخشى" + +#: [mood]nervous +msgid "nervous" +msgstr "جىددىيلەشكەن" + +#: [mood]neutral +msgid "neutral" +msgstr "ئوتتۇرھال" + +#: [mood]offended +msgid "offended" +msgstr "ئاچچىقى كەلگەن" + +#: [mood]outraged +msgid "outraged" +msgstr "ئاچچىقلانغان" + +#: [mood]playful +msgid "playful" +msgstr "چاقچاق" + +#: [mood]proud +msgid "proud" +msgstr "پەخىرلەنگەن" + +#: [mood]relaxed +msgid "relaxed" +msgstr "ھاردۇقى چىققان" + +#: [mood]relieved +msgid "relieved" +msgstr "خاتىرجەم بولغان" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "دەم ئالمايدىغان" + +#: [mood]sad +msgid "sad" +msgstr "خاپا" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "تەنە ئارىلاش" + +#: [mood]satisfied +msgid "satisfied" +msgstr "رازى بولغان" + +#: [mood]serious +msgid "serious" +msgstr "ئەستايىدىل" + +#: [mood]shocked +msgid "shocked" +msgstr "چۆچۈگەن" + +#: [mood]shy +msgid "shy" +msgstr "تارتىنچاق" + +#: [mood]sick +msgid "sick" +msgstr "ئاغرىق" + +#: [mood]sleepy +msgid "sleepy" +msgstr "ئۇيقۇسى كەلگەن" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "تەڭلا" + +#: [mood]stressed +msgid "stressed" +msgstr "بېسىم ئىچىدە" + +#: [mood]strong +msgid "strong" +msgstr "كۈچلۈك" + +#: [mood]surprised +msgid "surprised" +msgstr "ھەيران قالغان" + +#: [mood]thankful +msgid "thankful" +msgstr "مىننەتدار" + +#: [mood]thirsty +msgid "thirsty" +msgstr "ئۇسسىغان" + +#: [mood]tired +msgid "tired" +msgstr "ھارغان" + +#: [mood]undefined +msgid "undefined" +msgstr "نامەلۇم" + +#: [mood]weak +msgid "weak" +msgstr "ئاجىز" + +#: [mood]worried +msgid "worried" +msgstr "ئەنسىرگەن" + +#: [month]title +msgid "Month" +msgstr "ئاي" + +#: [month]january +msgid "January" +msgstr "يانىۋار" + +#: [month]february +msgid "February" +msgstr "فېۋرال" + +#: [month]march +msgid "March" +msgstr "مارت" + +#: [month]april +msgid "April" +msgstr "ئاپىرىل" + +#: [month]may +msgid "May" +msgstr "ماي" + +#: [month]june +msgid "June" +msgstr "ئىيۇن" + +#: [month]july +msgid "July" +msgstr "ئىيۇل" + +#: [month]august +msgid "August" +msgstr "ئاۋغۇست" + +#: [month]september +msgid "September" +msgstr "سىنتەبىر" + +#: [month]october +msgid "October" +msgstr "ئۆكتەبىر" + +#: [month]november +msgid "November" +msgstr "نويابىر" + +#: [month]december +msgid "December" +msgstr "دىكابىر" + +#: [year]title +msgid "Year" +msgstr "يىل" + +#: [date]today +msgid "Today" +msgstr "بۈگۈن" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "ئەتە" + +#: [date]yesterday +msgid "Yesterday" +msgstr "تۆنۈگۈن" + +#: [date]ago +msgid "%d days ago" +msgstr "%dكۈن بۇرۇن" + +#: [date]day +msgid "day" +msgstr "كۈن" + +#: [post]title +msgid "Title" +msgstr "تېما" + +#: [post]place +msgid "Place" +msgstr "جاي" + +#: [post]by +msgid "by" +msgstr "تەرىپىدىن" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "ئورۇن بەلگىلەش" + +#: [post]email +msgid "email" +msgstr "ئېلىخەت" + +#: [post]empty +msgid "No content" +msgstr "مەزمۇن يوق" + +#: [post]no_comments +msgid "No comments yet" +msgstr "باھا يوق" + +#: [post]older +msgid "Get older posts" +msgstr "كونىراق يازمىلارنى كۆرۈش" + +#: [post]new_items +msgid "%s new items" +msgstr "%sيېڭى مەزمۇن" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "باھا ئېلان قىلىش خاتالىقى" + +#: [post]comments_get +msgid "Get the comments" +msgstr "باھالارغا ئېرىشىش" + +#: [post]comment_add +msgid "Add a comment" +msgstr "بىر باھا يېزىش" + +#: [post]share +msgid "Share with" +msgstr "بىلەن ھەمبەھىرلەش" + +#: [post]share_everyone +msgid "Everyone" +msgstr "ھەممەيلەن" + +#: [post]updated +msgid "Updated" +msgstr "يېڭىلاندى" + +#: [post]content_not_found +msgid "Content not found" +msgstr "مەزمۇن تېپىلمىدى" + +#: [post]default_title +msgid "Contact publication" +msgstr "ئالاقىداش ئېلان قىلىش" + +#: [post]comments +msgid "Comments" +msgstr "باھالار" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "ئەسلىي يازما ئۆچۈرۋېتىلدى" + +#: [filesize]byte +msgid "B" +msgstr "بايت" + +#: [filesize]kilobyte +msgid "KB" +msgstr "كىلوبايت" + +#: [filesize]megabyte +msgid "MB" +msgstr "مىگابايت" + +#: [filesize]gigabyte +msgid "GB" +msgstr "جىگابايت" + +#: [filesize]terabyte +msgid "TB" +msgstr "تېرابايت" + +#: [affiliation]owner +msgid "Owner" +msgstr "ئىگىسى" + +#: [affiliation]admin +msgid "Admin" +msgstr "باشقۇرغۇچى" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "ئېلان قىلغۇچى" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "پەقەتلا ئېلان قىلىش" + +#: [affiliation]member +msgid "Member" +msgstr "ئەزا" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "چەتكە قېقىش" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "خاسلىق يوق" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "ئىشلەتكۈچى ئىگىلىك بېرىلدى" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "ئىشلەتكۈچىگە باشقۇرغۇچىلىق بېرىلدى" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "ئىشلەتكۈچىگە ئەزالىق بېرىلدى" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "ئىشلەتكۈچى چەكلەندى" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "بۇ ئىشلەتكۈچىنىڭ خاسلىقى تارتىۋېلىندى" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "بۇ API غا ئېرىشكىلى بولمىدى، كىيىن قايتا سىناپ بېقىڭ" + +#: [field]type_here +msgid "Type here" +msgstr "بۇ يەرگە يېزىڭ" diff --git a/frontend/locales/uk.po b/frontend/locales/uk.po new file mode 100644 index 0000000..a56e0bf --- /dev/null +++ b/frontend/locales/uk.po @@ -0,0 +1,4156 @@ +# +# Translators: +# Den Girnyk , 2016 +# sergey solovey, 2022,2024 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: sergey solovey, 2022,2024\n" +"Language-Team: Ukrainian (http://app.transifex.com/movim/movim/language/uk/)\n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Дякуємо" + +#: [about]developers +msgid "Developers" +msgstr "Розробники" + +#: [about]translators +msgid "Translators" +msgstr "Перекладачі" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "Дякуємо всім перекладачам" + +#: [about]software +msgid "Software" +msgstr "Програмне забезпечення" + +#: [about]resources +msgid "Resources" +msgstr "Ресурси" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim - це комунікаційна платформа на основі XMPP. Весь проект, за винятком наступного програмного забезпечення та ресурсів, знаходиться під ліцензією" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "Користувач" + +#: [account]account_management +msgid "Account management" +msgstr "Управління обліковими записами" + +#: [account]password_change_title +msgid "Change my password" +msgstr "Змінити мій пароль" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "Пароль" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "Підтвердження паролю" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "Пароль був змінений" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "Надані паролі не відповідають обраній мові" + +#: [account]delete +msgid "Delete your account" +msgstr "Видалити вашого користувача" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "Введіть своє ім'я користувача" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "Будь ласка, введіть дійсне ім’я користувача." + +#: [account]gateway_title +msgid "Gateways" +msgstr "Шлюзи" + +#: [account]clear +msgid "Leave this instance" +msgstr "Покинути цей сервер" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "Ви збираєтеся знищити поточний ключ OMEMO. Ваші контакти більше не зможуть шифрувати повідомлення за допомогою цього ключа. Ця дія не може бути скасована. Ви впевнені?" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "Дії" + +#: [adhoc]completed +msgid "Action completed" +msgstr "Зроблено" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "Загальні налаштування" + +#: [general]theme +msgid "Theme" +msgstr "Теми" + +#: [general]language +msgid "Default language" +msgstr "Мова за замовчуванням" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "Деталізація логування" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "Заборонити підказки" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "Тільки чат" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "Вимкніть усі соціальні функції (Спільноти, блог…) і збережіть лише чат" + +#: [credentials]title +msgid "Administration Credential" +msgstr "Адміністративні повноваження" + +#: [credentials]username [input]username +msgid "Username" +msgstr "Ім'я користувача" + +#: [credentials]re_password +msgid "Retype password" +msgstr "Повторно вкажіть пароль" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "Вимкнути функцію реєстрації XMPP" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "Видалити кнопку реєстрації XMPP зі сторінки входу" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "Щоб надати доступ до всіх облікових записів XMPP, залиште це поле порожнім." + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "Опис" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "Загальний опис сервера" + +#: [information]banner +msgid "Main banner" +msgstr "Головний банер" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "Переконайтеся, що зображення не надто велике та доступне з будь-якої веб-сторінки" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "Це повідомлення відобразиться на сторінці входу. Його можна використовувати, наприклад, для відображення Загальних положень та умов вашого сервера Movim." + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "Залиште це поле порожнім, якщо ви не хочете показувати жодне повідомлення." + +#: [information]label +msgid "Information Message" +msgstr "Інформаційне повідомлення" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "Сервер XMPP за замовчуванням" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "Поточний домен сервера XMPP" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "Основний опис сервера XMPP" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "Місцезнаходження сервера XMPP" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "Виберіть країну зі списку" + +#: [tenor]title +msgid "Tenor integration" +msgstr "Інтеграція з Tenor" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "Ваш ключ інтеграції з Tenor API" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "Movim інтегрує Tenor API, щоб дозволити пошук і публікацію GIF у чаті" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "Авторизуйтеся в Tenor та отримайте ключ API" + +#: [log]empty +msgid "Empty" +msgstr "Порожньо" + +#: [log]syslog +msgid "Syslog" +msgstr "Системні логи" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "Системні логи та файли" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "За відгуками %s користувачів" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "Про ці акаунти повідомили деякі користувачі Movim" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "Ви можете заблокувати їх для всіх інших користувачів" + +#: [adminsessions]title +msgid "Sessions" +msgstr "Сесії" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "Підключені користувачі до серверу" + +#: [avatar]file +msgid "File" +msgstr "Файл" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "Змінити мій банер" + +#: [banner]updated +msgid "Banner Updated" +msgstr "Банер оновлено" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "Банер не оновлено" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "Заблоковано" + +#: [blocked]block_account +msgid "Block the account" +msgstr "Заблокувати обліковий запис" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "Розблокувати обліковий запис" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "Обліковий запис заблоковано" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "Обліковий запис розблоковано" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "Тут ви знайдете заблокованих вами користувачів" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "Наступні користувачі заблоковані Movim і більше не можуть з вами зв'язатися" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "Адміністратор також знає про цей список і може заблокувати цих користувачів у всій системі" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "Цей вміст є приватним, будь ласка, увійдіть, щоб побачити його" + +#: [message]published +msgid "Message Published" +msgstr "Повідомлення опубліковано" + +#: [message]react +msgid "Add a reaction" +msgstr "Додати реакцію" + +#: [message]retract +msgid "Retract" +msgstr "Видалити" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "Ваш контакт спробував видалити попереднє повідомлення, але воно не підтримується вашим клієнтом" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "Це повідомлення пройшло модерацію" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "Не вдалося надіслати ваше повідомлення, спробуйте пізніше" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "Зашифроване повідомлення" + +#: [message]retracted +msgid "Retracted message" +msgstr "Відкликане повідомлення" + +#: [message]composing +msgid "Composing…" +msgstr "Пише...." + +#: [message]invitation +msgid "Invitation" +msgstr "Запрошення" + +#: [message]paused +msgid "Paused…" +msgstr "Зупинився...." + +#: [message]gone +msgid "Contact gone" +msgstr "Зв'язок втрачено" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "↑ щоб відредагувати своє попереднє повідомлення" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr ":shortcut: для вставки емодзі" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%sпотребує вашої уваги" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "Ваше повідомлення тут…" + +#: [chat]smileys +msgid "Smileys" +msgstr "Емодзі" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "Часті контакти" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "Тут ще нічого немає…" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "Не соромтеся, надішліть перше повідомлення, щоб почати обговорення" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "Ви отримали запрошення приєднатися до чату" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "Ви надіслали запрошення приєднатися до чату" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "Приєднуйтесь %s" + +#: [chat]profile +msgid "See the profile" +msgstr "Переглянути профіль" + +#: [chat]clear +msgid "Clear the history" +msgstr "Очистити історію" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "Відредагувати останнє повідомлення" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "Повідомити про порушення" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "Вхідний виклик" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "Вихідний виклик" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "Пропущений виклик" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "Відхилений виклик" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "Виклик завершено" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "%s годин %s хвилин" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "%s хвилин та %s секунд" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "%s секунд" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "%s зараз є адміністраторами" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "%s тепер є власниками" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "%s зараз забанені" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "%s зараз є учасниками" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "Під час надсилання повідомлення сталася помилка" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "Дія неможлива в зашифрованих чатах" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "Це початок цієї розмови" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "Ви можете додати його як новий контакт або заблокувати, щоб запобігти небажаним повідомленням." + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "Додати до моїх контактів" + +#: [chat]first_messages_block +msgid "Block" +msgstr "Заблокувати" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "Копіювати текст" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "Текст скопійовано" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "Відбиток" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "Відбиток ОМЕМО" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "Генерація ключів шифрування, будь ласка, зачекайте..." + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "Ключі шифрування згенеровано" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "Створення власних сеансів шифрування" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "Шифрування вимкнено" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "Надішліть повідомлення для створення зашифрованої сесії" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "Увімкнути шифрування для контакту" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "Вимкнути шифрування для контакту" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "Остання активність" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "%s сесій створено" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "Ще немає чатів..." + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "Почніть нову розмову, натиснувши кнопку %s" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "Чат з контактом" + +#: [chats]me +msgid "Me" +msgstr "Я" + +#: [chats]picture +msgid "Picture" +msgstr "Зображення" + +#: [chats]video +msgid "Video" +msgstr "Відео" + +#: [chats]audio +msgid "Audio" +msgstr "Аудіо" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "Всі" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "Контакти" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "Знаходьте, стежте та діліться" + +#: [communities]counter +msgid "%s communities" +msgstr "%s спільноти" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "Пошук нового сервера" + +#: [communities]servers +msgid "Communities servers" +msgstr "Спільнота сервера" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "Огляд спільнот серверів" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "Знайдено спільнот серверу" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "Такого сервера не існує" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "Спільноти, які вам можуть сподобатися" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "Спільнота успішно створена" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "На цьому сервері ще немає спільнот." + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "Створіть нову спільноту на %s" + +#: [communitiesserver]name +msgid "Community name" +msgstr "Назва спільноти" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "Будь ласка, вкажіть коректну назву спільноти (мінімум 4 символи)" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "Ви не можете створити нову спільноту на цьому сервері" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "Проблема під час спроби відкрити елементи" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "Сервер %s не відповідає" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "Серверів спільнот наразі немає..." + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "Схоже, що наразі ми не можемо знайти жодної спільноти" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "Конфігурація" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "Підписки" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "Публічні підписки" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "Підписки на мої спільноти" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "Спільноту успішно видалено" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "Видалити спільноту" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "Ви збираєтеся видалити цю спільноту. Будь ласка, підтвердіть вашу дію." + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "Здається, ця спільнота більше не існує. Ви хочете видалити її зі своїх підписок?" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "Конфігурацію збережено" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "Помилка при застосуванні конфігурації вузла" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "Власники" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "Видавці" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "Ролі" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "Ролі налаштовано правильно" + +#: [communityconfig]publication +msgid "Publication" +msgstr "Публікація" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "Публічні" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "Публікувати може кожен" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "Видавці можуть публікувати" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "Підписники" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "Підписники можуть публікувати" + +#: [communityconfig]type +msgid "Community type" +msgstr "Тип спільноти" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "Статті" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "Публікуйте та читайте статті" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "Галерея" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "Публікуйте та переглядайте фотографії" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "%s підписників" + +#: [communitydata]num +msgid "%s posts" +msgstr "%s дописів" + +#: [communitydata]public +msgid "Public page" +msgstr "Публічна сторінка" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "Публікувати можуть лише видавці" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "Публікувати можуть лише підписники" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "Для цієї спільноти підписки вимкнено" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "Дайте назву цій спільноті" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "Назва моєї спільноти" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "Це відобразиться у вашому профілі" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "Ви впевнені?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "Ще немає публікації? Напишіть свій перший допис, щоб люди дізналися про ваш профіль" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "Опублікувати мій перший допис" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "Особистий обліковий запис" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "Вітання" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "Тут ви зможете керувати всіма своїми підписками." + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "Ви ще не маєте підписок на спільноти." + +#: [config]general +msgid "General" +msgstr "Загальні" + +#: [config]language +msgid "Language" +msgstr "Мова" + +#: [config]roster +msgid "Roster display" +msgstr "Відображення списку" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "Показати офлайн-контакти" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "Приховати офлайн-контакти" + +#: [config]appearence +msgid "Appearance" +msgstr "Зовнішній вигляд" + +#: [config]updated +msgid "Configuration updated" +msgstr "Конфігурацію оновлено" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "Неправильна конфігурація" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "Розширена конфігурація" + +#: [config]nsfw +msgid "Display adult content" +msgstr "Відображати вміст для дорослих" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "Дозволить вам читати пости з тегом #nsfw" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "Використовувати OMEMO" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "Увімкніть наскрізне шифрування в Movim для свого облікового запису" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "Нічний режим" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "Використовуйте темні кольори для відпочинку очей" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "Ваш браузер вже вказує Movim використовувати нічний режим за замовчуванням" + +#: [config]chatmain +msgid "Main chat page" +msgstr "Основна сторінка балачок" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "Налаштування архівування повідомлень чату на стороні сервера" + +#: [config]mam_always +msgid "Always" +msgstr "Завжди" + +#: [config]mam_never +msgid "Never" +msgstr "Ніколи" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "Збережено налаштування архівації" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "Конфіденційність персонального блогу" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "Публічний блог" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "Доступний для всіх в мережі" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "Приватний блог" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "Доступний лише для ваших підписників" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "Конфіденційність особистого блогу збережено" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "Конфіденційно" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "Звукові сповіщення" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "Вхідне повідомлення" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "Підтвердження аутентифікації" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "Наступна платформа очікує від вас підтвердження для автентифікації цього облікового запису" + +#: [confirm]code +msgid "Authentication code" +msgstr "Код автентифікації" + +#: [roster]add_title +msgid "Add a contact" +msgstr "Додати контакт" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "Натисніть enter для підтвердження." + +#: [roster]added +msgid "Contact added" +msgstr "Контакт додано" + +#: [roster]updated +msgid "Contact updated" +msgstr "Контакт оновлено" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "Контакт видалено" + +#: [general]legend +msgid "General Information" +msgstr "Загальна інформація" + +#: [general]name +msgid "Name" +msgstr "Ім'я" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "Нікнейм" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "Дата народження" + +#: [general]gender +msgid "Gender" +msgstr "Стать" + +#: [general]marital +msgid "Marital Status" +msgstr "Сімейний стан" + +#: [general]email +msgid "Email" +msgstr "Електронна пошта" + +#: [general]website +msgid "Website" +msgstr "Вебсайт" + +#: [general]about +msgid "About Me" +msgstr "Про мене" + +#: [general]accounts +msgid "Other Accounts" +msgstr "Інші облікові записи" + +#: [general]tune +msgid "Is Listening" +msgstr "Слухає" + +#: [general]pictures +msgid "Pictures" +msgstr "Зображення" + +#: [general]links +msgid "Links" +msgstr "Посилання" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "Географічне положення" + +#: [position]locality +msgid "Locality" +msgstr "Місцезнаходження" + +#: [position]country +msgid "Country" +msgstr "Країна" + +#: [listen]title +msgid "Listening" +msgstr "Слухаю" + +#: [last]title +msgid "Last seen" +msgstr "Останні відвідини" + +#: [clients]title +msgid "Clients" +msgstr "Клієнти" + +#: [clients]title_full +msgid "Clients information" +msgstr "Інформація про клієнтів" + +#: [explore]last_registered +msgid "Last registered" +msgstr "Останній зареєстрований" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "Знайдіть нові контакти" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "Редагувати" + +#: [edit]alias +msgid "Alias" +msgstr "Псевдонім" + +#: [edit]group +msgid "Group" +msgstr "Група" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "%s років" + +#: [blog]last +msgid "Last public post" +msgstr "Останній публічний допис" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "Відвідати публічний блог" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "Ви можете бачити статус цього контакту" + +#: [subscription]to_button +msgid "Share my status" +msgstr "Поділитися статусом" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "Але цей контакт не може бачити ваш" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "Ви не підписані на цього користувача" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "Попросіть підписатися" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "Але цей контакт все одно може бачити, чи ви онлайн" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "Запросити" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "Диктофон" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "Натисніть для запису" + +#: [dictaphone]recording +msgid "Recording" +msgstr "Запис" + +#: [draw]title +msgid "Draw" +msgstr "Малювати" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "Смайлики" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "Мої улюблені смайли" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "Виберіть смайлики з набору нижче, які ви хочете додати до своїх улюблених" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "Керувати улюбленими смайликами" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "Додано нові улюблені смайлики" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "Ярлик вже використовується на іншому смайлику" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "Обраного ще немає, перевірте сторінку налаштувань, щоб їх додати" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "Поширені запитання" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "Що робить налаштування дозволів?" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "За замовчуванням вміст доступний лише вашим контактам. Ви можете зробити свій профіль і публікації загальнодоступними, увімкнувши відповідне налаштування." + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "Подібно до публікацій у вашому блозі, за винятком того, що за замовчуванням публікації доступні лише учасникам або підписникам спільноти (за винятком випадків, коли ви явно відкриваєте весь вміст спільноти)." + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "Де я можу знайти мої контакти?" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "Відкривши панель пошуку." + +#: [apps]title +msgid "Applications" +msgstr "Додатки" + +#: [apps]install +msgid "Movim App" +msgstr "Додаток Movim" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "Встановіть Movim на свій пристрій" + +#: [apps]recommend +msgid "We also recommend" +msgstr "Ми також рекомендуємо" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "Адміністратори та контакти" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "Поспілкуватися з командою Movim?" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "Додати чат кімнату" + +#: [error]username +msgid "Wrong username" +msgstr "Неправильне ім'я користувача" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "Порожній виклик із сервера" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "Деякі дані відсутні!" + +#: [error]internal +msgid "Internal server error" +msgstr "Внутрішня помилка сервера" + +#: [error]session +msgid "Session error" +msgstr "Помилка сеансу" + +#: [error]account_created +msgid "Account successfully created" +msgstr "Обліковий запис успішно створено" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "Неможливо увійти в систему" + +#: [error]default +msgid "Unknown error" +msgstr "Невідома помилка" + +#: [error]login_format +msgid "Invalid username format" +msgstr "Неправильний формат імені користувача" + +#: [error]password_format +msgid "Invalid password format" +msgstr "Неправильний формат пароля" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "Ваш XMPP-сервер неавторизований" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "Movim не вдалося пройти автентифікацію. Ви ввели неправильні дані" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "Механізм автентифікації не підтримується Movim" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "Не вдалося виконати автентифікацію XMPP" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "Підключення до сервера" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "Автентифікація на сервері" + +#: [form]username +msgid "My address" +msgstr "Моя адреса" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "Увійдіть за допомогою облікових записів з цих серверів" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "Увійдіть за допомогою будь-якого облікового запису XMPP або створіть новий" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "Підключено" + +#: [form]population +msgid "Population" +msgstr "Населеність" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "%s запросили вас приєднатися до чату" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "Адмініструє" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "Movim - це об'єднана платформа для ведення блогів і чату." + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "Відвідайте офіційний сайт проекту %s" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "Новин поки що немає..." + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "Мої публікації" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "Напишіть новий пост..." + +#: [notification]request_title +msgid "Notifications request" +msgstr "Запит на сповіщення" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "Movim потребує вашої згоди для відображення сповіщень" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "Цей дозвіл може бути відкликаний у будь-який час" + +#: [notification]request_button +msgid "Request" +msgstr "Запит" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "Дозвіл надано" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "Відмовлено в авторизації" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "Сповіщення" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "Push-повідомлення" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "Movim надсилатиме push-сповіщення на такі зареєстровані пристрої" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "Push-сповіщення увімкнено для цього пристрою" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "Push-сповіщення вимкнено для цього пристрою" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "Невідомий браузер" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "Невідома платформа" + +#: [invitations]received +msgid "Received Invitations" +msgstr "Отримані запрошення" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "%s хоче додати вас" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "Немає нових запрошень" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "Немає підписок, що очікують на розгляд" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%s хоче поговорити з вами" + +#: [notifs]empty +msgid "No new notifications" +msgstr "Немає нових сповіщень" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "Movim може сповіщати вас, коли публікується новий допис або коли ви отримуєте повідомлення" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "Ви завжди можете відключити їх пізніше" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "Публічний профіль" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "Зробіть свій профіль публічним і дозвольте іншим користувачам знаходити вас і легше заводити нові контакти" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "Ви завжди можете вимкнути цю функцію в конфігурації пізніше" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "Стрічка новин" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "Знаходьте та реєструйтеся в групах, які вас цікавлять" + +#: [post]content +msgid "Content" +msgstr "Вміст" + +#: [post]published +msgid "Post published" +msgstr "Допис опубліковано" + +#: [post]deleted +msgid "Post deleted" +msgstr "Допис видалено" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "Нещодавно опубліковані повідомлення у спільнотах, на які ви не підписані (поки що)" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "Це перепост з %s" + +#: [post]see_profile +msgid "See %s profile" +msgstr "Переглянути профіль %s" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "Невідомий контакт" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "%s хвилину" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "%s хвилин" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "Ця публікація є публічною" + +#: [post]public_no +msgid "This post is private" +msgstr "Ця публікація є приватною" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "Публічна URL-адреса цього допису" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "Вимкнути коментарі" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "Ніхто не зможе поставити лайк або прокоментувати" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "Видаліть цю публікацію" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "Ви збираєтеся видалити цю публікацію, будь ласка, підтвердіть вашу дію" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "Ви впевнені, що хочете видалити цей коментар?" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "Читати далі" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "Коментарі вимкнено" + +#: [post]comment_published +msgid "Comment published" +msgstr "Коментар опубліковано" + +#: [post]comment_like_published +msgid "Liked" +msgstr "Вподобано" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "Коментар не може бути опублікований" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "Коментар видалено" + +#: [post]liked +msgid "Liked your publication" +msgstr "Сподобалась ваша публікація" + +#: [post]commented +msgid "Commented" +msgstr "Коментує" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "Контактна особа" + +#: [hello]share_title +msgid "Universal share button" +msgstr "Універсальна кнопка спільного доступу" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "Додайте в закладки або перетягніть наступну кнопку на панелі інструментів і використовуйте її на всіх сторінках, якими ви хочете поділитися на Movim" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "Поділіться на Movim" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "Перевірте меню" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "Тут доступні всі основні функції Movim. Не соромтеся переходити по сторінках, щоб дізнатися більше!" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "Схоже, ви ще не заповнили свій профіль" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "Ви можете зайти на сторінку конфігурації, щоб описати себе і розмістити гарну фотографію" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "Від'єднати" + +#: [status]presence +msgid "Presence" +msgstr "Присутність" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "Ви дійсно хочете вийти з системи?" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "Посилання скопійовано в буфер обміну" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "Що нового?" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "Допис" + +#: [publish]post +msgid "Write a post" +msgstr "Написати пост" + +#: [publish]add_link +msgid "Add a link" +msgstr "Додати посилання" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "Сфотографувати" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "Будь ласка, вкажіть назву" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "Потрібно надіслати принаймні одну фотографію" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "Попередній перегляд" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "Додайте файл або зображення" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "Ви не можете опублікувати пост тут" + +#: [publish]new +msgid "New post" +msgstr "Нова публікація" + +#: [publish]title +msgid "Post title" +msgstr "Заголовок публікації" + +#: [publish]content +msgid "Markdown content" +msgstr "Markdown вміст" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "Будь ласка, введіть коректну URL-адресу" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "Ви можете форматувати вміст за допомогою Markdown" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "Чернетка збережена" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "Редактор розширеного тексту" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "Ви не маєте права публікувати тут" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "Це дозволить будь-кому за межами Movim мати доступ до вашої публікації" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "Допомога" + +#: [publishhelp]more +msgid "More help" +msgstr "Більше допомоги" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "Посібник з синтаксису Markdown" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "Створити нового користувача" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "На сервері не знайдено форми створення облікового запису" + +#: [create]server_on +msgid "on" +msgstr "Увімкн." + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "Ваш обліковий запис успішно зареєстровано" + +#: [create]loading +msgid "Loading" +msgstr "Завантаження" + +#: [create]placeholder +msgid "…and start playing" +msgstr "...та почніть грати" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "Не прийнятний" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "Система реєстрації даного сервера наразі недоступна" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "Реєстрація заборонена" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "Заблоковані" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "Створити чат" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "Чат створено" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "Перед використанням сервісу необхідно пройти реєстрацію" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "Порожнє ім'я" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "Додайте його, натиснувши на кнопку \"Додати\"." + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "Назва або опис" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "Вам не дозволено приєднуватися до цього чату" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "Чату не існує" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "Ваш нік не є дійсним" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "Приєднатися до чату" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "Приєднатися до спеціального чату" + +#: [chatrooms]members +msgid "Members" +msgstr "Учасники" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "Неприйнятно" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "Ви не маєте права тут створювати чат" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "Потрібен пароль" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "Закріпити цей чат" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "До чату не можна приєднатися, потрібна реєстрація" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "Віддаленого сервера для цього чату не існує" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "Вичерпано час з'єднання з віддаленим сервером" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "Тема" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "Кімнати для спілкування" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "Користувачі" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "Закладки оновлено" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "Ви увійшли як анонімний користувач." + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "Ви можете приєднатися за допомогою власного облікового запису або створити його на сторінці входу, вийшовши з нього за допомогою хрестика у верхньому правому куті." + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "Увійдіть в систему %s" + +#: [room]invite +msgid "Invite a contact" +msgstr "Запросити контакт" + +#: [room]invited +msgid "Invitation sent" +msgstr "Запрошення надіслано" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "Надішліть це посилання своїм контактам" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "Цей чат є загальнодоступним" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "Публічні профілі" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "Архівовано" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "Повідомлення чату архівуються" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "Групповий чат" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "Приватний груповий чат із запрошеними учасниками" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "Додати нового учасника" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "Забанити когось" + +#: [room]banned_remove +msgid "Unban" +msgstr "Зняти бан" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "Ви не маєте права змінювати цю приналежність" + +#: [room]affiliation +msgid "Affiliation" +msgstr "Приналежність" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "Причина" + +#: [room]channel +msgid "Channel" +msgstr "Канал" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "Публічний канал, який можна відкрити та приєднатися до нього" + +#: [room]notify_never +msgid "Never notify" +msgstr "Ніколи не повідомляти" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "Завжди повідомляти" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "Гість" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "Локальних чатів не знайдено" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "Глобальних чатів не знайдено" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "Що ви шукаєте?" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "#cats, username@server.com, John…" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "Ще немає контактів?" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "Теги" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "Показати всі контакти" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "Прикріпити до публікації блогу" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "Поділіться в новій публікації" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "Публікація опублікована" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "Більше контактів" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "Поділитися за межами Movim" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "Наліпки" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "Наліпку надіслано за допомогою Movim" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "Введіть ключове слово" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "Знайти GIF" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "%s канал" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "Для цього контакту немає публічної стрічки" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "Контакт не вказано" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "Завантажити" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "Виберіть файл для завантаження" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "Великі зображення будуть зменшені та стиснуті" + +#: [upload]error_filesize +msgid "File too large" +msgstr "Файл занадто великий" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "Не вдалося завантажити" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "Ви не маєте права завантажувати файл" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "Ви перевищили квоту" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "Перетягніть файл у цю область" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "Максимальний розмір файлу %s" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "Профіль" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "Профіль оновлено" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "Профіль не оновлено" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "Він також буде використовуватися як ваш нікнейм за замовчуванням при приєднанні до чату" + +#: [profile]public +msgid "Your profile is now public" +msgstr "Ваш профіль тепер публічний" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "Доступ до вашого профілю обмежено" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "Налаштуйте псевдонім вашого екземпляра" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "Чи є цей обліковий запис публічним на цьому екземплярі Movim?" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "Movim створить публічну сторінку для розміщення вашого блогу, і ваш акаунт буде доступний для пошуку іншими користувачами Movim." + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "Встановіть локальний нікнейм, щоб інші користувачі екземпляра могли легко вас знайти." + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "Ваш нікнейм %s" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "John_Bob96" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "Ваш нік повинен містити лише літери, цифри, - та _." + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "Нікнейм вже зареєстровано" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "Нікнейм збережено" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "Надіслати" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "Скинути" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "Наразі Movim працює в погіршеному режимі" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "Зверніться до адміністратора вашого сервера, щоб дізнатися, чи можна ввімкнути цю функцію." + +#: [visio]calling +msgid "…is calling you" +msgstr "... телефонує вам" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "Вхідний відеодзвінок" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "Вхідний аудіовиклик" + +#: [visio]ringing +msgid "…ringing" +msgstr "... телефонує" + +#: [visio]declined +msgid "Declined" +msgstr "Відхилено" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "Не вдалося" + +#: [visio]connecting +msgid "…connecting" +msgstr "...з'єднання" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "%s телефонує вам" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "Зателефонувати %s" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "Налаштування камери та мікрофона" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "Будь ласка, дозвольте вашому браузеру надавати доступ до ваших пристроїв для їх налаштування" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "Мікрофон за замовчуванням" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "Камера за замовчуванням" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "Змінено мікрофон за замовчуванням" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "Змінено камеру за замовчуванням" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "Не виявлено звуку з вашого мікрофона" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "Для коректної роботи Movim потрібен Javascript." + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "Movim - це крута розподілена соціальна мережева платформа, яка захищає вашу конфіденційність і має безліч чудових функцій." + +#: [global]loading +msgid "Loading…" +msgstr "Завантаження..." + +#: [global]or +msgid "Or" +msgstr "Або" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "Переключіться на інший канал" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "Про" + +#: [page]account_creation +msgid "Account Creation" +msgstr "Створення облікового запису" + +#: [page]administration +msgid "Administration" +msgstr "Адміністрування" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "Блог" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "Спільноти" + +#: [page]explore +msgid "Explore" +msgstr "Досліджуйте" + +#: [page]feed +msgid "Feed" +msgstr "Стрічка" + +#: [page]home +msgid "Home" +msgstr "Головна" + +#: [page]login +msgid "Login" +msgstr "Вхід" + +#: [page]news +msgid "News" +msgstr "Новини" + +#: [page]not_found +msgid "Not Found" +msgstr "Не знайдено" + +#: [page]posts +msgid "Posts" +msgstr "Дописи" + +#: [page]publish +msgid "Publish" +msgstr "Опублікуйте" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "Поширити" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "Тег" + +#: [page]visio +msgid "Visio-conference" +msgstr "Візуальна конференція" + +#: [error]error +msgid "Error: %s" +msgstr "Помилка: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "Не вдається завантажити файл '%s'" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "Запитуваний віджет '%s' не існує." + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "Запитувана подія '%s' не зареєстрована." + +#: [error]whoops +msgid "Whoops!" +msgstr "Упс!" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "Movim не може зв'язатися з сервером, спробуйте пізніше" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "Повторне підключення до сервера..." + +#: [error]oops +msgid "Oops!" +msgstr "Опа!" + +#: [button]accept +msgid "Accept" +msgstr "Прийняти" + +#: [button]add +msgid "Add" +msgstr "Додати" + +#: [button]audio_call +msgid "Audio Call" +msgstr "Аудіовиклик" + +#: [button]bool_no +msgid "No" +msgstr "Ні" + +#: [button]bool_yes +msgid "Yes" +msgstr "Так" + +#: [button]call +msgid "Call" +msgstr "Дзвінок" + +#: [button]cancel +msgid "Cancel" +msgstr "Скасувати" + +#: [button]chat +msgid "Chat" +msgstr "Чат" + +#: [button]clear +msgid "Clear" +msgstr "Очистити" + +#: [button]close +msgid "Close" +msgstr "Закрити" + +#: [button]connecting +msgid "Connecting" +msgstr "З'єднання" + +#: [button]copy_link +msgid "Copy Link" +msgstr "Копіювати посилання" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "Видалити" + +#: [button]destroy +msgid "Destroy" +msgstr "Знищити" + +#: [button]discover +msgid "Discover" +msgstr "Відкрийте" + +#: [button]enable +msgid "Enable" +msgstr "Увімкнути" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "Вподобати" + +#: [button]more +msgid "More" +msgstr "Більше" + +#: [button]new +msgid "New conversation" +msgstr "Новий чат" + +#: [button]next +msgid "Next" +msgstr "Наступний" + +#: [button]not_now +msgid "Not Now" +msgstr "Не зараз" + +#: [button]open +msgid "Open" +msgstr "Відкрити" + +#: [button]previous +msgid "Previous" +msgstr "Попередній" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "Оновити" + +#: [button]refuse +msgid "Refuse" +msgstr "Відмовитися" + +#: [button]register +msgid "Register" +msgstr "Реєстрація" + +#: [button]remove +msgid "Remove" +msgstr "Видалити" + +#: [button]reply +msgid "Reply" +msgstr "Відповісти" + +#: [button]return +msgid "Return" +msgstr "Повернутись" + +#: [button]save +msgid "Save" +msgstr "Зберегти" + +#: [button]search +msgid "Search" +msgstr "Пошук" + +#: [button]send_to +msgid "Send to" +msgstr "Надіслати" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "Поширити" + +#: [button]sign_up +msgid "Sign Up" +msgstr "Реєстрація" + +#: [button]submitting +msgid "Submitting" +msgstr "Надсилаємо" + +#: [button]unregister +msgid "Unregister" +msgstr "Скасувати реєстрацію" + +#: [button]update +msgid "Update" +msgstr "Оновити" + +#: [button]updating +msgid "Updating" +msgstr "Оновлення" + +#: [button]validate +msgid "Validate" +msgstr "Перевірити" + +#: [button]video_call +msgid "Video Call" +msgstr "Відеовиклик" + +#: [input]optional +msgid "Optional" +msgstr "Необов'язково" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "Асоційована спільнота" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "День" + +#: [day]monday +msgid "Monday" +msgstr "Понеділок" + +#: [day]tuesday +msgid "Tuesday" +msgstr "Вівторок" + +#: [day]wednesday +msgid "Wednesday" +msgstr "Середа" + +#: [day]thursday +msgid "Thursday" +msgstr "Четвер" + +#: [day]friday +msgid "Friday" +msgstr "П'ятниця" + +#: [day]saturday +msgid "Saturday" +msgstr "Субота" + +#: [day]sunday +msgid "Sunday" +msgstr "Неділя" + +#: [client]bot +msgid "Bot" +msgstr "Бот" + +#: [client]console +msgid "Console" +msgstr "Консоль" + +#: [client]desktop +msgid "Desktop" +msgstr "Настільний ПК" + +#: [client]phone +msgid "Phone" +msgstr "Телефон" + +#: [client]web +msgid "Web" +msgstr "Веб" + +#: [client]registered +msgid "Registered" +msgstr "Зареєстровано" + +#: [client]gateway +msgid "Gateway" +msgstr "Шлюз" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "В мережі" + +#: [presence]away +msgid "Away" +msgstr "Заклопотаний" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "Не турбувати" + +#: [presence]xa +msgid "Extended Away" +msgstr "Давно не був в мережі" + +#: [presence]offline +msgid "Offline" +msgstr "Не в мережі" + +#: [presence]error +msgid "Error" +msgstr "Помилка" + +#: [mood]afraid +msgid "afraid" +msgstr "лякатися" + +#: [mood]amazed +msgid "amazed" +msgstr "здивований" + +#: [mood]amorous +msgid "amorous" +msgstr "закоханий" + +#: [mood]angry +msgid "angry" +msgstr "сердитий" + +#: [mood]annoyed +msgid "annoyed" +msgstr "роздратований" + +#: [mood]anxious +msgid "anxious" +msgstr "занепокоєний" + +#: [mood]aroused +msgid "aroused" +msgstr "збуджений" + +#: [mood]ashamed +msgid "ashamed" +msgstr "присоромлений" + +#: [mood]bored +msgid "bored" +msgstr "нудьгую" + +#: [mood]brave +msgid "brave" +msgstr "хоробрий" + +#: [mood]calm +msgid "calm" +msgstr "спокійний" + +#: [mood]cautious +msgid "cautious" +msgstr "обережний" + +#: [mood]cold +msgid "cold" +msgstr "холодний" + +#: [mood]confident +msgid "confident" +msgstr "впевнений" + +#: [mood]confused +msgid "confused" +msgstr "збентежений" + +#: [mood]contemplative +msgid "contemplative" +msgstr "споглядальний" + +#: [mood]contented +msgid "contented" +msgstr "задоволений" + +#: [mood]cranky +msgid "cranky" +msgstr "примхливий" + +#: [mood]crazy +msgid "crazy" +msgstr "божевільний" + +#: [mood]creative +msgid "creative" +msgstr "творчий" + +#: [mood]curious +msgid "curious" +msgstr "допитливий" + +#: [mood]dejected +msgid "dejected" +msgstr "пригнічений" + +#: [mood]depressed +msgid "depressed" +msgstr "пригнічений" + +#: [mood]disappointed +msgid "disappointed" +msgstr "розчарований" + +#: [mood]disgusted +msgid "disgusted" +msgstr "огидно" + +#: [mood]dismayed +msgid "dismayed" +msgstr "нажаханий" + +#: [mood]distracted +msgid "distracted" +msgstr "відволікся" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "збентежений" + +#: [mood]envious +msgid "envious" +msgstr "заздрісний" + +#: [mood]excited +msgid "excited" +msgstr "схвильований" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "кокетливий" + +#: [mood]frustrated +msgid "frustrated" +msgstr "розчарований" + +#: [mood]grateful +msgid "grateful" +msgstr "вдячний" + +#: [mood]grieving +msgid "grieving" +msgstr "скорботний" + +#: [mood]grumpy +msgid "grumpy" +msgstr "буркотливий" + +#: [mood]guilty +msgid "guilty" +msgstr "винний" + +#: [mood]happy +msgid "happy" +msgstr "щасливий" + +#: [mood]hopeful +msgid "hopeful" +msgstr "сподіваючись" + +#: [mood]hot +msgid "hot" +msgstr "гарячий" + +#: [mood]humbled +msgid "humbled" +msgstr "принижений" + +#: [mood]humiliated +msgid "humiliated" +msgstr "принижений" + +#: [mood]hungry +msgid "hungry" +msgstr "голодний" + +#: [mood]hurt +msgid "hurt" +msgstr "боляче" + +#: [mood]impressed +msgid "impressed" +msgstr "вражений" + +#: [mood]in_awe +msgid "in awe" +msgstr "в трепеті" + +#: [mood]in_love +msgid "in love" +msgstr "закоханий" + +#: [mood]indignant +msgid "indignant" +msgstr "обурений" + +#: [mood]interested +msgid "interested" +msgstr "зацікавлений" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "нетверезий" + +#: [mood]invincible +msgid "invincible" +msgstr "непереможний" + +#: [mood]jealous +msgid "jealous" +msgstr "ревнивий" + +#: [mood]lonely +msgid "lonely" +msgstr "самотній" + +#: [mood]lost +msgid "lost" +msgstr "загублений" + +#: [mood]lucky +msgid "lucky" +msgstr "щасливий" + +#: [mood]mean +msgid "mean" +msgstr "підлий" + +#: [mood]moody +msgid "moody" +msgstr "похмурий" + +#: [mood]nervous +msgid "nervous" +msgstr "знервований" + +#: [mood]neutral +msgid "neutral" +msgstr "нейтральний" + +#: [mood]offended +msgid "offended" +msgstr "ображений" + +#: [mood]outraged +msgid "outraged" +msgstr "обурений" + +#: [mood]playful +msgid "playful" +msgstr "грайливий" + +#: [mood]proud +msgid "proud" +msgstr "гордий" + +#: [mood]relaxed +msgid "relaxed" +msgstr "розслаблений" + +#: [mood]relieved +msgid "relieved" +msgstr "відрадний" + +#: [mood]remorseful +msgid "remorseful" +msgstr "розкаяний" + +#: [mood]restless +msgid "restless" +msgstr "неспокійний" + +#: [mood]sad +msgid "sad" +msgstr "сумний" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "саркастичний" + +#: [mood]satisfied +msgid "satisfied" +msgstr "задоволений" + +#: [mood]serious +msgid "serious" +msgstr "серйозний" + +#: [mood]shocked +msgid "shocked" +msgstr "шокований" + +#: [mood]shy +msgid "shy" +msgstr "сором'язливий" + +#: [mood]sick +msgid "sick" +msgstr "хворий" + +#: [mood]sleepy +msgid "sleepy" +msgstr "сонний" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "спонтанний" + +#: [mood]stressed +msgid "stressed" +msgstr "підкреслений" + +#: [mood]strong +msgid "strong" +msgstr "сильний" + +#: [mood]surprised +msgid "surprised" +msgstr "здивований" + +#: [mood]thankful +msgid "thankful" +msgstr "вдячний" + +#: [mood]thirsty +msgid "thirsty" +msgstr "спраглий" + +#: [mood]tired +msgid "tired" +msgstr "втомлений" + +#: [mood]undefined +msgid "undefined" +msgstr "невизначений" + +#: [mood]weak +msgid "weak" +msgstr "слабкий" + +#: [mood]worried +msgid "worried" +msgstr "заклопотаний" + +#: [month]title +msgid "Month" +msgstr "Місяць" + +#: [month]january +msgid "January" +msgstr "Січень" + +#: [month]february +msgid "February" +msgstr "Лютий" + +#: [month]march +msgid "March" +msgstr "Березень" + +#: [month]april +msgid "April" +msgstr "Квітень" + +#: [month]may +msgid "May" +msgstr "Травень" + +#: [month]june +msgid "June" +msgstr "Червень" + +#: [month]july +msgid "July" +msgstr "Липень" + +#: [month]august +msgid "August" +msgstr "Серпень" + +#: [month]september +msgid "September" +msgstr "Вересень" + +#: [month]october +msgid "October" +msgstr "Жовтень" + +#: [month]november +msgid "November" +msgstr "Листопад" + +#: [month]december +msgid "December" +msgstr "Грудень" + +#: [year]title +msgid "Year" +msgstr "Рік" + +#: [date]today +msgid "Today" +msgstr "Сьогодні" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "Завтра" + +#: [date]yesterday +msgid "Yesterday" +msgstr "Вчора" + +#: [date]ago +msgid "%d days ago" +msgstr "%dднів тому" + +#: [date]day +msgid "day" +msgstr "день" + +#: [post]title +msgid "Title" +msgstr "Заголовок" + +#: [post]place +msgid "Place" +msgstr "Місце" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "Геолокалізація" + +#: [post]email +msgid "email" +msgstr "Електронна пошта" + +#: [post]empty +msgid "No content" +msgstr "Вміст відсутній" + +#: [post]no_comments +msgid "No comments yet" +msgstr "Коментарі відсутні" + +#: [post]older +msgid "Get older posts" +msgstr "Отримати давнішні коментарі" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "Помилка публікації коментаря" + +#: [post]comments_get +msgid "Get the comments" +msgstr "Отримати коментарі" + +#: [post]comment_add +msgid "Add a comment" +msgstr "Додати коментар" + +#: [post]share +msgid "Share with" +msgstr "Поділитися з ..." + +#: [post]share_everyone +msgid "Everyone" +msgstr "Всі" + +#: [post]updated +msgid "Updated" +msgstr "Оновлено" + +#: [post]content_not_found +msgid "Content not found" +msgstr "Вміст не знайдено" + +#: [post]default_title +msgid "Contact publication" +msgstr "Зв'язатися з редакцією" + +#: [post]comments +msgid "Comments" +msgstr "Коментарі" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "Оригінал посту видалено" + +#: [filesize]byte +msgid "B" +msgstr "Б" + +#: [filesize]kilobyte +msgid "KB" +msgstr "КБ" + +#: [filesize]megabyte +msgid "MB" +msgstr "МБ" + +#: [filesize]gigabyte +msgid "GB" +msgstr "ГБ" + +#: [filesize]terabyte +msgid "TB" +msgstr "ТБ" + +#: [affiliation]owner +msgid "Owner" +msgstr "Власник" + +#: [affiliation]admin +msgid "Admin" +msgstr "Адміністратор" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "Видавник" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "Лише для публікації" + +#: [affiliation]member +msgid "Member" +msgstr "Учасник" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "Без приналежності" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "Користувачеві надано право власності" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "Користувачеві надано права адміністратора" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "Користувачеві надано статус учасника" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "Користувача заблоковано" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "Приналежність користувача видалено" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "API недоступний, спробуйте пізніше" + +#: [field]type_here +msgid "Type here" +msgstr "Напишіть тут" diff --git a/frontend/locales/ur.po b/frontend/locales/ur.po new file mode 100644 index 0000000..b9f4764 --- /dev/null +++ b/frontend/locales/ur.po @@ -0,0 +1,4154 @@ +# +# Translators: +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Urdu (http://app.transifex.com/movim/movim/language/ur/)\n" +"Language: ur\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "" + +#: [about]developers +msgid "Developers" +msgstr "" + +#: [about]translators +msgid "Translators" +msgstr "" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "" + +#: [about]software +msgid "Software" +msgstr "" + +#: [about]resources +msgid "Resources" +msgstr "" + +#: [about]api +msgid "API" +msgstr "" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "" + +#: [account]delete +msgid "Delete your account" +msgstr "" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "" + +#: [general]theme +msgid "Theme" +msgstr "" + +#: [general]language +msgid "Default language" +msgstr "" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "" + +#: [credentials]re_password +msgid "Retype password" +msgstr "" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "" + +#: [general]gender +msgid "Gender" +msgstr "" + +#: [general]marital +msgid "Marital Status" +msgstr "" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "" + +#: [general]about +msgid "About Me" +msgstr "" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "" + +#: [day]tuesday +msgid "Tuesday" +msgstr "" + +#: [day]wednesday +msgid "Wednesday" +msgstr "" + +#: [day]thursday +msgid "Thursday" +msgstr "" + +#: [day]friday +msgid "Friday" +msgstr "" + +#: [day]saturday +msgid "Saturday" +msgstr "" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "" + +#: [presence]away +msgid "Away" +msgstr "" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "" + +#: [month]february +msgid "February" +msgstr "" + +#: [month]march +msgid "March" +msgstr "" + +#: [month]april +msgid "April" +msgstr "" + +#: [month]may +msgid "May" +msgstr "" + +#: [month]june +msgid "June" +msgstr "" + +#: [month]july +msgid "July" +msgstr "" + +#: [month]august +msgid "August" +msgstr "" + +#: [month]september +msgid "September" +msgstr "" + +#: [month]october +msgid "October" +msgstr "" + +#: [month]november +msgid "November" +msgstr "" + +#: [month]december +msgid "December" +msgstr "" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "" + +#: [date]yesterday +msgid "Yesterday" +msgstr "" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/ur_pk.po b/frontend/locales/ur_pk.po new file mode 100644 index 0000000..3c295bb --- /dev/null +++ b/frontend/locales/ur_pk.po @@ -0,0 +1,4154 @@ +# +# Translators: +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Urdu (Pakistan) (http://app.transifex.com/movim/movim/language/ur_PK/)\n" +"Language: ur_PK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "" + +#: [about]developers +msgid "Developers" +msgstr "" + +#: [about]translators +msgid "Translators" +msgstr "" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "" + +#: [about]software +msgid "Software" +msgstr "" + +#: [about]resources +msgid "Resources" +msgstr "" + +#: [about]api +msgid "API" +msgstr "" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "" + +#: [account]delete +msgid "Delete your account" +msgstr "" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "" + +#: [general]theme +msgid "Theme" +msgstr "" + +#: [general]language +msgid "Default language" +msgstr "" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "" + +#: [credentials]re_password +msgid "Retype password" +msgstr "" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "" + +#: [general]gender +msgid "Gender" +msgstr "" + +#: [general]marital +msgid "Marital Status" +msgstr "" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "" + +#: [general]about +msgid "About Me" +msgstr "" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "" + +#: [day]tuesday +msgid "Tuesday" +msgstr "" + +#: [day]wednesday +msgid "Wednesday" +msgstr "" + +#: [day]thursday +msgid "Thursday" +msgstr "" + +#: [day]friday +msgid "Friday" +msgstr "" + +#: [day]saturday +msgid "Saturday" +msgstr "" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "" + +#: [presence]away +msgid "Away" +msgstr "" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "" + +#: [month]february +msgid "February" +msgstr "" + +#: [month]march +msgid "March" +msgstr "" + +#: [month]april +msgid "April" +msgstr "" + +#: [month]may +msgid "May" +msgstr "" + +#: [month]june +msgid "June" +msgstr "" + +#: [month]july +msgid "July" +msgstr "" + +#: [month]august +msgid "August" +msgstr "" + +#: [month]september +msgid "September" +msgstr "" + +#: [month]october +msgid "October" +msgstr "" + +#: [month]november +msgid "November" +msgstr "" + +#: [month]december +msgid "December" +msgstr "" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "" + +#: [date]yesterday +msgid "Yesterday" +msgstr "" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/vi.po b/frontend/locales/vi.po new file mode 100644 index 0000000..c00e4ed --- /dev/null +++ b/frontend/locales/vi.po @@ -0,0 +1,4155 @@ +# +# Translators: +# Khám Phá Phần Mềm , 2019 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Khám Phá Phần Mềm , 2019\n" +"Language-Team: Vietnamese (http://app.transifex.com/movim/movim/language/vi/)\n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "Cảm ơn" + +#: [about]developers +msgid "Developers" +msgstr "Phát triển" + +#: [about]translators +msgid "Translators" +msgstr "" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "" + +#: [about]software +msgid "Software" +msgstr "" + +#: [about]resources +msgid "Resources" +msgstr "" + +#: [about]api +msgid "API" +msgstr "" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "" + +#: [account]delete +msgid "Delete your account" +msgstr "" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "" + +#: [general]theme +msgid "Theme" +msgstr "" + +#: [general]language +msgid "Default language" +msgstr "" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "" + +#: [credentials]username [input]username +msgid "Username" +msgstr "" + +#: [credentials]re_password +msgid "Retype password" +msgstr "" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "" + +#: [log]syslog +msgid "Syslog" +msgstr "" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "" + +#: [message]published +msgid "Message Published" +msgstr "" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "" + +#: [chat]profile +msgid "See the profile" +msgstr "" + +#: [chat]clear +msgid "Clear the history" +msgstr "" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "" + +#: [communities]counter +msgid "%s communities" +msgstr "" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "" + +#: [communities]servers +msgid "Communities servers" +msgstr "" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "" + +#: [communitiesserver]name +msgid "Community name" +msgstr "" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "" + +#: [general]gender +msgid "Gender" +msgstr "" + +#: [general]marital +msgid "Marital Status" +msgstr "" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "" + +#: [general]about +msgid "About Me" +msgstr "" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "" + +#: [error]session +msgid "Session error" +msgstr "" + +#: [error]account_created +msgid "Account successfully created" +msgstr "" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "" + +#: [create]server_on +msgid "on" +msgstr "" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "" + +#: [create]placeholder +msgid "…and start playing" +msgstr "" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "" + +#: [page]administration +msgid "Administration" +msgstr "" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "" + +#: [page]home +msgid "Home" +msgstr "" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "" + +#: [button]add +msgid "Add" +msgstr "" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "" + +#: [button]bool_yes +msgid "Yes" +msgstr "" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "" + +#: [button]chat +msgid "Chat" +msgstr "" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "" + +#: [day]monday +msgid "Monday" +msgstr "" + +#: [day]tuesday +msgid "Tuesday" +msgstr "" + +#: [day]wednesday +msgid "Wednesday" +msgstr "" + +#: [day]thursday +msgid "Thursday" +msgstr "" + +#: [day]friday +msgid "Friday" +msgstr "" + +#: [day]saturday +msgid "Saturday" +msgstr "" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "" + +#: [client]phone +msgid "Phone" +msgstr "" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "" + +#: [presence]away +msgid "Away" +msgstr "" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "" + +#: [presence]xa +msgid "Extended Away" +msgstr "" + +#: [presence]offline +msgid "Offline" +msgstr "" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "" + +#: [month]january +msgid "January" +msgstr "" + +#: [month]february +msgid "February" +msgstr "" + +#: [month]march +msgid "March" +msgstr "" + +#: [month]april +msgid "April" +msgstr "" + +#: [month]may +msgid "May" +msgstr "" + +#: [month]june +msgid "June" +msgstr "" + +#: [month]july +msgid "July" +msgstr "" + +#: [month]august +msgid "August" +msgstr "" + +#: [month]september +msgid "September" +msgstr "" + +#: [month]october +msgid "October" +msgstr "" + +#: [month]november +msgid "November" +msgstr "" + +#: [month]december +msgid "December" +msgstr "" + +#: [year]title +msgid "Year" +msgstr "" + +#: [date]today +msgid "Today" +msgstr "" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "" + +#: [date]yesterday +msgid "Yesterday" +msgstr "" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/locales/zh.po b/frontend/locales/zh.po new file mode 100644 index 0000000..da307fb --- /dev/null +++ b/frontend/locales/zh.po @@ -0,0 +1,4171 @@ +# +# Translators: +# ZeroAurora <2205358329@qq.com>, 2019 +# HydroChLorica, 2017 +# kashing , 2015-2016 +# Lei feng, 2015 +# Nobita Nobi <896876269@qq.com>, 2020 +# Phonebook3599, 2025 +# Phonebook3599, 2024-2026 +# Phonebook3599, 2023 +# Poesty Li, 2025 +# Finn Dean , 2020 +# toolsman , 2016 +# z h, 2021 +# Zhao Rui , 2015 +# 三三 , 2016 +# Phonebook3599, 2025 +# ヨイツの賢狼ホロ, 2018 +# ヨイツの賢狼ホロ, 2018 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: Phonebook3599, 2024-2026\n" +"Language-Team: Chinese (China) (http://app.transifex.com/movim/movim/language/zh_CN/)\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "感谢" + +#: [about]developers +msgid "Developers" +msgstr "开发者" + +#: [about]translators +msgid "Translators" +msgstr "翻译人员" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "感谢所有翻译人员" + +#: [about]software +msgid "Software" +msgstr "软件" + +#: [about]resources +msgid "Resources" +msgstr "资源" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim 是基于 XMPP 的交流平台。除以下软件和资源外,所有项目均遵循" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "源代码" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "查看 GitHub 仓库中的源代码" + +#: [account]title [page]account +msgid "Account" +msgstr "账号" + +#: [account]account_management +msgid "Account management" +msgstr "账号管理" + +#: [account]password_change_title +msgid "Change my password" +msgstr "更改我的密码" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "密码" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "密码确认" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "密码已更新" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "提供的密码不同" + +#: [account]delete +msgid "Delete your account" +msgstr "删除账号" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "您将删除您的 XMPP 账号以及与之关联的所有信息(个人资料、联系人和发布的内容)。" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "输入您的完整用户名" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "请提供有效的用户名。" + +#: [account]gateway_title +msgid "Gateways" +msgstr "网关" + +#: [account]clear +msgid "Leave this instance" +msgstr "离开此实例" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "您将删除此 Movim 实例上与您的账号关联的所有相关信息(个人资料、联系人和发布的内容)。" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "此操作不会删除您的账号,但会断开您与 Movim 的连接。" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "OMEMO 密钥删除" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "您即将销毁以下 OMEMO 密钥。您的联系人将无法再使用该密钥加密消息。此操作无法撤销。您确定吗?" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "操作" + +#: [adhoc]completed +msgid "Action completed" +msgstr "操作已完成" + +#: [tools]title +msgid "Developer Tools" +msgstr "开发者工具" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "将 SDP 转换为 Jingle" + +#: [tools]sdp_title +msgid "SDP" +msgstr "SDP" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "将 Jingle 转换为 SDP" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "Jingle 节" + +#: [admin]general +msgid "General Settings" +msgstr "常规设置" + +#: [general]theme +msgid "Theme" +msgstr "主题" + +#: [general]language +msgid "Default language" +msgstr "默认语言" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "日志级别" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "您的实例是否公开?" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "在 join.movim.eu 上注册您的实例,并加入 Movim 联邦!" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "限制推荐" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "仅推荐用户 XMPP 服务器及相关服务上可用的群聊、社区和其他内容" + +#: [chatonly]title +msgid "Chat only" +msgstr "仅聊天" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "禁用所有社交功能(社区、博客…),只保留聊天功能" + +#: [credentials]title +msgid "Administration Credential" +msgstr "管理凭据" + +#: [credentials]username [input]username +msgid "Username" +msgstr "用户名" + +#: [credentials]re_password +msgid "Retype password" +msgstr "重新输入密码" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "禁用 XMPP 注册功能" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "从界面中移除 XMPP 注册流程和按钮" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "允许的 XMPP 服务器" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "如果您想在 Movim 实例上指定授权的 XMPP 服务器列表并禁止所有其他服务器的连接,请在此处输入域名,并使用英文逗号分隔(例如:movim.eu,jabber.fr)" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "如果允许访问所有 XMPP 账号,请将此字段留空。" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "允许的 XMPP 服务器列表" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "SSRF 防护白名单域名" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "Movim 正在保护您免受 SSRF 漏洞的攻击。这意味着 Movim 会阻止所有指向您本地网络 IP 地址的 URL(包括共享链接、头像和图片)。" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "请参阅 developer.mozilla.org 上的相关 SSRF 文档。" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "请在此处添加所有本地托管的域名(例如,如果您托管博客、XMPP 文件上传服务或其他 Web 服务)。" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "此设置将在守护进程重启后生效。" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "本地授权域名列表" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "描述" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "实例的一般描述" + +#: [information]banner +msgid "Main banner" +msgstr "主横幅" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "请确保图片不要太大,并且可以从任何网页访问" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "此消息将显示在登录页面。例如,可用它来为您的 Movim 实例添加条款与条件的链接。" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "如果不想显示任何消息,请将此字段留空。" + +#: [information]label +msgid "Information Message" +msgstr "信息消息" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "默认 XMPP 服务器" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "主 XMPP 服务器域名" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "主 XMPP 服务器描述" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "主 XMPP 服务器国家/地区" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "在列表中选择国家/地区" + +#: [tenor]title +msgid "Tenor integration" +msgstr "Tenor 集成" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "您的 Tenor API 密钥" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "Movim 集成了 Tenor API,允许在聊天中搜索 GIF 和发布内容" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "访问 Tenor 并获取 API 密钥" + +#: [log]empty +msgid "Empty" +msgstr "空白" + +#: [log]syslog +msgid "Syslog" +msgstr "系统日志" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "系统日志和文件" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "最大连接会话数" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "达到限制时,Movim 将禁止新用户连接,将其设置为 0 以禁用" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "由 %s 位用户举报" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "一些 Movim 用户举报了这些账号" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "您可以选择为所有其他用户屏蔽他们" + +#: [adminsessions]title +msgid "Sessions" +msgstr "会话" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "实例上当前已连接的用户" + +#: [avatar]file +msgid "File" +msgstr "文件" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "头像已更新" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "头像未更新" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "更改我的头像" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "您的照片太大了" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "暂无头像" + +#: [banner]change +msgid "Change my banner" +msgstr "更改我的横幅" + +#: [banner]updated +msgid "Banner Updated" +msgstr "横幅已更新" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "横幅未更新" + +#: [banner]missing +msgid "No banner yet" +msgstr "暂无横幅" + +#: [blocked]title +msgid "Blocked" +msgstr "已屏蔽" + +#: [blocked]block_account +msgid "Block the account" +msgstr "屏蔽此账号" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "取消屏蔽此账号" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "账号已屏蔽" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "账号已取消屏蔽" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "您将在此处找到您已屏蔽的用户" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "以下用户被 Movim 屏蔽,无法再与您联系" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "管理员也知道此列表,因此可以在系统范围内屏蔽这些用户" + +#: [blog]title +msgid "%s’s blog" +msgstr "%s 的博客" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "此为私人内容,请登录后查看" + +#: [message]published +msgid "Message Published" +msgstr "消息已发布" + +#: [message]react +msgid "Add a reaction" +msgstr "添加回应" + +#: [message]retract +msgid "Retract" +msgstr "撤回" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "您的联系人试图撤回以前的消息,但您的客户端不支持" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "此消息已审核撤回" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "无法发送您的消息,请稍后重试" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "加密消息" + +#: [message]retracted +msgid "Retracted message" +msgstr "撤回的消息" + +#: [message]composing +msgid "Composing…" +msgstr "正在撰写…" + +#: [message]invitation +msgid "Invitation" +msgstr "邀请" + +#: [message]paused +msgid "Paused…" +msgstr "已暂停…" + +#: [message]gone +msgid "Contact gone" +msgstr "联系人已离开" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "↑ 编辑您以前的消息" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr ":shortcut: 插入表情符号" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "不允许您在此群聊中发送消息" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%s 需要您的注意" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "请在此输入您的消息…" + +#: [chat]smileys +msgid "Smileys" +msgstr "表情" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "常用联系人" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "暂无内容…" + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "别害羞,发个消息开始讨论吧" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "您收到了加入群聊的邀请" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "您发送了加入群聊的邀请" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "加入 %s" + +#: [chat]profile +msgid "See the profile" +msgstr "查看个人资料" + +#: [chat]clear +msgid "Clear the history" +msgstr "清除历史记录" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "编辑最后一条消息" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "举报滥用" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "来电" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "去电" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "未接来电" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "已拒通话" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "通话结束" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "%s 小时 %s 分" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "%s 分 %s 秒" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "%s 秒" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "%s 现在是管理员" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "%s 现在是所有者" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "%s 现在被封禁" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "%s 现在是成员" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "发送消息时出错" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "清除本地历史记录" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "您即将删除 %s 条本地消息,确定吗?" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "加密聊天中无法执行操作" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "这是本次对话的开端" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "您可以选择将其添加为新联系人,或将其屏蔽以防止其他未经请求的消息" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "添加到我的联系人" + +#: [chat]first_messages_block +msgid "Block" +msgstr "屏蔽" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "启用大型群聊通话" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "扩展此通话以支持更多参与者。" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "在此服务器上检测到 SFU(选择性转发单元)服务。与当前的点对点(P2P)设置(即每位参与者直接向其他人发送他们的音频/视频流)不同,SFU 通过中央服务器中继流。这显著降低了每位参与者设备上的带宽和 CPU 负载,使群聊通话扩展到更多人。" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "启用大型群聊通话会将 SFU 服务引入此群聊通话中。" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "复制文本" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "文本已复制" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "按内容搜索消息" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "未找到消息" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "指纹" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "OMEMO 指纹" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "正在生成加密密钥,请稍候…" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "加密密钥已生成" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "正在解析 OMEMO 设备" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "正在建立加密会话" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "正在建立自己的加密会话" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "加密已禁用" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "发送消息以建立加密会话" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "正在为联系人启用加密" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "正在为群聊启用加密" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "正在为联系人禁用加密" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "正在为群聊禁用加密" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "最后活动" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "%s 会话已建立" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "暂无聊天…" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "点击 %s 按钮,开始新对话。" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "开始新对话" + +#: [chats]add +msgid "Chat with a contact" +msgstr "与联系人聊天" + +#: [chats]me +msgid "Me" +msgstr "我" + +#: [chats]picture +msgid "Picture" +msgstr "图片" + +#: [chats]video +msgid "Video" +msgstr "视频" + +#: [chats]audio +msgid "Audio" +msgstr "音频" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "所有" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "联系人" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "发现、关注和分享" + +#: [communities]counter +msgid "%s communities" +msgstr "%s 个社区" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "搜索新服务器" + +#: [communities]servers +msgid "Communities servers" +msgstr "社区服务器" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "通过服务器发现社区" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "发现社区服务器" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "此服务器不存在" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "您可能喜欢的社区" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "社区创建成功" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "此服务器上还没有社区。" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "在 %s 上创建新社区" + +#: [communitiesserver]name +msgid "Community name" +msgstr "社区名称" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "My Little Pony - Fan Club" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "请提供有效的社区名称(最少 4 个字符)" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "您无法在此服务器上创建新社区" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "尝试发现项目时出现问题" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "无法访问服务器 %s" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "还没有社区服务器…" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "目前似乎找不到任何社区" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "配置" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "订阅" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "公开订阅" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "我的社区订阅" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "社区删除成功" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "删除社区" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "您即将删除以下社区。请确认您的操作。" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "此社区似乎已不存在。您要将其从您的订阅中移除吗?" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "删除节点时出错" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "配置已保存" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "应用节点配置时出错" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "所有者" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "发布者" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "角色" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "角色已正确设置" + +#: [communityconfig]publication +msgid "Publication" +msgstr "发布" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "公开" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "每个人都可以发布" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "发布者可以发布" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "订阅者" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "订阅者可以发布" + +#: [communityconfig]type +msgid "Community type" +msgstr "社区类型" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "文章" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "发布和阅读文章" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "图库" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "发布和浏览图片" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "%s 位订阅者" + +#: [communitydata]num +msgid "%s posts" +msgstr "%s 个帖子" + +#: [communitydata]public +msgid "Public page" +msgstr "公开页面" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "只有发布者可以发布" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "只有订阅者可以发布" + +#: [communityheader]follow +msgid "Follow" +msgstr "关注" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "取消关注" + +#: [communityheader]followed +msgid "Followed" +msgstr "已关注" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "已取消关注" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "已禁用此社区的订阅" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "为此社区加标签" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "我的社区名称" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "将此关注分享给所有人" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "它将出现在您的个人资料中" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "您即将取消关注此社区" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "您确定吗?" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "还没有发布任何内容?快来发一篇帖子,让更多人发现您" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "发布我的第一篇帖子" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "私人账号" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "请先将 %s 添加为您的联系人,才能查看发布内容" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "在关注联系人之前需先发送邀请请求" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "您目前无法关注此联系人" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "已订阅的社区" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "您好" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "在此处,您将能够管理您的所有订阅。" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "您还没有任何社区订阅。" + +#: [config]general +msgid "General" +msgstr "常规" + +#: [config]language +msgid "Language" +msgstr "语言" + +#: [config]roster +msgid "Roster display" +msgstr "联系人列表显示" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "显示离线的联系人" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "隐藏离线的联系人" + +#: [config]appearence +msgid "Appearance" +msgstr "外观" + +#: [config]updated +msgid "Configuration updated" +msgstr "配置已更新" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "配置无效" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "高级配置" + +#: [config]nsfw +msgid "Display adult content" +msgstr "显示成人内容" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "将允许您阅读带有 #nsfw 标签的帖子" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "使用 OMEMO" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "在 Movim 上为您的账号启用端到端加密" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "Movim 使用来自 %s 网络域名的代码来加密和解密消息。如果您需要收发敏感信息,请确保您完全信任此中间方提供的代码。" + +#: [config]night_mode +msgid "Night Mode" +msgstr "夜间模式" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "用深色让眼睛放松" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "您的浏览器已默认让 Movim 使用夜间模式" + +#: [config]chatmain +msgid "Main chat page" +msgstr "主聊天页面" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "将聊天页面设置为打开 Movim 时的默认页面" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "服务器端聊天消息归档首选项" + +#: [config]mam_always +msgid "Always" +msgstr "始终" + +#: [config]mam_never +msgid "Never" +msgstr "从不" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "归档首选项已保存" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "个人博客保密" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "公开博客" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "网络上的每个人都可以访问" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "私人博客" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "仅限于您的订阅者" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "个人博客保密性已保存" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "保密性" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "音频通知" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "收到的消息" + +#: [config]accent_color +msgid "Accent color" +msgstr "强调色" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "请注意" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "更改您的昵称将更改您的公开博客、动态和文章 URL" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "身份验证确认" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "以下平台需要您的确认来验证此账号" + +#: [confirm]code +msgid "Authentication code" +msgstr "身份验证代码" + +#: [roster]add_title +msgid "Add a contact" +msgstr "添加联系人" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "输入联系人的 XMPP 地址。" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "按 Enter 进行验证。" + +#: [roster]added +msgid "Contact added" +msgstr "联系人已添加" + +#: [roster]updated +msgid "Contact updated" +msgstr "联系人已更新" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "联系人已删除" + +#: [general]legend +msgid "General Information" +msgstr "基本信息" + +#: [general]name +msgid "Name" +msgstr "名称" + +#: [general]pronouns +msgid "Pronouns" +msgstr "代词" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "他/她/TA/…" + +#: [general]nickname +msgid "Nickname" +msgstr "昵称" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "出生日期" + +#: [general]gender +msgid "Gender" +msgstr "性别" + +#: [general]marital +msgid "Marital Status" +msgstr "婚姻状况" + +#: [general]email +msgid "Email" +msgstr "电子邮件" + +#: [general]website +msgid "Website" +msgstr "网站" + +#: [general]about +msgid "About Me" +msgstr "关于我" + +#: [general]accounts +msgid "Other Accounts" +msgstr "其他账号" + +#: [general]tune +msgid "Is Listening" +msgstr "在听" + +#: [general]pictures +msgid "Pictures" +msgstr "图片" + +#: [general]links +msgid "Links" +msgstr "链接" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "您的账号是私人账号" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "请转到设置页面创建公开博客,并允许其他用户找到您" + +#: [position]legend +msgid "Geographic Position" +msgstr "地理位置" + +#: [position]locality +msgid "Locality" +msgstr "地点" + +#: [position]country +msgid "Country" +msgstr "国家/地区" + +#: [listen]title +msgid "Listening" +msgstr "在听" + +#: [last]title +msgid "Last seen" +msgstr "最后访问" + +#: [clients]title +msgid "Clients" +msgstr "客户端" + +#: [clients]title_full +msgid "Clients information" +msgstr "客户端信息" + +#: [explore]last_registered +msgid "Last registered" +msgstr "最后注册" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "查找一些新联系人" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "编辑" + +#: [edit]alias +msgid "Alias" +msgstr "别名" + +#: [edit]group +msgid "Group" +msgstr "分组" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "您即将移除您的其中一位联系人,请确认您的操作" + +#: [age]years +msgid "%s years" +msgstr "%s 年" + +#: [blog]last +msgid "Last public post" +msgstr "最新公开帖子" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "访问公开博客" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "您可以查看此联系人状态" + +#: [subscription]to_button +msgid "Share my status" +msgstr "分享我的状态" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "但是此联系人无法查看您的状态" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "您没有订阅此联系人" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "请求订阅" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "但是此联系人仍可以查看您是否在线" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "您没有订阅任何人" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "邀请" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "此联系人在您的联系人列表中,但双方没有相互订阅" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "为您推荐" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "录音机" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "按下即可录制" + +#: [dictaphone]recording +msgid "Recording" +msgstr "正在录制" + +#: [draw]title +msgid "Draw" +msgstr "绘图" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "表情符号" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "收藏的表情符号" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "从下方表情包中选择要添加到收藏中的表情符号" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "管理收藏的表情符号" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "快捷方式应仅包含小写字母、数字和破折号" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "新收藏的表情符号已添加" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "快捷方式已在另一个表情符号上使用" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "尚未收藏任何内容,请前往设置页面添加收藏" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "常见问题" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "权限设置的作用是什么?" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "默认情况下,您发布的内容仅对您的联系人可见。您可以通过启用相关设置,将自己的个人资料和发布内容设为公开状态。" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "如何应用于社区帖子?" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "与您的博客发布类似,只是默认情况下,这些帖子仅对该社区的成员或订阅者可见(除非您明确开放所有社区内容)" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "在哪里可以找到群聊列表?" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "在哪里可以找到我的联系人?" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "通过打开搜索面板。" + +#: [apps]title +msgid "Applications" +msgstr "应用程序" + +#: [apps]install +msgid "Movim App" +msgstr "Movim 应用" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "在您的设备上安装 Movim" + +#: [apps]recommend +msgid "We also recommend" +msgstr "我们还推荐" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "管理员以及联系方式" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "与 Movim 团队聊天?" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "请添加此群聊" + +#: [error]username +msgid "Wrong username" +msgstr "错误的用户名" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "XMPP 地址无效" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "来自服务器的空质询" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "XMPP 域错误,您的账号不是有效的 XMPP 地址" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "某些数据丢失!" + +#: [error]internal +msgid "Internal server error" +msgstr "内部服务器错误" + +#: [error]session +msgid "Session error" +msgstr "会话错误" + +#: [error]account_created +msgid "Account successfully created" +msgstr "成功创建账号" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "Movim 无法连接到服务器" + +#: [error]impossible +msgid "Impossible login" +msgstr "无法登录" + +#: [error]default +msgid "Unknown error" +msgstr "未知错误" + +#: [error]login_format +msgid "Invalid username format" +msgstr "用户名格式无效" + +#: [error]password_format +msgid "Invalid password format" +msgstr "密码格式无效" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "您的 XMPP 服务器未经授权" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "Movim 无法进行身份验证,您输入了错误的数据" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "Movim 不支持身份验证机制" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "XMPP 身份验证失败" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "此 Movim 实例当前已满。" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "请在 %s 上尝试其他实例" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "已连接到服务器" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "已向服务器进行身份验证" + +#: [form]username +msgid "My address" +msgstr "我的地址" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "使用这些服务器的账号登录" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "使用任何 XMPP 账号登录或创建新账号" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "已连接" + +#: [form]population +msgid "Population" +msgstr "总数" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "%s 邀请您加入群聊" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "管理员" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "Movim 是一个联邦式博客和聊天平台。" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "访问项目官方网站 %s。" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "暂无动态…" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "欢迎访问您的动态,在此处您将看到您的联系人和订阅的社区中发布的所有帖子。" + +#: [menu]mine +msgid "My publications" +msgstr "我的发布" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "写新帖子…" + +#: [notification]request_title +msgid "Notifications request" +msgstr "通知请求" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "Movim 需要您的同意才能显示通知" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "此授权可随时撤销" + +#: [notification]request_button +msgid "Request" +msgstr "请求" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "授权已授予" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "授权已拒绝" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "通知" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "推送通知" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "Movim 将向以下注册设备发送推送通知" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "已为此设备启用推送通知" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "已为此设备禁用推送通知" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "未知浏览器" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "未知平台" + +#: [invitations]received +msgid "Received Invitations" +msgstr "收到的邀请" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "%s 想要添加您" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "没有新邀请" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "没有待处理的订阅" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "%s 想和您聊天" + +#: [notifs]empty +msgid "No new notifications" +msgstr "没有新通知" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "Movim 可以在有新帖子发布或收到消息时通知您" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "之后您可以随时禁用此功能" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "公开个人资料" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "公开您的个人资料,让其他用户更容易找到您并建立新的联系" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "之后您可以随时在配置中禁用此功能" + +#: [post]publish_something +msgid "Publish something" +msgstr "发布一些内容" + +#: [post]news_feed +msgid "News Feed" +msgstr "动态消息" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "发现和注册您感兴趣的群组" + +#: [post]content +msgid "Content" +msgstr "内容" + +#: [post]published +msgid "Post published" +msgstr "帖子已发布" + +#: [post]deleted +msgid "Post deleted" +msgstr "帖子已删除" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "您尚未订阅的社区中的最新帖子" + +#: [post]new_blog +msgid "New blog post" +msgstr "新博客帖子" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "这是从 %s 的转帖" + +#: [post]see_profile +msgid "See %s profile" +msgstr "查看 %s 个人资料" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "未知联系人" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "%s 分钟" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "%s 分钟" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "预览 URL:%s" + +#: [post]public_yes +msgid "This post is public" +msgstr "此帖子是公开的" + +#: [post]public_no +msgid "This post is private" +msgstr "此帖子是私人的" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "此帖子的公开 URL" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "禁用评论" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "他人将无法点赞或评论" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "已为此帖子禁用评论" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "已为此帖子启用评论" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "删除此帖子" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "您即将删除此帖子,请确认您的操作" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "您确定要删除此评论吗?" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "在社区页面上发现更多帖子" + +#: [post]more +msgid "Read more" +msgstr "阅读更多" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "评论已禁用" + +#: [post]comment_published +msgid "Comment published" +msgstr "评论已发布" + +#: [post]comment_like_published +msgid "Liked" +msgstr "已点赞" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "无法发布评论" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "评论已删除" + +#: [post]liked +msgid "Liked your publication" +msgstr "已点赞您的发布" + +#: [post]commented +msgid "Commented" +msgstr "已评论" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "您必须订阅 %s 才能查看此发布内容" + +#: [hello]contact_post +msgid "Contact post" +msgstr "联系人帖子" + +#: [hello]share_title +msgid "Universal share button" +msgstr "通用分享按钮" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "将以下按钮添加为书签或拖放到工具栏中,即可在您想要通过 Movim 分享的所有页面上使用它" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "分享到 Movim" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "噢!您好!" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "您似乎是新来的!欢迎使用 Movim!" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "检查菜单" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "所有主要的 Movim 功能均可在此访问。请随时浏览页面以了解更多信息!" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "您似乎尚未完成个人资料" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "您可以进入配置页面描述自己并放一张漂亮的照片" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "访问我的博客" + +#: [status]disconnect +msgid "Disconnect" +msgstr "断开连接" + +#: [status]presence +msgid "Presence" +msgstr "在线状态" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "确定要退出登录吗?" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "我的头像" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "链接已复制到剪贴板" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "有什么新鲜事?" + +#: [publish]brief_title +msgid "Brief" +msgstr "简报" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "帖子" + +#: [publish]post +msgid "Write a post" +msgstr "写帖子" + +#: [publish]add_link +msgid "Add a link" +msgstr "添加链接" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "拍照" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "请提供标题" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "至少需要一张图片" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "预览" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "添加文件或图片" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "您无法在此处发布帖子" + +#: [publish]new +msgid "New post" +msgstr "新帖子" + +#: [publish]title +msgid "Post title" +msgstr "帖子标题" + +#: [publish]content +msgid "Markdown content" +msgstr "Markdown 内容" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "请输入有效的 URL" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "您可以使用 Markdown 设置内容格式" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "草稿已保存" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "富文本编辑器" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "在您的标题或内容中添加#话题标签,以便他人发现您的帖子" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "您无权在此处发布" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "您的帖子太大,无法发布" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "您的文本太长,最多 %s 个字符" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "您的博客仅供您的订阅者访问。您可以在设置页面将其设置为任何人都可以访问。" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "媒体将被嵌入" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "为此发布创建公开 HTTP URL" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "这将允许 Movim 外的任何人访问您的发布内容" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "帮助" + +#: [publishhelp]more +msgid "More help" +msgstr "更多帮助" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "Markdown 语法手册" + +#: [story]new +msgid "New story" +msgstr "新故事" + +#: [story]new_edit +msgid "Edit your story" +msgstr "编辑您的故事" + +#: [story]new_publish +msgid "Publish your story" +msgstr "发布您的故事" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "发布到我的联系人" + +#: [story]uploading +msgid "Uploading the story" +msgstr "正在上传故事" + +#: [story]publishing +msgid "Publishing the story" +msgstr "正在发布故事" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "快完成了…" + +#: [story]published +msgid "Story published" +msgstr "故事已发布" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "创建新账号" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "在服务器上未找到账号创建表单" + +#: [create]server_on +msgid "on" +msgstr "在" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "您的账号已成功注册" + +#: [create]loading +msgid "Loading" +msgstr "正在加载" + +#: [create]placeholder +msgid "…and start playing" +msgstr "…并开始访问" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "不接受" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "此服务器的注册系统当前不可用" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "禁止注册" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "登录后自动加入此群聊" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "更改群聊头像" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "群聊地址错误" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "请输入有效的昵称(2 到 40 个字符)" + +#: [chatrooms]banned +msgid "Banned" +msgstr "已封禁" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "群聊通话" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "编辑群聊通话" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "呼叫您的联系人并共享您的网络摄像头或屏幕" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "配置群聊" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "昵称已被占用" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "已加入群聊" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "创建群聊" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "群聊已创建" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "标准群聊" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "您确定要永久解散以下群聊吗?" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "解散群聊" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "群聊已解散" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "Movim 无法找到有效的群聊。请尝试使用其他标识符。" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "此群聊似乎属于某个空间,我们无法找到是哪个,但我们强烈建议您加入该空间" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "您尝试添加的并非群聊" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "使用服务前需要注册" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "已离开群聊" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "发现群聊" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "编辑群聊" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "空名称" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "您还没有任何群聊。" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "点击添加按钮添加群聊。" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "名称或描述" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "按下 %s 按钮添加首个群聊" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "不允许您加入此群聊" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "网关群聊" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "隐藏已断开连接的群聊" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "群聊地址" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "群聊不存在" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "您的昵称无效" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "加入群聊" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "加入自定义群聊" + +#: [chatrooms]members +msgid "Members" +msgstr "成员" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "我收藏的群聊" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "不接受" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "不允许您在那里创建群聊" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "需要密码" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "固定此群聊" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "无法加入群聊,需要注册" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "此群聊的远程服务器不存在" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "远程服务器连接超时" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "您即将永久离开以下群聊。请确认您的操作。" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "永久离开群聊" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "群聊参与者已达上限" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "显示所有群聊" + +#: [chatrooms]subject +msgid "Subject" +msgstr "主题" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "群聊" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "群聊类型" + +#: [chatrooms]users +msgid "Users" +msgstr "用户" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "书签已更新" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "公开频道" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "您当前以匿名用户身份登录。" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "您可以使用自己的账号加入,或点击右上角的叉号退出登录,然后在登录页面上创建账号。" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "登录在 %s" + +#: [room]invite +msgid "Invite a contact" +msgstr "邀请联系人" + +#: [room]invited +msgid "Invitation sent" +msgstr "邀请已发送" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "将此链接发送到您的联系人" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "此群聊是可公开发现的" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "公开个人资料" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "此群聊的参与者可以查看彼此的 XMPP 地址" + +#: [room]archived +msgid "Archived" +msgstr "归档" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "群聊消息已归档" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "群聊" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "与受邀成员的私人群聊" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "添加新成员" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "移除成员" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "您将移除以下成员,确定吗?" + +#: [room]banned_add +msgid "Ban someone" +msgstr "封禁某人" + +#: [room]banned_remove +msgid "Unban" +msgstr "取消封禁" + +#: [room]configure_user +msgid "Configure the user" +msgstr "配置用户" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "您无权更改此从属关系" + +#: [room]affiliation +msgid "Affiliation" +msgstr "从属关系" + +#: [room]role +msgid "Role" +msgstr "角色" + +#: [room]reason +msgid "Reason" +msgstr "原因" + +#: [room]channel +msgid "Channel" +msgstr "频道" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "可公开发现和可加入的公开频道" + +#: [room]notify_never +msgid "Never notify" +msgstr "从不通知" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "提及时通知" + +#: [room]notify_always +msgid "Always notify" +msgstr "始终通知" + +#: [room]pinned +msgid "Pinned" +msgstr "已固定" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "管理员" + +#: [room]visitor +msgid "Visitor" +msgstr "参观者" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "是否允许用户发送消息?" + +#: [room]role_changed +msgid "Role changed" +msgstr "角色已更改" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "本地未找到群聊" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "频道" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "全局未找到群聊" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "查找更多频道" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "总计 %s" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "您在找什么?" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "#cats, username@server.com, John…" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "还没有联系人吗?" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "通过搜索名称或地址进行查找" + +#: [search]tags +msgid "Tags" +msgstr "标签" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "显示所有联系人" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "附加到博客发布" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "在新发布分享" + +#: [sendto]selected +msgid "contacts selected" +msgstr "联系人已选择" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "选择要分享此内容的联系人" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "帖子已分享" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "帖子已分享给 %s 位联系人" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "更多联系人" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "在 Movim 外部分享" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "帖子已使用 Movim 分享" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "故事已使用 Movim 分享" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "空间配置" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "空间配置已保存" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "空间配置错误" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "空间管理" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "解散空间" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "您即将解散以下空间,其中的所有群聊也会被解散" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "邀请新联系人" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "加入请求需要经过主持人批准" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "向您的联系人发送邀请密钥" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "离开空间" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "添加群聊" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "%s 个订阅请求正在等待您的批准" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "%s 正在等待您的批准才能加入此空间" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "管理请求" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "将此空间固定在工具栏" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "所有者无法离开自己的空间" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "从空间移除" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "创建空间" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "添加新空间" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "加入空间" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "您收到邀请了吗?" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "空间标题" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "您的空间标题为空" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "空间已创建" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "正在加载空间" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "已订阅此空间" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "使用邀请密钥" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "需要有效的密钥" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "已锁定的空间" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "您目前无权加入此空间" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "重试" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "您确定要离开此空间吗?" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "请求已发送给主持人。" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "一旦接受,您将能够加入此空间。" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "将 %s 添加到空间" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "拒绝访问" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "联系人已添加到空间中" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "联系人被拒绝加入空间" + +#: [sticker]title +msgid "Stickers" +msgstr "贴纸" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "使用 Movim 发送了贴纸" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "请输入关键词" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "查找 GIF" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "由 Tenor 提供支持" + +#: [stories]publish +msgid "New Story" +msgstr "新故事" + +#: [stories]title +msgid "Stories" +msgstr "故事" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "新故事来自 %s" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "您无权访问此故事,请向作者发送访问邀请" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "您的一些联系人可能无法访问此故事" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "他们可能必须订阅发布者账号" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "发送评论至 %s" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "故事删除" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "您确定要删除此故事吗?" + +#: [stories]deleted +msgid "Story deleted" +msgstr "故事已删除" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "Movim 是去中心化的社交网络,我们邀请您在以下 XMPP 服务器上注册" + +#: [feed]title +msgid "%s’s feed" +msgstr "%s 的动态" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "没有此联系人的公开动态" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "未指定联系人" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "上传" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "选择要上传的文件" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "大图片将被调整大小并压缩" + +#: [upload]error_filesize +msgid "File too large" +msgstr "文件太大" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "上传失败" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "不允许您上传文件" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "您已超出配额" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "将文件拖放到此区域" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "最大文件大小 %s" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "正在上传到您的账号" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "您将在加密聊天中发送未加密的文件。您确定吗?" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "个人资料" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "个人资料已更新" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "个人资料未更新" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "这也将作为您加入群聊时的默认昵称" + +#: [profile]public +msgid "Your profile is now public" +msgstr "您的个人资料现在是公开的" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "您的个人资料现在是受限的" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "配置实例昵称" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "此账号在此 Movim 实例上是否公开?" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "Movim 将创建公开页面来托管您的博客,并且其他 Movim 用户可以搜索到您的账号。" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "设置本地昵称,以便实例的其他用户容易找到您。" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "您的昵称是 %s。" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "John_Bob96" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "您的昵称应该只包含字母、数字、连字符和下划线" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "昵称已注册" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "昵称已保存" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "提交" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "重置" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "Movim 当前处于降级模式" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "您的服务器不支持 XMPP Pubsub 持久化功能,或者管理员已禁用社交功能(社区、动态消息和个人资料)。" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "请与服务器管理员联系,查看是否可以启用此功能。" + +#: [visio]calling +msgid "…is calling you" +msgstr "…正在呼叫您" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "视频通话来电" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "音频通话来电" + +#: [visio]ringing +msgid "…ringing" +msgstr "…正在响铃" + +#: [visio]declined +msgid "Declined" +msgstr "已拒绝" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "正在通话" + +#: [visio]joined_call +msgid "Joined call" +msgstr "加入的通话" + +#: [visio]failed +msgid "Failed" +msgstr "失败" + +#: [visio]connecting +msgid "…connecting" +msgstr "…正在连接" + +#: [visio]ended +msgid "End of call" +msgstr "通话结束" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "正在等待新参与者加入" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "所有参与者均已离开通话" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "挂断通话" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "您即将挂断当前通话,确定吗?" + +#: [visio]pinned +msgid "%s pinned" +msgstr "%s 已固定" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "已取消固定" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "%s 正在呼叫您" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "正在呼叫 %s" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "在 %s 中创建群聊通话" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "加入群聊通话" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "设置摄像头和麦克风" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "请允许您的浏览器共享您的设备以进行配置" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "默认麦克风" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "默认摄像头" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "默认麦克风已更改" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "默认摄像头已更改" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "麦克风未检测到声音" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "请尝试发出声音测试,也可选择其他源或检查系统设置" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "Movim 需要启用 Javascript 才能正常工作。" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "Movim 是强大的分布式社交网络平台,可以保护您的隐私,并具有一系列很棒的功能。" + +#: [global]loading +msgid "Loading…" +msgstr "正在加载…" + +#: [global]or +msgid "Or" +msgstr "或者" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "切换到其他实例" + +#: [global]main_menu +msgid "Main menu" +msgstr "主菜单" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "底部菜单" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "跳转到主要内容" + +#: [page]about +msgid "About" +msgstr "关于" + +#: [page]account_creation +msgid "Account Creation" +msgstr "账号创建" + +#: [page]administration +msgid "Administration" +msgstr "管理" + +#: [page]avatar +msgid "Profile Picture" +msgstr "头像" + +#: [page]blog +msgid "Blog" +msgstr "博客" + +#: [page]chats +msgid "Messages" +msgstr "消息" + +#: [page]communities +msgid "Communities" +msgstr "社区" + +#: [page]explore +msgid "Explore" +msgstr "探索" + +#: [page]feed +msgid "Feed" +msgstr "动态" + +#: [page]home +msgid "Home" +msgstr "主页" + +#: [page]login +msgid "Login" +msgstr "登录" + +#: [page]news +msgid "News" +msgstr "动态" + +#: [page]not_found +msgid "Not Found" +msgstr "未找到" + +#: [page]posts +msgid "Posts" +msgstr "帖子" + +#: [page]publish +msgid "Publish" +msgstr "发布" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "分享" + +#: [page]space +msgid "Space" +msgstr "空间" + +#: [page]tag +msgid "Tag" +msgstr "标签" + +#: [page]visio +msgid "Visio-conference" +msgstr "Visio-conference" + +#: [error]error +msgid "Error: %s" +msgstr "错误:%s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "无法加载文件“%s”" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "请求的组件“%s”不存在。" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "请求的事件“%s”未注册。" + +#: [error]whoops +msgid "Whoops!" +msgstr "糟糕!" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "Movim 无法与服务器通信,请稍后重试" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "正在重新连接到服务器…" + +#: [error]oops +msgid "Oops!" +msgstr "糟糕!" + +#: [button]accept +msgid "Accept" +msgstr "接受" + +#: [button]add +msgid "Add" +msgstr "添加" + +#: [button]audio_call +msgid "Audio Call" +msgstr "音频通话" + +#: [button]bool_no +msgid "No" +msgstr "否" + +#: [button]bool_yes +msgid "Yes" +msgstr "是" + +#: [button]call +msgid "Call" +msgstr "呼叫" + +#: [button]cancel +msgid "Cancel" +msgstr "取消" + +#: [button]chat +msgid "Chat" +msgstr "聊天" + +#: [button]clear +msgid "Clear" +msgstr "清除" + +#: [button]close +msgid "Close" +msgstr "关闭" + +#: [button]connecting +msgid "Connecting" +msgstr "正在连接" + +#: [button]copy_link +msgid "Copy Link" +msgstr "复制链接" + +#: [button]create +msgid "Create" +msgstr "创建" + +#: [button]delete +msgid "Delete" +msgstr "删除" + +#: [button]destroy +msgid "Destroy" +msgstr "解散" + +#: [button]discover +msgid "Discover" +msgstr "发现" + +#: [button]enable +msgid "Enable" +msgstr "启用" + +#: [button]join +msgid "Join" +msgstr "加入" + +#: [button]leave +msgid "Leave" +msgstr "离开" + +#: [button]like +msgid "Like" +msgstr "点赞" + +#: [button]more +msgid "More" +msgstr "更多" + +#: [button]new +msgid "New conversation" +msgstr "新对话" + +#: [button]next +msgid "Next" +msgstr "下一个" + +#: [button]not_now +msgid "Not Now" +msgstr "以后再说" + +#: [button]open +msgid "Open" +msgstr "打开" + +#: [button]previous +msgid "Previous" +msgstr "上一个" + +#: [button]quote +msgid "Quote" +msgstr "引用" + +#: [button]refresh +msgid "Refresh" +msgstr "刷新" + +#: [button]refuse +msgid "Refuse" +msgstr "拒绝" + +#: [button]register +msgid "Register" +msgstr "注册" + +#: [button]remove +msgid "Remove" +msgstr "移除" + +#: [button]reply +msgid "Reply" +msgstr "回复" + +#: [button]return +msgid "Return" +msgstr "返回" + +#: [button]save +msgid "Save" +msgstr "保存" + +#: [button]search +msgid "Search" +msgstr "搜索" + +#: [button]send_to +msgid "Send to" +msgstr "发送至" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "分享" + +#: [button]sign_up +msgid "Sign Up" +msgstr "注册" + +#: [button]submitting +msgid "Submitting" +msgstr "正在提交" + +#: [button]unregister +msgid "Unregister" +msgstr "注销" + +#: [button]update +msgid "Update" +msgstr "更新" + +#: [button]updating +msgid "Updating" +msgstr "正在更新" + +#: [button]validate +msgid "Validate" +msgstr "验证" + +#: [button]video_call +msgid "Video Call" +msgstr "视频通话" + +#: [input]optional +msgid "Optional" +msgstr "选填" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "关联的社区" + +#: [input]open_me_using +msgid "Open me using" +msgstr "打开我使用" + +#: [day]title +msgid "Day" +msgstr "天" + +#: [day]monday +msgid "Monday" +msgstr "周一" + +#: [day]tuesday +msgid "Tuesday" +msgstr "周二" + +#: [day]wednesday +msgid "Wednesday" +msgstr "周三" + +#: [day]thursday +msgid "Thursday" +msgstr "周四" + +#: [day]friday +msgid "Friday" +msgstr "周五" + +#: [day]saturday +msgid "Saturday" +msgstr "周六" + +#: [day]sunday +msgid "Sunday" +msgstr "周日" + +#: [client]bot +msgid "Bot" +msgstr "机器人" + +#: [client]console +msgid "Console" +msgstr "控制台" + +#: [client]desktop +msgid "Desktop" +msgstr "桌面" + +#: [client]phone +msgid "Phone" +msgstr "手机" + +#: [client]web +msgid "Web" +msgstr "Web" + +#: [client]registered +msgid "Registered" +msgstr "已注册" + +#: [client]gateway +msgid "Gateway" +msgstr "网关" + +#: [client]im +msgid "Server" +msgstr "服务器" + +#: [presence]online +msgid "Online" +msgstr "在线" + +#: [presence]away +msgid "Away" +msgstr "离开" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "忙碌" + +#: [presence]xa +msgid "Extended Away" +msgstr "不在" + +#: [presence]offline +msgid "Offline" +msgstr "离线" + +#: [presence]error +msgid "Error" +msgstr "错误" + +#: [mood]afraid +msgid "afraid" +msgstr "害怕" + +#: [mood]amazed +msgid "amazed" +msgstr "吃惊" + +#: [mood]amorous +msgid "amorous" +msgstr "恋爱" + +#: [mood]angry +msgid "angry" +msgstr "生气" + +#: [mood]annoyed +msgid "annoyed" +msgstr "恼怒" + +#: [mood]anxious +msgid "anxious" +msgstr "焦虑" + +#: [mood]aroused +msgid "aroused" +msgstr "亢奋" + +#: [mood]ashamed +msgid "ashamed" +msgstr "惭愧" + +#: [mood]bored +msgid "bored" +msgstr "无聊" + +#: [mood]brave +msgid "brave" +msgstr "勇敢" + +#: [mood]calm +msgid "calm" +msgstr "平静" + +#: [mood]cautious +msgid "cautious" +msgstr "小心" + +#: [mood]cold +msgid "cold" +msgstr "冷" + +#: [mood]confident +msgid "confident" +msgstr "自信" + +#: [mood]confused +msgid "confused" +msgstr "迷惑" + +#: [mood]contemplative +msgid "contemplative" +msgstr "沉思" + +#: [mood]contented +msgid "contented" +msgstr "满意" + +#: [mood]cranky +msgid "cranky" +msgstr "古怪" + +#: [mood]crazy +msgid "crazy" +msgstr "疯狂" + +#: [mood]creative +msgid "creative" +msgstr "创意" + +#: [mood]curious +msgid "curious" +msgstr "好奇" + +#: [mood]dejected +msgid "dejected" +msgstr "沮丧" + +#: [mood]depressed +msgid "depressed" +msgstr "郁闷" + +#: [mood]disappointed +msgid "disappointed" +msgstr "失望" + +#: [mood]disgusted +msgid "disgusted" +msgstr "讨厌" + +#: [mood]dismayed +msgid "dismayed" +msgstr "灰心" + +#: [mood]distracted +msgid "distracted" +msgstr "烦躁" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "尴尬" + +#: [mood]envious +msgid "envious" +msgstr "羡慕" + +#: [mood]excited +msgid "excited" +msgstr "兴奋" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "挑逗" + +#: [mood]frustrated +msgid "frustrated" +msgstr "沮丧" + +#: [mood]grateful +msgid "grateful" +msgstr "感激" + +#: [mood]grieving +msgid "grieving" +msgstr "伤心" + +#: [mood]grumpy +msgid "grumpy" +msgstr "暴躁" + +#: [mood]guilty +msgid "guilty" +msgstr "内疚" + +#: [mood]happy +msgid "happy" +msgstr "幸福" + +#: [mood]hopeful +msgid "hopeful" +msgstr "希望" + +#: [mood]hot +msgid "hot" +msgstr "热" + +#: [mood]humbled +msgid "humbled" +msgstr "谦逊" + +#: [mood]humiliated +msgid "humiliated" +msgstr "丢脸" + +#: [mood]hungry +msgid "hungry" +msgstr "饿" + +#: [mood]hurt +msgid "hurt" +msgstr "痛苦" + +#: [mood]impressed +msgid "impressed" +msgstr "感动" + +#: [mood]in_awe +msgid "in awe" +msgstr "佩服" + +#: [mood]in_love +msgid "in love" +msgstr "示爱" + +#: [mood]indignant +msgid "indignant" +msgstr "气愤" + +#: [mood]interested +msgid "interested" +msgstr "有趣" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "中毒" + +#: [mood]invincible +msgid "invincible" +msgstr "无敌的" + +#: [mood]jealous +msgid "jealous" +msgstr "妒忌" + +#: [mood]lonely +msgid "lonely" +msgstr "孤独" + +#: [mood]lost +msgid "lost" +msgstr "迷惑" + +#: [mood]lucky +msgid "lucky" +msgstr "好运" + +#: [mood]mean +msgid "mean" +msgstr "吝啬" + +#: [mood]moody +msgid "moody" +msgstr "易怒的" + +#: [mood]nervous +msgid "nervous" +msgstr "紧张" + +#: [mood]neutral +msgid "neutral" +msgstr "中立" + +#: [mood]offended +msgid "offended" +msgstr "生气" + +#: [mood]outraged +msgid "outraged" +msgstr "愤怒" + +#: [mood]playful +msgid "playful" +msgstr "幽默" + +#: [mood]proud +msgid "proud" +msgstr "自豪" + +#: [mood]relaxed +msgid "relaxed" +msgstr "宽慰" + +#: [mood]relieved +msgid "relieved" +msgstr "放松" + +#: [mood]remorseful +msgid "remorseful" +msgstr "歉疚" + +#: [mood]restless +msgid "restless" +msgstr "不安" + +#: [mood]sad +msgid "sad" +msgstr "悲伤" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "讽刺" + +#: [mood]satisfied +msgid "satisfied" +msgstr "满意" + +#: [mood]serious +msgid "serious" +msgstr "严肃" + +#: [mood]shocked +msgid "shocked" +msgstr "惊讶" + +#: [mood]shy +msgid "shy" +msgstr "害羞" + +#: [mood]sick +msgid "sick" +msgstr "生病" + +#: [mood]sleepy +msgid "sleepy" +msgstr "困" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "随意" + +#: [mood]stressed +msgid "stressed" +msgstr "紧张" + +#: [mood]strong +msgid "strong" +msgstr "得意" + +#: [mood]surprised +msgid "surprised" +msgstr "惊喜" + +#: [mood]thankful +msgid "thankful" +msgstr "感谢" + +#: [mood]thirsty +msgid "thirsty" +msgstr "口渴" + +#: [mood]tired +msgid "tired" +msgstr "疲劳" + +#: [mood]undefined +msgid "undefined" +msgstr "未定义" + +#: [mood]weak +msgid "weak" +msgstr "虚弱" + +#: [mood]worried +msgid "worried" +msgstr "担心" + +#: [month]title +msgid "Month" +msgstr "月" + +#: [month]january +msgid "January" +msgstr "一月" + +#: [month]february +msgid "February" +msgstr "二月" + +#: [month]march +msgid "March" +msgstr "三月" + +#: [month]april +msgid "April" +msgstr "四月" + +#: [month]may +msgid "May" +msgstr "五月" + +#: [month]june +msgid "June" +msgstr "六月" + +#: [month]july +msgid "July" +msgstr "七月" + +#: [month]august +msgid "August" +msgstr "八月" + +#: [month]september +msgid "September" +msgstr "九月" + +#: [month]october +msgid "October" +msgstr "十月" + +#: [month]november +msgid "November" +msgstr "十一月" + +#: [month]december +msgid "December" +msgstr "十二月" + +#: [year]title +msgid "Year" +msgstr "年" + +#: [date]today +msgid "Today" +msgstr "今天" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "明天" + +#: [date]yesterday +msgid "Yesterday" +msgstr "昨天" + +#: [date]ago +msgid "%d days ago" +msgstr "%d 天前" + +#: [date]day +msgid "day" +msgstr "日期" + +#: [post]title +msgid "Title" +msgstr "标题" + +#: [post]place +msgid "Place" +msgstr "地点" + +#: [post]by +msgid "by" +msgstr "通过" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "地理位置信息" + +#: [post]email +msgid "email" +msgstr "电子邮件" + +#: [post]empty +msgid "No content" +msgstr "没有内容" + +#: [post]no_comments +msgid "No comments yet" +msgstr "暂无评论" + +#: [post]older +msgid "Get older posts" +msgstr "获取较旧的帖子" + +#: [post]new_items +msgid "%s new items" +msgstr "%s 新条目" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "评论发布失败" + +#: [post]comments_get +msgid "Get the comments" +msgstr "获取评论" + +#: [post]comment_add +msgid "Add a comment" +msgstr "添加评论" + +#: [post]share +msgid "Share with" +msgstr "分享给" + +#: [post]share_everyone +msgid "Everyone" +msgstr "每个人" + +#: [post]updated +msgid "Updated" +msgstr "已更新" + +#: [post]content_not_found +msgid "Content not found" +msgstr "未找到内容" + +#: [post]default_title +msgid "Contact publication" +msgstr "联系人发布" + +#: [post]comments +msgid "Comments" +msgstr "评论" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "原帖子已删除" + +#: [filesize]byte +msgid "B" +msgstr "B" + +#: [filesize]kilobyte +msgid "KB" +msgstr "KB" + +#: [filesize]megabyte +msgid "MB" +msgstr "MB" + +#: [filesize]gigabyte +msgid "GB" +msgstr "GB" + +#: [filesize]terabyte +msgid "TB" +msgstr "TB" + +#: [affiliation]owner +msgid "Owner" +msgstr "所有者" + +#: [affiliation]admin +msgid "Admin" +msgstr "管理员" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "发布者" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "仅发布" + +#: [affiliation]member +msgid "Member" +msgstr "成员" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "被驱逐者" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "无从属关系" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "用户已设为所有者" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "用户已设为管理员" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "用户已设为成员" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "用户已封禁" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "用户的从属关系已移除" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "无法访问 API,请稍后重试" + +#: [field]type_here +msgid "Type here" +msgstr "在此输入" diff --git a/frontend/locales/zh_tw.po b/frontend/locales/zh_tw.po new file mode 100644 index 0000000..54f4939 --- /dev/null +++ b/frontend/locales/zh_tw.po @@ -0,0 +1,4155 @@ +# +# Translators: +# akong , 2018 +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/About/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Account/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdHoc/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminMain/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminReported/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/AdminSessions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Avatar/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blocked/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Blog/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chat/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ChatOmemo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Chats/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Communities/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesInteresting/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServer/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitiesServers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityAffiliations/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityHeader/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunityPosts/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/CommunitySubscriptions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Config/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Confirm/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactActions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactData/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/ContactsSuggestions/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Dictaphone/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Draw/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/EmojisConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Help/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Login/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Menu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notif/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/NotificationConfig/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Notifications/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Onboarding/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Post/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Presence/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Preview/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Publish/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishHelp/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/PublishStories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Register/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Rooms/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/RoomsExplore/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Search/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SendTo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpaceInfo/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/SpacesMenu/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stickers/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Stories/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Subscribe/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Syndication/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Upload/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Vcard4/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../app/Widgets/Visio/locales.ini +#. #-#-#-#-# locales.po (PACKAGE VERSION) #-#-#-#-# +#. extracted from ../locales/locales.ini +msgid "" +msgstr "" +"Project-Id-Version: movim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 11:02+0100\n" +"PO-Revision-Date: 2015-06-24 09:45+0000\n" +"Last-Translator: akong , 2018\n" +"Language-Team: Chinese (Taiwan) (http://app.transifex.com/movim/movim/language/zh_TW/)\n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Translate Toolkit 3.19.5\n" + +#: [about]thanks +msgid "Thanks" +msgstr "感謝" + +#: [about]developers +msgid "Developers" +msgstr "開發者" + +#: [about]translators +msgid "Translators" +msgstr "翻譯人員" + +#: [about]translators_text +msgid "Thanks to all the translators" +msgstr "感謝所有的翻譯人員" + +#: [about]software +msgid "Software" +msgstr "軟體" + +#: [about]resources +msgid "Resources" +msgstr "資源" + +#: [about]api +msgid "API" +msgstr "API" + +#: [about]info +msgid "Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under" +msgstr "Movim 是以 XMPP 為基礎的通訊平台。除了以下的軟體及資源,所有的專案都在其中" + +#: [about]sourcecode_title +msgid "Sourcecode" +msgstr "" + +#: [about]sourcecode_text +msgid "Check out the sourcecode on the Github repository" +msgstr "" + +#: [account]title [page]account +msgid "Account" +msgstr "帳號" + +#: [account]account_management +msgid "Account management" +msgstr "" + +#: [account]password_change_title +msgid "Change my password" +msgstr "變更我的密碼" + +#: [account]password [credentials]password [form]password [input]password +msgid "Password" +msgstr "密碼" + +#: [account]password_confirmation +msgid "Password confirmation" +msgstr "確認密碼" + +#: [account]password_changed +msgid "The password has been updated" +msgstr "密碼已更新" + +#: [account]password_not_same +msgid "The provided passwords are not the same" +msgstr "密碼並不一樣" + +#: [account]delete +msgid "Delete your account" +msgstr "刪除您的帳號" + +#: [account]delete_text +msgid "You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications)." +msgstr "" + +#: [account]delete_text_confirm +msgid "Type your full username" +msgstr "" + +#: [account]delete_text_error +msgid "Please provide a valid username." +msgstr "" + +#: [account]gateway_title +msgid "Gateways" +msgstr "" + +#: [account]clear +msgid "Leave this instance" +msgstr "離開這個範例" + +#: [account]clear_text +msgid "You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications)." +msgstr "" + +#: [account]clear_text_confirm +msgid "This action will not delete your account but will disconnect you from Movim." +msgstr "" + +#: [account]delete_bundle_title +msgid "OMEMO Key deletion" +msgstr "" + +#: [account]delete_bundle_text +msgid "You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure?" +msgstr "" + +#: [account]xmpp_server_info +msgid "XMPP Server Information" +msgstr "" + +#: [adhoc]title +msgid "Actions" +msgstr "動作" + +#: [adhoc]completed +msgid "Action completed" +msgstr "" + +#: [tools]title +msgid "Developer Tools" +msgstr "" + +#: [tools]sdp_to_jingle +msgid "Convert SDP to Jingle" +msgstr "" + +#: [tools]sdp_title +msgid "SDP" +msgstr "" + +#: [tools]jingle_to_sdp +msgid "Convert Jingle to SDP" +msgstr "" + +#: [tools]jingle_title +msgid "Jingle stanza" +msgstr "" + +#: [admin]general +msgid "General Settings" +msgstr "一般設定" + +#: [general]theme +msgid "Theme" +msgstr "佈景主題" + +#: [general]language +msgid "Default language" +msgstr "預設語言" + +#: [general]log_verbosity +msgid "Log verbosity" +msgstr "日誌等級" + +#: [general]join_title +msgid "Your instance is public?" +msgstr "" + +#: [general]join_text +msgid "Register your instance on join.movim.eu and join the Movim federation!" +msgstr "" + +#: [restrictsuggestions]title +msgid "Restrict suggestions" +msgstr "有限的建議" + +#: [restrictsuggestions]text +msgid "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" +msgstr "" + +#: [chatonly]title +msgid "Chat only" +msgstr "" + +#: [chatonly]text +msgid "Disable all the social feature (Communities, Blog…) and keep only the chat ones" +msgstr "" + +#: [credentials]title +msgid "Administration Credential" +msgstr "管理者憑證" + +#: [credentials]username [input]username +msgid "Username" +msgstr "使用者名稱" + +#: [credentials]re_password +msgid "Retype password" +msgstr "重新輸入密碼" + +#: [disableregistration]title +msgid "Disable the XMPP registration feature" +msgstr "" + +#: [disableregistration]text +msgid "Remove the XMPP registration flow and buttons from the interface" +msgstr "" + +#: [whitelist]title +msgid "Allowed XMPP Servers" +msgstr "" + +#: [whitelist]info1 +msgid "If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr)" +msgstr "" + +#: [whitelist]info2 +msgid "Leave this field blank if you allow the access to all the XMPP accounts." +msgstr "假如您允許存取所有 XMPP 帳號的話,保持欄位空白。" + +#: [whitelist]label +msgid "List of allowed XMPP servers" +msgstr "" + +#: [ssrfwhitelist]title +msgid "Whitelisted Domains for SSRF Protection" +msgstr "" + +#: [ssrfwhitelist]info1 +msgid "Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs." +msgstr "" + +#: [ssrfwhitelist]info2 +msgid "See the related SSRF documentation on developer.mozilla.org." +msgstr "" + +#: [ssrfwhitelist]info3 +msgid "Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services)." +msgstr "" + +#: [ssrfwhitelist]info4 +msgid "This setting will be applied after a daemon restart." +msgstr "" + +#: [ssrfwhitelist]label +msgid "List of Locally Authorized Domains" +msgstr "" + +#: [information]description [communityconfig]description +msgid "Description" +msgstr "描述" + +#: [information]description_placeholder +msgid "General description of the instance" +msgstr "" + +#: [information]banner +msgid "Main banner" +msgstr "" + +#: [information]banner_info +msgid "Ensure that the picture is not too large and can be reached from any webpages" +msgstr "" + +#: [information]info1 +msgid "This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example." +msgstr "" + +#: [information]info2 +msgid "Leave this field blank if you don’t want to show any message." +msgstr "" + +#: [information]label +msgid "Information Message" +msgstr "資訊" + +#: [xmpp]title +msgid "Default XMPP server" +msgstr "預設 XMPP 伺服器" + +#: [xmpp]domain +msgid "Main XMPP server domain" +msgstr "主要 XMPP 伺服器網域" + +#: [xmpp]description +msgid "Main XMPP server description" +msgstr "主要 XMPP 伺服器描述" + +#: [xmpp]country +msgid "Main XMPP server country" +msgstr "主要 XMPP 伺服器國家" + +#: [xmpp]country_pick +msgid "Pick a country in the list" +msgstr "在列表中選擇一個國家" + +#: [tenor]title +msgid "Tenor integration" +msgstr "" + +#: [tenor]label +msgid "Your Tenor API Key" +msgstr "" + +#: [tenor]info1 +msgid "Movim integrates the Tenor API to allow GIF search and publication in Chat" +msgstr "" + +#: [tenor]info2 +msgid "Access Tenor and get your API key" +msgstr "" + +#: [log]empty +msgid "Empty" +msgstr "空白" + +#: [log]syslog +msgid "Syslog" +msgstr "系統日誌" + +#: [log]syslog_files +msgid "Syslog and files" +msgstr "系統日誌和檔案" + +#: [maxsessions]title +msgid "Maximum of connected sessions" +msgstr "" + +#: [maxsessions]info +msgid "Movim will forbid new users to connect when the limit is reached, set it to 0 to disable" +msgstr "" + +#: [adminreported]reported_by +msgid "Reported by %s users" +msgstr "" + +#: [adminreported]info +msgid "Those accounts were reported by some Movim users" +msgstr "" + +#: [adminreported]info2 +msgid "You can choose to block them for all the other users" +msgstr "" + +#: [adminsessions]title +msgid "Sessions" +msgstr "" + +#: [adminsessions]text +msgid "Currently connected users on the pod" +msgstr "" + +#: [avatar]file +msgid "File" +msgstr "檔案" + +#: [avatar]updated +msgid "Profile Picture Updated" +msgstr "" + +#: [avatar]not_updated +msgid "Profile Picture Not Updated" +msgstr "" + +#: [avatar]change +msgid "Change my profile picture" +msgstr "" + +#: [avatar]too_big +msgid "Your picture is too big" +msgstr "" + +#: [avatar]missing +msgid "No avatar yet" +msgstr "" + +#: [banner]change +msgid "Change my banner" +msgstr "" + +#: [banner]updated +msgid "Banner Updated" +msgstr "" + +#: [banner]not_updated +msgid "Banner Not Updated" +msgstr "" + +#: [banner]missing +msgid "No banner yet" +msgstr "" + +#: [blocked]title +msgid "Blocked" +msgstr "" + +#: [blocked]block_account +msgid "Block the account" +msgstr "" + +#: [blocked]unblock_account +msgid "Unblock the account" +msgstr "" + +#: [blocked]account_blocked +msgid "Account blocked" +msgstr "" + +#: [blocked]account_unblocked +msgid "Account unblocked" +msgstr "" + +#: [blocked]placeholder +msgid "You will find here the users you have blocked" +msgstr "" + +#: [blocked]info +msgid "The following users are blocked by Movim and cannot contact you anymore" +msgstr "" + +#: [blocked]info2 +msgid "The administrator is also aware of this list and can therefore block those users system wide" +msgstr "" + +#: [blog]title +msgid "%s’s blog" +msgstr "" + +#: [blog]private +msgid "This content is private, please login to see it" +msgstr "這個內容是私人的,請登入後再來看" + +#: [message]published +msgid "Message Published" +msgstr "訊息已發佈" + +#: [message]react +msgid "Add a reaction" +msgstr "" + +#: [message]retract +msgid "Retract" +msgstr "" + +#: [message]retract_body +msgid "Your contact attempted to retract a previous message, but it's unsupported by your client" +msgstr "" + +#: [message]moderate_body +msgid "This message was moderated" +msgstr "" + +#: [message]error +msgid "Your message could not be sent, please try again later" +msgstr "您的訊息可能不能送出,請晚點重試" + +#: [message]encrypted [omemo]encrypted +msgid "Encrypted message" +msgstr "已加密訊息" + +#: [message]retracted +msgid "Retracted message" +msgstr "" + +#: [message]composing +msgid "Composing…" +msgstr "" + +#: [message]invitation +msgid "Invitation" +msgstr "" + +#: [message]paused +msgid "Paused…" +msgstr "" + +#: [message]gone +msgid "Contact gone" +msgstr "聯絡消失" + +#: [message]edit_help +msgid "↑ to edit your previous message" +msgstr "" + +#: [message]emoji_help +msgid ":shortcut: to insert an emoji" +msgstr "" + +#: [message]visitor_help +msgid "You are not allowed to send messages in this chatroom" +msgstr "" + +#: [chat]attention +msgid "%s needs your attention" +msgstr "%s 需要您的關注" + +#: [chat]placeholder +msgid "Your message here…" +msgstr "" + +#: [chat]smileys +msgid "Smileys" +msgstr "笑臉" + +#: [chat]frequent +msgid "Frequent contacts" +msgstr "常聯絡的" + +#: [chat]new_title +msgid "Nothing here yet…" +msgstr "這裡沒有..." + +#: [chat]new_text +msgid "Don’t be shy, send a first message to start the discussion" +msgstr "" + +#: [chat]invitation +msgid "You received an invitation to join a chatroom" +msgstr "您收到一則加入聊天室的邀請" + +#: [chat]invitation_self +msgid "You sent an invitation to join a chatroom" +msgstr "" + +#: [chat]invitation_join +msgid "Join %s" +msgstr "加入 %s" + +#: [chat]profile +msgid "See the profile" +msgstr "檢視個人設定" + +#: [chat]clear +msgid "Clear the history" +msgstr "清除紀錄" + +#: [chat]edit_previous +msgid "Edit last message" +msgstr "編輯最後的訊息" + +#: [chat]report_abuse +msgid "Report abuse" +msgstr "回報濫用" + +#: [chat]jingle_incoming [config]audio_call +msgid "Incoming call" +msgstr "" + +#: [chat]jingle_outgoing +msgid "Outgoing call" +msgstr "" + +#: [chat]jingle_retract +msgid "Missed call" +msgstr "" + +#: [chat]jingle_reject +msgid "Refused call" +msgstr "" + +#: [chat]jingle_end +msgid "Call ended" +msgstr "" + +#: [chat]jingle_hours +msgid "%s hours %s minutes" +msgstr "" + +#: [chat]jingle_minutes +msgid "%s minutes and %s seconds" +msgstr "" + +#: [chat]jingle_seconds +msgid "%s seconds" +msgstr "" + +#: [chat]muc_admin +msgid "%s is now admin" +msgstr "" + +#: [chat]muc_owner +msgid "%s is now owner" +msgstr "" + +#: [chat]muc_outcast +msgid "%s is now banned" +msgstr "" + +#: [chat]muc_member +msgid "%s is now member" +msgstr "" + +#: [chat]publish_error +msgid "An error occurred when sending the message" +msgstr "" + +#: [chat]clear_history +msgid "Clear the local history" +msgstr "" + +#: [chat]clear_history_text +msgid "You are going to delete %s local messages, are you sure?" +msgstr "" + +#: [chat]action_impossible_encrypted +msgid "Action impossible in encrypted chats" +msgstr "" + +#: [chat]first_messages_title +msgid "This is the beginning of this conversation" +msgstr "" + +#: [chat]first_messages_text +msgid "You can choose to add it as a new contact or block it to prevent some other unsolicited messages" +msgstr "" + +#: [chat]first_messages_add +msgid "Add to my contacts" +msgstr "" + +#: [chat]first_messages_block +msgid "Block" +msgstr "" + +#: [wide_conference_call]enable_title +msgid "Enable Wide Conference Call" +msgstr "" + +#: [wide_conference_call]enable_text +msgid "Scale this call to more participants." +msgstr "" + +#: [wide_conference_call]enable_info +msgid "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +msgstr "" + +#: [wide_conference_call]enable_info2 +msgid "Enabling Wide Conference Call will invite the SFU service into this conference call." +msgstr "" + +#: [chatactions]copy_text +msgid "Copy the text" +msgstr "" + +#: [chatactions]copied_text +msgid "Text copied" +msgstr "" + +#: [chatactions]search_messages +msgid "Search messages by content" +msgstr "" + +#: [chatactions]search_messages_empty +msgid "No messages found" +msgstr "" + +#: [omemo]fingerprints_title +msgid "Fingerprints" +msgstr "" + +#: [omemo]fingerprints +msgid "OMEMO Fingerprints" +msgstr "" + +#: [omemo]generating_bundle +msgid "Generating the encryption keys, please wait…" +msgstr "" + +#: [omemo]generated_bundle +msgid "Encryption keys generated" +msgstr "" + +#: [omemo]resolving_devices +msgid "Resolving OMEMO devices" +msgstr "" + +#: [omemo]building_sessions +msgid "Building encrypted sessions" +msgstr "" + +#: [omemo]building_own_sessions +msgid "Building own encryption sessions" +msgstr "" + +#: [omemo]encrypted_disabled +msgid "Encryption disabled" +msgstr "" + +#: [omemo]encrypted_loading +msgid "Send a message to build the encrypted session" +msgstr "" + +#: [omemo]enable_contact +msgid "Enabling encryption for the contact" +msgstr "" + +#: [omemo]enable_room +msgid "Enabling encryption for the chatroom" +msgstr "" + +#: [omemo]disable_contact +msgid "Disabling encryption for the contact" +msgstr "" + +#: [omemo]disable_room +msgid "Disabling encryption for the chatroom" +msgstr "" + +#: [omemo]last_activity +msgid "Last activity" +msgstr "" + +#: [omemo]sessions_built +msgid "%s sessions built" +msgstr "" + +#: [chats]empty_title +msgid "No chats yet…" +msgstr "" + +#: [chats]empty +msgid "Start a new conversation by clicking on the %s button." +msgstr "" + +#: [chats]new_title +msgid "Start a new conversation" +msgstr "" + +#: [chats]add +msgid "Chat with a contact" +msgstr "跟聯絡人聊天" + +#: [chats]me +msgid "Me" +msgstr "" + +#: [chats]picture +msgid "Picture" +msgstr "" + +#: [chats]video +msgid "Video" +msgstr "" + +#: [chats]audio +msgid "Audio" +msgstr "" + +#: [chats_filter]all [menu]all [chatrooms]filter_all +msgid "All" +msgstr "所有" + +#: [chats_filter]roster [menu]contacts [page]contacts +msgid "Contacts" +msgstr "" + +#: [communities]empty_text +msgid "Discover, follow and share" +msgstr "探索,跟隨和分享" + +#: [communities]counter +msgid "%s communities" +msgstr "%s 社群" + +#: [communities]search_server +msgid "Search for a new server" +msgstr "搜索新的伺服器" + +#: [communities]servers +msgid "Communities servers" +msgstr "社群伺服器" + +#: [communities]servers_text +msgid "Discover the Communities by servers" +msgstr "" + +#: [communities]disco +msgid "Communities server discovered" +msgstr "" + +#: [communities]disco_error +msgid "This server doesn’t exists" +msgstr "" + +#: [communitiesinteresting]about +msgid "Communities you might like" +msgstr "" + +#: [communitiesserver]created +msgid "Community created successfully" +msgstr "社群建立成功" + +#: [communitiesserver]empty_server +msgid "There is no Communities yet on this server." +msgstr "在這個伺服器上沒有社群。" + +#: [communitiesserver]add +msgid "Create a new community on %s" +msgstr "建立社群在 %s" + +#: [communitiesserver]name +msgid "Community name" +msgstr "社群名稱" + +#: [communitiesserver]name_example +msgid "My Little Pony - Fan Club" +msgstr "" + +#: [communitiesserver]name_error +msgid "Please provide a valid community name (4 characters minimum)" +msgstr "" + +#: [communitiesserver]no_creation +msgid "You cannot create a new community on this server" +msgstr "" + +#: [communitiesserver]disco_error +msgid "Issue when trying to discover the items" +msgstr "" + +#: [communitiesserver]remoteservernotfound +msgid "The server %s cannot be reached" +msgstr "" + +#: [communitiesservers]empty_title +msgid "No Communities Servers yet…" +msgstr "" + +#: [communitiesservers]empty_text +msgid "It seems that we can't find any communities for the moment" +msgstr "" + +#: [communityaffiliation]configuration [chatrooms]config [page]configuration +msgid "Configuration" +msgstr "設置" + +#: [communityaffiliation]subscriptions +msgid "Subscriptions" +msgstr "" + +#: [communityaffiliation]public_subscriptions +msgid "Public subscriptions" +msgstr "" + +#: [communityaffiliation]subscriptions_text +msgid "My Communities subscriptions" +msgstr "" + +#: [communityaffiliation]deleted +msgid "Community deleted successfully" +msgstr "" + +#: [communityaffiliation]delete_title +msgid "Delete the community" +msgstr "" + +#: [communityaffiliation]delete_text +msgid "You are going to delete the following community. Please confirm your action." +msgstr "" + +#: [communityaffiliation]delete_clean_text +msgid "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +msgstr "" + +#: [communityaffiliation]delete_error +msgid "Error during the node deletion" +msgstr "" + +#: [communityaffiliation]config_saved [chatrooms]config_saved +msgid "Configuration saved" +msgstr "已儲存設置" + +#: [communityaffiliation]config_error +msgid "Error during the application of the node configuration" +msgstr "" + +#: [communityaffiliation]owners [room]affiliation_owners +msgid "Owners" +msgstr "" + +#: [communityaffiliation]publishers +#: [communityconfig]publish_model_publishers_title +msgid "Publishers" +msgstr "" + +#: [communityaffiliation]roles +msgid "Roles" +msgstr "" + +#: [communityaffiliation]role_set +msgid "Role correctly set" +msgstr "" + +#: [communityconfig]publication +msgid "Publication" +msgstr "" + +#: [communityconfig]publish_model_open_title [room]public_muc +msgid "Public" +msgstr "" + +#: [communityconfig]publish_model_open_text +msgid "Everyone can publish" +msgstr "" + +#: [communityconfig]publish_model_publishers_text +msgid "The publishers can publish" +msgstr "" + +#: [communityconfig]publish_model_subscribers_title +msgid "Subscribers" +msgstr "" + +#: [communityconfig]publish_model_subscribers_text +msgid "The subscribers can publish" +msgstr "" + +#: [communityconfig]type +msgid "Community type" +msgstr "" + +#: [communityconfig]type_articles_title +msgid "Articles" +msgstr "" + +#: [communityconfig]type_articles_text +msgid "Publish and read articles" +msgstr "" + +#: [communityconfig]type_gallery_title [page]gallery +msgid "Gallery" +msgstr "" + +#: [communityconfig]type_gallery_text +msgid "Publish and browse pictures" +msgstr "" + +#: [communitydata]sub +msgid "%s subscribers" +msgstr "" + +#: [communitydata]num +msgid "%s posts" +msgstr "" + +#: [communitydata]public +msgid "Public page" +msgstr "" + +#: [communitydata]publishmodel_publishers +msgid "Only publishers can publish" +msgstr "" + +#: [communitydata]publishmodel_subscribers +msgid "Only subscribers can publish" +msgstr "" + +#: [communityheader]follow +msgid "Follow" +msgstr "" + +#: [communityheader]unfollow +msgid "Unfollow" +msgstr "" + +#: [communityheader]followed +msgid "Followed" +msgstr "" + +#: [communityheader]unfollowed +msgid "Unfollowed" +msgstr "" + +#: [communityheader]subscription_unsupported +msgid "The subscriptions are disabled for this community" +msgstr "" + +#: [communityheader]label_label +msgid "Give a label for this community" +msgstr "" + +#: [communityheader]label_placeholder +msgid "My Community Name" +msgstr "" + +#: [communityheader]share_follow +msgid "Share this follow to everyone" +msgstr "" + +#: [communityheader]share_follow_text +msgid "It will appear on your profile" +msgstr "" + +#: [communityheader]unfollow_text +msgid "You are going to unfollow this community" +msgstr "" + +#: [communityheader]sure [delete]title +msgid "Are you sure?" +msgstr "" + +#: [communityposts]empty_me_text +msgid "No publication yet? Write your first post to make people discover your profile" +msgstr "" + +#: [communityposts]empty_me_button +msgid "Publish my first post" +msgstr "" + +#: [communityposts]presencerequired +msgid "Private account" +msgstr "" + +#: [communityposts]presencerequired_text +msgid "Ask %s to be in your contacts to see the publications" +msgstr "" + +#: [communityposts]subscribe_presencerequired +msgid "Send an invitation request before following the contact" +msgstr "" + +#: [communityposts]subscribe_unsupported +msgid "You can't follow the contact at the moment" +msgstr "" + +#: [communitysubscriptions]subscriptions +msgid "Subscribed Communities" +msgstr "" + +#: [communitysubscriptions]empty_title +msgid "Hello" +msgstr "" + +#: [communitysubscriptions]empty_text1 +msgid "Here you will be able to manage all your subscriptions." +msgstr "" + +#: [communitysubscriptions]empty_text2 +msgid "You don’t have any community subscriptions yet." +msgstr "" + +#: [config]general +msgid "General" +msgstr "" + +#: [config]language +msgid "Language" +msgstr "語言" + +#: [config]roster +msgid "Roster display" +msgstr "" + +#: [config]roster_show +msgid "Show the offline contacts" +msgstr "" + +#: [config]roster_hide +msgid "Hide the offline contacts" +msgstr "" + +#: [config]appearence +msgid "Appearance" +msgstr "" + +#: [config]updated +msgid "Configuration updated" +msgstr "設置已更新" + +#: [config]not_valid +msgid "Configuration invalid" +msgstr "" + +#: [config]advanced +msgid "Advanced Configuration" +msgstr "" + +#: [config]nsfw +msgid "Display adult content" +msgstr "" + +#: [config]nsfw_text +msgid "Will allow you to read the posts tagged with the #nsfw tag" +msgstr "" + +#: [config]omemoenabled +msgid "Use OMEMO" +msgstr "" + +#: [config]omemoenabled_text +msgid "Enable end to end encryption on Movim for your account" +msgstr "" + +#: [config]omemoenabled_warning +msgid "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +msgstr "" + +#: [config]night_mode +msgid "Night Mode" +msgstr "" + +#: [config]night_mode_text +msgid "Use dark colors to rest your eyes" +msgstr "" + +#: [config]night_mode_detected +msgid "Your browser is already telling Movim to use the Night Mode by default" +msgstr "" + +#: [config]chatmain +msgid "Main chat page" +msgstr "" + +#: [config]chatmain_text +msgid "Set the chat page to the default when opening Movim" +msgstr "" + +#: [config]mam_text +msgid "Server-side chat messages archiving preferences" +msgstr "" + +#: [config]mam_always +msgid "Always" +msgstr "" + +#: [config]mam_never +msgid "Never" +msgstr "" + +#: [config]mam_saved +msgid "Archiving preferences saved" +msgstr "" + +#: [config]blog_text +msgid "Personal blog confidentiality" +msgstr "" + +#: [config]blog_open_title +msgid "Public blog" +msgstr "" + +#: [config]blog_open_text +msgid "Accessible to everyone on the network" +msgstr "" + +#: [config]blog_presence_title +msgid "Private blog" +msgstr "" + +#: [config]blog_presence_text +msgid "Restricted to your subscribers only" +msgstr "" + +#: [config]blog_saved +msgid "Personal blog confidentiality saved" +msgstr "" + +#: [config]confidentiality +msgid "Confidentiality" +msgstr "" + +#: [config]audio_title +msgid "Audio notifications" +msgstr "" + +#: [config]audio_chat +msgid "Incoming message" +msgstr "" + +#: [config]accent_color +msgid "Accent color" +msgstr "" + +#: [config]change_nickname_title +msgid "Be careful" +msgstr "" + +#: [config]change_nickname_text +msgid "Changing your nickname will change your public blog, feed, and articles URLs" +msgstr "" + +#: [confirm]title +msgid "Confirmation of authentication" +msgstr "" + +#: [confirm]description +msgid "The following platform would like your confirmation to authentify this account" +msgstr "" + +#: [confirm]code +msgid "Authentication code" +msgstr "" + +#: [roster]add_title +msgid "Add a contact" +msgstr "" + +#: [roster]add_contact_info1 +msgid "Enter the XMPP Address of your contact." +msgstr "" + +#: [roster]add_contact_info2 +msgid "Press enter to validate." +msgstr "" + +#: [roster]added +msgid "Contact added" +msgstr "" + +#: [roster]updated +msgid "Contact updated" +msgstr "" + +#: [roster]deleted +msgid "Contact deleted" +msgstr "" + +#: [general]legend +msgid "General Information" +msgstr "" + +#: [general]name +msgid "Name" +msgstr "名称" + +#: [general]pronouns +msgid "Pronouns" +msgstr "" + +#: [general]pronouns_example +msgid "he/she/they/…" +msgstr "" + +#: [general]nickname +msgid "Nickname" +msgstr "檔名" + +#: [general]date_of_birth +msgid "Date of Birth" +msgstr "生日" + +#: [general]gender +msgid "Gender" +msgstr "性別" + +#: [general]marital +msgid "Marital Status" +msgstr "婚姻狀況" + +#: [general]email +msgid "Email" +msgstr "" + +#: [general]website +msgid "Website" +msgstr "網站" + +#: [general]about +msgid "About Me" +msgstr "關於我" + +#: [general]accounts +msgid "Other Accounts" +msgstr "" + +#: [general]tune +msgid "Is Listening" +msgstr "" + +#: [general]pictures +msgid "Pictures" +msgstr "" + +#: [general]links +msgid "Links" +msgstr "" + +#: [general]private_account_title +msgid "Your account is private" +msgstr "" + +#: [general]private_account_text +msgid "Go to the Settings page to create a public blog and allow the other users to find you" +msgstr "" + +#: [position]legend +msgid "Geographic Position" +msgstr "" + +#: [position]locality +msgid "Locality" +msgstr "" + +#: [position]country +msgid "Country" +msgstr "" + +#: [listen]title +msgid "Listening" +msgstr "" + +#: [last]title +msgid "Last seen" +msgstr "" + +#: [clients]title +msgid "Clients" +msgstr "" + +#: [clients]title_full +msgid "Clients information" +msgstr "" + +#: [explore]last_registered +msgid "Last registered" +msgstr "" + +#: [explore]explore +msgid "Find some new contacts" +msgstr "" + +#: [edit]title [button]edit +msgid "Edit" +msgstr "" + +#: [edit]alias +msgid "Alias" +msgstr "別名" + +#: [edit]group +msgid "Group" +msgstr "" + +#: [delete]text +msgid "You are going to remove one of your contacts, please confirm your action" +msgstr "" + +#: [age]years +msgid "%s years" +msgstr "" + +#: [blog]last +msgid "Last public post" +msgstr "" + +#: [blog]visit +msgid "Visit the public blog" +msgstr "" + +#: [subscription]to +msgid "You can see this contact status" +msgstr "" + +#: [subscription]to_button +msgid "Share my status" +msgstr "" + +#: [subscription]to_text +msgid "But this contact cannot see yours" +msgstr "" + +#: [subscription]from +msgid "You are not subscribed to this contact" +msgstr "" + +#: [subscription]from_button +msgid "Ask to subscribe" +msgstr "" + +#: [subscription]from_text +msgid "But this contact can still see if you are online" +msgstr "" + +#: [subscription]nil +msgid "You are not subscribed to anyone" +msgstr "" + +#: [subscription]nil_button [button]invite +msgid "Invite" +msgstr "" + +#: [subscription]nil_text +msgid "This contact is in your contact list but you are not subscribed to each other" +msgstr "" + +#: [contactssuggestions]for_you +msgid "Suggestions for you" +msgstr "" + +#: [dictaphone]name +msgid "Dictaphone" +msgstr "" + +#: [dictaphone]push_to_record +msgid "Push to record" +msgstr "" + +#: [dictaphone]recording +msgid "Recording" +msgstr "" + +#: [draw]title +msgid "Draw" +msgstr "" + +#: [emojisconfig]title +msgid "Emojis" +msgstr "" + +#: [emojisconfig]favorites_title +msgid "My favorite emojis" +msgstr "" + +#: [emojisconfig]favorites_text +msgid "Pick emojis from the packs bellow that you want to add to your favorites ones" +msgstr "" + +#: [emojisconfig]dialog_title +msgid "Manage a favorite emoji" +msgstr "" + +#: [emojisconfig]alias_error +msgid "The shortcut should only contains lowercase letters, numbers and dashes" +msgstr "" + +#: [emojisconfig]new_added +msgid "New favorite emoji added" +msgstr "" + +#: [emojisconfig]alias_conflict +msgid "The shortcut is already used on another emoji" +msgstr "" + +#: [emojisconfig]no_emojis_yet +msgid "No favorites yet, check the settings page to add some" +msgstr "" + +#: [faq]title +msgid "Frequently Asked Questions" +msgstr "" + +#: [faq]permission_title +msgid "What does the permission setting do?" +msgstr "" + +#: [faq]permission_text +msgid "By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting." +msgstr "" + +#: [faq]permission_community_title +msgid "How does it apply to Communities posts?" +msgstr "" + +#: [faq]permission_community_text +msgid "Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content)" +msgstr "" + +#: [faq]chatrooms_title +msgid "Where can I find a list of group chats?" +msgstr "" + +#: [faq]find_contacts_title +msgid "Where can I find my contacts?" +msgstr "" + +#: [faq]find_contacts_text +msgid "By opening the search panel." +msgstr "" + +#: [apps]title +msgid "Applications" +msgstr "" + +#: [apps]install +msgid "Movim App" +msgstr "" + +#: [apps]install_text +msgid "Install Movim on your device" +msgstr "" + +#: [apps]recommend +msgid "We also recommend" +msgstr "" + +#: [contact]title +msgid "Administrators & Contact" +msgstr "" + +#: [chatroom]question +msgid "Chat with the Movim team?" +msgstr "" + +#: [chatroom]button +msgid "Add the chatroom" +msgstr "" + +#: [error]username +msgid "Wrong username" +msgstr "錯誤的使用者名稱" + +#: [error]jid +msgid "Invalid XMPP Address" +msgstr "" + +#: [error]empty_challenge +msgid "Empty Challenge from the server" +msgstr "" + +#: [error]dns +msgid "XMPP Domain error, your account is not a valid XMPP Address" +msgstr "" + +#: [error]data_missings +msgid "Some data are missing!" +msgstr "" + +#: [error]internal +msgid "Internal server error" +msgstr "內部的伺服器錯誤" + +#: [error]session +msgid "Session error" +msgstr "作業階段錯誤" + +#: [error]account_created +msgid "Account successfully created" +msgstr "成功建立帳戶" + +#: [error]connection +msgid "Movim cannot connect to the server" +msgstr "" + +#: [error]impossible +msgid "Impossible login" +msgstr "" + +#: [error]default +msgid "Unknown error" +msgstr "不明的錯誤" + +#: [error]login_format +msgid "Invalid username format" +msgstr "" + +#: [error]password_format +msgid "Invalid password format" +msgstr "" + +#: [error]unauthorized +msgid "Your XMPP server is unauthorized" +msgstr "" + +#: [error]wrong_account +msgid "Movim failed to authenticate. You entered wrong data" +msgstr "無法驗證. 不正確的憑據" + +#: [error]mechanism +msgid "Authentication mechanism not supported by Movim" +msgstr "" + +#: [error]fail_auth +msgid "The XMPP authentification failed" +msgstr "XMPP 驗證失敗" + +#: [error]max_sessions_reached +msgid "This Movim instance is currently full." +msgstr "" + +#: [error]max_sessions_reached_join +msgid "Try a different one on %s" +msgstr "" + +#: [connection]socket_connected +msgid "Connected to the server" +msgstr "" + +#: [connection]authenticated +msgid "Authenticated to the server" +msgstr "" + +#: [form]username +msgid "My address" +msgstr "您的用戶名" + +#: [form]whitelist_info +msgid "Login with accounts from these servers" +msgstr "" + +#: [form]connect_info +msgid "Login using any XMPP account or create a new one" +msgstr "" + +#: [form]connected [chatrooms]filter_connected +msgid "Connected" +msgstr "" + +#: [form]population +msgid "Population" +msgstr "" + +#: [form]invite_chatroom +msgid "%s invited you to join a chatroom" +msgstr "" + +#: [form]pod_admins +msgid "Administrated by" +msgstr "" + +#: [about_movim]info +msgid "Movim is a federated blogging and chat platform." +msgstr "" + +#: [about_movim]website +msgid "Visit the project official website %s." +msgstr "" + +#: [menu]empty_title +msgid "No news yet…" +msgstr "" + +#: [menu]empty +msgid "Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed." +msgstr "" + +#: [menu]mine +msgid "My publications" +msgstr "" + +#: [menu]add_post +msgid "Write a new post…" +msgstr "" + +#: [notification]request_title +msgid "Notifications request" +msgstr "" + +#: [notification]request_info +msgid "Movim requires your approval to display notifications" +msgstr "" + +#: [notification]request_info2 +msgid "This authorization can be revoked at any time" +msgstr "" + +#: [notification]request_button +msgid "Request" +msgstr "" + +#: [notification]request_granted +msgid "Authorization granted" +msgstr "" + +#: [notification]request_refused +msgid "Authorization refused" +msgstr "" + +#: [notificationconfig]title [notifs]title [onboarding]notifications_title +#: [room]notify_title +msgid "Notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions +msgid "Push notifications" +msgstr "" + +#: [notificationconfig]push_subscriptions_text +msgid "Movim will send push notifications to the following registered devices" +msgstr "" + +#: [notificationconfig]push_enabled +msgid "Push notifications enabled for this device" +msgstr "" + +#: [notificationconfig]push_disabled +msgid "Push notifications disabled for this device" +msgstr "" + +#: [notificationconfig]unknown_browser +msgid "Unknown browser" +msgstr "" + +#: [notificationconfig]unknown_platform +msgid "Unknown platform" +msgstr "" + +#: [invitations]received +msgid "Received Invitations" +msgstr "" + +#: [invitations]adds_you +msgid "%s wants to add you" +msgstr "" + +#: [invitations]no_new +msgid "No new invitations" +msgstr "" + +#: [invitations]no_subscriptions +msgid "No pending subscriptions" +msgstr "" + +#: [invitations]wants_to_talk +msgid "%s wants to talk with you" +msgstr "" + +#: [notifs]empty +msgid "No new notifications" +msgstr "" + +#: [onboarding]notifications_text +msgid "Movim can notify you when a new post is published or if you receive messages" +msgstr "" + +#: [onboarding]notifications_text_second +msgid "You can always disable them afterwards" +msgstr "" + +#: [onboarding]public_title +msgid "Public profile" +msgstr "" + +#: [onboarding]public_text +msgid "Make your profile public and allow other users to find you and make new contacts more easily" +msgstr "" + +#: [onboarding]public_text_second +msgid "You can always disable this in the configuration afterwards" +msgstr "" + +#: [post]publish_something +msgid "Publish something" +msgstr "" + +#: [post]news_feed +msgid "News Feed" +msgstr "" + +#: [post]placeholder +msgid "Discover and register to the groups you are interested in" +msgstr "" + +#: [post]content +msgid "Content" +msgstr "" + +#: [post]published +msgid "Post published" +msgstr "" + +#: [post]deleted +msgid "Post deleted" +msgstr "" + +#: [post]hot_text +msgid "Posts recently published in communities that you are not subscribed (yet)" +msgstr "" + +#: [post]new_blog +msgid "New blog post" +msgstr "" + +#: [post]repost +msgid "This is a re-post from %s" +msgstr "" + +#: [post]see_profile +msgid "See %s profile" +msgstr "" + +#: [post]unknown_contact +msgid "Unknown contact" +msgstr "" + +#: [post]read_time_singular +msgid "%s minute" +msgstr "" + +#: [post]read_time_plural +msgid "%s minutes" +msgstr "" + +#: [post]public_preview +msgid "Preview URL: %s" +msgstr "" + +#: [post]public_yes +msgid "This post is public" +msgstr "" + +#: [post]public_no +msgid "This post is private" +msgstr "" + +#: [post]public_url +msgid "Public URL of this post" +msgstr "" + +#: [post]comments_disabled_title +msgid "Disable the comments" +msgstr "" + +#: [post]comments_disabled_text +msgid "Nobody will be able to like or comment" +msgstr "" + +#: [post]comments_disabled_yes +msgid "Comments disabled for this post" +msgstr "" + +#: [post]comments_disabled_no +msgid "Comments enabled for this post" +msgstr "" + +#: [post]delete_title [post]delete +msgid "Delete this post" +msgstr "" + +#: [post]delete_text +msgid "You are going to delete this post, please confirm your action" +msgstr "" + +#: [post]delete_comment +msgid "Are you sure that you want to delete this comment?" +msgstr "" + +#: [post]discover +msgid "Discover more posts on the communities page" +msgstr "" + +#: [post]more +msgid "Read more" +msgstr "" + +#: [post]comments_disabled +msgid "Comments disabled" +msgstr "" + +#: [post]comment_published +msgid "Comment published" +msgstr "" + +#: [post]comment_like_published +msgid "Liked" +msgstr "" + +#: [post]comment_publish_error +msgid "The comment cannot be published" +msgstr "" + +#: [post]comment_deleted +msgid "Comment deleted" +msgstr "" + +#: [post]liked +msgid "Liked your publication" +msgstr "" + +#: [post]commented +msgid "Commented" +msgstr "" + +#: [post]subscription_required +msgid "You must be subscribed to %s to see this publication" +msgstr "" + +#: [hello]contact_post +msgid "Contact post" +msgstr "" + +#: [hello]share_title +msgid "Universal share button" +msgstr "" + +#: [hello]share_text +msgid "Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim" +msgstr "" + +#: [hello]share_button +msgid "Share on Movim" +msgstr "" + +#: [hello]enter_title +msgid "Oh! Hello!" +msgstr "" + +#: [hello]enter_paragraph +msgid "It seems that you are new here! Welcome to Movim!" +msgstr "" + +#: [hello]menu_title +msgid "Check the Menu" +msgstr "" + +#: [hello]menu_paragraph +msgid "All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more!" +msgstr "" + +#: [hello]profile_title +msgid "Looks like you didn’t complete your profile yet" +msgstr "" + +#: [hello]profile_paragraph +msgid "You can go in the Configuration page to describe yourself and put a nice picture" +msgstr "" + +#: [status]visit_blog +msgid "Visit my blog" +msgstr "" + +#: [status]disconnect +msgid "Disconnect" +msgstr "" + +#: [status]presence +msgid "Presence" +msgstr "" + +#: [status]logout_confirm +msgid "Do you really want to log out?" +msgstr "" + +#: [status]my_avatar +msgid "My profile picture" +msgstr "" + +#: [preview]link_copied +msgid "Link copied to clipboard" +msgstr "" + +#: [publish]placeholder +msgid "What’s new?" +msgstr "" + +#: [publish]brief_title +msgid "Brief" +msgstr "" + +#: [publish]post_title [page]post +msgid "Post" +msgstr "" + +#: [publish]post +msgid "Write a post" +msgstr "" + +#: [publish]add_link +msgid "Add a link" +msgstr "" + +#: [publish]add_snap +msgid "Take a picture" +msgstr "" + +#: [publish]no_title +msgid "Please provide a title" +msgstr "" + +#: [publish]no_picture +msgid "At least one picture is required" +msgstr "" + +#: [publish]preview [button]preview +msgid "Preview" +msgstr "" + +#: [publish]attach +msgid "Add a file or a picture" +msgstr "" + +#: [publish]no_publication +msgid "You cannot publish a post here" +msgstr "" + +#: [publish]new +msgid "New post" +msgstr "" + +#: [publish]title +msgid "Post title" +msgstr "" + +#: [publish]content +msgid "Markdown content" +msgstr "" + +#: [publish]valid_url +msgid "Please enter a valid URL" +msgstr "" + +#: [publish]content_text +msgid "You can format your content using Markdown" +msgstr "" + +#: [publish]draft_saved +msgid "Draft saved" +msgstr "" + +#: [publish]rich_editor +msgid "Rich text editor" +msgstr "" + +#: [publish]help_hashtag +msgid "Add #hashtags in your title or content to allow your post to be discovered" +msgstr "" + +#: [publish]publish_error_forbidden +msgid "You are not authorized to publish there" +msgstr "" + +#: [publish]publish_error_payload_to_big +msgid "Your post is too big to be published" +msgstr "" + +#: [publish]too_long +msgid "Your text is too long, %s characters max" +msgstr "" + +#: [publish]blog_presence +msgid "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +msgstr "" + +#: [publish]embedded_link +msgid "The media will be embedded" +msgstr "" + +#: [publish]web_title +msgid "Create a public HTTP URL from this publication" +msgstr "" + +#: [publish]web_text +msgid "This will allow anyone outside Movim to have access to your publication" +msgstr "" + +#: [publishhelp]title [page]help +msgid "Help" +msgstr "求助" + +#: [publishhelp]more +msgid "More help" +msgstr "" + +#: [publishhelp]manual +msgid "Markdown syntax manual" +msgstr "" + +#: [story]new +msgid "New story" +msgstr "" + +#: [story]new_edit +msgid "Edit your story" +msgstr "" + +#: [story]new_publish +msgid "Publish your story" +msgstr "" + +#: [story]to_roster +msgid "Publish to my contacts" +msgstr "" + +#: [story]uploading +msgid "Uploading the story" +msgstr "" + +#: [story]publishing +msgid "Publishing the story" +msgstr "" + +#: [story]publishing_text +msgid "Almost there…" +msgstr "" + +#: [story]published +msgid "Story published" +msgstr "" + +#: [create]title [subscribe]title +msgid "Create a new account" +msgstr "建立帳號" + +#: [create]notfound +msgid "No account creation form found on the server" +msgstr "沒有帳號在伺服器上有建立" + +#: [create]server_on +msgid "on" +msgstr "啟用" + +#: [create]successfull +msgid "Your account has been successfully registered" +msgstr "" + +#: [create]loading +msgid "Loading" +msgstr "讀取中" + +#: [create]placeholder +msgid "…and start playing" +msgstr "…和開始玩樂吧" + +#: [error]not_acceptable +msgid "Not Acceptable" +msgstr "不同意" + +#: [error]service_unavailable +msgid "The registration system of this server is currently unavailable" +msgstr "這個伺服器的註冊系統目前是無效的" + +#: [error]forbidden +msgid "Registration forbidden" +msgstr "禁止註冊" + +#: [chatrooms]autojoin +msgid "Join this chatroom on login" +msgstr "" + +#: [chatrooms]avatar +msgid "Change the chatroom avatar" +msgstr "" + +#: [chatrooms]bad_id +msgid "Bad Chatroom Address" +msgstr "" + +#: [chatrooms]bad_nickname +msgid "Please enter a valid nickname (2 to 40 characters)" +msgstr "" + +#: [chatrooms]banned +msgid "Banned" +msgstr "" + +#: [chatrooms]conference_call +msgid "Conference call" +msgstr "" + +#: [chatrooms]conference_call_edit +msgid "Edit the conference call" +msgstr "" + +#: [chatrooms]conference_call_text +msgid "Call your contacts and share your webcam or screen" +msgstr "" + +#: [chatrooms]configure +msgid "Configure the chatroom" +msgstr "" + +#: [chatrooms]conflict +msgid "Nickname already taken" +msgstr "" + +#: [chatrooms]connected +msgid "Joined the chatroom" +msgstr "" + +#: [chatrooms]create +msgid "Create a chatroom" +msgstr "" + +#: [chatrooms]created +msgid "Chatroom created" +msgstr "" + +#: [chatrooms]default_room +msgid "Standard chatroom" +msgstr "" + +#: [chatrooms]destroy_text +msgid "Are you sure you want to permanently destroy the following chatroom?" +msgstr "" + +#: [chatrooms]destroy_title +msgid "Destroy the chatroom" +msgstr "" + +#: [chatrooms]destroyed +msgid "Chatroom destroyed" +msgstr "" + +#: [chatrooms]disco_error +msgid "Movim was not able to find a valid chatroom. Try maybe with another identifier." +msgstr "" + +#: [chatrooms]disco_maybe_space +msgid "This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead" +msgstr "" + +#: [chatrooms]disco_not_muc +msgid "You are trying to add something that is not a chatroom" +msgstr "" + +#: [chatrooms]disco_registration_required +msgid "A registration is required before using the service" +msgstr "" + +#: [chatrooms]disconnected +msgid "Left the chatroom" +msgstr "" + +#: [chatrooms]discover +msgid "Discover a chatroom" +msgstr "" + +#: [chatrooms]edit +msgid "Edit the chatroom" +msgstr "" + +#: [chatrooms]empty_name +msgid "Empty name" +msgstr "空白的名稱" + +#: [chatrooms]empty_text1 +msgid "You don’t have any chatroom yet." +msgstr "" + +#: [chatrooms]empty_text2 +msgid "Add one by clicking on the add button." +msgstr "" + +#: [chatrooms]explore_placeholder +msgid "Name or description" +msgstr "" + +#: [chatrooms]first_room_placeholder +msgid "Press the %s button to add a first chatroom" +msgstr "" + +#: [chatrooms]forbidden +msgid "You are not allowed to join this chatroom" +msgstr "" + +#: [chatrooms]gateway_room +msgid "Gateway chatroom" +msgstr "" + +#: [chatrooms]hide_disconnected +msgid "Hide disconnected chatrooms" +msgstr "" + +#: [chatrooms]id +msgid "Chatroom Address" +msgstr "" + +#: [chatrooms]itemnotfound +msgid "The chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]jidmalformed +msgid "Your nickname is not valid" +msgstr "" + +#: [chatrooms]join +msgid "Join a chatroom" +msgstr "" + +#: [chatrooms]join_custom +msgid "Join a custom chatroom" +msgstr "" + +#: [chatrooms]members +msgid "Members" +msgstr "成員" + +#: [chatrooms]name_placeholder +msgid "My Favorite Chatroom" +msgstr "" + +#: [chatrooms]notacceptable +msgid "Not acceptable" +msgstr "" + +#: [chatrooms]notallowed +msgid "You are not allowed to create a chatroom there" +msgstr "" + +#: [chatrooms]notauthorized +msgid "A password is required" +msgstr "" + +#: [chatrooms]pinned +msgid "Pin this chatroom" +msgstr "" + +#: [chatrooms]registrationrequired +msgid "Chatroom cannot be joined, registration required" +msgstr "" + +#: [chatrooms]remoteservernotfound +msgid "The remote server for this chatroom doesn’t exist" +msgstr "" + +#: [chatrooms]remoteservertimeout +msgid "Connection to remote server timed out" +msgstr "" + +#: [chatrooms]remove_text +msgid "You are going to permanently leave the following chatroom. Please confirm your action." +msgstr "" + +#: [chatrooms]remove_title +msgid "Permanently leave a chatroom" +msgstr "" + +#: [chatrooms]serviceunavailable +msgid "The chatroom participant limit has been reached" +msgstr "" + +#: [chatrooms]show_all +msgid "Show all chatrooms" +msgstr "" + +#: [chatrooms]subject +msgid "Subject" +msgstr "主旨" + +#: [chatrooms]title +msgid "Chatrooms" +msgstr "" + +#: [chatrooms]type_room +msgid "Type of chatroom" +msgstr "" + +#: [chatrooms]users +msgid "Users" +msgstr "" + +#: [bookmarks]updated +msgid "Bookmarks updated" +msgstr "書籤已更新" + +#: [room]anonymous_title +msgid "Public Channel" +msgstr "" + +#: [room]anonymous_text1 +msgid "You are currently logged as an anonymous user." +msgstr "" + +#: [room]anonymous_text2 +msgid "You can join using your own account or create one on the login page by logging out using the cross in the top-right corner." +msgstr "" + +#: [room]anonymous_login +msgid "Login on %s" +msgstr "" + +#: [room]invite +msgid "Invite a contact" +msgstr "" + +#: [room]invited +msgid "Invitation sent" +msgstr "" + +#: [room]invite_code +msgid "Send this link to your contacts" +msgstr "" + +#: [room]public_muc_text +msgid "This chatroom is publicly discoverable" +msgstr "" + +#: [room]nonanonymous_muc +msgid "Public profiles" +msgstr "" + +#: [room]nonanonymous_muc_text +msgid "The participants of this chatroom can see each other's XMPP Addresses" +msgstr "" + +#: [room]archived +msgid "Archived" +msgstr "" + +#: [room]archived_text +msgid "The chatroom messages are archived" +msgstr "" + +#: [room]group_chat [page]room +msgid "Group Chat" +msgstr "" + +#: [room]group_chat_text +msgid "Private group chat with invited members" +msgstr "" + +#: [room]group_chat_add +msgid "Add a new member" +msgstr "" + +#: [room]group_chat_remove +msgid "Remove a member" +msgstr "" + +#: [room]group_chat_remove_text +msgid "You will remove the following member, are you sure?" +msgstr "" + +#: [room]banned_add +msgid "Ban someone" +msgstr "" + +#: [room]banned_remove +msgid "Unban" +msgstr "" + +#: [room]configure_user +msgid "Configure the user" +msgstr "" + +#: [room]change_affiliation_unauthorized +msgid "You are not authorized to change this affiliation" +msgstr "" + +#: [room]affiliation +msgid "Affiliation" +msgstr "" + +#: [room]role +msgid "Role" +msgstr "" + +#: [room]reason +msgid "Reason" +msgstr "" + +#: [room]channel +msgid "Channel" +msgstr "" + +#: [room]channel_text +msgid "Public channel that can be publicly discoverable and joinable" +msgstr "" + +#: [room]notify_never +msgid "Never notify" +msgstr "" + +#: [room]notify_mentioned +msgid "Notify when mentioned" +msgstr "" + +#: [room]notify_always +msgid "Always notify" +msgstr "" + +#: [room]pinned +msgid "Pinned" +msgstr "" + +#: [room]affiliation_admins +msgid "Admins" +msgstr "" + +#: [room]visitor +msgid "Visitor" +msgstr "" + +#: [room]allowed_send_messages +msgid "Is the user allowed to send messages?" +msgstr "" + +#: [room]role_changed +msgid "Role changed" +msgstr "" + +#: [roomsexplore]no_local +msgid "No chatrooms found locally" +msgstr "" + +#: [roomsexplore]global_title +msgid "Channels" +msgstr "" + +#: [roomsexplore]no_global +msgid "No chatrooms found globally" +msgstr "" + +#: [roomsexplore]find_more +msgid "Find more channels" +msgstr "" + +#: [roomsexplore]find_more_text +msgid "%s in total" +msgstr "" + +#: [search]keyword +msgid "What are you looking for?" +msgstr "" + +#: [search]placeholder +msgid "#cats, username@server.com, John…" +msgstr "" + +#: [search]no_contacts_title +msgid "No contacts yet?" +msgstr "" + +#: [search]no_contacts_text +msgid "Find one by searching for their name or address" +msgstr "" + +#: [search]tags +msgid "Tags" +msgstr "" + +#: [search]show_complete_roster +msgid "Show all the contacts" +msgstr "" + +#: [sendto]attach +msgid "Attach to a blog publication" +msgstr "" + +#: [sendto]share +msgid "Share in a new publication" +msgstr "" + +#: [sendto]selected +msgid "contacts selected" +msgstr "" + +#: [sendto]pick +msgid "Pick the contacts you want to share this content with" +msgstr "" + +#: [sendto]shared_with +msgid "Post shared" +msgstr "" + +#: [sendto]shared_contacts +msgid "Post shared with %s contacts" +msgstr "" + +#: [sendto]more_contacts +msgid "More contacts" +msgstr "" + +#: [sendto]os_share +msgid "Share outside Movim" +msgstr "" + +#: [sendto]sharing_post +msgid "Post shared using Movim" +msgstr "" + +#: [sendto]sharing_story +msgid "Story shared using Movim" +msgstr "" + +#: [spaceinfo]config_title +msgid "Space configuration" +msgstr "" + +#: [spaceinfo]config_saved +msgid "Space configuration saved" +msgstr "" + +#: [spaceinfo]config_error +msgid "Space configuration error" +msgstr "" + +#: [spaceinfo]admin_title +msgid "Space administration" +msgstr "" + +#: [spaceinfo]destroy_title +msgid "Destroy the space" +msgstr "" + +#: [spaceinfo]destroy_text +msgid "You are going to destroy the following Space, all the chatrooms within it will also be destroyed" +msgstr "" + +#: [spaceinfo]invite_title +msgid "Invite new contacts" +msgstr "" + +#: [spaceinfo]invite_text +msgid "A moderator will have to approve the join request" +msgstr "" + +#: [spaceinfo]invite_uri_title +msgid "Send an invitation key to your contacts" +msgstr "" + +#: [spaceinfo]leave_title [spacesmenu]leave_title +msgid "Leave the space" +msgstr "" + +#: [spaceinfo]add_room_title +msgid "Add a room" +msgstr "" + +#: [spaceinfo]add_directory_title +msgid "Add a directory" +msgstr "" + +#: [spaceinfo]edit_directory_title +msgid "Edit a directory" +msgstr "" + +#: [spaceinfo]remove_directory_title +msgid "Remove a directory" +msgstr "" + +#: [spaceinfo]remove_directory_confirm +msgid "Do you really want to remove this directory?" +msgstr "" + +#: [spaceinfo]remove_directory_text +msgid "The %s rooms will be preserved" +msgstr "" + +#: [spaceinfo]edited_directories +msgid "Edited directories" +msgstr "" + +#: [spaceinfo]edited_room +msgid "Edited room" +msgstr "" + +#: [spaceinfo]pending_approvals +msgid "%s subscriptions requests are waiting for your approval" +msgstr "" + +#: [spaceinfo]pending_request +msgid "%s is waiting for your approval to join the space" +msgstr "" + +#: [spaceinfo]pending_action +msgid "Manage the request" +msgstr "" + +#: [spaceinfo]pinned +msgid "Pin this space in the bar" +msgstr "" + +#: [spaceinfo]owner_cannot_leave +msgid "An owner cannot leave his own Space" +msgstr "" + +#: [spaceinfo]affiliation_none +msgid "Remove from the space" +msgstr "" + +#: [spacesmenu]create_space_title +msgid "Create a space" +msgstr "" + +#: [spacesmenu]add_space_title +msgid "Add a new space" +msgstr "" + +#: [spacesmenu]join_space_title +msgid "Join a space" +msgstr "" + +#: [spacesmenu]invite_space_title +msgid "You got an invite?" +msgstr "" + +#: [spacesmenu]space_title +msgid "Space title" +msgstr "" + +#: [spacesmenu]space_title_empty +msgid "Your Space title is empty" +msgstr "" + +#: [spacesmenu]space_created +msgid "Space created" +msgstr "" + +#: [spacesmenu]loading_space_info +msgid "Loading the space" +msgstr "" + +#: [spacesmenu]subscribed +msgid "Subscribed to the space" +msgstr "" + +#: [spacesmenu]invitation_key +msgid "Use an invitation key" +msgstr "" + +#: [spacesmenu]key_required +msgid "A valid key is required" +msgstr "" + +#: [spacesmenu]locked_title +msgid "Locked space" +msgstr "" + +#: [spacesmenu]locked_text +msgid "You are not authorized to join the space at the moment" +msgstr "" + +#: [spacesmenu]locked_try_again +msgid "Try again" +msgstr "" + +#: [spacesmenu]leave_text +msgid "Are you sure that you want to leave the space?" +msgstr "" + +#: [spacesmenu]pending_subscription_title +msgid "A request has been send to a moderator." +msgstr "" + +#: [spacesmenu]pending_subscription_text +msgid "You will be able to join the space once its accepted." +msgstr "" + +#: [spacesmenu]pending_subscription_add_title +msgid "Add %s to the space" +msgstr "" + +#: [spacesmenu]pending_subscription_refuse_title +msgid "Deny the access" +msgstr "" + +#: [spacesmenu]contact_added +msgid "Contact added in the space" +msgstr "" + +#: [spacesmenu]contact_denied +msgid "Contact denied in the space" +msgstr "" + +#: [sticker]title +msgid "Stickers" +msgstr "" + +#: [sticker]sent +msgid "A sticker has been sent using Movim" +msgstr "" + +#: [sticker]keyword +msgid "Type a keyword" +msgstr "" + +#: [sticker]gif_title +msgid "Find a GIF" +msgstr "" + +#: [sticker]gif_text +msgid "Powered by Tenor" +msgstr "" + +#: [stories]publish +msgid "New Story" +msgstr "" + +#: [stories]title +msgid "Stories" +msgstr "" + +#: [stories]new_story +msgid "New Story from %s" +msgstr "" + +#: [stories]forbidden +msgid "You don't have access to this story, send an invitation to the author to access it" +msgstr "" + +#: [stories]share_title +msgid "Some of your contacts might not have access to this story" +msgstr "" + +#: [stories]share_text +msgid "They might have to subscribe to the publisher account" +msgstr "" + +#: [stories]comment +msgid "Send a comment to %s" +msgstr "" + +#: [stories]delete_title +msgid "Story deletion" +msgstr "" + +#: [stories]delete_text +msgid "Are you sure that you want to delete this story?" +msgstr "" + +#: [stories]deleted +msgid "Story deleted" +msgstr "" + +#: [subscribe]info +msgid "Movim is a decentralized social network, you are invited to register on the following XMPP server(s)" +msgstr "" + +#: [feed]title +msgid "%s’s feed" +msgstr "" + +#: [feed]nope +msgid "No public feed for this contact" +msgstr "" + +#: [feed]nope_contact +msgid "No contact specified" +msgstr "" + +#: [upload]title [button]upload +msgid "Upload" +msgstr "" + +#: [upload]choose +msgid "Choose a file to upload" +msgstr "" + +#: [upload]info +msgid "Large pictures will be resized and compressed" +msgstr "" + +#: [upload]error_filesize +msgid "File too large" +msgstr "" + +#: [upload]error_failed +msgid "Upload failed" +msgstr "" + +#: [upload]error_not_allowed +msgid "You are not allowed to upload a file" +msgstr "" + +#: [upload]error_resource_constraint +msgid "You exceeded the quota" +msgstr "" + +#: [upload]drag_drop +msgid "Drag and drop your file in this area" +msgstr "" + +#: [upload]max_size +msgid "Max file size %s" +msgstr "" + +#: [upload]upload_xmpp +msgid "Uploading to your account" +msgstr "" + +#: [upload]encrypted_warning +msgid "You will send an unencrypted file in an encrypted discussion. Are you sure about it?" +msgstr "" + +#: [vcard]title [page]profile +msgid "Profile" +msgstr "個人檔案" + +#: [vcard]updated +msgid "Profile Updated" +msgstr "" + +#: [vcard]not_updated +msgid "Profile Not Updated" +msgstr "" + +#: [vcard]nickname_info +msgid "This will also be used as your default nickname when joining a chatroom" +msgstr "" + +#: [profile]public +msgid "Your profile is now public" +msgstr "" + +#: [profile]restricted +msgid "Your profile is now restricted" +msgstr "" + +#: [profile]info +msgid "Configure your instance nickname" +msgstr "" + +#: [profile]privacy_question +msgid "Is this account public on this Movim instance?" +msgstr "" + +#: [profile]privacy_info +msgid "Movim will create a public page to host your blog and your account will be searchable by the other Movim users." +msgstr "" + +#: [profile]nickname_info +msgid "Set a local nickname to allow the other users of the instance to find you easily." +msgstr "" + +#: [profile]nickname_set +msgid "Your nickname is %s." +msgstr "" + +#: [profile]nickname_placeholder +msgid "John_Bob96" +msgstr "" + +#: [profile]nickname_error +msgid "Your nickname should only contain letters, numbers, - and _" +msgstr "" + +#: [profile]nickname_conflict +msgid "The nickname is already registered" +msgstr "" + +#: [profile]nickname_saved +msgid "Nickname saved" +msgstr "" + +#: [save]submit [button]submit +msgid "Submit" +msgstr "確認" + +#: [save]reset [button]reset +msgid "Reset" +msgstr "重設" + +#: [degraded]title +msgid "Movim is currently working in degraded mode" +msgstr "" + +#: [degraded]text_1 +msgid "Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator." +msgstr "" + +#: [degraded]text_2 +msgid "Please contact your server administrator to see if this feature can be enabled." +msgstr "" + +#: [visio]calling +msgid "…is calling you" +msgstr "" + +#: [visio]video_call +msgid "Incoming video call" +msgstr "" + +#: [visio]audio_call +msgid "Incoming audio call" +msgstr "" + +#: [visio]ringing +msgid "…ringing" +msgstr "" + +#: [visio]declined +msgid "Declined" +msgstr "" + +#: [visio]in_call +msgid "Ongoing call" +msgstr "" + +#: [visio]joined_call +msgid "Joined call" +msgstr "" + +#: [visio]failed +msgid "Failed" +msgstr "" + +#: [visio]connecting +msgid "…connecting" +msgstr "" + +#: [visio]ended +msgid "End of call" +msgstr "" + +#: [visio]waiting_participants +msgid "Waiting for incoming participants" +msgstr "" + +#: [visio]no_participants_left +msgid "All participants have left the call" +msgstr "" + +#: [visio]hang_up +msgid "Hang up the call" +msgstr "" + +#: [visio]hang_up_text +msgid "You are going to hang up the current call, are you sure?" +msgstr "" + +#: [visio]pinned +msgid "%s pinned" +msgstr "" + +#: [visio]unpinned +msgid "Unpinned" +msgstr "" + +#: [visiolobby]called +msgid "%s is calling you" +msgstr "" + +#: [visiolobby]calling +msgid "Calling %s" +msgstr "" + +#: [visiolobby]muji_create +msgid "Creating a conference call in %s" +msgstr "" + +#: [visiolobby]muji_join +msgid "Joining the conference call" +msgstr "" + +#: [visiolobby]setup +msgid "Setting up your camera and microphone" +msgstr "" + +#: [visiolobby]devices_disco +msgid "Please allow your browser to share your devices to configure them" +msgstr "" + +#: [visiolobby]microphone_label +msgid "Default microphone" +msgstr "" + +#: [visiolobby]camera_label +msgid "Default camera" +msgstr "" + +#: [visiolobby]default_microphone_changed +msgid "Default microphone changed" +msgstr "" + +#: [visiolobby]default_camera_changed +msgid "Default camera changed" +msgstr "" + +#: [visiolobby]no_mic_sound +msgid "No sound detected from your microphone" +msgstr "" + +#: [visiolobby]no_mic_sound2 +msgid "Try make some noise, select another source or check your system settings" +msgstr "" + +#: [global]no_js +msgid "Movim requires Javascript to be enabled to work properly." +msgstr "" + +#: [global]description +msgid "Movim is a kickass distributed social networking platform that protects your privacy and comes with a set of awesome features." +msgstr "" + +#: [global]loading +msgid "Loading…" +msgstr "" + +#: [global]or +msgid "Or" +msgstr "" + +#: [global]change_pod +msgid "Switch to another pod" +msgstr "" + +#: [global]main_menu +msgid "Main menu" +msgstr "" + +#: [global]bottom_menu +msgid "Bottom menu" +msgstr "" + +#: [global]skip_main +msgid "Skip to main content" +msgstr "" + +#: [page]about +msgid "About" +msgstr "" + +#: [page]account_creation +msgid "Account Creation" +msgstr "創建帳戶" + +#: [page]administration +msgid "Administration" +msgstr "管理者" + +#: [page]avatar +msgid "Profile Picture" +msgstr "" + +#: [page]blog +msgid "Blog" +msgstr "" + +#: [page]chats +msgid "Messages" +msgstr "" + +#: [page]communities +msgid "Communities" +msgstr "" + +#: [page]explore +msgid "Explore" +msgstr "" + +#: [page]feed +msgid "Feed" +msgstr "來源" + +#: [page]home +msgid "Home" +msgstr "首頁" + +#: [page]login +msgid "Login" +msgstr "" + +#: [page]news +msgid "News" +msgstr "" + +#: [page]not_found +msgid "Not Found" +msgstr "" + +#: [page]posts +msgid "Posts" +msgstr "" + +#: [page]publish +msgid "Publish" +msgstr "" + +#: [page]share +msgctxt "[page]share" +msgid "Share" +msgstr "" + +#: [page]space +msgid "Space" +msgstr "" + +#: [page]tag +msgid "Tag" +msgstr "" + +#: [page]visio +msgid "Visio-conference" +msgstr "" + +#: [error]error +msgid "Error: %s" +msgstr "錯誤: %s" + +#: [error]cannot_load_file +msgid "Cannot load file '%s'" +msgstr "無法載入檔案'%s'" + +#: [error]widget_load_error +msgid "Requested widget '%s' doesn’t exist." +msgstr "" + +#: [error]widget_call_error +msgid "Requested event '%s' not registered." +msgstr "" + +#: [error]whoops +msgid "Whoops!" +msgstr "" + +#: [error]websocket +msgid "Movim cannot talk with the server, please try again later" +msgstr "" + +#: [error]websocket_connect +msgid "Reconnection to the server…" +msgstr "" + +#: [error]oops +msgid "Oops!" +msgstr "" + +#: [button]accept +msgid "Accept" +msgstr "接受" + +#: [button]add +msgid "Add" +msgstr "加" + +#: [button]audio_call +msgid "Audio Call" +msgstr "" + +#: [button]bool_no +msgid "No" +msgstr "不" + +#: [button]bool_yes +msgid "Yes" +msgstr "是" + +#: [button]call +msgid "Call" +msgstr "" + +#: [button]cancel +msgid "Cancel" +msgstr "取消" + +#: [button]chat +msgid "Chat" +msgstr "聊天" + +#: [button]clear +msgid "Clear" +msgstr "" + +#: [button]close +msgid "Close" +msgstr "" + +#: [button]connecting +msgid "Connecting" +msgstr "" + +#: [button]copy_link +msgid "Copy Link" +msgstr "" + +#: [button]create +msgid "Create" +msgstr "" + +#: [button]delete +msgid "Delete" +msgstr "" + +#: [button]destroy +msgid "Destroy" +msgstr "" + +#: [button]discover +msgid "Discover" +msgstr "" + +#: [button]enable +msgid "Enable" +msgstr "" + +#: [button]join +msgid "Join" +msgstr "" + +#: [button]leave +msgid "Leave" +msgstr "" + +#: [button]like +msgid "Like" +msgstr "" + +#: [button]more +msgid "More" +msgstr "" + +#: [button]new +msgid "New conversation" +msgstr "新的對話" + +#: [button]next +msgid "Next" +msgstr "" + +#: [button]not_now +msgid "Not Now" +msgstr "" + +#: [button]open +msgid "Open" +msgstr "" + +#: [button]previous +msgid "Previous" +msgstr "" + +#: [button]quote +msgid "Quote" +msgstr "" + +#: [button]refresh +msgid "Refresh" +msgstr "" + +#: [button]refuse +msgid "Refuse" +msgstr "" + +#: [button]register +msgid "Register" +msgstr "" + +#: [button]remove +msgid "Remove" +msgstr "" + +#: [button]reply +msgid "Reply" +msgstr "" + +#: [button]return +msgid "Return" +msgstr "" + +#: [button]save +msgid "Save" +msgstr "" + +#: [button]search +msgid "Search" +msgstr "" + +#: [button]send_to +msgid "Send to" +msgstr "" + +#: [button]share +msgctxt "[button]share" +msgid "Share" +msgstr "" + +#: [button]sign_up +msgid "Sign Up" +msgstr "" + +#: [button]submitting +msgid "Submitting" +msgstr "傳送" + +#: [button]unregister +msgid "Unregister" +msgstr "" + +#: [button]update +msgid "Update" +msgstr "" + +#: [button]updating +msgid "Updating" +msgstr "" + +#: [button]validate +msgid "Validate" +msgstr "" + +#: [button]video_call +msgid "Video Call" +msgstr "" + +#: [input]optional +msgid "Optional" +msgstr "" + +#: [input]muc_pubsub_node +msgid "Associated Community" +msgstr "" + +#: [input]open_me_using +msgid "Open me using" +msgstr "" + +#: [day]title +msgid "Day" +msgstr "天" + +#: [day]monday +msgid "Monday" +msgstr "星期一" + +#: [day]tuesday +msgid "Tuesday" +msgstr "星期二" + +#: [day]wednesday +msgid "Wednesday" +msgstr "星期三" + +#: [day]thursday +msgid "Thursday" +msgstr "星期四" + +#: [day]friday +msgid "Friday" +msgstr "星期五" + +#: [day]saturday +msgid "Saturday" +msgstr "星期六" + +#: [day]sunday +msgid "Sunday" +msgstr "" + +#: [client]bot +msgid "Bot" +msgstr "Bot" + +#: [client]console +msgid "Console" +msgstr "" + +#: [client]desktop +msgid "Desktop" +msgstr "桌面" + +#: [client]phone +msgid "Phone" +msgstr "電話" + +#: [client]web +msgid "Web" +msgstr "" + +#: [client]registered +msgid "Registered" +msgstr "" + +#: [client]gateway +msgid "Gateway" +msgstr "通道" + +#: [client]im +msgid "Server" +msgstr "" + +#: [presence]online +msgid "Online" +msgstr "線上" + +#: [presence]away +msgid "Away" +msgstr "離開" + +#: [presence]dnd +msgid "Do Not Disturb" +msgstr "請勿打擾" + +#: [presence]xa +msgid "Extended Away" +msgstr "長時間離開" + +#: [presence]offline +msgid "Offline" +msgstr "離線" + +#: [presence]error +msgid "Error" +msgstr "" + +#: [mood]afraid +msgid "afraid" +msgstr "" + +#: [mood]amazed +msgid "amazed" +msgstr "" + +#: [mood]amorous +msgid "amorous" +msgstr "" + +#: [mood]angry +msgid "angry" +msgstr "" + +#: [mood]annoyed +msgid "annoyed" +msgstr "" + +#: [mood]anxious +msgid "anxious" +msgstr "" + +#: [mood]aroused +msgid "aroused" +msgstr "" + +#: [mood]ashamed +msgid "ashamed" +msgstr "" + +#: [mood]bored +msgid "bored" +msgstr "" + +#: [mood]brave +msgid "brave" +msgstr "" + +#: [mood]calm +msgid "calm" +msgstr "" + +#: [mood]cautious +msgid "cautious" +msgstr "" + +#: [mood]cold +msgid "cold" +msgstr "" + +#: [mood]confident +msgid "confident" +msgstr "" + +#: [mood]confused +msgid "confused" +msgstr "" + +#: [mood]contemplative +msgid "contemplative" +msgstr "" + +#: [mood]contented +msgid "contented" +msgstr "" + +#: [mood]cranky +msgid "cranky" +msgstr "" + +#: [mood]crazy +msgid "crazy" +msgstr "" + +#: [mood]creative +msgid "creative" +msgstr "" + +#: [mood]curious +msgid "curious" +msgstr "" + +#: [mood]dejected +msgid "dejected" +msgstr "" + +#: [mood]depressed +msgid "depressed" +msgstr "" + +#: [mood]disappointed +msgid "disappointed" +msgstr "" + +#: [mood]disgusted +msgid "disgusted" +msgstr "" + +#: [mood]dismayed +msgid "dismayed" +msgstr "" + +#: [mood]distracted +msgid "distracted" +msgstr "" + +#: [mood]embarrassed +msgid "embarrassed" +msgstr "" + +#: [mood]envious +msgid "envious" +msgstr "" + +#: [mood]excited +msgid "excited" +msgstr "" + +#: [mood]flirtatious +msgid "flirtatious" +msgstr "" + +#: [mood]frustrated +msgid "frustrated" +msgstr "" + +#: [mood]grateful +msgid "grateful" +msgstr "" + +#: [mood]grieving +msgid "grieving" +msgstr "" + +#: [mood]grumpy +msgid "grumpy" +msgstr "" + +#: [mood]guilty +msgid "guilty" +msgstr "" + +#: [mood]happy +msgid "happy" +msgstr "" + +#: [mood]hopeful +msgid "hopeful" +msgstr "" + +#: [mood]hot +msgid "hot" +msgstr "" + +#: [mood]humbled +msgid "humbled" +msgstr "" + +#: [mood]humiliated +msgid "humiliated" +msgstr "" + +#: [mood]hungry +msgid "hungry" +msgstr "" + +#: [mood]hurt +msgid "hurt" +msgstr "" + +#: [mood]impressed +msgid "impressed" +msgstr "" + +#: [mood]in_awe +msgid "in awe" +msgstr "" + +#: [mood]in_love +msgid "in love" +msgstr "" + +#: [mood]indignant +msgid "indignant" +msgstr "" + +#: [mood]interested +msgid "interested" +msgstr "" + +#: [mood]intoxicated +msgid "intoxicated" +msgstr "" + +#: [mood]invincible +msgid "invincible" +msgstr "" + +#: [mood]jealous +msgid "jealous" +msgstr "" + +#: [mood]lonely +msgid "lonely" +msgstr "" + +#: [mood]lost +msgid "lost" +msgstr "" + +#: [mood]lucky +msgid "lucky" +msgstr "" + +#: [mood]mean +msgid "mean" +msgstr "" + +#: [mood]moody +msgid "moody" +msgstr "" + +#: [mood]nervous +msgid "nervous" +msgstr "" + +#: [mood]neutral +msgid "neutral" +msgstr "" + +#: [mood]offended +msgid "offended" +msgstr "" + +#: [mood]outraged +msgid "outraged" +msgstr "" + +#: [mood]playful +msgid "playful" +msgstr "" + +#: [mood]proud +msgid "proud" +msgstr "" + +#: [mood]relaxed +msgid "relaxed" +msgstr "" + +#: [mood]relieved +msgid "relieved" +msgstr "" + +#: [mood]remorseful +msgid "remorseful" +msgstr "" + +#: [mood]restless +msgid "restless" +msgstr "" + +#: [mood]sad +msgid "sad" +msgstr "" + +#: [mood]sarcastic +msgid "sarcastic" +msgstr "" + +#: [mood]satisfied +msgid "satisfied" +msgstr "" + +#: [mood]serious +msgid "serious" +msgstr "" + +#: [mood]shocked +msgid "shocked" +msgstr "" + +#: [mood]shy +msgid "shy" +msgstr "" + +#: [mood]sick +msgid "sick" +msgstr "" + +#: [mood]sleepy +msgid "sleepy" +msgstr "" + +#: [mood]spontaneous +msgid "spontaneous" +msgstr "" + +#: [mood]stressed +msgid "stressed" +msgstr "" + +#: [mood]strong +msgid "strong" +msgstr "" + +#: [mood]surprised +msgid "surprised" +msgstr "" + +#: [mood]thankful +msgid "thankful" +msgstr "" + +#: [mood]thirsty +msgid "thirsty" +msgstr "" + +#: [mood]tired +msgid "tired" +msgstr "" + +#: [mood]undefined +msgid "undefined" +msgstr "" + +#: [mood]weak +msgid "weak" +msgstr "" + +#: [mood]worried +msgid "worried" +msgstr "" + +#: [month]title +msgid "Month" +msgstr "月" + +#: [month]january +msgid "January" +msgstr "一月" + +#: [month]february +msgid "February" +msgstr "二月" + +#: [month]march +msgid "March" +msgstr "三月" + +#: [month]april +msgid "April" +msgstr "四月" + +#: [month]may +msgid "May" +msgstr "五月" + +#: [month]june +msgid "June" +msgstr "六月" + +#: [month]july +msgid "July" +msgstr "七月" + +#: [month]august +msgid "August" +msgstr "八月" + +#: [month]september +msgid "September" +msgstr "九月" + +#: [month]october +msgid "October" +msgstr "十月" + +#: [month]november +msgid "November" +msgstr "十一月" + +#: [month]december +msgid "December" +msgstr "十二月" + +#: [year]title +msgid "Year" +msgstr "年" + +#: [date]today +msgid "Today" +msgstr "今天" + +#: [date]tomorrow +msgid "Tomorrow" +msgstr "明天" + +#: [date]yesterday +msgid "Yesterday" +msgstr "昨天" + +#: [date]ago +msgid "%d days ago" +msgstr "" + +#: [date]day +msgid "day" +msgstr "天" + +#: [post]title +msgid "Title" +msgstr "" + +#: [post]place +msgid "Place" +msgstr "" + +#: [post]by +msgid "by" +msgstr "" + +#: [post]geolocalisation +msgid "Geolocalisation" +msgstr "" + +#: [post]email +msgid "email" +msgstr "" + +#: [post]empty +msgid "No content" +msgstr "" + +#: [post]no_comments +msgid "No comments yet" +msgstr "" + +#: [post]older +msgid "Get older posts" +msgstr "查看舊留言" + +#: [post]new_items +msgid "%s new items" +msgstr "" + +#: [post]comment_error +msgid "Comment publication error" +msgstr "" + +#: [post]comments_get +msgid "Get the comments" +msgstr "" + +#: [post]comment_add +msgid "Add a comment" +msgstr "" + +#: [post]share +msgid "Share with" +msgstr "" + +#: [post]share_everyone +msgid "Everyone" +msgstr "" + +#: [post]updated +msgid "Updated" +msgstr "" + +#: [post]content_not_found +msgid "Content not found" +msgstr "" + +#: [post]default_title +msgid "Contact publication" +msgstr "" + +#: [post]comments +msgid "Comments" +msgstr "" + +#: [post]original_deleted +msgid "Original post deleted" +msgstr "" + +#: [filesize]byte +msgid "B" +msgstr "" + +#: [filesize]kilobyte +msgid "KB" +msgstr "" + +#: [filesize]megabyte +msgid "MB" +msgstr "" + +#: [filesize]gigabyte +msgid "GB" +msgstr "" + +#: [filesize]terabyte +msgid "TB" +msgstr "" + +#: [affiliation]owner +msgid "Owner" +msgstr "" + +#: [affiliation]admin +msgid "Admin" +msgstr "" + +#: [affiliation]publisher +msgid "Publisher" +msgstr "" + +#: [affiliation]publish-only +msgid "Publish only" +msgstr "" + +#: [affiliation]member +msgid "Member" +msgstr "" + +#: [affiliation]outcast +msgid "Outcast" +msgstr "" + +#: [affiliation]no_aff +msgid "No affiliation" +msgstr "" + +#: [affiliation]owner_changed +msgid "User granted as owner" +msgstr "" + +#: [affiliation]admin_changed +msgid "User granted as admin" +msgstr "" + +#: [affiliation]member_changed +msgid "User granted as member" +msgstr "" + +#: [affiliation]outcast_changed +msgid "User banned" +msgstr "" + +#: [affiliation]none_changed +msgid "Affiliation removed for the user" +msgstr "" + +#: [api]error +msgid "The API is not reachable, try again later" +msgstr "" + +#: [field]type_here +msgid "Type here" +msgstr "" diff --git a/frontend/movim-sw.js b/frontend/movim-sw.js new file mode 100644 index 0000000..bcbc154 --- /dev/null +++ b/frontend/movim-sw.js @@ -0,0 +1,110 @@ +var version = 10; +var cacheKey = 'movim_' + version; + +const channel = new BroadcastChannel('messages'); + +self.addEventListener('install', (e) => { + self.skipWaiting(); + + // Workaround for https://issues.chromium.org/issues/466790291 + e.addRoutes({ + condition: { + urlPattern: new URLPattern({}) + }, + source: "fetch-event" + }); + + e.waitUntil( + caches.open(cacheKey).then((cache) => cache.addAll([ + '/scripts/libsignal_protocol.min.js', + '/scripts/thumbhash.js', + '/scripts/movim_emojis_list.js', + '/theme/audio/call.opus', + '/theme/audio/message.message', + '/theme/audio/user_joined.opus', + '/theme/audio/user_left.message', + '/theme/fonts/MaterialSymbols/MaterialSymbols-Outlined.woff2', + '/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2', + '/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2', + '/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2', + '/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2', + '/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2', + '/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2', + '/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fBBc4.woff2', + '/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu72xKOzY.woff2', + '/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu5mxKOzY.woff2', + '/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu7mxKOzY.woff2', + '/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu4WxKOzY.woff2', + '/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu7WxKOzY.woff2', + '/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu7GxKOzY.woff2', + '/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu4mxK.woff2', + '/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2', + '/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2', + '/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2', + '/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2', + '/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2', + '/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2', + '/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fBBc4.woff2', + '/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2', + '/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2', + '/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2', + '/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2', + '/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2', + '/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2', + '/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfBBc4.woff2', + ])) + ); +}); + +self.addEventListener('activate', function (e) { + e.waitUntil(caches.keys().then(keys => { + return Promise.all(keys + .filter(key => key != cacheKey) + .map(key => caches.delete(key)) + ); + }).then(function () { + return self.clients.claim(); + })); +}); + +self.addEventListener('push', function (e) { + var json = e.data.json(); + var options = { + body: json.body, + icon: json.picture, + badge: '/theme/img/app/badge.png', + vibrate: [100, 50, 100], + data: json.data, + actions: json.actions, + timestamp: json.timestamp * 1000, + tag: json.tag, + }; + e.waitUntil( + self.registration.showNotification(json.title, options) + ); +}); + +self.addEventListener('notificationclick', function (e) { + e.waitUntil( + clients + .matchAll({ + type: "window", + }) + .then((clientList) => { + for (const client of clientList) { + if ("focus" in client) return client.focus(); + } + if (clients.openWindow) return clients.openWindow(e.notification.data.url); + }), + ); + + channel.postMessage({ type: e.action, data: e.notification.data }); + + e.notification.close(); +}); + +self.addEventListener('fetch', (e) => { + e.respondWith( + caches.match(e.request).then((response) => response || fetch(e.request)), + ); +}); diff --git a/frontend/scripts/.editorconfig b/frontend/scripts/.editorconfig new file mode 100644 index 0000000..cccf8f1 --- /dev/null +++ b/frontend/scripts/.editorconfig @@ -0,0 +1,4 @@ +[libsignal_protocol.js] +indent_size = unset +indent_style = unset +insert_final_newline = unset diff --git a/frontend/scripts/libsignal_protocol.min.js b/frontend/scripts/libsignal_protocol.min.js new file mode 100644 index 0000000..74e36a4 --- /dev/null +++ b/frontend/scripts/libsignal_protocol.min.js @@ -0,0 +1 @@ +(function(){var Internal={};window.libsignal={};var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function";var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){return Module["read"](filename,true)};Module["load"]=function load(f){globalEval(read(f))};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}this["Module"]=Module}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?function(x){dump(x)}:function(x){}}if(ENVIRONMENT_IS_WEB){window["Module"]=Module}else{Module["load"]=importScripts}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=function(){}}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:function(value){tempRet0=value},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(stackTop){STACKTOP=stackTop},getNativeTypeSize:function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}},getNativeFieldSize:function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,getAlignSize:function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)},dynCall:function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}},functionPointers:[],addFunction:function(func){for(var i=0;i0)return""}var c1=buffer[0];var c2=buffer[1];var c3=buffer[2];var c4=buffer[3];var ret;if(buffer.length==2){ret=String.fromCharCode((c1&31)<<6|c2&63)}else if(buffer.length==3){ret=String.fromCharCode((c1&15)<<12|(c2&63)<<6|c3&63)}else{var codePoint=(c1&7)<<18|(c2&63)<<12|(c3&63)<<6|c4&63;ret=String.fromCharCode(((codePoint-65536)/1024|0)+55296,(codePoint-65536)%1024+56320)}buffer.length=0;return ret};this.processJSString=function processJSString(string){string=unescape(encodeURIComponent(string));var ret=[];for(var i=0;i=TOTAL_MEMORY)enlargeMemory();return ret},alignMemory:function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret},makeBigInt:function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296;return ret},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret},stringToC:function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret}};var toC={string:JSfuncs["stringToC"],array:JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];if(t>=128)hasUtf=true;else if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(!hasUtf){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}var utf8=new Runtime.UTF8Processor;for(i=0;i>0];ret+=utf8.processCChar(t)}return ret}Module["Pointer_stringify"]=Pointer_stringify;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr){for(var i=0;i>1]=codeUnit}HEAP16[outPtr+str.length*2>>1]=0}Module["stringToUTF16"]=stringToUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr){var iChar=0;for(var iCodeUnit=0;iCodeUnit=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++iCodeUnit);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr+iChar*4>>2]=codeUnit;++iChar}HEAP32[outPtr+iChar*4>>2]=0}Module["stringToUTF32"]=stringToUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a"}else{ret=name}paramLoop:while(i0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break}case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break}case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){return x+4095&-4096}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function enlargeMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;var FAST_MEMORY=Module["FAST_MEMORY"]||2097152;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=Module.addOnPreRun=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=Module.addOnInit=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=Module.addOnPreMain=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=Module.addOnExit=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=Module.addOnPostRun=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var ret=(new Runtime.UTF8Processor).processJSString(stringy);if(length){ret.length=length}if(!dontAddNull){ret.push(0)}return ret}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer+str.length>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;STATIC_BASE=8;STATICTOP=STATIC_BASE+33040;__ATINIT__.push();allocate([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,59,140,1,189,241,36,255,248,37,195,1,96,220,55,0,183,76,62,255,195,66,61,0,50,76,164,1,225,164,76,255,76,61,163,255,117,62,31,0,81,145,64,255,118,65,14,0,162,115,214,255,6,138,46,0,124,230,244,255,10,138,143,0,52,26,194,0,184,244,76,0,129,143,41,1,190,244,19,255,123,170,122,255,98,129,68,0,121,213,147,0,86,101,30,255,161,103,155,0,140,89,67,255,239,229,190,1,67,11,181,0,198,240,137,254,238,69,188,255,67,151,238,0,19,42,108,255,229,85,113,1,50,68,135,255,17,106,9,0,50,103,1,255,80,1,168,1,35,152,30,255,16,168,185,1,56,89,232,255,101,210,252,0,41,250,71,0,204,170,79,255,14,46,239,255,80,77,239,0,189,214,75,255,17,141,249,0,38,80,76,255,190,85,117,0,86,228,170,0,156,216,208,1,195,207,164,255,150,66,76,255,175,225,16,255,141,80,98,1,76,219,242,0,198,162,114,0,46,218,152,0,155,43,241,254,155,160,104,255,51,187,165,0,2,17,175,0,66,84,160,1,247,58,30,0,35,65,53,254,69,236,191,0,45,134,245,1,163,123,221,0,32,110,20,255,52,23,165,0,186,214,71,0,233,176,96,0,242,239,54,1,57,89,138,0,83,0,84,255,136,160,100,0,92,142,120,254,104,124,190,0,181,177,62,255,250,41,85,0,152,130,42,1,96,252,246,0,151,151,63,254,239,133,62,0,32,56,156,0,45,167,189,255,142,133,179,1,131,86,211,0,187,179,150,254,250,170,14,255,210,163,78,0,37,52,151,0,99,77,26,0,238,156,213,255,213,192,209,1,73,46,84,0,20,65,41,1,54,206,79,0,201,131,146,254,170,111,24,255,177,33,50,254,171,38,203,255,78,247,116,0,209,221,153,0,133,128,178,1,58,44,25,0,201,39,59,1,189,19,252,0,49,229,210,1,117,187,117,0,181,179,184,1,0,114,219,0,48,94,147,0,245,41,56,0,125,13,204,254,244,173,119,0,44,221,32,254,84,234,20,0,249,160,198,1,236,126,234,255,47,99,168,254,170,226,153,255,102,179,216,0,226,141,122,255,122,66,153,254,182,245,134,0,227,228,25,1,214,57,235,255,216,173,56,255,181,231,210,0,119,128,157,255,129,95,136,255,110,126,51,0,2,169,183,255,7,130,98,254,69,176,94,255,116,4,227,1,217,242,145,255,202,173,31,1,105,1,39,255,46,175,69,0,228,47,58,255,215,224,69,254,207,56,69,255,16,254,139,255,23,207,212,255,202,20,126,255,95,213,96,255,9,176,33,0,200,5,207,255,241,42,128,254,35,33,192,255,248,229,196,1,129,17,120,0,251,103,151,255,7,52,112,255,140,56,66,255,40,226,245,255,217,70,37,254,172,214,9,255,72,67,134,1,146,192,214,255,44,38,112,0,68,184,75,255,206,90,251,0,149,235,141,0,181,170,58,0,116,244,239,0,92,157,2,0,102,173,98,0,233,137,96,1,127,49,203,0,5,155,148,0,23,148,9,255,211,122,12,0,34,134,26,255,219,204,136,0,134,8,41,255,224,83,43,254,85,25,247,0,109,127,0,254,169,136,48,0,238,119,219,255,231,173,213,0,206,18,254,254,8,186,7,255,126,9,7,1,111,42,72,0,111,52,236,254,96,63,141,0,147,191,127,254,205,78,192,255,14,106,237,1,187,219,76,0,175,243,187,254,105,89,173,0,85,25,89,1,162,243,148,0,2,118,209,254,33,158,9,0,139,163,46,255,93,70,40,0,108,42,142,254,111,252,142,255,155,223,144,0,51,229,167,255,73,252,155,255,94,116,12,255,152,160,218,255,156,238,37,255,179,234,207,255,197,0,179,255,154,164,141,0,225,196,104,0,10,35,25,254,209,212,242,255,97,253,222,254,184,101,229,0,222,18,127,1,164,136,135,255,30,207,140,254,146,97,243,0,129,192,26,254,201,84,33,255,111,10,78,255,147,81,178,255,4,4,24,0,161,238,215,255,6,141,33,0,53,215,14,255,41,181,208,255,231,139,157,0,179,203,221,255,255,185,113,0,189,226,172,255,113,66,214,255,202,62,45,255,102,64,8,255,78,174,16,254,133,117,68,255,182,120,89,255,133,114,211,0,189,110,21,255,15,10,106,0,41,192,1,0,152,232,121,255,188,60,160,255,153,113,206,255,0,183,226,254,180,13,72,255,176,160,14,254,211,201,134,255,158,24,143,0,127,105,53,0,96,12,189,0,167,215,251,255,159,76,128,254,106,101,225,255,30,252,4,0,146,12,174,0,89,241,178,254,10,229,166,255,123,221,42,254,30,20,212,0,82,128,3,0,48,209,243,0,119,121,64,255,50,227,156,255,0,110,197,1,103,27,144,0,133,59,140,1,189,241,36,255,248,37,195,1,96,220,55,0,183,76,62,255,195,66,61,0,50,76,164,1,225,164,76,255,76,61,163,255,117,62,31,0,81,145,64,255,118,65,14,0,162,115,214,255,6,138,46,0,124,230,244,255,10,138,143,0,52,26,194,0,184,244,76,0,129,143,41,1,190,244,19,255,123,170,122,255,98,129,68,0,121,213,147,0,86,101,30,255,161,103,155,0,140,89,67,255,239,229,190,1,67,11,181,0,198,240,137,254,238,69,188,255,234,113,60,255,37,255,57,255,69,178,182,254,128,208,179,0,118,26,125,254,3,7,214,255,241,50,77,255,85,203,197,255,211,135,250,255,25,48,100,255,187,213,180,254,17,88,105,0,83,209,158,1,5,115,98,0,4,174,60,254,171,55,110,255,217,181,17,255,20,188,170,0,146,156,102,254,87,214,174,255,114,122,155,1,233,44,170,0,127,8,239,1,214,236,234,0,175,5,219,0,49,106,61,255,6,66,208,255,2,106,110,255,81,234,19,255,215,107,192,255,67,151,238,0,19,42,108,255,229,85,113,1,50,68,135,255,17,106,9,0,50,103,1,255,80,1,168,1,35,152,30,255,16,168,185,1,56,89,232,255,101,210,252,0,41,250,71,0,204,170,79,255,14,46,239,255,80,77,239,0,189,214,75,255,17,141,249,0,38,80,76,255,190,85,117,0,86,228,170,0,156,216,208,1,195,207,164,255,150,66,76,255,175,225,16,255,141,80,98,1,76,219,242,0,198,162,114,0,46,218,152,0,155,43,241,254,155,160,104,255,178,9,252,254,100,110,212,0,14,5,167,0,233,239,163,255,28,151,157,1,101,146,10,255,254,158,70,254,71,249,228,0,88,30,50,0,68,58,160,255,191,24,104,1,129,66,129,255,192,50,85,255,8,179,138,255,38,250,201,0,115,80,160,0,131,230,113,0,125,88,147,0,90,68,199,0,253,76,158,0,28,255,118,0,113,250,254,0,66,75,46,0,230,218,43,0,229,120,186,1,148,68,43,0,136,124,238,1,187,107,197,255,84,53,246,255,51,116,254,255,51,187,165,0,2,17,175,0,66,84,160,1,247,58,30,0,35,65,53,254,69,236,191,0,45,134,245,1,163,123,221,0,32,110,20,255,52,23,165,0,186,214,71,0,233,176,96,0,242,239,54,1,57,89,138,0,83,0,84,255,136,160,100,0,92,142,120,254,104,124,190,0,181,177,62,255,250,41,85,0,152,130,42,1,96,252,246,0,151,151,63,254,239,133,62,0,32,56,156,0,45,167,189,255,142,133,179,1,131,86,211,0,187,179,150,254,250,170,14,255,68,113,21,255,222,186,59,255,66,7,241,1,69,6,72,0,86,156,108,254,55,167,89,0,109,52,219,254,13,176,23,255,196,44,106,255,239,149,71,255,164,140,125,255,159,173,1,0,51,41,231,0,145,62,33,0,138,111,93,1,185,83,69,0,144,115,46,0,97,151,16,255,24,228,26,0,49,217,226,0,113,75,234,254,193,153,12,255,182,48,96,255,14,13,26,0,128,195,249,254,69,193,59,0,132,37,81,254,125,106,60,0,214,240,169,1,164,227,66,0,210,163,78,0,37,52,151,0,99,77,26,0,238,156,213,255,213,192,209,1,73,46,84,0,20,65,41,1,54,206,79,0,201,131,146,254,170,111,24,255,177,33,50,254,171,38,203,255,78,247,116,0,209,221,153,0,133,128,178,1,58,44,25,0,201,39,59,1,189,19,252,0,49,229,210,1,117,187,117,0,181,179,184,1,0,114,219,0,48,94,147,0,245,41,56,0,125,13,204,254,244,173,119,0,44,221,32,254,84,234,20,0,249,160,198,1,236,126,234,255,143,62,221,0,129,89,214,255,55,139,5,254,68,20,191,255,14,204,178,1,35,195,217,0,47,51,206,1,38,246,165,0,206,27,6,254,158,87,36,0,217,52,146,255,125,123,215,255,85,60,31,255,171,13,7,0,218,245,88,254,252,35,60,0,55,214,160,255,133,101,56,0,224,32,19,254,147,64,234,0,26,145,162,1,114,118,125,0,248,252,250,0,101,94,196,255,198,141,226,254,51,42,182,0,135,12,9,254,109,172,210,255,197,236,194,1,241,65,154,0,48,156,47,255,153,67,55,255,218,165,34,254,74,180,179,0,218,66,71,1,88,122,99,0,212,181,219,255,92,42,231,255,239,0,154,0,245,77,183,255,94,81,170,1,18,213,216,0,171,93,71,0,52,94,248,0,18,151,161,254,197,209,66,255,174,244,15,254,162,48,183,0,49,61,240,254,182,93,195,0,199,228,6,1,200,5,17,255,137,45,237,255,108,148,4,0,90,79,237,255,39,63,77,255,53,82,207,1,142,22,118,255,101,232,18,1,92,26,67,0,5,200,88,255,33,168,138,255,149,225,72,0,2,209,27,255,44,245,168,1,220,237,17,255,30,211,105,254,141,238,221,0,128,80,245,254,111,254,14,0,222,95,190,1,223,9,241,0,146,76,212,255,108,205,104,255,63,117,153,0,144,69,48,0,35,228,111,0,192,33,193,255,112,214,190,254,115,152,151,0,23,102,88,0,51,74,248,0,226,199,143,254,204,162,101,255,208,97,189,1,245,104,18,0,230,246,30,255,23,148,69,0,110,88,52,254,226,181,89,255,208,47,90,254,114,161,80,255,33,116,248,0,179,152,87,255,69,144,177,1,88,238,26,255,58,32,113,1,1,77,69,0,59,121,52,255,152,238,83,0,52,8,193,0,231,39,233,255,199,34,138,0,222,68,173,0,91,57,242,254,220,210,127,255,192,7,246,254,151,35,187,0,195,236,165,0,111,93,206,0,212,247,133,1,154,133,209,255,155,231,10,0,64,78,38,0,122,249,100,1,30,19,97,255,62,91,249,1,248,133,77,0,197,63,168,254,116,10,82,0,184,236,113,254,212,203,194,255,61,100,252,254,36,5,202,255,119,91,153,255,129,79,29,0,103,103,171,254,237,215,111,255,216,53,69,0,239,240,23,0,194,149,221,255,38,225,222,0,232,255,180,254,118,82,133,255,57,209,177,1,139,232,133,0,158,176,46,254,194,115,46,0,88,247,229,1,28,103,191,0,221,222,175,254,149,235,44,0,151,228,25,254,218,105,103,0,142,85,210,0,149,129,190,255,213,65,94,254,117,134,224,255,82,198,117,0,157,221,220,0,163,101,36,0,197,114,37,0,104,172,166,254,11,182,0,0,81,72,188,255,97,188,16,255,69,6,10,0,199,147,145,255,8,9,115,1,65,214,175,255,217,173,209,0,80,127,166,0,247,229,4,254,167,183,124,255,90,28,204,254,175,59,240,255,11,41,248,1,108,40,51,255,144,177,195,254,150,250,126,0,138,91,65,1,120,60,222,255,245,193,239,0,29,214,189,255,128,2,25,0,80,154,162,0,77,220,107,1,234,205,74,255,54,166,103,255,116,72,9,0,228,94,47,255,30,200,25,255,35,214,89,255,61,176,140,255,83,226,163,255,75,130,172,0,128,38,17,0,95,137,152,255,215,124,159,1,79,93,0,0,148,82,157,254,195,130,251,255,40,202,76,255,251,126,224,0,157,99,62,254,207,7,225,255,96,68,195,0,140,186,157,255,131,19,231,255,42,128,254,0,52,219,61,254,102,203,72,0,141,7,11,255,186,164,213,0,31,122,119,0,133,242,145,0,208,252,232,255,91,213,182,255,143,4,250,254,249,215,74,0,165,30,111,1,171,9,223,0,229,123,34,1,92,130,26,255,77,155,45,1,195,139,28,255,59,224,78,0,136,17,247,0,108,121,32,0,79,250,189,255,96,227,252,254,38,241,62,0,62,174,125,255,155,111,93,255,10,230,206,1,97,197,40,255,0,49,57,254,65,250,13,0,18,251,150,255,220,109,210,255,5,174,166,254,44,129,189,0,235,35,147,255,37,247,141,255,72,141,4,255,103,107,255,0,247,90,4,0,53,44,42,0,2,30,240,0,4,59,63,0,88,78,36,0,113,167,180,0,190,71,193,255,199,158,164,255,58,8,172,0,77,33,12,0,65,63,3,0,153,77,33,255,172,254,102,1,228,221,4,255,87,30,254,1,146,41,86,255,138,204,239,254,108,141,17,255,187,242,135,0,210,208,127,0,68,45,14,254,73,96,62,0,81,60,24,255,170,6,36,255,3,249,26,0,35,213,109,0,22,129,54,255,21,35,225,255,234,61,56,255,58,217,6,0,143,124,88,0,236,126,66,0,209,38,183,255,34,238,6,255,174,145,102,0,95,22,211,0,196,15,153,254,46,84,232,255,117,34,146,1,231,250,74,255,27,134,100,1,92,187,195,255,170,198,112,0,120,28,42,0,209,70,67,0,29,81,31,0,29,168,100,1,169,173,160,0,107,35,117,0,62,96,59,255,81,12,69,1,135,239,190,255,220,252,18,0,163,220,58,255,137,137,188,255,83,102,109,0,96,6,76,0,234,222,210,255,185,174,205,1,60,158,213,255,13,241,214,0,172,129,140,0,93,104,242,0,192,156,251,0,43,117,30,0,225,81,158,0,127,232,218,0,226,28,203,0,233,27,151,255,117,43,5,255,242,14,47,255,33,20,6,0,137,251,44,254,27,31,245,255,183,214,125,254,40,121,149,0,186,158,213,255,89,8,227,0,69,88,0,254,203,135,225,0,201,174,203,0,147,71,184,0,18,121,41,254,94,5,78,0,224,214,240,254,36,5,180,0,251,135,231,1,163,138,212,0,210,249,116,254,88,129,187,0,19,8,49,254,62,14,144,255,159,76,211,0,214,51,82,0,109,117,228,254,103,223,203,255,75,252,15,1,154,71,220,255,23,13,91,1,141,168,96,255,181,182,133,0,250,51,55,0,234,234,212,254,175,63,158,0,39,240,52,1,158,189,36,255,213,40,85,1,32,180,247,255,19,102,26,1,84,24,97,255,69,21,222,0,148,139,122,255,220,213,235,1,232,203,255,0,121,57,147,0,227,7,154,0,53,22,147,1,72,1,225,0,82,134,48,254,83,60,157,255,145,72,169,0,34,103,239,0,198,233,47,0,116,19,4,255,184,106,9,255,183,129,83,0,36,176,230,1,34,103,72,0,219,162,134,0,245,42,158,0,32,149,96,254,165,44,144,0,202,239,72,254,215,150,5,0,42,66,36,1,132,215,175,0,86,174,86,255,26,197,156,255,49,232,135,254,103,182,82,0,253,128,176,1,153,178,122,0,245,250,10,0,236,24,178,0,137,106,132,0,40,29,41,0,50,30,152,255,124,105,38,0,230,191,75,0,143,43,170,0,44,131,20,255,44,13,23,255,237,255,155,1,159,109,100,255,112,181,24,255,104,220,108,0,55,211,131,0,99,12,213,255,152,151,145,255,238,5,159,0,97,155,8,0,33,108,81,0,1,3,103,0,62,109,34,255,250,155,180,0,32,71,195,255,38,70,145,1,159,95,245,0,69,229,101,1,136,28,240,0,79,224,25,0,78,110,121,255,248,168,124,0,187,128,247,0,2,147,235,254,79,11,132,0,70,58,12,1,181,8,163,255,79,137,133,255,37,170,11,255,141,243,85,255,176,231,215,255,204,150,164,255,239,215,39,255,46,87,156,254,8,163,88,255,172,34,232,0,66,44,102,255,27,54,41,254,236,99,87,255,41,123,169,1,52,114,43,0,117,134,40,0,155,134,26,0,231,207,91,254,35,132,38,255,19,102,125,254,36,227,133,255,118,3,113,255,29,13,124,0,152,96,74,1,88,146,206,255,167,191,220,254,162,18,88,255,182,100,23,0,31,117,52,0,81,46,106,1,12,2,7,0,69,80,201,1,209,246,172,0,12,48,141,1,224,211,88,0,116,226,159,0,122,98,130,0,65,236,234,1,225,226,9,255,207,226,123,1,89,214,59,0,112,135,88,1,90,244,203,255,49,11,38,1,129,108,186,0,89,112,15,1,101,46,204,255,127,204,45,254,79,255,221,255,51,73,18,255,127,42,101,255,241,21,202,0,160,227,7,0,105,50,236,0,79,52,197,255,104,202,208,1,180,15,16,0,101,197,78,255,98,77,203,0,41,185,241,1,35,193,124,0,35,155,23,255,207,53,192,0,11,125,163,1,249,158,185,255,4,131,48,0,21,93,111,255,61,121,231,1,69,200,36,255,185,48,185,255,111,238,21,255,39,50,25,255,99,215,163,255,87,212,30,255,164,147,5,255,128,6,35,1,108,223,110,255,194,76,178,0,74,101,180,0,243,47,48,0,174,25,43,255,82,173,253,1,54,114,192,255,40,55,91,0,215,108,176,255,11,56,7,0,224,233,76,0,209,98,202,254,242,25,125,0,44,193,93,254,203,8,177,0,135,176,19,0,112,71,213,255,206,59,176,1,4,67,26,0,14,143,213,254,42,55,208,255,60,67,120,0,193,21,163,0,99,164,115,0,10,20,118,0,156,212,222,254,160,7,217,255,114,245,76,1,117,59,123,0,176,194,86,254,213,15,176,0,78,206,207,254,213,129,59,0,233,251,22,1,96,55,152,255,236,255,15,255,197,89,84,255,93,149,133,0,174,160,113,0,234,99,169,255,152,116,88,0,144,164,83,255,95,29,198,255,34,47,15,255,99,120,134,255,5,236,193,0,249,247,126,255,147,187,30,0,50,230,117,255,108,217,219,255,163,81,166,255,72,25,169,254,155,121,79,255,28,155,89,254,7,126,17,0,147,65,33,1,47,234,253,0,26,51,18,0,105,83,199,255,163,196,230,0,113,248,164,0,226,254,218,0,189,209,203,255,164,247,222,254,255,35,165,0,4,188,243,1,127,179,71,0,37,237,254,255,100,186,240,0,5,57,71,254,103,72,73,255,244,18,81,254,229,210,132,255,238,6,180,255,11,229,174,255,227,221,192,1,17,49,28,0,163,215,196,254,9,118,4,255,51,240,71,0,113,129,109,255,76,240,231,0,188,177,127,0,125,71,44,1,26,175,243,0,94,169,25,254,27,230,29,0,15,139,119,1,168,170,186,255,172,197,76,255,252,75,188,0,137,124,196,0,72,22,96,255,45,151,249,1,220,145,100,0,64,192,159,255,120,239,226,0,129,178,146,0,0,192,125,0,235,138,234,0,183,157,146,0,83,199,192,255,184,172,72,255,73,225,128,0,77,6,250,255,186,65,67,0,104,246,207,0,188,32,138,255,218,24,242,0,67,138,81,254,237,129,121,255,20,207,150,1,41,199,16,255,6,20,128,0,159,118,5,0,181,16,143,255,220,38,15,0,23,64,147,254,73,26,13,0,87,228,57,1,204,124,128,0,43,24,223,0,219,99,199,0,22,75,20,255,19,27,126,0,157,62,215,0,110,29,230,0,179,167,255,1,54,252,190,0,221,204,182,254,179,158,65,255,81,157,3,0,194,218,159,0,170,223,0,0,224,11,32,255,38,197,98,0,168,164,37,0,23,88,7,1,164,186,110,0,96,36,134,0,234,242,229,0,250,121,19,0,242,254,112,255,3,47,94,1,9,239,6,255,81,134,153,254,214,253,168,255,67,124,224,0,245,95,74,0,28,30,44,254,1,109,220,255,178,89,89,0,252,36,76,0,24,198,46,255,76,77,111,0,134,234,136,255,39,94,29,0,185,72,234,255,70,68,135,255,231,102,7,254,77,231,140,0,167,47,58,1,148,97,118,255,16,27,225,1,166,206,143,255,110,178,214,255,180,131,162,0,143,141,225,1,13,218,78,255,114,153,33,1,98,104,204,0,175,114,117,1,167,206,75,0,202,196,83,1,58,64,67,0,138,47,111,1,196,247,128,255,137,224,224,254,158,112,207,0,154,100,255,1,134,37,107,0,198,128,79,255,127,209,155,255,163,254,185,254,60,14,243,0,31,219,112,254,29,217,65,0,200,13,116,254,123,60,196,255,224,59,184,254,242,89,196,0,123,16,75,254,149,16,206,0,69,254,48,1,231,116,223,255,209,160,65,1,200,80,98,0,37,194,184,254,148,63,34,0,139,240,65,255,217,144,132,255,56,38,45,254,199,120,210,0,108,177,166,255,160,222,4,0,220,126,119,254,165,107,160,255,82,220,248,1,241,175,136,0,144,141,23,255,169,138,84,0,160,137,78,255,226,118,80,255,52,27,132,255,63,96,139,255,152,250,39,0,188,155,15,0,232,51,150,254,40,15,232,255,240,229,9,255,137,175,27,255,75,73,97,1,218,212,11,0,135,5,162,1,107,185,213,0,2,249,107,255,40,242,70,0,219,200,25,0,25,157,13,0,67,82,80,255,196,249,23,255,145,20,149,0,50,72,146,0,94,76,148,1,24,251,65,0,31,192,23,0,184,212,201,255,123,233,162,1,247,173,72,0,162,87,219,254,126,134,89,0,159,11,12,254,166,105,29,0,73,27,228,1,113,120,183,255,66,163,109,1,212,143,11,255,159,231,168,1,255,128,90,0,57,14,58,254,89,52,10,255,253,8,163,1,0,145,210,255,10,129,85,1,46,181,27,0,103,136,160,254,126,188,209,255,34,35,111,0,215,219,24,255,212,11,214,254,101,5,118,0,232,197,133,255,223,167,109,255,237,80,86,255,70,139,94,0,158,193,191,1,155,15,51,255,15,190,115,0,78,135,207,255,249,10,27,1,181,125,233,0,95,172,13,254,170,213,161,255,39,236,138,255,95,93,87,255,190,128,95,0,125,15,206,0,166,150,159,0,227,15,158,255,206,158,120,255,42,141,128,0,101,178,120,1,156,109,131,0,218,14,44,254,247,168,206,255,212,112,28,0,112,17,228,255,90,16,37,1,197,222,108,0,254,207,83,255,9,90,243,255,243,244,172,0,26,88,115,255,205,116,122,0,191,230,193,0,180,100,11,1,217,37,96,255,154,78,156,0,235,234,31,255,206,178,178,255,149,192,251,0,182,250,135,0,246,22,105,0,124,193,109,255,2,210,149,255,169,17,170,0,0,96,110,255,117,9,8,1,50,123,40,255,193,189,99,0,34,227,160,0,48,80,70,254,211,51,236,0,45,122,245,254,44,174,8,0,173,37,233,255,158,65,171,0,122,69,215,255,90,80,2,255,131,106,96,254,227,114,135,0,205,49,119,254,176,62,64,255,82,51,17,255,241,20,243,255,130,13,8,254,128,217,243,255,162,27,1,254,90,118,241,0,246,198,246,255,55,16,118,255,200,159,157,0,163,17,1,0,140,107,121,0,85,161,118,255,38,0,149,0,156,47,238,0,9,166,166,1,75,98,181,255,50,74,25,0,66,15,47,0,139,225,159,0,76,3,142,255,14,238,184,0,11,207,53,255,183,192,186,1,171,32,174,255,191,76,221,1,247,170,219,0,25,172,50,254,217,9,233,0,203,126,68,255,183,92,48,0,127,167,183,1,65,49,254,0,16,63,127,1,254,21,170,255,59,224,127,254,22,48,63,255,27,78,130,254,40,195,29,0,250,132,112,254,35,203,144,0,104,169,168,0,207,253,30,255,104,40,38,254,94,228,88,0,206,16,128,255,212,55,122,255,223,22,234,0,223,197,127,0,253,181,181,1,145,102,118,0,236,153,36,255,212,217,72,255,20,38,24,254,138,62,62,0,152,140,4,0,230,220,99,255,1,21,212,255,148,201,231,0,244,123,9,254,0,171,210,0,51,58,37,255,1,255,14,255,244,183,145,254,0,242,166,0,22,74,132,0,121,216,41,0,95,195,114,254,133,24,151,255,156,226,231,255,247,5,77,255,246,148,115,254,225,92,81,255,222,80,246,254,170,123,89,255,74,199,141,0,29,20,8,255,138,136,70,255,93,75,92,0,221,147,49,254,52,126,226,0,229,124,23,0,46,9,181,0,205,64,52,1,131,254,28,0,151,158,212,0,131,64,78,0,206,25,171,0,0,230,139,0,191,253,110,254,103,247,167,0,64,40,40,1,42,165,241,255,59,75,228,254,124,243,189,255,196,92,178,255,130,140,86,255,141,89,56,1,147,198,5,255,203,248,158,254,144,162,141,0,11,172,226,0,130,42,21,255,1,167,143,255,144,36,36,255,48,88,164,254,168,170,220,0,98,71,214,0,91,208,79,0,159,76,201,1,166,42,214,255,69,255,0,255,6,128,125,255,190,1,140,0,146,83,218,255,215,238,72,1,122,127,53,0,189,116,165,255,84,8,66,255,214,3,208,255,213,110,133,0,195,168,44,1,158,231,69,0,162,64,200,254,91,58,104,0,182,58,187,254,249,228,136,0,203,134,76,254,99,221,233,0,75,254,214,254,80,69,154,0,64,152,248,254,236,136,202,255,157,105,153,254,149,175,20,0,22,35,19,255,124,121,233,0,186,250,198,254,132,229,139,0,137,80,174,255,165,125,68,0,144,202,148,254,235,239,248,0,135,184,118,0,101,94,17,255,122,72,70,254,69,130,146,0,127,222,248,1,69,127,118,255,30,82,215,254,188,74,19,255,229,167,194,254,117,25,66,255,65,234,56,254,213,22,156,0,151,59,93,254,45,28,27,255,186,126,164,255,32,6,239,0,127,114,99,1,219,52,2,255,99,96,166,254,62,190,126,255,108,222,168,1,75,226,174,0,230,226,199,0,60,117,218,255,252,248,20,1,214,188,204,0,31,194,134,254,123,69,192,255,169,173,36,254,55,98,91,0,223,42,102,254,137,1,102,0,157,90,25,0,239,122,64,255,252,6,233,0,7,54,20,255,82,116,174,0,135,37,54,255,15,186,125,0,227,112,175,255,100,180,225,255,42,237,244,255,244,173,226,254,248,18,33,0,171,99,150,255,74,235,50,255,117,82,32,254,106,168,237,0,207,109,208,1,228,9,186,0,135,60,169,254,179,92,143,0,244,170,104,255,235,45,124,255,70,99,186,0,117,137,183,0,224,31,215,0,40,9,100,0,26,16,95,1,68,217,87,0,8,151,20,255,26,100,58,255,176,165,203,1,52,118,70,0,7,32,254,254,244,254,245,255,167,144,194,255,125,113,23,255,176,121,181,0,136,84,209,0,138,6,30,255,89,48,28,0,33,155,14,255,25,240,154,0,141,205,109,1,70,115,62,255,20,40,107,254,138,154,199,255,94,223,226,255,157,171,38,0,163,177,25,254,45,118,3,255,14,222,23,1,209,190,81,255,118,123,232,1,13,213,101,255,123,55,123,254,27,246,165,0,50,99,76,255,140,214,32,255,97,65,67,255,24,12,28,0,174,86,78,1,64,247,96,0,160,135,67,0,66,55,243,255,147,204,96,255,26,6,33,255,98,51,83,1,153,213,208,255,2,184,54,255,25,218,11,0,49,67,246,254,18,149,72,255,13,25,72,0,42,79,214,0,42,4,38,1,27,139,144,255,149,187,23,0,18,164,132,0,245,84,184,254,120,198,104,255,126,218,96,0,56,117,234,255,13,29,214,254,68,47,10,255,167,154,132,254,152,38,198,0,66,178,89,255,200,46,171,255,13,99,83,255,210,187,253,255,170,45,42,1,138,209,124,0,214,162,141,0,12,230,156,0,102,36,112,254,3,147,67,0,52,215,123,255,233,171,54,255,98,137,62,0,247,218,39,255,231,218,236,0,247,191,127,0,195,146,84,0,165,176,92,255,19,212,94,255,17,74,227,0,88,40,153,1,198,147,1,255,206,67,245,254,240,3,218,255,61,141,213,255,97,183,106,0,195,232,235,254,95,86,154,0,209,48,205,254,118,209,241,255,240,120,223,1,213,29,159,0,163,127,147,255,13,218,93,0,85,24,68,254,70,20,80,255,189,5,140,1,82,97,254,255,99,99,191,255,132,84,133,255,107,218,116,255,112,122,46,0,105,17,32,0,194,160,63,255,68,222,39,1,216,253,92,0,177,105,205,255,149,201,195,0,42,225,11,255,40,162,115,0,9,7,81,0,165,218,219,0,180,22,0,254,29,146,252,255,146,207,225,1,180,135,96,0,31,163,112,0,177,11,219,255,133,12,193,254,43,78,50,0,65,113,121,1,59,217,6,255,110,94,24,1,112,172,111,0,7,15,96,0,36,85,123,0,71,150,21,255,208,73,188,0,192,11,167,1,213,245,34,0,9,230,92,0,162,142,39,255,215,90,27,0,98,97,89,0,94,79,211,0,90,157,240,0,95,220,126,1,102,176,226,0,36,30,224,254,35,31,127,0,231,232,115,1,85,83,130,0,210,73,245,255,47,143,114,255,68,65,197,0,59,72,62,255,183,133,173,254,93,121,118,255,59,177,81,255,234,69,173,255,205,128,177,0,220,244,51,0,26,244,209,1,73,222,77,255,163,8,96,254,150,149,211,0,158,254,203,1,54,127,139,0,161,224,59,0,4,109,22,255,222,42,45,255,208,146,102,255,236,142,187,0,50,205,245,255,10,74,89,254,48,79,142,0,222,76,130,255,30,166,63,0,236,12,13,255,49,184,244,0,187,113,102,0,218,101,253,0,153,57,182,254,32,150,42,0,25,198,146,1,237,241,56,0,140,68,5,0,91,164,172,255,78,145,186,254,67,52,205,0,219,207,129,1,109,115,17,0,54,143,58,1,21,248,120,255,179,255,30,0,193,236,66,255,1,255,7,255,253,192,48,255,19,69,217,1,3,214,0,255,64,101,146,1,223,125,35,255,235,73,179,255,249,167,226,0,225,175,10,1,97,162,58,0,106,112,171,1,84,172,5,255,133,140,178,255,134,245,142,0,97,90,125,255,186,203,185,255,223,77,23,255,192,92,106,0,15,198,115,255,217,152,248,0,171,178,120,255,228,134,53,0,176,54,193,1,250,251,53,0,213,10,100,1,34,199,106,0,151,31,244,254,172,224,87,255,14,237,23,255,253,85,26,255,127,39,116,255,172,104,100,0,251,14,70,255,212,208,138,255,253,211,250,0,176,49,165,0,15,76,123,255,37,218,160,255,92,135,16,1,10,126,114,255,70,5,224,255,247,249,141,0,68,20,60,1,241,210,189,255,195,217,187,1,151,3,113,0,151,92,174,0,231,62,178,255,219,183,225,0,23,23,33,255,205,181,80,0,57,184,248,255,67,180,1,255,90,123,93,255,39,0,162,255,96,248,52,255,84,66,140,0,34,127,228,255,194,138,7,1,166,110,188,0,21,17,155,1,154,190,198,255,214,80,59,255,18,7,143,0,72,29,226,1,199,217,249,0,232,161,71,1,149,190,201,0,217,175,95,254,113,147,67,255,138,143,199,255,127,204,1,0,29,182,83,1,206,230,155,255,186,204,60,0,10,125,85,255,232,96,25,255,255,89,247,255,213,254,175,1,232,193,81,0,28,43,156,254,12,69,8,0,147,24,248,0,18,198,49,0,134,60,35,0,118,246,18,255,49,88,254,254,228,21,186,255,182,65,112,1,219,22,1,255,22,126,52,255,189,53,49,255,112,25,143,0,38,127,55,255,226,101,163,254,208,133,61,255,137,69,174,1,190,118,145,255,60,98,219,255,217,13,245,255,250,136,10,0,84,254,226,0,201,31,125,1,240,51,251,255,31,131,130,255,2,138,50,255,215,215,177,1,223,12,238,255,252,149,56,255,124,91,68,255,72,126,170,254,119,255,100,0,130,135,232,255,14,79,178,0,250,131,197,0,138,198,208,0,121,216,139,254,119,18,36,255,29,193,122,0,16,42,45,255,213,240,235,1,230,190,169,255,198,35,228,254,110,173,72,0,214,221,241,255,56,148,135,0,192,117,78,254,141,93,207,255,143,65,149,0,21,18,98,255,95,44,244,1,106,191,77,0,254,85,8,254,214,110,176,255,73,173,19,254,160,196,199,255,237,90,144,0,193,172,113,255,200,155,136,254,228,90,221,0,137,49,74,1,164,221,215,255,209,189,5,255,105,236,55,255,42,31,129,1,193,255,236,0,46,217,60,0,138,88,187,255,226,82,236,255,81,69,151,255,142,190,16,1,13,134,8,0,127,122,48,255,81,64,156,0,171,243,139,0,237,35,246,0,122,143,193,254,212,122,146,0,95,41,255,1,87,132,77,0,4,212,31,0,17,31,78,0,39,45,173,254,24,142,217,255,95,9,6,255,227,83,6,0,98,59,130,254,62,30,33,0,8,115,211,1,162,97,128,255,7,184,23,254,116,28,168,255,248,138,151,255,98,244,240,0,186,118,130,0,114,248,235,255,105,173,200,1,160,124,71,255,94,36,164,1,175,65,146,255,238,241,170,254,202,198,197,0,228,71,138,254,45,246,109,255,194,52,158,0,133,187,176,0,83,252,154,254,89,189,221,255,170,73,252,0,148,58,125,0,36,68,51,254,42,69,177,255,168,76,86,255,38,100,204,255,38,53,35,0,175,19,97,0,225,238,253,255,81,81,135,0,210,27,255,254,235,73,107,0,8,207,115,0,82,127,136,0,84,99,21,254,207,19,136,0,100,164,101,0,80,208,77,255,132,207,237,255,15,3,15,255,33,166,110,0,156,95,85,255,37,185,111,1,150,106,35,255,166,151,76,0,114,87,135,255,159,194,64,0,12,122,31,255,232,7,101,254,173,119,98,0,154,71,220,254,191,57,53,255,168,232,160,255,224,32,99,255,218,156,165,0,151,153,163,0,217,13,148,1,197,113,89,0,149,28,161,254,207,23,30,0,105,132,227,255,54,230,94,255,133,173,204,255,92,183,157,255,88,144,252,254,102,33,90,0,159,97,3,0,181,218,155,255,240,114,119,0,106,214,53,255,165,190,115,1,152,91,225,255,88,106,44,255,208,61,113,0,151,52,124,0,191,27,156,255,110,54,236,1,14,30,166,255,39,127,207,1,229,199,28,0,188,228,188,254,100,157,235,0,246,218,183,1,107,22,193,255,206,160,95,0,76,239,147,0,207,161,117,0,51,166,2,255,52,117,10,254,73,56,227,255,152,193,225,0,132,94,136,255,101,191,209,0,32,107,229,255,198,43,180,1,100,210,118,0,114,67,153,255,23,88,26,255,89,154,92,1,220,120,140,255,144,114,207,255,252,115,250,255,34,206,72,0,138,133,127,255,8,178,124,1,87,75,97,0,15,229,92,254,240,67,131,255,118,123,227,254,146,120,104,255,145,213,255,1,129,187,70,255,219,119,54,0,1,19,173,0,45,150,148,1,248,83,72,0,203,233,169,1,142,107,56,0,247,249,38,1,45,242,80,255,30,233,103,0,96,82,70,0,23,201,111,0,81,39,30,255,161,183,78,255,194,234,33,255,68,227,140,254,216,206,116,0,70,27,235,255,104,144,79,0,164,230,93,254,214,135,156,0,154,187,242,254,188,20,131,255,36,109,174,0,159,112,241,0,5,110,149,1,36,165,218,0,166,29,19,1,178,46,73,0,93,43,32,254,248,189,237,0,102,155,141,0,201,93,195,255,241,139,253,255,15,111,98,255,108,65,163,254,155,79,190,255,73,174,193,254,246,40,48,255,107,88,11,254,202,97,85,255,253,204,18,255,113,242,66,0,110,160,194,254,208,18,186,0,81,21,60,0,188,104,167,255,124,166,97,254,210,133,142,0,56,242,137,254,41,111,130,0,111,151,58,1,111,213,141,255,183,172,241,255,38,6,196,255,185,7,123,255,46,11,246,0,245,105,119,1,15,2,161,255,8,206,45,255,18,202,74,255,83,124,115,1,212,141,157,0,83,8,209,254,139,15,232,255,172,54,173,254,50,247,132,0,214,189,213,0,144,184,105,0,223,254,248,0,255,147,240,255,23,188,72,0,7,51,54,0,188,25,180,254,220,180,0,255,83,160,20,0,163,189,243,255,58,209,194,255,87,73,60,0,106,24,49,0,245,249,220,0,22,173,167,0,118,11,195,255,19,126,237,0,110,159,37,255,59,82,47,0,180,187,86,0,188,148,208,1,100,37,133,255,7,112,193,0,129,188,156,255,84,106,129,255,133,225,202,0,14,236,111,255,40,20,101,0,172,172,49,254,51,54,74,255,251,185,184,255,93,155,224,255,180,249,224,1,230,178,146,0,72,57,54,254,178,62,184,0,119,205,72,0,185,239,253,255,61,15,218,0,196,67,56,255,234,32,171,1,46,219,228,0,208,108,234,255,20,63,232,255,165,53,199,1,133,228,5,255,52,205,107,0,74,238,140,255,150,156,219,254,239,172,178,255,251,189,223,254,32,142,211,255,218,15,138,1,241,196,80,0,28,36,98,254,22,234,199,0,61,237,220,255,246,57,37,0,142,17,142,255,157,62,26,0,43,238,95,254,3,217,6,255,213,25,240,1,39,220,174,255,154,205,48,254,19,13,192,255,244,34,54,254,140,16,155,0,240,181,5,254,155,193,60,0,166,128,4,255,36,145,56,255,150,240,219,0,120,51,145,0,82,153,42,1,140,236,146,0,107,92,248,1,189,10,3,0,63,136,242,0,211,39,24,0,19,202,161,1,173,27,186,255,210,204,239,254,41,209,162,255,182,254,159,255,172,116,52,0,195,103,222,254,205,69,59,0,53,22,41,1,218,48,194,0,80,210,242,0,210,188,207,0,187,161,161,254,216,17,1,0,136,225,113,0,250,184,63,0,223,30,98,254,77,168,162,0,59,53,175,0,19,201,10,255,139,224,194,0,147,193,154,255,212,189,12,254,1,200,174,255,50,133,113,1,94,179,90,0,173,182,135,0,94,177,113,0,43,89,215,255,136,252,106,255,123,134,83,254,5,245,66,255,82,49,39,1,220,2,224,0,97,129,177,0,77,59,89,0,61,29,155,1,203,171,220,255,92,78,139,0,145,33,181,255,169,24,141,1,55,150,179,0,139,60,80,255,218,39,97,0,2,147,107,255,60,248,72,0,173,230,47,1,6,83,182,255,16,105,162,254,137,212,81,255,180,184,134,1,39,222,164,255,221,105,251,1,239,112,125,0,63,7,97,0,63,104,227,255,148,58,12,0,90,60,224,255,84,212,252,0,79,215,168,0,248,221,199,1,115,121,1,0,36,172,120,0,32,162,187,255,57,107,49,255,147,42,21,0,106,198,43,1,57,74,87,0,126,203,81,255,129,135,195,0,140,31,177,0,221,139,194,0,3,222,215,0,131,68,231,0,177,86,178,254,124,151,180,0,184,124,38,1,70,163,17,0,249,251,181,1,42,55,227,0,226,161,44,0,23,236,110,0,51,149,142,1,93,5,236,0,218,183,106,254,67,24,77,0,40,245,209,255,222,121,153,0,165,57,30,0,83,125,60,0,70,38,82,1,229,6,188,0,109,222,157,255,55,118,63,255,205,151,186,0,227,33,149,255,254,176,246,1,227,177,227,0,34,106,163,254,176,43,79,0,106,95,78,1,185,241,122,255,185,14,61,0,36,1,202,0,13,178,162,255,247,11,132,0,161,230,92,1,65,1,185,255,212,50,165,1,141,146,64,255,158,242,218,0,21,164,125,0,213,139,122,1,67,71,87,0,203,158,178,1,151,92,43,0,152,111,5,255,39,3,239,255,217,255,250,255,176,63,71,255,74,245,77,1,250,174,18,255,34,49,227,255,246,46,251,255,154,35,48,1,125,157,61,255,106,36,78,255,97,236,153,0,136,187,120,255,113,134,171,255,19,213,217,254,216,94,209,255,252,5,61,0,94,3,202,0,3,26,183,255,64,191,43,255,30,23,21,0,129,141,77,255,102,120,7,1,194,76,140,0,188,175,52,255,17,81,148,0,232,86,55,1,225,48,172,0,134,42,42,255,238,50,47,0,169,18,254,0,20,147,87,255,14,195,239,255,69,247,23,0,238,229,128,255,177,49,112,0,168,98,251,255,121,71,248,0,243,8,145,254,246,227,153,255,219,169,177,254,251,139,165,255,12,163,185,255,164,40,171,255,153,159,27,254,243,109,91,255,222,24,112,1,18,214,231,0,107,157,181,254,195,147,0,255,194,99,104,255,89,140,190,255,177,66,126,254,106,185,66,0,49,218,31,0,252,174,158,0,188,79,230,1,238,41,224,0,212,234,8,1,136,11,181,0,166,117,83,255,68,195,94,0,46,132,201,0,240,152,88,0,164,57,69,254,160,224,42,255,59,215,67,255,119,195,141,255,36,180,121,254,207,47,8,255,174,210,223,0,101,197,68,255,255,82,141,1,250,137,233,0,97,86,133,1,16,80,69,0,132,131,159,0,116,93,100,0,45,141,139,0,152,172,157,255,90,43,91,0,71,153,46,0,39,16,112,255,217,136,97,255,220,198,25,254,177,53,49,0,222,88,134,255,128,15,60,0,207,192,169,255,192,116,209,255,106,78,211,1,200,213,183,255,7,12,122,254,222,203,60,255,33,110,199,254,251,106,117,0,228,225,4,1,120,58,7,255,221,193,84,254,112,133,27,0,189,200,201,255,139,135,150,0,234,55,176,255,61,50,65,0,152,108,169,255,220,85,1,255,112,135,227,0,162,26,186,0,207,96,185,254,244,136,107,0,93,153,50,1,198,97,151,0,110,11,86,255,143,117,174,255,115,212,200,0,5,202,183,0,237,164,10,254,185,239,62,0,236,120,18,254,98,123,99,255,168,201,194,254,46,234,214,0,191,133,49,255,99,169,119,0,190,187,35,1,115,21,45,255,249,131,72,0,112,6,123,255,214,49,181,254,166,233,34,0,92,197,102,254,253,228,205,255,3,59,201,1,42,98,46,0,219,37,35,255,169,195,38,0,94,124,193,1,156,43,223,0,95,72,133,254,120,206,191,0,122,197,239,255,177,187,79,255,254,46,2,1,250,167,190,0,84,129,19,0,203,113,166,255,249,31,189,254,72,157,202,255,208,71,73,255,207,24,72,0,10,16,18,1,210,81,76,255,88,208,192,255,126,243,107,255,238,141,120,255,199,121,234,255,137,12,59,255,36,220,123,255,148,179,60,254,240,12,29,0,66,0,97,1,36,30,38,255,115,1,93,255,96,103,231,255,197,158,59,1,192,164,240,0,202,202,57,255,24,174,48,0,89,77,155,1,42,76,215,0,244,151,233,0,23,48,81,0,239,127,52,254,227,130,37,255,248,116,93,1,124,132,118,0,173,254,192,1,6,235,83,255,110,175,231,1,251,28,182,0,129,249,93,254,84,184,128,0,76,181,62,0,175,128,186,0,100,53,136,254,109,29,226,0,221,233,58,1,20,99,74,0,0,22,160,0,134,13,21,0,9,52,55,255,17,89,140,0,175,34,59,0,84,165,119,255,224,226,234,255,7,72,166,255,123,115,255,1,18,214,246,0,250,7,71,1,217,220,185,0,212,35,76,255,38,125,175,0,189,97,210,0,114,238,44,255,41,188,169,254,45,186,154,0,81,92,22,0,132,160,193,0,121,208,98,255,13,81,44,255,203,156,82,0,71,58,21,255,208,114,191,254,50,38,147,0,154,216,195,0,101,25,18,0,60,250,215,255,233,132,235,255,103,175,142,1,16,14,92,0,141,31,110,254,238,241,45,255,153,217,239,1,97,168,47,255,249,85,16,1,28,175,62,255,57,254,54,0,222,231,126,0,166,45,117,254,18,189,96,255,228,76,50,0,200,244,94,0,198,152,120,1,68,34,69,255,12,65,160,254,101,19,90,0,167,197,120,255,68,54,185,255,41,218,188,0,113,168,48,0,88,105,189,1,26,82,32,255,185,93,164,1,228,240,237,255,66,182,53,0,171,197,92,255,107,9,233,1,199,120,144,255,78,49,10,255,109,170,105,255,90,4,31,255,28,244,113,255,74,58,11,0,62,220,246,255,121,154,200,254,144,210,178,255,126,57,129,1,43,250,14,255,101,111,28,1,47,86,241,255,61,70,150,255,53,73,5,255,30,26,158,0,209,26,86,0,138,237,74,0,164,95,188,0,142,60,29,254,162,116,248,255,187,175,160,0,151,18,16,0,209,111,65,254,203,134,39,255,88,108,49,255,131,26,71,255,221,27,215,254,104,105,93,255,31,236,31,254,135,0,211,255,143,127,110,1,212,73,229,0,233,67,167,254,195,1,208,255,132,17,221,255,51,217,90,0,67,235,50,255,223,210,143,0,179,53,130,1,233,106,198,0,217,173,220,255,112,229,24,255,175,154,93,254,71,203,246,255,48,66,133,255,3,136,230,255,23,221,113,254,235,111,213,0,170,120,95,254,251,221,2,0,45,130,158,254,105,94,217,255,242,52,180,254,213,68,45,255,104,38,28,0,244,158,76,0,161,200,96,255,207,53,13,255,187,67,148,0,170,54,248,0,119,162,178,255,83,20,11,0,42,42,192,1,146,159,163,255,183,232,111,0,77,229,21,255,71,53,143,0,27,76,34,0,246,136,47,255,219,39,182,255,92,224,201,1,19,142,14,255,69,182,241,255,163,118,245,0,9,109,106,1,170,181,247,255,78,47,238,255,84,210,176,255,213,107,139,0,39,38,11,0,72,21,150,0,72,130,69,0,205,77,155,254,142,133,21],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([71,111,172,254,226,42,59,255,179,0,215,1,33,128,241,0,234,252,13,1,184,79,8,0,110,30,73,255,246,141,189,0,170,207,218,1,74,154,69,255,138,246,49,255,155,32,100,0,125,74,105,255,90,85,61,255,35,229,177,255,62,125,193,255,153,86,188,1,73,120,212,0,209,123,246,254,135,209,38,255,151,58,44,1,92,69,214,255,14,12,88,255,252,153,166,255,253,207,112,255,60,78,83,255,227,124,110,0,180,96,252,255,53,117,33,254,164,220,82,255,41,1,27,255,38,164,166,255,164,99,169,254,61,144,70,255,192,166,18,0,107,250,66,0,197,65,50,0,1,179,18,255,255,104,1,255,43,153,35,255,80,111,168,0,110,175,168,0,41,105,45,255,219,14,205,255,164,233,140,254,43,1,118,0,233,67,195,0,178,82,159,255,138,87,122,255,212,238,90,255,144,35,124,254,25,140,164,0,251,215,44,254,133,70,107,255,101,227,80,254,92,169,55,0,215,42,49,0,114,180,85,255,33,232,27,1,172,213,25,0,62,176,123,254,32,133,24,255,225,191,62,0,93,70,153,0,181,42,104,1,22,191,224,255,200,200,140,255,249,234,37,0,149,57,141,0,195,56,208,255,254,130,70,255,32,173,240,255,29,220,199,0,110,100,115,255,132,229,249,0,228,233,223,255,37,216,209,254,178,177,209,255,183,45,165,254,224,97,114,0,137,97,168,255,225,222,172,0,165,13,49,1,210,235,204,255,252,4,28,254,70,160,151,0,232,190,52,254,83,248,93,255,62,215,77,1,175,175,179,255,160,50,66,0,121,48,208,0,63,169,209,255,0,210,200,0,224,187,44,1,73,162,82,0,9,176,143,255,19,76,193,255,29,59,167,1,24,43,154,0,28,190,190,0,141,188,129,0,232,235,203,255,234,0,109,255,54,65,159,0,60,88,232,255,121,253,150,254,252,233,131,255,198,110,41,1,83,77,71,255,200,22,59,254,106,253,242,255,21,12,207,255,237,66,189,0,90,198,202,1,225,172,127,0,53,22,202,0,56,230,132,0,1,86,183,0,109,190,42,0,243,68,174,1,109,228,154,0,200,177,122,1,35,160,183,255,177,48,85,255,90,218,169,255,248,152,78,0,202,254,110,0,6,52,43,0,142,98,65,255,63,145,22,0,70,106,93,0,232,138,107,1,110,179,61,255,211,129,218,1,242,209,92,0,35,90,217,1,182,143,106,255,116,101,217,255,114,250,221,255,173,204,6,0,60,150,163,0,73,172,44,255,239,110,80,255,237,76,153,254,161,140,249,0,149,232,229,0,133,31,40,255,174,164,119,0,113,51,214,0,129,228,2,254,64,34,243,0,107,227,244,255,174,106,200,255,84,153,70,1,50,35,16,0,250,74,216,254,236,189,66,255,153,249,13,0,230,178,4,255,221,41,238,0,118,227,121,255,94,87,140,254,254,119,92,0,73,239,246,254,117,87,128,0,19,211,145,255,177,46,252,0,229,91,246,1,69,128,247,255,202,77,54,1,8,11,9,255,153,96,166,0,217,214,173,255,134,192,2,1,0,207,0,0,189,174,107,1,140,134,100,0,158,193,243,1,182,102,171,0,235,154,51,0,142,5,123,255,60,168,89,1,217,14,92,255,19,214,5,1,211,167,254,0,44,6,202,254,120,18,236,255,15,113,184,255,184,223,139,0,40,177,119,254,182,123,90,255,176,165,176,0,247,77,194,0,27,234,120,0,231,0,214,255,59,39,30,0,125,99,145,255,150,68,68,1,141,222,248,0,153,123,210,255,110,127,152,255,229,33,214,1,135,221,197,0,137,97,2,0,12,143,204,255,81,41,188,0,115,79,130,255,94,3,132,0,152,175,187,255,124,141,10,255,126,192,179,255,11,103,198,0,149,6,45,0,219,85,187,1,230,18,178,255,72,182,152,0,3,198,184,255,128,112,224,1,97,161,230,0,254,99,38,255,58,159,197,0,151,66,219,0,59,69,143,255,185,112,249,0,119,136,47,255,123,130,132,0,168,71,95,255,113,176,40,1,232,185,173,0,207,93,117,1,68,157,108,255,102,5,147,254,49,97,33,0,89,65,111,254,247,30,163,255,124,217,221,1,102,250,216,0,198,174,75,254,57,55,18,0,227,5,236,1,229,213,173,0,201,109,218,1,49,233,239,0,30,55,158,1,25,178,106,0,155,111,188,1,94,126,140,0,215,31,238,1,77,240,16,0,213,242,25,1,38,71,168,0,205,186,93,254,49,211,140,255,219,0,180,255,134,118,165,0,160,147,134,255,110,186,35,255,198,243,42,0,243,146,119,0,134,235,163,1,4,241,135,255,193,46,193,254,103,180,79,255,225,4,184,254,242,118,130,0,146,135,176,1,234,111,30,0,69,66,213,254,41,96,123,0,121,94,42,255,178,191,195,255,46,130,42,0,117,84,8,255,233,49,214,254,238,122,109,0,6,71,89,1,236,211,123,0,244,13,48,254,119,148,14,0,114,28,86,255,75,237,25,255,145,229,16,254,129,100,53,255,134,150,120,254,168,157,50,0,23,72,104,255,224,49,14,0,255,123,22,255,151,185,151,255,170,80,184,1,134,182,20,0,41,100,101,1,153,33,16,0,76,154,111,1,86,206,234,255,192,160,164,254,165,123,93,255,1,216,164,254,67,17,175,255,169,11,59,255,158,41,61,255,73,188,14,255,195,6,137,255,22,147,29,255,20,103,3,255,246,130,227,255,122,40,128,0,226,47,24,254,35,36,32,0,152,186,183,255,69,202,20,0,195,133,195,0,222,51,247,0,169,171,94,1,183,0,160,255,64,205,18,1,156,83,15,255,197,58,249,254,251,89,110,255,50,10,88,254,51,43,216,0,98,242,198,1,245,151,113,0,171,236,194,1,197,31,199,255,229,81,38,1,41,59,20,0,253,104,230,0,152,93,14,255,246,242,146,254,214,169,240,255,240,102,108,254,160,167,236,0,154,218,188,0,150,233,202,255,27,19,250,1,2,71,133,255,175,12,63,1,145,183,198,0,104,120,115,255,130,251,247,0,17,212,167,255,62,123,132,255,247,100,189,0,155,223,152,0,143,197,33,0,155,59,44,255,150,93,240,1,127,3,87,255,95,71,207,1,167,85,1,255,188,152,116,255,10,23,23,0,137,195,93,1,54,98,97,0,240,0,168,255,148,188,127,0,134,107,151,0,76,253,171,0,90,132,192,0,146,22,54,0,224,66,54,254,230,186,229,255,39,182,196,0,148,251,130,255,65,131,108,254,128,1,160,0,169,49,167,254,199,254,148,255,251,6,131,0,187,254,129,255,85,82,62,0,178,23,58,255,254,132,5,0,164,213,39,0,134,252,146,254,37,53,81,255,155,134,82,0,205,167,238,255,94,45,180,255,132,40,161,0,254,111,112,1,54,75,217,0,179,230,221,1,235,94,191,255,23,243,48,1,202,145,203,255,39,118,42,255,117,141,253,0,254,0,222,0,43,251,50,0,54,169,234,1,80,68,208,0,148,203,243,254,145,7,135,0,6,254,0,0,252,185,127,0,98,8,129,255,38,35,72,255,211,36,220,1,40,26,89,0,168,64,197,254,3,222,239,255,2,83,215,254,180,159,105,0,58,115,194,0,186,116,106,255,229,247,219,255,129,118,193,0,202,174,183,1,166,161,72,0,201,107,147,254,237,136,74,0,233,230,106,1,105,111,168,0,64,224,30,1,1,229,3,0,102,151,175,255,194,238,228,255,254,250,212,0,187,237,121,0,67,251,96,1,197,30,11,0,183,95,204,0,205,89,138,0,64,221,37,1,255,223,30,255,178,48,211,255,241,200,90,255,167,209,96,255,57,130,221,0,46,114,200,255,61,184,66,0,55,182,24,254,110,182,33,0,171,190,232,255,114,94,31,0,18,221,8,0,47,231,254,0,255,112,83,0,118,15,215,255,173,25,40,254,192,193,31,255,238,21,146,255,171,193,118,255,101,234,53,254,131,212,112,0,89,192,107,1,8,208,27,0,181,217,15,255,231,149,232,0,140,236,126,0,144,9,199,255,12,79,181,254,147,182,202,255,19,109,182,255,49,212,225,0,74,163,203,0,175,233,148,0,26,112,51,0,193,193,9,255,15,135,249,0,150,227,130,0,204,0,219,1,24,242,205,0,238,208,117,255,22,244,112,0,26,229,34,0,37,80,188,255,38,45,206,254,240,90,225,255,29,3,47,255,42,224,76,0,186,243,167,0,32,132,15,255,5,51,125,0,139,135,24,0,6,241,219,0,172,229,133,255,246,214,50,0,231,11,207,255,191,126,83,1,180,163,170,255,245,56,24,1,178,164,211,255,3,16,202,1,98,57,118,255,141,131,89,254,33,51,24,0,243,149,91,255,253,52,14,0,35,169,67,254,49,30,88,255,179,27,36,255,165,140,183,0,58,189,151,0,88,31,0,0,75,169,66,0,66,101,199,255,24,216,199,1,121,196,26,255,14,79,203,254,240,226,81,255,94,28,10,255,83,193,240,255,204,193,131,255,94,15,86,0,218,40,157,0,51,193,209,0,0,242,177,0,102,185,247,0,158,109,116,0,38,135,91,0,223,175,149,0,220,66,1,255,86,60,232,0,25,96,37,255,225,122,162,1,215,187,168,255,158,157,46,0,56,171,162,0,232,240,101,1,122,22,9,0,51,9,21,255,53,25,238,255,217,30,232,254,125,169,148,0,13,232,102,0,148,9,37,0,165,97,141,1,228,131,41,0,222,15,243,255,254,18,17,0,6,60,237,1,106,3,113,0,59,132,189,0,92,112,30,0,105,208,213,0,48,84,179,255,187,121,231,254,27,216,109,255,162,221,107,254,73,239,195,255,250,31,57,255,149,135,89,255,185,23,115,1,3,163,157,255,18,112,250,0,25,57,187,255,161,96,164,0,47,16,243,0,12,141,251,254,67,234,184,255,41,18,161,0,175,6,96,255,160,172,52,254,24,176,183,255,198,193,85,1,124,121,137,255,151,50,114,255,220,203,60,255,207,239,5,1,0,38,107,255,55,238,94,254,70,152,94,0,213,220,77,1,120,17,69,255,85,164,190,255,203,234,81,0,38,49,37,254,61,144,124,0,137,78,49,254,168,247,48,0,95,164,252,0,105,169,135,0,253,228,134,0,64,166,75,0,81,73,20,255,207,210,10,0,234,106,150,255,94,34,90,255,254,159,57,254,220,133,99,0,139,147,180,254,24,23,185,0,41,57,30,255,189,97,76,0,65,187,223,255,224,172,37,255,34,62,95,1,231,144,240,0,77,106,126,254,64,152,91,0,29,98,155,0,226,251,53,255,234,211,5,255,144,203,222,255,164,176,221,254,5,231,24,0,179,122,205,0,36,1,134,255,125,70,151,254,97,228,252,0,172,129,23,254,48,90,209,255,150,224,82,1,84,134,30,0,241,196,46,0,103,113,234,255,46,101,121,254,40,124,250,255,135,45,242,254,9,249,168,255,140,108,131,255,143,163,171,0,50,173,199,255,88,222,142,255,200,95,158,0,142,192,163,255,7,117,135,0,111,124,22,0,236,12,65,254,68,38,65,255,227,174,254,0,244,245,38,0,240,50,208,255,161,63,250,0,60,209,239,0,122,35,19,0,14,33,230,254,2,159,113,0,106,20,127,255,228,205,96,0,137,210,174,254,180,212,144,255,89,98,154,1,34,88,139,0,167,162,112,1,65,110,197,0,241,37,169,0,66,56,131,255,10,201,83,254,133,253,187,255,177,112,45,254,196,251,0,0,196,250,151,255,238,232,214,255,150,209,205,0,28,240,118,0,71,76,83,1,236,99,91,0,42,250,131,1,96,18,64,255,118,222,35,0,113,214,203,255,122,119,184,255,66,19,36,0,204,64,249,0,146,89,139,0,134,62,135,1,104,233,101,0,188,84,26,0,49,249,129,0,208,214,75,255,207,130,77,255,115,175,235,0,171,2,137,255,175,145,186,1,55,245,135,255,154,86,181,1,100,58,246,255,109,199,60,255,82,204,134,255,215,49,230,1,140,229,192,255,222,193,251,255,81,136,15,255,179,149,162,255,23,39,29,255,7,95,75,254,191,81,222,0,241,81,90,255,107,49,201,255,244,211,157,0,222,140,149,255,65,219,56,254,189,246,90,255,178,59,157,1,48,219,52,0,98,34,215,0,28,17,187,255,175,169,24,0,92,79,161,255,236,200,194,1,147,143,234,0,229,225,7,1,197,168,14,0,235,51,53,1,253,120,174,0,197,6,168,255,202,117,171,0,163,21,206,0,114,85,90,255,15,41,10,255,194,19,99,0,65,55,216,254,162,146,116,0,50,206,212,255,64,146,29,255,158,158,131,1,100,165,130,255,172,23,129,255,125,53,9,255,15,193,18,1,26,49,11,255,181,174,201,1,135,201,14,255,100,19,149,0,219,98,79,0,42,99,143,254,96,0,48,255,197,249,83,254,104,149,79,255,235,110,136,254,82,128,44,255,65,41,36,254,88,211,10,0,187,121,187,0,98,134,199,0,171,188,179,254,210,11,238,255,66,123,130,254,52,234,61,0,48,113,23,254,6,86,120,255,119,178,245,0,87,129,201,0,242,141,209,0,202,114,85,0,148,22,161,0,103,195,48,0,25,49,171,255,138,67,130,0,182,73,122,254,148,24,130,0,211,229,154,0,32,155,158,0,84,105,61,0,177,194,9,255,166,89,86,1,54,83,187,0,249,40,117,255,109,3,215,255,53,146,44,1,63,47,179,0,194,216,3,254,14,84,136,0,136,177,13,255,72,243,186,255,117,17,125,255,211,58,211,255,93,79,223,0,90,88,245,255,139,209,111,255,70,222,47,0,10,246,79,255,198,217,178,0,227,225,11,1,78,126,179,255,62,43,126,0,103,148,35,0,129,8,165,254,245,240,148,0,61,51,142,0,81,208,134,0,15,137,115,255,211,119,236,255,159,245,248,255,2,134,136,255,230,139,58,1,160,164,254,0,114,85,141,255,49,166,182,255,144,70,84,1,85,182,7,0,46,53,93,0,9,166,161,255,55,162,178,255,45,184,188,0,146,28,44,254,169,90,49,0,120,178,241,1,14,123,127,255,7,241,199,1,189,66,50,255,198,143,101,254,189,243,135,255,141,24,24,254,75,97,87,0,118,251,154,1,237,54,156,0,171,146,207,255,131,196,246,255,136,64,113,1,151,232,57,0,240,218,115,0,49,61,27,255,64,129,73,1,252,169,27,255,40,132,10,1,90,201,193,255,252,121,240,1,186,206,41,0,43,198,97,0,145,100,183,0,204,216,80,254,172,150,65,0,249,229,196,254,104,123,73,255,77,104,96,254,130,180,8,0,104,123,57,0,220,202,229,255,102,249,211,0,86,14,232,255,182,78,209,0,239,225,164,0,106,13,32,255,120,73,17,255,134,67,233,0,83,254,181,0,183,236,112,1,48,64,131,255,241,216,243,255,65,193,226,0,206,241,100,254,100,134,166,255,237,202,197,0,55,13,81,0,32,124,102,255,40,228,177,0,118,181,31,1,231,160,134,255,119,187,202,0,0,142,60,255,128,38,189,255,166,201,150,0,207,120,26,1,54,184,172,0,12,242,204,254,133,66,230,0,34,38,31,1,184,112,80,0,32,51,165,254,191,243,55,0,58,73,146,254,155,167,205,255,100,104,152,255,197,254,207,255,173,19,247,0,238,10,202,0,239,151,242,0,94,59,39,255,240,29,102,255,10,92,154,255,229,84,219,255,161,129,80,0,208,90,204,1,240,219,174,255,158,102,145,1,53,178,76,255,52,108,168,1,83,222,107,0,211,36,109,0,118,58,56,0,8,29,22,0,237,160,199,0,170,209,157,0,137,71,47,0,143,86,32,0,198,242,2,0,212,48,136,1,92,172,186,0,230,151,105,1,96,191,229,0,138,80,191,254,240,216,130,255,98,43,6,254,168,196,49,0,253,18,91,1,144,73,121,0,61,146,39,1,63,104,24,255,184,165,112,254,126,235,98,0,80,213,98,255,123,60,87,255,82,140,245,1,223,120,173,255,15,198,134,1,206,60,239,0,231,234,92,255,33,238,19,255,165,113,142,1,176,119,38,0,160,43,166,254,239,91,105,0,107,61,194,1,25,4,68,0,15,139,51,0,164,132,106,255,34,116,46,254,168,95,197,0,137,212,23,0,72,156,58,0,137,112,69,254,150,105,154,255,236,201,157,0,23,212,154,255,136,82,227,254,226,59,221,255,95,149,192,0,81,118,52,255,33,43,215,1,14,147,75,255,89,156,121,254,14,18,79,0,147,208,139,1,151,218,62,255,156,88,8,1,210,184,98,255,20,175,123,255,102,83,229,0,220,65,116,1,150,250,4,255,92,142,220,255,34,247,66,255,204,225,179,254,151,81,151,0,71,40,236,255,138,63,62,0,6,79,240,255,183,185,181,0,118,50,27,0,63,227,192,0,123,99,58,1,50,224,155,255,17,225,223,254,220,224,77,255,14,44,123,1,141,128,175,0,248,212,200,0,150,59,183,255,147,97,29,0,150,204,181,0,253,37,71,0,145,85,119,0,154,200,186,0,2,128,249,255,83,24,124,0,14,87,143,0,168,51,245,1,124,151,231,255,208,240,197,1,124,190,185,0,48,58,246,0,20,233,232,0,125,18,98,255,13,254,31,255,245,177,130,255,108,142,35,0,171,125,242,254,140,12,34,255,165,161,162,0,206,205,101,0,247,25,34,1,100,145,57,0,39,70,57,0,118,204,203,255,242,0,162,0,165,244,30,0,198,116,226,0,128,111,153,255,140,54,182,1,60,122,15,255,155,58,57,1,54,50,198,0,171,211,29,255,107,138,167,255,173,107,199,255,109,161,193,0,89,72,242,255,206,115,89,255,250,254,142,254,177,202,94,255,81,89,50,0,7,105,66,255,25,254,255,254,203,64,23,255,79,222,108,255,39,249,75,0,241,124,50,0,239,152,133,0,221,241,105,0,147,151,98,0,213,161,121,254,242,49,137,0,233,37,249,254,42,183,27,0,184,119,230,255,217,32,163,255,208,251,228,1,137,62,131,255,79,64,9,254,94,48,113,0,17,138,50,254,193,255,22,0,247,18,197,1,67,55,104,0,16,205,95,255,48,37,66,0,55,156,63,1,64,82,74,255,200,53,71,254,239,67,125,0,26,224,222,0,223,137,93,255,30,224,202,255,9,220,132,0,198,38,235,1,102,141,86,0,60,43,81,1,136,28,26,0,233,36,8,254,207,242,148,0,164,162,63,0,51,46,224,255,114,48,79,255,9,175,226,0,222,3,193,255,47,160,232,255,255,93,105,254,14,42,230,0,26,138,82,1,208,43,244,0,27,39,38,255,98,208,127,255,64,149,182,255,5,250,209,0,187,60,28,254,49,25,218,255,169,116,205,255,119,18,120,0,156,116,147,255,132,53,109,255,13,10,202,0,110,83,167,0,157,219,137,255,6,3,130,255,50,167,30,255,60,159,47,255,129,128,157,254,94,3,189,0,3,166,68,0,83,223,215,0,150,90,194,1,15,168,65,0,227,83,51,255,205,171,66,255,54,187,60,1,152,102,45,255,119,154,225,0,240,247,136,0,100,197,178,255,139,71,223,255,204,82,16,1,41,206,42,255,156,192,221,255,216,123,244,255,218,218,185,255,187,186,239,255,252,172,160,255,195,52,22,0,144,174,181,254,187,100,115,255,211,78,176,255,27,7,193,0,147,213,104,255,90,201,10,255,80,123,66,1,22,33,186,0,1,7,99,254,30,206,10,0,229,234,5,0,53,30,210,0,138,8,220,254,71,55,167,0,72,225,86,1,118,190,188,0,254,193,101,1,171,249,172,255,94,158,183,254,93,2,108,255,176,93,76,255,73,99,79,255,74,64,129,254,246,46,65,0,99,241,127,254,246,151,102,255,44,53,208,254,59,102,234,0,154,175,164,255,88,242,32,0,111,38,1,0,255,182,190,255,115,176,15,254,169,60,129,0,122,237,241,0,90,76,63,0,62,74,120,255,122,195,110,0,119,4,178,0,222,242,210,0,130,33,46,254,156,40,41,0,167,146,112,1,49,163,111,255,121,176,235,0,76,207,14,255,3,25,198,1,41,235,213,0,85,36,214,1,49,92,109,255,200,24,30,254,168,236,195,0,145,39,124,1,236,195,149,0,90,36,184,255,67,85,170,255,38,35,26,254,131,124,68,255,239,155,35,255,54,201,164,0,196,22,117,255,49,15,205,0,24,224,29,1,126,113,144,0,117,21,182,0,203,159,141,0,223,135,77,0,176,230,176,255,190,229,215,255,99,37,181,255,51,21,138,255,25,189,89,255,49,48,165,254,152,45,247,0,170,108,222,0,80,202,5,0,27,69,103,254,204,22,129,255,180,252,62,254,210,1,91,255,146,110,254,255,219,162,28,0,223,252,213,1,59,8,33,0,206,16,244,0,129,211,48,0,107,160,208,0,112,59,209,0,109,77,216,254,34,21,185,255,246,99,56,255,179,139,19,255,185,29,50,255,84,89,19,0,74,250,98,255,225,42,200,255,192,217,205,255,210,16,167,0,99,132,95,1,43,230,57,0,254,11,203,255,99,188,63,255,119,193,251,254,80,105,54,0,232,181,189,1,183,69,112,255,208,171,165,255,47,109,180,255,123,83,165,0,146,162,52,255,154,11,4,255,151,227,90,255,146,137,97,254,61,233,41,255,94,42,55,255,108,164,236,0,152,68,254,0,10,140,131,255,10,106,79,254,243,158,137,0,67,178,66,254,177,123,198,255,15,62,34,0,197,88,42,255,149,95,177,255,152,0,198,255,149,254,113,255,225,90,163,255,125,217,247,0,18,17,224,0,128,66,120,254,192,25,9,255,50,221,205,0,49,212,70,0,233,255,164,0,2,209,9,0,221,52,219,254,172,224,244,255,94,56,206,1,242,179,2,255,31,91,164,1,230,46,138,255,189,230,220,0,57,47,61,255,111,11,157,0,177,91,152,0,28,230,98,0,97,87,126,0,198,89,145,255,167,79,107,0,249,77,160,1,29,233,230,255,150,21,86,254,60,11,193,0,151,37,36,254,185,150,243,255,228,212,83,1,172,151,180,0,201,169,155,0,244,60,234,0,142,235,4,1,67,218,60,0,192,113,75,1,116,243,207,255,65,172,155,0,81,30,156,255,80,72,33,254,18,231,109,255,142,107,21,254,125,26,132,255,176,16,59,255,150,201,58,0,206,169,201,0,208,121,226,0,40,172,14,255,150,61,94,255,56,57,156,255,141,60,145,255,45,108,149,255,238,145,155,255,209,85,31,254,192,12,210,0,99,98,93,254,152,16,151,0,225,185,220,0,141,235,44,255,160,172,21,254,71,26,31,255,13,64,93,254,28,56,198,0,177,62,248,1,182,8,241,0,166,101,148,255,78,81,133,255,129,222,215,1,188,169,129,255,232,7,97,0,49,112,60,255,217,229,251,0,119,108,138,0,39,19,123,254,131,49,235,0,132,84,145,0,130,230,148,255,25,74,187,0,5,245,54,255,185,219,241,1,18,194,228,255,241,202,102,0,105,113,202,0,155,235,79,0,21,9,178,255,156,1,239,0,200,148,61,0,115,247,210,255,49,221,135,0,58,189,8,1,35,46,9,0,81,65,5,255,52,158,185,255,125,116,46,255,74,140,13,255,210,92,172,254,147,23,71,0,217,224,253,254,115,108,180,255,145,58,48,254,219,177,24,255,156,255,60,1,154,147,242,0,253,134,87,0,53,75,229,0,48,195,222,255,31,175,50,255,156,210,120,255,208,35,222,255,18,248,179,1,2,10,101,255,157,194,248,255,158,204,101,255,104,254,197,255,79,62,4,0,178,172,101,1,96,146,251,255,65,10,156,0,2,137,165,255,116,4,231,0,242,215,1,0,19,35,29,255,43,161,79,0,59,149,246,1,251,66,176,0,200,33,3,255,80,110,142,255,195,161,17,1,228,56,66,255,123,47,145,254,132,4,164,0,67,174,172,0,25,253,114,0,87,97,87,1,250,220,84,0,96,91,200,255,37,125,59,0,19,65,118,0,161,52,241,255,237,172,6,255,176,191,255,255,1,65,130,254,223,190,230,0,101,253,231,255,146,35,109,0,250,29,77,1,49,0,19,0,123,90,155,1,22,86,32,255,218,213,65,0,111,93,127,0,60,93,169,255,8,127,182,0,17,186,14,254,253,137,246,255,213,25,48,254,76,238,0,255,248,92,70,255,99,224,139,0,184,9,255,1,7,164,208,0,205,131,198,1,87,214,199,0,130,214,95,0,221,149,222,0,23,38,171,254,197,110,213,0,43,115,140,254,215,177,118,0,96,52,66,1,117,158,237,0,14,64,182,255,46,63,174,255,158,95,190,255,225,205,177,255,43,5,142,255,172,99,212,255,244,187,147,0,29,51,153,255,228,116,24,254,30,101,207,0,19,246,150,255,134,231,5,0,125,134,226,1,77,65,98,0,236,130,33,255,5,110,62,0,69,108,127,255,7,113,22,0,145,20,83,254,194,161,231,255,131,181,60,0,217,209,177,255,229,148,212,254,3,131,184,0,117,177,187,1,28,14,31,255,176,102,80,0,50,84,151,255,125,31,54,255,21,157,133,255,19,179,139,1,224,232,26,0,34,117,170,255,167,252,171,255,73,141,206,254,129,250,35,0,72,79,236,1,220,229,20,255,41,202,173,255,99,76,238,255,198,22,224,255,108,198,195,255,36,141,96,1,236,158,59,255,106,100,87,0,110,226,2,0,227,234,222,0,154,93,119,255,74,112,164,255,67,91,2,255,21,145,33,255,102,214,137,255,175,230,103,254,163,246,166,0,93,247,116,254,167,224,28,255,220,2,57,1,171,206,84,0,123,228,17,255,27,120,119,0,119,11,147,1,180,47,225,255,104,200,185,254,165,2,114,0,77,78,212,0,45,154,177,255,24,196,121,254,82,157,182,0,90,16,190,1,12,147,197,0,95,239,152,255,11,235,71,0,86,146,119,255,172,134,214,0,60,131,196,0,161,225,129,0,31,130,120,254,95,200,51,0,105,231,210,255,58,9,148,255,43,168,221,255,124,237,142,0,198,211,50,254,46,245,103,0,164,248,84,0,152,70,208,255,180,117,177,0,70,79,185,0,243,74,32,0,149,156,207,0,197,196,161,1,245,53,239,0,15,93,246,254,139,240,49,255,196,88,36,255,162,38,123,0,128,200,157,1,174,76,103,255,173,169,34,254,216,1,171,255,114,51,17,0,136,228,194,0,110,150,56,254,106,246,159,0,19,184,79,255,150,77,240,255,155,80,162,0,0,53,169,255,29,151,86,0,68,94,16,0,92,7,110,254,98,117,149,255,249,77,230,255,253,10,140,0,214,124,92,254,35,118,235,0,89,48,57,1,22,53,166,0,184,144,61,255,179,255,194,0,214,248,61,254,59,110,246,0,121,21,81,254,166,3,228,0,106,64,26,255,69,232,134,255,242,220,53,254,46,220,85,0,113,149,247,255,97,179,103,255,190,127,11,0,135,209,182,0,95,52,129,1,170,144,206,255,122,200,204,255,168,100,146,0,60,144,149,254,70,60,40,0,122,52,177,255,246,211,101,255,174,237,8,0,7,51,120,0,19,31,173,0,126,239,156,255,143,189,203,0,196,128,88,255,233,133,226,255,30,125,173,255,201,108,50,0,123,100,59,255,254,163,3,1,221,148,181,255,214,136,57,254,222,180,137,255,207,88,54,255,28,33,251,255,67,214,52,1,210,208,100,0,81,170,94,0,145,40,53,0,224,111,231,254,35,28,244,255,226,199,195,254,238,17,230,0,217,217,164,254,169,157,221,0,218,46,162,1,199,207,163,255,108,115,162,1,14,96,187,255,118,60,76,0,184,159,152,0,209,231,71,254,42,164,186,255,186,153,51,254,221,171,182,255,162,142,173,0,235,47,193,0,7,139,16,1,95,164,64,255,16,221,166,0,219,197,16,0,132,29,44,255,100,69,117,255,60,235,88,254,40,81,173,0,71,190,61,255,187,88,157,0,231,11,23,0,237,117,164,0,225,168,223,255,154,114,116,255,163,152,242,1,24,32,170,0,125,98,113,254,168,19,76,0,17,157,220,254,155,52,5,0,19,111,161,255,71,90,252,255,173,110,240,0,10,198,121,255,253,255,240,255,66,123,210,0,221,194,215,254,121,163,17,255,225,7,99,0,190,49,182,0,115,9,133,1,232,26,138,255,213,68,132,0,44,119,122,255,179,98,51,0,149,90,106,0,71,50,230,255,10,153,118,255,177,70,25,0,165,87,205,0,55,138,234,0,238,30,97,0,113,155,207,0,98,153,127,0,34,107,219,254,117,114,172,255,76,180,255,254,242,57,179,255,221,34,172,254,56,162,49,255,83,3,255,255,113,221,189,255,188,25,228,254,16,88,89,255,71,28,198,254,22,17,149,255,243,121,254,255,107,202,99,255,9,206,14,1,220,47,153,0,107,137,39,1,97,49,194,255,149,51,197,254,186,58,11,255,107,43,232,1,200,6,14,255,181,133,65,254,221,228,171,255,123,62,231,1,227,234,179,255,34,189,212,254,244,187,249,0,190,13,80,1,130,89,1,0,223,133,173,0,9,222,198,255,66,127,74,0,167,216,93,255,155,168,198,1,66,145,0,0,68,102,46,1,172,90,154,0,216,128,75,255,160,40,51,0,158,17,27,1,124,240,49,0,236,202,176,255,151,124,192,255,38,193,190,0,95,182,61,0,163,147,124,255,255,165,51,255,28,40,17,254,215,96,78,0,86,145,218,254,31,36,202,255,86,9,5,0,111,41,200,255,237,108,97,0,57,62,44,0,117,184,15,1,45,241,116,0,152,1,220,255,157,165,188,0,250,15,131,1,60,44,125,255,65,220,251,255,75,50,184,0,53,90,128,255,231,80,194,255,136,129,127,1,21,18,187,255,45,58,161,255,71,147,34,0,174,249,11,254,35,141,29,0,239,68,177,255,115,110,58,0,238,190,177,1,87,245,166,255,190,49,247,255,146,83,184,255,173,14,39,255,146,215,104,0,142,223,120,0,149,200,155,255,212,207,145,1,16,181,217,0,173,32,87,255,255,35,181,0,119,223,161,1,200,223,94,255,70,6,186,255,192,67,85,255,50,169,152,0,144,26,123,255,56,243,179,254,20,68,136,0,39,140,188,254,253,208,5,255,200,115,135,1,43,172,229,255,156,104,187,0,151,251,167,0,52,135,23,0,151,153,72,0,147,197,107,254,148,158,5,255,238,143,206,0,126,153,137,255,88,152,197,254,7,68,167,0,252,159,165,255,239,78,54,255,24,63,55,255,38,222,94,0,237,183,12,255,206,204,210,0,19,39,246,254,30,74,231,0,135,108,29,1,179,115,0,0,117,118,116,1,132,6,252,255,145,129,161,1,105,67,141,0,82,37,226,255,238,226,228,255,204,214,129,254,162,123,100,255,185,121,234,0,45,108,231,0,66,8,56,255,132,136,128,0,172,224,66,254,175,157,188,0,230,223,226,254,242,219,69,0,184,14,119,1,82,162,56,0,114,123,20,0,162,103,85,255,49,239,99,254,156,135,215,0,111,255,167,254,39,196,214,0,144,38,79,1,249,168,125,0,155,97,156,255,23,52,219,255,150,22,144,0,44,149,165,255,40,127,183,0,196,77,233,255,118,129,210,255,170,135,230,255,214,119,198,0,233,240,35,0,253,52,7,255,117,102,48,255,21,204,154,255,179,136,177,255,23,2,3,1,149,130,89,255,252,17,159,1,70,60,26,0,144,107,17,0,180,190,60,255,56,182,59,255,110,71,54,255,198,18,129,255,149,224,87,255,223,21,152,255,138,22,182,255,250,156,205,0,236,45,208,255,79,148,242,1,101,70,209,0,103,78,174,0,101,144,172,255,152,136,237,1,191,194,136,0,113,80,125,1,152,4,141,0,155,150,53,255,196,116,245,0,239,114,73,254,19,82,17,255,124,125,234,255,40,52,191,0,42,210,158,255,155,132,165,0,178,5,42,1,64,92,40,255,36,85,77,255,178,228,118,0,137,66,96,254,115,226,66,0,110,240,69,254,151,111,80,0,167,174,236,255,227,108,107,255,188,242,65,255,183,81,255,0,57,206,181,255,47,34,181,255,213,240,158,1,71,75,95,0,156,40,24,255,102,210,81,0,171,199,228,255,154,34,41,0,227,175,75,0,21,239,195,0,138,229,95,1,76,192,49,0,117,123,87,1,227,225,130,0,125,62,63,255,2,198,171,0,254,36,13,254,145,186,206,0,148,255,244,255,35,0,166,0,30,150,219,1,92,228,212,0,92,198,60,254,62,133,200,255,201,41,59,0,125,238,109,255,180,163,238,1,140,122,82,0,9,22,88,255,197,157,47,255,153,94,57,0,88,30,182,0,84,161,85,0,178,146,124,0,166,166,7,255,21,208,223,0,156,182,242,0,155,121,185,0,83,156,174,254,154,16,118,255,186,83,232,1,223,58,121,255,29,23,88,0,35,125,127,255,170,5,149,254,164,12,130,255,155,196,29,0,161,96,136,0,7,35,29,1,162,37,251,0,3,46,242,255,0,217,188,0,57,174,226,1,206,233,2,0,57,187,136,254,123,189,9,255,201,117,127,255,186,36,204,0,231,25,216,0,80,78,105,0,19,134,129,255,148,203,68,0,141,81,125,254,248,165,200,255,214,144,135,0,151,55,166,255,38,235,91,0,21,46,154,0,223,254,150,255,35,153,180,255,125,176,29,1,43,98,30,255,216,122,230,255,233,160,12,0,57,185,12,254,240,113,7,255,5,9,16,254,26,91,108,0,109,198,203,0,8,147,40,0,129,134,228,255,124,186,40,255,114,98,132,254,166,132,23,0,99,69,44,0,9,242,238,255,184,53,59,0,132,129,102,255,52,32,243,254,147,223,200,255,123,83,179,254,135,144,201,255,141,37,56,1,151,60,227,255,90,73,156,1,203,172,187,0,80,151,47,255,94,137,231,255,36,191,59,255,225,209,181,255,74,215,213,254,6,118,179,255,153,54,193,1,50,0,231,0,104,157,72,1,140,227,154,255,182,226,16,254,96,225,92,255,115,20,170,254,6,250,78,0,248,75,173,255,53,89,6,255,0,180,118,0,72,173,1,0,64,8,206,1,174,133,223,0,185,62,133,255,214,11,98,0,197,31,208,0,171,167,244,255,22,231,181,1,150,218,185,0,247,169,97,1,165,139,247,255,47,120,149,1,103,248,51,0,60,69,28,254,25,179,196,0,124,7,218,254,58,107,81,0,184,233,156,255,252,74,36,0,118,188,67,0,141,95,53,255,222,94,165,254,46,61,53,0,206,59,115,255,47,236,250,255,74,5,32,1,129,154,238,255,106,32,226,0,121,187,61,255,3,166,241,254,67,170,172,255,29,216,178,255,23,201,252,0,253,110,243,0,200,125,57,0,109,192,96,255,52,115,238,0,38,121,243,255,201,56,33,0,194,118,130,0,75,96,25,255,170,30,230,254,39,63,253,0,36,45,250,255,251,1,239,0,160,212,92,1,45,209,237,0,243,33,87,254,237,84,201,255,212,18,157,254,212,99,127,255,217,98,16,254,139,172,239,0,168,201,130,255,143,193,169,255,238,151,193,1,215,104,41,0,239,61,165,254,2,3,242,0,22,203,177,254,177,204,22,0,149,129,213,254,31,11,41,255,0,159,121,254,160,25,114,255,162,80,200,0,157,151,11,0,154,134,78,1,216,54,252,0,48,103,133,0,105,220,197,0,253,168,77,254,53,179,23,0,24,121,240,1,255,46,96,255,107,60,135,254,98,205,249,255,63,249,119,255,120,59,211,255,114,180,55,254,91,85,237,0,149,212,77,1,56,73,49,0,86,198,150,0,93,209,160,0,69,205,182,255,244,90,43,0,20,36,176,0,122,116,221,0,51,167,39,1,231,1,63,255,13,197,134,0,3,209,34,255,135,59,202,0,167,100,78,0,47,223,76,0,185,60,62,0,178,166,123,1,132,12,161,255,61,174,43,0,195,69,144,0,127,47,191,1,34,44,78,0,57,234,52,1,255,22,40,255,246,94,146,0,83,228,128,0,60,78,224,255,0,96,210,255,153,175,236,0,159,21,73,0,180,115,196,254,131,225,106,0,255,167,134,0,159,8,112,255,120,68,194,255,176,196,198,255,118,48,168,255,93,169,1,0,112,200,102,1,74,24,254,0,19,141,4,254,142,62,63,0,131,179,187,255,77,156,155,255,119,86,164,0,170,208,146,255,208,133,154,255,148,155,58,255,162,120,232,254,252,213,155,0,241,13,42,0,94,50,131,0,179,170,112,0,140,83,151,255,55,119,84,1,140,35,239,255,153,45,67,1,236,175,39,0,54,151,103,255,158,42,65,255,196,239,135,254,86,53,203,0,149,97,47,254,216,35,17,255,70,3,70,1,103,36,90,255,40,26,173,0,184,48,13,0,163,219,217,255,81,6,1,255,221,170,108,254,233,208,93,0,100,201,249,254,86,36,35,255,209,154,30,1,227,201,251,255,2,189,167,254,100,57,3,0,13,128,41,0,197,100,75,0,150,204,235,255,145,174,59,0,120,248,149,255,85,55,225,0,114,210,53,254,199,204,119,0,14,247,74,1,63,251,129,0,67,104,151,1,135,130,80,0,79,89,55,255,117,230,157,255,25,96,143,0,213,145,5,0,69,241,120,1,149,243,95,255,114,42,20,0,131,72,2,0,154,53,20,255,73,62,109,0,196,102,152,0,41,12,204,255,122,38,11,1,250,10,145,0,207,125,148,0,246,244,222,255,41,32,85,1,112,213,126,0,162,249,86,1,71,198,127,255,81,9,21,1,98,39,4,255,204,71,45,1,75,111,137,0,234,59,231,0,32,48,95,255,204,31,114,1,29,196,181,255,51,241,167,254,93,109,142,0,104,144,45,0,235,12,181,255,52,112,164,0,76,254,202,255,174,14,162,0,61,235,147,255,43,64,185,254,233,125,217,0,243,88,167,254,74,49,8,0,156,204,66,0,124,214,123,0,38,221,118,1,146,112,236,0,114,98,177,0,151,89,199,0,87,197,112,0,185,149,161,0,44,96,165,0,248,179,20,255,188,219,216,254,40,62,13,0,243,142,141,0,229,227,206,255,172,202,35,255,117,176,225,255,82,110,38,1,42,245,14,255,20,83,97,0,49,171,10,0,242,119,120,0,25,232,61,0,212,240,147,255,4,115,56,255,145,17,239,254,202,17,251,255,249,18,245,255,99,117,239,0,184,4,179,255,246,237,51,255,37,239,137,255,166,112,166,255,81,188,33,255,185,250,142,255,54,187,173,0,208,112,201,0,246,43,228,1,104,184,88,255,212,52,196,255,51,117,108,255,254,117,155,0,46,91,15,255,87,14,144,255,87,227,204,0,83,26,83,1,159,76,227,0,159,27,213,1,24,151,108,0,117,144,179,254,137,209,82,0,38,159,10,0,115,133,201,0,223,182,156,1,110,196,93,255,57,60,233,0,5,167,105,255,154,197,164,0,96,34,186,255,147,133,37,1,220,99,190,0,1,167,84,255,20,145,171,0,194,197,251,254,95,78,133,255,252,248,243,255,225,93,131,255,187,134,196,255,216,153,170,0,20,118,158,254,140,1,118,0,86,158,15,1,45,211,41,255,147,1,100,254,113,116,76,255,211,127,108,1,103,15,48,0,193,16,102,1,69,51,95,255,107,128,157,0,137,171,233,0,90,124,144,1,106,161,182,0,175,76,236,1,200,141,172,255,163,58,104,0,233,180,52,255,240,253,14,255,162,113,254,255,38,239,138,254,52,46,166,0,241,101,33,254,131,186,156,0,111,208,62,255,124,94,160,255,31,172,254,0,112,174,56,255,188,99,27,255,67,138,251,0,125,58,128,1,156,152,174,255,178,12,247,255,252,84,158,0,82,197,14,254,172,200,83,255,37,39,46,1,106,207,167,0,24,189,34,0,131,178,144,0,206,213,4,0,161,226,210,0,72,51,105,255,97,45,187,255,78,184,223,255,176,29,251,0,79,160,86,255,116,37,178,0,82,77,213,1,82,84,141,255,226,101,212,1,175,88,199,255,245,94,247,1,172,118,109,255,166,185,190,0,131,181,120,0,87,254,93,255,134,240,73,255,32,245,143,255,139,162,103,255,179,98,18,254,217,204,112,0,147,223,120,255,53,10,243,0,166,140,150,0,125,80,200,255,14,109,219,255,91,218,1,255,252,252,47,254,109,156,116,255,115,49,127,1,204,87,211,255,148,202,217,255,26,85,249,255,14,245,134,1,76,89,169,255,242,45,230,0,59,98,172,255,114,73,132,254,78,155,49,255,158,126,84,0,49,175,43,255,16,182,84,255,157,103,35,0,104,193,109,255,67,221,154,0,201,172,1,254,8,162,88,0,165,1,29,255,125,155,229,255,30,154,220,1,103,239,92,0,220,1,109,255,202,198,1,0,94,2,142,1,36,54,44,0,235,226,158,255,170,251,214,255,185,77,9,0,97,74,242,0,219,163,149,255,240,35,118,255,223,114,88,254,192,199,3,0,106,37,24,255,201,161,118,255,97,89,99,1,224,58,103,255,101,199,147,254,222,60,99,0,234,25,59,1,52,135,27,0,102,3,91,254,168,216,235,0,229,232,136,0,104,60,129,0,46,168,238,0,39,191,67,0,75,163,47,0,143,97,98,255,56,216,168,1,168,233,252,255,35,111,22,255,92,84,43,0,26,200,87,1,91,253,152,0,202,56,70,0,142,8,77,0,80,10,175,1,252,199,76,0,22,110,82,255,129,1,194,0,11,128,61,1,87,14,145,255,253,222,190,1,15,72,174,0,85,163,86,254,58,99,44,255,45,24,188,254,26,205,15,0,19,229,210,254,248,67,195,0,99,71,184,0,154,199,37,255,151,243,121,255,38,51,75,255,201,85,130,254,44,65,250,0,57,147,243,254,146,43,59,255,89,28,53,0,33,84,24,255,179,51,18,254,189,70,83,0,11,156,179,1,98,134,119,0,158,111,111,0,119,154,73,255,200,63,140,254,45,13,13,255,154,192,2,254,81,72,42,0,46,160,185,254,44,112,6,0,146,215,149,1,26,176,104,0,68,28,87,1,236,50,153,255,179,128,250,254,206,193,191,255,166,92,137,254,53,40,239,0,210,1,204,254,168,173,35,0,141,243,45,1,36,50,109,255,15,242,194,255,227,159,122,255,176,175,202,254,70,57,72,0,40,223,56,0,208,162,58,255,183,98,93,0,15,111,12,0,30,8,76,255,132,127,246,255,45,242,103,0,69,181,15,255,10,209,30,0,3,179,121,0,241,232,218,1,123,199,88,255,2,210,202,1,188,130,81,255,94,101,208,1,103,36,45,0,76,193,24,1,95,26,241,255,165,162,187,0,36,114,140,0,202,66,5,255,37,56,147,0,152,11,243,1,127,85,232,255,250,135,212,1,185,177,113,0,90,220,75,255,69,248,146,0,50,111,50,0,92,22,80,0,244,36,115,254,163,100,82,255,25,193,6,1,127,61,36,0,253,67,30,254,65,236,170,255,161,17,215,254,63,175,140,0,55,127,4,0,79,112,233,0,109,160,40,0,143,83,7,255,65,26,238,255,217,169,140,255,78,94,189,255,0,147,190,255,147,71,186,254,106,77,127,255,233,157,233,1,135,87,237,255,208,13,236,1,155,109,36,255,180,100,218,0,180,163,18,0,190,110,9,1,17,63,123,255,179,136,180,255,165,123,123,255,144,188,81,254,71,240,108,255,25,112,11,255,227,218,51,255,167,50,234,255,114,79,108,255,31,19,115,255,183,240,99,0,227,87,143,255,72,217,248,255,102,169,95,1,129,149,149,0,238,133,12,1,227,204,35,0,208,115,26,1,102,8,234,0,112,88,143,1,144,249,14,0,240,158,172,254,100,112,119,0,194,141,153,254,40,56,83,255,121,176,46,0,42,53,76,255,158,191,154,0,91,209,92,0,173,13,16,1,5,72,226,255,204,254,149,0,80,184,207,0,100,9,122,254,118,101,171,255,252,203,0,254,160,207,54,0,56,72,249,1,56,140,13,255,10,64,107,254,91,101,52,255,225,181,248,1,139,255,132,0,230,145,17,0,233,56,23,0,119,1,241,255,213,169,151,255,99,99,9,254,185,15,191,255,173,103,109,1,174,13,251,255,178,88,7,254,27,59,68,255,10,33,2,255,248,97,59,0,26,30,146,1,176,147,10,0,95,121,207,1,188,88,24,0,185,94,254,254,115,55,201,0,24,50,70,0,120,53,6,0,142,66,146,0,228,226,249,255,104,192,222,1,173,68,219,0,162,184,36,255,143,102,137,255,157,11,23,0,125,45,98,0,235,93,225,254,56,112,160,255,70,116,243,1,153,249,55,255,129,39,17,1,241,80,244,0,87,69,21,1,94,228,73,255,78,66,65,255,194,227,231,0,61,146,87,255,173,155,23,255,112,116,219,254,216,38,11,255,131,186,133,0,94,212,187,0,100,47,91,0,204,254,175,255,222,18,215,254,173,68,108,255,227,228,79,255,38,221,213,0,163,227,150,254,31,190,18,0,160,179,11,1,10,90,94,255,220,174,88,0,163,211,229,255,199,136,52,0,130,95,221,255,140,188,231,254,139,113,128,255,117,171,236,254,49,220,20,255,59,20,171,255,228,109,188,0,20,225,32,254,195,16,174,0,227,254,136,1,135,39,105,0,150,77,206,255,210,238,226,0,55,212,132,254,239,57,124,0,170,194,93,255,249,16,247,255,24,151,62,255,10,151,10,0,79,139,178,255,120,242,202,0,26,219,213,0,62,125,35,255,144,2,108,255,230,33,83,255,81,45,216,1,224,62,17,0,214,217,125,0,98,153,153,255],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([179,176,106,254,131,93,138,255,109,62,36,255,178,121,32,255,120,252,70,0,220,248,37,0,204,88,103,1,128,220,251,255,236,227,7,1,106,49,198,255,60,56,107,0,99,114,238,0,220,204,94,1,73,187,1,0,89,154,34,0,78,217,165,255,14,195,249,255,9,230,253,255,205,135,245,0,26,252,7,255,84,205,27,1,134,2,112,0,37,158,32,0,231,91,237,255,191,170,204,255,152,7,222,0,109,192,49,0,193,166,146,255,232,19,181,255,105,142,52,255,103,16,27,1,253,200,165,0,195,217,4,255,52,189,144,255,123,155,160,254,87,130,54,255,78,120,61,255,14,56,41,0,25,41,125,255,87,168,245,0,214,165,70,0,212,169,6,255,219,211,194,254,72,93,164,255,197,33,103,255,43,142,141,0,131,225,172,0,244,105,28,0,68,68,225,0,136,84,13,255,130,57,40,254,139,77,56,0,84,150,53,0,54,95,157,0,144,13,177,254,95,115,186,0,117,23,118,255,244,166,241,255,11,186,135,0,178,106,203,255,97,218,93,0,43,253,45,0,164,152,4,0,139,118,239,0,96,1,24,254,235,153,211,255,168,110,20,255,50,239,176,0,114,41,232,0,193,250,53,0,254,160,111,254,136,122,41,255,97,108,67,0,215,152,23,255,140,209,212,0,42,189,163,0,202,42,50,255,106,106,189,255,190,68,217,255,233,58,117,0,229,220,243,1,197,3,4,0,37,120,54,254,4,156,134,255,36,61,171,254,165,136,100,255,212,232,14,0,90,174,10,0,216,198,65,255,12,3,64,0,116,113,115,255,248,103,8,0,231,125,18,255,160,28,197,0,30,184,35,1,223,73,249,255,123,20,46,254,135,56,37,255,173,13,229,1,119,161,34,255,245,61,73,0,205,125,112,0,137,104,134,0,217,246,30,255,237,142,143,0,65,159,102,255,108,164,190,0,219,117,173,255,34,37,120,254,200,69,80,0,31,124,218,254,74,27,160,255,186,154,199,255,71,199,252,0,104,81,159,1,17,200,39,0,211,61,192,1,26,238,91,0,148,217,12,0,59,91,213,255,11,81,183,255,129,230,122,255,114,203,145,1,119,180,66,255,72,138,180,0,224,149,106,0,119,82,104,255,208,140,43,0,98,9,182,255,205,101,134,255,18,101,38,0,95,197,166,255,203,241,147,0,62,208,145,255,133,246,251,0,2,169,14,0,13,247,184,0,142,7,254,0,36,200,23,255,88,205,223,0,91,129,52,255,21,186,30,0,143,228,210,1,247,234,248,255,230,69,31,254,176,186,135,255,238,205,52,1,139,79,43,0,17,176,217,254,32,243,67,0,242,111,233,0,44,35,9,255,227,114,81,1,4,71,12,255,38,105,191,0,7,117,50,255,81,79,16,0,63,68,65,255,157,36,110,255,77,241,3,255,226,45,251,1,142,25,206,0,120,123,209,1,28,254,238,255,5,128,126,255,91,222,215,255,162,15,191,0,86,240,73,0,135,185,81,254,44,241,163,0,212,219,210,255,112,162,155,0,207,101,118,0,168,72,56,255,196,5,52,0,72,172,242,255,126,22,157,255,146,96,59,255,162,121,152,254,140,16,95,0,195,254,200,254,82,150,162,0,119,43,145,254,204,172,78,255,166,224,159,0,104,19,237,255,245,126,208,255,226,59,213,0,117,217,197,0,152,72,237,0,220,31,23,254,14,90,231,255,188,212,64,1,60,101,246,255,85,24,86,0,1,177,109,0,146,83,32,1,75,182,192,0,119,241,224,0,185,237,27,255,184,101,82,1,235,37,77,255,253,134,19,0,232,246,122,0,60,106,179,0,195,11,12,0,109,66,235,1,125,113,59,0,61,40,164,0,175,104,240,0,2,47,187,255,50,12,141,0,194,139,181,255,135,250,104,0,97,92,222,255,217,149,201,255,203,241,118,255,79,151,67,0,122,142,218,255,149,245,239,0,138,42,200,254,80,37,97,255,124,112,167,255,36,138,87,255,130,29,147,255,241,87,78,255,204,97,19,1,177,209,22,255,247,227,127,254,99,119,83,255,212,25,198,1,16,179,179,0,145,77,172,254,89,153,14,255,218,189,167,0,107,233,59,255,35,33,243,254,44,112,112,255,161,127,79,1,204,175,10,0,40,21,138,254,104,116,228,0,199,95,137,255,133,190,168,255,146,165,234,1,183,99,39,0,183,220,54,254,255,222,133,0,162,219,121,254,63,239,6,0,225,102,54,255,251,18,246,0,4,34,129,1,135,36,131,0,206,50,59,1,15,97,183,0,171,216,135,255,101,152,43,255,150,251,91,0,38,145,95,0,34,204,38,254,178,140,83,255,25,129,243,255,76,144,37,0,106,36,26,254,118,144,172,255,68,186,229,255,107,161,213,255,46,163,68,255,149,170,253,0,187,17,15,0,218,160,165,255,171,35,246,1,96,13,19,0,165,203,117,0,214,107,192,255,244,123,177,1,100,3,104,0,178,242,97,255,251,76,130,255,211,77,42,1,250,79,70,255,63,244,80,1,105,101,246,0,61,136,58,1,238,91,213,0,14,59,98,255,167,84,77,0,17,132,46,254,57,175,197,255,185,62,184,0,76,64,207,0,172,175,208,254,175,74,37,0,138,27,211,254,148,125,194,0,10,89,81,0,168,203,101,255,43,213,209,1,235,245,54,0,30,35,226,255,9,126,70,0,226,125,94,254,156,117,20,255,57,248,112,1,230,48,64,255,164,92,166,1,224,214,230,255,36,120,143,0,55,8,43,255,251,1,245,1,106,98,165,0,74,107,106,254,53,4,54,255,90,178,150,1,3,120,123,255,244,5,89,1,114,250,61,255,254,153,82,1,77,15,17,0,57,238,90,1,95,223,230,0,236,52,47,254,103,148,164,255,121,207,36,1,18,16,185,255,75,20,74,0,187,11,101,0,46,48,129,255,22,239,210,255,77,236,129,255,111,77,204,255,61,72,97,255,199,217,251,255,42,215,204,0,133,145,201,255,57,230,146,1,235,100,198,0,146,73,35,254,108,198,20,255,182,79,210,255,82,103,136,0,246,108,176,0,34,17,60,255,19,74,114,254,168,170,78,255,157,239,20,255,149,41,168,0,58,121,28,0,79,179,134,255,231,121,135,255,174,209,98,255,243,122,190,0,171,166,205,0,212,116,48,0,29,108,66,255,162,222,182,1,14,119,21,0,213,39,249,255,254,223,228,255,183,165,198,0,133,190,48,0,124,208,109,255,119,175,85,255,9,209,121,1,48,171,189,255,195,71,134,1,136,219,51,255,182,91,141,254,49,159,72,0,35,118,245,255,112,186,227,255,59,137,31,0,137,44,163,0,114,103,60,254,8,213,150,0,162,10,113,255,194,104,72,0,220,131,116,255,178,79,92,0,203,250,213,254,93,193,189,255,130,255,34,254,212,188,151,0,136,17,20,255,20,101,83,255,212,206,166,0,229,238,73,255,151,74,3,255,168,87,215,0,155,188,133,255,166,129,73,0,240,79,133,255,178,211,81,255,203,72,163,254,193,168,165,0,14,164,199,254,30,255,204,0,65,72,91,1,166,74,102,255,200,42,0,255,194,113,227,255,66,23,208,0,229,216,100,255,24,239,26,0,10,233,62,255,123,10,178,1,26,36,174,255,119,219,199,1,45,163,190,0,16,168,42,0,166,57,198,255,28,26,26,0,126,165,231,0,251,108,100,255,61,229,121,255,58,118,138,0,76,207,17,0,13,34,112,254,89,16,168,0,37,208,105,255,35,201,215,255,40,106,101,254,6,239,114,0,40,103,226,254,246,127,110,255,63,167,58,0,132,240,142,0,5,158,88,255,129,73,158,255,94,89,146,0,230,54,146,0,8,45,173,0,79,169,1,0,115,186,247,0,84,64,131,0,67,224,253,255,207,189,64,0,154,28,81,1,45,184,54,255,87,212,224,255,0,96,73,255,129,33,235,1,52,66,80,255,251,174,155,255,4,179,37,0,234,164,93,254,93,175,253,0,198,69,87,255,224,106,46,0,99,29,210,0,62,188,114,255,44,234,8,0,169,175,247,255,23,109,137,255,229,182,39,0,192,165,94,254,245,101,217,0,191,88,96,0,196,94,99,255,106,238,11,254,53,126,243,0,94,1,101,255,46,147,2,0,201,124,124,255,141,12,218,0,13,166,157,1,48,251,237,255,155,250,124,255,106,148,146,255,182,13,202,0,28,61,167,0,217,152,8,254,220,130,45,255,200,230,255,1,55,65,87,255,93,191,97,254,114,251,14,0,32,105,92,1,26,207,141,0,24,207,13,254,21,50,48,255,186,148,116,255,211,43,225,0,37,34,162,254,164,210,42,255,68,23,96,255,182,214,8,255,245,117,137,255,66,195,50,0,75,12,83,254,80,140,164,0,9,165,36,1,228,110,227,0,241,17,90,1,25,52,212,0,6,223,12,255,139,243,57,0,12,113,75,1,246,183,191,255,213,191,69,255,230,15,142,0,1,195,196,255,138,171,47,255,64,63,106,1,16,169,214,255,207,174,56,1,88,73,133,255,182,133,140,0,177,14,25,255,147,184,53,255,10,227,161,255,120,216,244,255,73,77,233,0,157,238,139,1,59,65,233,0,70,251,216,1,41,184,153,255,32,203,112,0,146,147,253,0,87,101,109,1,44,82,133,255,244,150,53,255,94,152,232,255,59,93,39,255,88,147,220,255,78,81,13,1,32,47,252,255,160,19,114,255,93,107,39,255,118,16,211,1,185,119,209,255,227,219,127,254,88,105,236,255,162,110,23,255,36,166,110,255,91,236,221,255,66,234,116,0,111,19,244,254,10,233,26,0,32,183,6,254,2,191,242,0,218,156,53,254,41,60,70,255,168,236,111,0,121,185,126,255,238,142,207,255,55,126,52,0,220,129,208,254,80,204,164,255,67,23,144,254,218,40,108,255,127,202,164,0,203,33,3,255,2,158,0,0,37,96,188,255,192,49,74,0,109,4,0,0,111,167,10,254,91,218,135,255,203,66,173,255,150,194,226,0,201,253,6,255,174,102,121,0,205,191,110,0,53,194,4,0,81,40,45,254,35,102,143,255,12,108,198,255,16,27,232,255,252,71,186,1,176,110,114,0,142,3,117,1,113,77,142,0,19,156,197,1,92,47,252,0,53,232,22,1,54,18,235,0,46,35,189,255,236,212,129,0,2,96,208,254,200,238,199,255,59,175,164,255,146,43,231,0,194,217,52,255,3,223,12,0,138,54,178,254,85,235,207,0,232,207,34,0,49,52,50,255,166,113,89,255,10,45,216,255,62,173,28,0,111,165,246,0,118,115,91,255,128,84,60,0,167,144,203,0,87,13,243,0,22,30,228,1,177,113,146,255,129,170,230,254,252,153,129,255,145,225,43,0,70,231,5,255,122,105,126,254,86,246,148,255,110,37,154,254,209,3,91,0,68,145,62,0,228,16,165,255,55,221,249,254,178,210,91,0,83,146,226,254,69,146,186,0,93,210,104,254,16,25,173,0,231,186,38,0,189,122,140,255,251,13,112,255,105,110,93,0,251,72,170,0,192,23,223,255,24,3,202,1,225,93,228,0,153,147,199,254,109,170,22,0,248,101,246,255,178,124,12,255,178,254,102,254,55,4,65,0,125,214,180,0,183,96,147,0,45,117,23,254,132,191,249,0,143,176,203,254,136,183,54,255,146,234,177,0,146,101,86,255,44,123,143,1,33,209,152,0,192,90,41,254,83,15,125,255,213,172,82,0,215,169,144,0,16,13,34,0,32,209,100,255,84,18,249,1,197,17,236,255,217,186,230,0,49,160,176,255,111,118,97,255,237,104,235,0,79,59,92,254,69,249,11,255,35,172,74,1,19,118,68,0,222,124,165,255,180,66,35,255,86,174,246,0,43,74,111,255,126,144,86,255,228,234,91,0,242,213,24,254,69,44,235,255,220,180,35,0,8,248,7,255,102,47,92,255,240,205,102,255,113,230,171,1,31,185,201,255,194,246,70,255,122,17,187,0,134,70,199,255,149,3,150,255,117,63,103,0,65,104,123,255,212,54,19,1,6,141,88,0,83,134,243,255,136,53,103,0,169,27,180,0,177,49,24,0,111,54,167,0,195,61,215,255,31,1,108,1,60,42,70,0,185,3,162,255,194,149,40,255,246,127,38,254,190,119,38,255,61,119,8,1,96,161,219,255,42,203,221,1,177,242,164,255,245,159,10,0,116,196,0,0,5,93,205,254,128,127,179,0,125,237,246,255,149,162,217,255,87,37,20,254,140,238,192,0,9,9,193,0,97,1,226,0,29,38,10,0,0,136,63,255,229,72,210,254,38,134,92,255,78,218,208,1,104,36,84,255,12,5,193,255,242,175,61,255,191,169,46,1,179,147,147,255,113,190,139,254,125,172,31,0,3,75,252,254,215,36,15,0,193,27,24,1,255,69,149,255,110,129,118,0,203,93,249,0,138,137,64,254,38,70,6,0,153,116,222,0,161,74,123,0,193,99,79,255,118,59,94,255,61,12,43,1,146,177,157,0,46,147,191,0,16,255,38,0,11,51,31,1,60,58,98,255,111,194,77,1,154,91,244,0,140,40,144,1,173,10,251,0,203,209,50,254,108,130,78,0,228,180,90,0,174,7,250,0,31,174,60,0,41,171,30,0,116,99,82,255,118,193,139,255,187,173,198,254,218,111,56,0,185,123,216,0,249,158,52,0,52,180,93,255,201,9,91,255,56,45,166,254,132,155,203,255,58,232,110,0,52,211,89,255,253,0,162,1,9,87,183,0,145,136,44,1,94,122,245,0,85,188,171,1,147,92,198,0,0,8,104,0,30,95,174,0,221,230,52,1,247,247,235,255,137,174,53,255,35,21,204,255,71,227,214,1,232,82,194,0,11,48,227,255,170,73,184,255,198,251,252,254,44,112,34,0,131,101,131,255,72,168,187,0,132,135,125,255,138,104,97,255,238,184,168,255,243,104,84,255,135,216,226,255,139,144,237,0,188,137,150,1,80,56,140,255,86,169,167,255,194,78,25,255,220,17,180,255,17,13,193,0,117,137,212,255,141,224,151,0,49,244,175,0,193,99,175,255,19,99,154,1,255,65,62,255,156,210,55,255,242,244,3,255,250,14,149,0,158,88,217,255,157,207,134,254,251,232,28,0,46,156,251,255,171,56,184,255,239,51,234,0,142,138,131,255,25,254,243,1,10,201,194,0,63,97,75,0,210,239,162,0,192,200,31,1,117,214,243,0,24,71,222,254,54,40,232,255,76,183,111,254,144,14,87,255,214,79,136,255,216,196,212,0,132,27,140,254,131,5,253,0,124,108,19,255,28,215,75,0,76,222,55,254,233,182,63,0,68,171,191,254,52,111,222,255,10,105,77,255,80,170,235,0,143,24,88,255,45,231,121,0,148,129,224,1,61,246,84,0,253,46,219,255,239,76,33,0,49,148,18,254,230,37,69,0,67,134,22,254,142,155,94,0,31,157,211,254,213,42,30,255,4,228,247,254,252,176,13,255,39,0,31,254,241,244,255,255,170,45,10,254,253,222,249,0,222,114,132,0,255,47,6,255,180,163,179,1,84,94,151,255,89,209,82,254,229,52,169,255,213,236,0,1,214,56,228,255,135,119,151,255,112,201,193,0,83,160,53,254,6,151,66,0,18,162,17,0,233,97,91,0,131,5,78,1,181,120,53,255,117,95,63,255,237,117,185,0,191,126,136,255,144,119,233,0,183,57,97,1,47,201,187,255,167,165,119,1,45,100,126,0,21,98,6,254,145,150,95,255,120,54,152,0,209,98,104,0,143,111,30,254,184,148,249,0,235,216,46,0,248,202,148,255,57,95,22,0,242,225,163,0,233,247,232,255,71,171,19,255,103,244,49,255,84,103,93,255,68,121,244,1,82,224,13,0,41,79,43,255,249,206,167,255,215,52,21,254,192,32,22,255,247,111,60,0,101,74,38,255,22,91,84,254,29,28,13,255,198,231,215,254,244,154,200,0,223,137,237,0,211,132,14,0,95,64,206,255,17,62,247,255,233,131,121,1,93,23,77,0,205,204,52,254,81,189,136,0,180,219,138,1,143,18,94,0,204,43,140,254,188,175,219,0,111,98,143,255,151,63,162,255,211,50,71,254,19,146,53,0,146,45,83,254,178,82,238,255,16,133,84,255,226,198,93,255,201,97,20,255,120,118,35,255,114,50,231,255,162,229,156,255,211,26,12,0,114,39,115,255,206,212,134,0,197,217,160,255,116,129,94,254,199,215,219,255,75,223,249,1,253,116,181,255,232,215,104,255,228,130,246,255,185,117,86,0,14,5,8,0,239,29,61,1,237,87,133,255,125,146,137,254,204,168,223,0,46,168,245,0,154,105,22,0,220,212,161,255,107,69,24,255,137,218,181,255,241,84,198,255,130,122,211,255,141,8,153,255,190,177,118,0,96,89,178,0,255,16,48,254,122,96,105,255,117,54,232,255,34,126,105,255,204,67,166,0,232,52,138,255,211,147,12,0,25,54,7,0,44,15,215,254,51,236,45,0,190,68,129,1,106,147,225,0,28,93,45,254,236,141,15,255,17,61,161,0,220,115,192,0,236,145,24,254,111,168,169,0,224,58,63,255,127,164,188,0,82,234,75,1,224,158,134,0,209,68,110,1,217,166,217,0,70,225,166,1,187,193,143,255,16,7,88,255,10,205,140,0,117,192,156,1,17,56,38,0,27,124,108,1,171,215,55,255,95,253,212,0,155,135,168,255,246,178,153,254,154,68,74,0,232,61,96,254,105,132,59,0,33,76,199,1,189,176,130,255,9,104,25,254,75,198,102,255,233,1,112,0,108,220,20,255,114,230,70,0,140,194,133,255,57,158,164,254,146,6,80,255,169,196,97,1,85,183,130,0,70,158,222,1,59,237,234,255,96,25,26,255,232,175,97,255,11,121,248,254,88,35,194,0,219,180,252,254,74,8,227,0,195,227,73,1,184,110,161,255,49,233,164,1,128,53,47,0,82,14,121,255,193,190,58,0,48,174,117,255,132,23,32,0,40,10,134,1,22,51,25,255,240,11,176,255,110,57,146,0,117,143,239,1,157,101,118,255,54,84,76,0,205,184,18,255,47,4,72,255,78,112,85,255,193,50,66,1,93,16,52,255,8,105,134,0,12,109,72,255,58,156,251,0,144,35,204,0,44,160,117,254,50,107,194,0,1,68,165,255,111,110,162,0,158,83,40,254,76,214,234,0,58,216,205,255,171,96,147,255,40,227,114,1,176,227,241,0,70,249,183,1,136,84,139,255,60,122,247,254,143,9,117,255,177,174,137,254,73,247,143,0,236,185,126,255,62,25,247,255,45,64,56,255,161,244,6,0,34,57,56,1,105,202,83,0,128,147,208,0,6,103,10,255,74,138,65,255,97,80,100,255,214,174,33,255,50,134,74,255,110,151,130,254,111,84,172,0,84,199,75,254,248,59,112,255,8,216,178,1,9,183,95,0,238,27,8,254,170,205,220,0,195,229,135,0,98,76,237,255,226,91,26,1,82,219,39,255,225,190,199,1,217,200,121,255,81,179,8,255,140,65,206,0,178,207,87,254,250,252,46,255,104,89,110,1,253,189,158,255,144,214,158,255,160,245,54,255,53,183,92,1,21,200,194,255,146,33,113,1,209,1,255,0,235,106,43,255,167,52,232,0,157,229,221,0,51,30,25,0,250,221,27,1,65,147,87,255,79,123,196,0,65,196,223,255,76,44,17,1,85,241,68,0,202,183,249,255,65,212,212,255,9,33,154,1,71,59,80,0,175,194,59,255,141,72,9,0,100,160,244,0,230,208,56,0,59,25,75,254,80,194,194,0,18,3,200,254,160,159,115,0,132,143,247,1,111,93,57,255,58,237,11,1,134,222,135,255,122,163,108,1,123,43,190,255,251,189,206,254,80,182,72,255,208,246,224,1,17,60,9,0,161,207,38,0,141,109,91,0,216,15,211,255,136,78,110,0,98,163,104,255,21,80,121,255,173,178,183,1,127,143,4,0,104,60,82,254,214,16,13,255,96,238,33,1,158,148,230,255,127,129,62,255,51,255,210,255,62,141,236,254,157,55,224,255,114,39,244,0,192,188,250,255,228,76,53,0,98,84,81,255,173,203,61,254,147,50,55,255,204,235,191,0,52,197,244,0,88,43,211,254,27,191,119,0,188,231,154,0,66,81,161,0,92,193,160,1,250,227,120,0,123,55,226,0,184,17,72,0,133,168,10,254,22,135,156,255,41,25,103,255,48,202,58,0,186,149,81,255,188,134,239,0,235,181,189,254,217,139,188,255,74,48,82,0,46,218,229,0,189,253,251,0,50,229,12,255,211,141,191,1,128,244,25,255,169,231,122,254,86,47,189,255,132,183,23,255,37,178,150,255,51,137,253,0,200,78,31,0,22,105,50,0,130,60,0,0,132,163,91,254,23,231,187,0,192,79,239,0,157,102,164,255,192,82,20,1,24,181,103,255,240,9,234,0,1,123,164,255,133,233,0,255,202,242,242,0,60,186,245,0,241,16,199,255,224,116,158,254,191,125,91,255,224,86,207,0,121,37,231,255,227,9,198,255,15,153,239,255,121,232,217,254,75,112,82,0,95,12,57,254,51,214,105,255,148,220,97,1,199,98,36,0,156,209,12,254,10,212,52,0,217,180,55,254,212,170,232,255,216,20,84,255,157,250,135,0,157,99,127,254,1,206,41,0,149,36,70,1,54,196,201,255,87,116,0,254,235,171,150,0,27,163,234,0,202,135,180,0,208,95,0,254,123,156,93,0,183,62,75,0,137,235,182,0,204,225,255,255,214,139,210,255,2,115,8,255,29,12,111,0,52,156,1,0,253,21,251,255,37,165,31,254,12,130,211,0,106,18,53,254,42,99,154,0,14,217,61,254,216,11,92,255,200,197,112,254,147,38,199,0,36,252,120,254,107,169,77,0,1,123,159,255,207,75,102,0,163,175,196,0,44,1,240,0,120,186,176,254,13,98,76,255,237,124,241,255,232,146,188,255,200,96,224,0,204,31,41,0,208,200,13,0,21,225,96,255,175,156,196,0,247,208,126,0,62,184,244,254,2,171,81,0,85,115,158,0,54,64,45,255,19,138,114,0,135,71,205,0,227,47,147,1,218,231,66,0,253,209,28,0,244,15,173,255,6,15,118,254,16,150,208,255,185,22,50,255,86,112,207,255,75,113,215,1,63,146,43,255,4,225,19,254,227,23,62,255,14,255,214,254,45,8,205,255,87,197,151,254,210,82,215,255,245,248,247,255,128,248,70,0,225,247,87,0,90,120,70,0,213,245,92,0,13,133,226,0,47,181,5,1,92,163,105,255,6,30,133,254,232,178,61,255,230,149,24,255,18,49,158,0,228,100,61,254,116,243,251,255,77,75,92,1,81,219,147,255,76,163,254,254,141,213,246,0,232,37,152,254,97,44,100,0,201,37,50,1,212,244,57,0,174,171,183,255,249,74,112,0,166,156,30,0,222,221,97,255,243,93,73,254,251,101,100,255,216,217,93,255,254,138,187,255,142,190,52,255,59,203,177,255,200,94,52,0,115,114,158,255,165,152,104,1,126,99,226,255,118,157,244,1,107,200,16,0,193,90,229,0,121,6,88,0,156,32,93,254,125,241,211,255,14,237,157,255,165,154,21,255,184,224,22,255,250,24,152,255,113,77,31,0,247,171,23,255,237,177,204,255,52,137,145,255,194,182,114,0,224,234,149,0,10,111,103,1,201,129,4,0,238,142,78,0,52,6,40,255,110,213,165,254,60,207,253,0,62,215,69,0,96,97,0,255,49,45,202,0,120,121,22,255,235,139,48,1,198,45,34,255,182,50,27,1,131,210,91,255,46,54,128,0,175,123,105,255,198,141,78,254,67,244,239,255,245,54,103,254,78,38,242,255,2,92,249,254,251,174,87,255,139,63,144,0,24,108,27,255,34,102,18,1,34,22,152,0,66,229,118,254,50,143,99,0,144,169,149,1,118,30,152,0,178,8,121,1,8,159,18,0,90,101,230,255,129,29,119,0,68,36,11,1,232,183,55,0,23,255,96,255,161,41,193,255,63,139,222,0,15,179,243,0,255,100,15,255,82,53,135,0,137,57,149,1,99,240,170,255,22,230,228,254,49,180,82,255,61,82,43,0,110,245,217,0,199,125,61,0,46,253,52,0,141,197,219,0,211,159,193,0,55,121,105,254,183,20,129,0,169,119,170,255,203,178,139,255,135,40,182,255,172,13,202,255,65,178,148,0,8,207,43,0,122,53,127,1,74,161,48,0,227,214,128,254,86,11,243,255,100,86,7,1,245,68,134,255,61,43,21,1,152,84,94,255,190,60,250,254,239,118,232,255,214,136,37,1,113,76,107,255,93,104,100,1,144,206,23,255,110,150,154,1,228,103,185,0,218,49,50,254,135,77,139,255,185,1,78,0,0,161,148,255,97,29,233,255,207,148,149,255,160,168,0,0,91,128,171,255,6,28,19,254,11,111,247,0,39,187,150,255,138,232,149,0,117,62,68,255,63,216,188,255,235,234,32,254,29,57,160,255,25,12,241,1,169,60,191,0,32,131,141,255,237,159,123,255,94,197,94,254,116,254,3,255,92,179,97,254,121,97,92,255,170,112,14,0,21,149,248,0,248,227,3,0,80,96,109,0,75,192,74,1,12,90,226,255,161,106,68,1,208,114,127,255,114,42,255,254,74,26,74,255,247,179,150,254,121,140,60,0,147,70,200,255,214,40,161,255,161,188,201,255,141,65,135,255,242,115,252,0,62,47,202,0,180,149,255,254,130,55,237,0,165,17,186,255,10,169,194,0,156,109,218,255,112,140,123,255,104,128,223,254,177,142,108,255,121,37,219,255,128,77,18,255,111,108,23,1,91,192,75,0,174,245,22,255,4,236,62,255,43,64,153,1,227,173,254,0,237,122,132,1,127,89,186,255,142,82,128,254,252,84,174,0,90,179,177,1,243,214,87,255,103,60,162,255,208,130,14,255,11,130,139,0,206,129,219,255,94,217,157,255,239,230,230,255,116,115,159,254,164,107,95,0,51,218,2,1,216,125,198,255,140,202,128,254,11,95,68,255,55,9,93,254,174,153,6,255,204,172,96,0,69,160,110,0,213,38,49,254,27,80,213,0,118,125,114,0,70,70,67,255,15,142,73,255,131,122,185,255,243,20,50,254,130,237,40,0,210,159,140,1,197,151,65,255,84,153,66,0,195,126,90,0,16,238,236,1,118,187,102,255,3,24,133,255,187,69,230,0,56,197,92,1,213,69,94,255,80,138,229,1,206,7,230,0,222,111,230,1,91,233,119,255,9,89,7,1,2,98,1,0,148,74,133,255,51,246,180,255,228,177,112,1,58,189,108,255,194,203,237,254,21,209,195,0,147,10,35,1,86,157,226,0,31,163,139,254,56,7,75,255,62,90,116,0,181,60,169,0,138,162,212,254,81,167,31,0,205,90,112,255,33,112,227,0,83,151,117,1,177,224,73,255,174,144,217,255,230,204,79,255,22,77,232,255,114,78,234,0,224,57,126,254,9,49,141,0,242,147,165,1,104,182,140,255,167,132,12,1,123,68,127,0,225,87,39,1,251,108,8,0,198,193,143,1,121,135,207,255,172,22,70,0,50,68,116,255,101,175,40,255,248,105,233,0,166,203,7,0,110,197,218,0,215,254,26,254,168,226,253,0,31,143,96,0,11,103,41,0,183,129,203,254,100,247,74,255,213,126,132,0,210,147,44,0,199,234,27,1,148,47,181,0,155,91,158,1,54,105,175,255,2,78,145,254,102,154,95,0,128,207,127,254,52,124,236,255,130,84,71,0,221,243,211,0,152,170,207,0,222,106,199,0,183,84,94,254,92,200,56,255,138,182,115,1,142,96,146,0,133,136,228,0,97,18,150,0,55,251,66,0,140,102,4,0,202,103,151,0,30,19,248,255,51,184,207,0,202,198,89,0,55,197,225,254,169,95,249,255,66,65,68,255,188,234,126,0,166,223,100,1,112,239,244,0,144,23,194,0,58,39,182,0,244,44,24,254,175,68,179,255,152,118,154,1,176,162,130,0,217,114,204,254,173,126,78,255,33,222,30,255,36,2,91,255,2,143,243,0,9,235,215,0,3,171,151,1,24,215,245,255,168,47,164,254,241,146,207,0,69,129,180,0,68,243,113,0,144,53,72,254,251,45,14,0,23,110,168,0,68,68,79,255,110,70,95,254,174,91,144,255,33,206,95,255,137,41,7,255,19,187,153,254,35,255,112,255,9,145,185,254,50,157,37,0,11,112,49,1,102,8,190,255,234,243,169,1,60,85,23,0,74,39,189,0,116,49,239,0,173,213,210,0,46,161,108,255,159,150,37,0,196,120,185,255,34,98,6,255,153,195,62,255,97,230,71,255,102,61,76,0,26,212,236,255,164,97,16,0,198,59,146,0,163,23,196,0,56,24,61,0,181,98,193,0,251,147,229,255,98,189,24,255,46,54,206,255,234,82,246,0,183,103,38,1,109,62,204,0,10,240,224,0,146,22,117,255,142,154,120,0,69,212,35,0,208,99,118,1,121,255,3,255,72,6,194,0,117,17,197,255,125,15,23,0,154,79,153,0,214,94,197,255,185,55,147,255,62,254,78,254,127,82,153,0,110,102,63,255,108,82,161,255,105,187,212,1,80,138,39,0,60,255,93,255,72,12,186,0,210,251,31,1,190,167,144,255,228,44,19,254,128,67,232,0,214,249,107,254,136,145,86,255,132,46,176,0,189,187,227,255,208,22,140,0,217,211,116,0,50,81,186,254,139,250,31,0,30,64,198,1,135,155,100,0,160,206,23,254,187,162,211,255,16,188,63,0,254,208,49,0,85,84,191,0,241,192,242,255,153,126,145,1,234,162,162,255,230,97,216,1,64,135,126,0,190,148,223,1,52,0,43,255,28,39,189,1,64,136,238,0,175,196,185,0,98,226,213,255,127,159,244,1,226,175,60,0,160,233,142,1,180,243,207,255,69,152,89,1,31,101,21,0,144,25,164,254,139,191,209,0,91,25,121,0,32,147,5,0,39,186,123,255,63,115,230,255,93,167,198,255,143,213,220,255,179,156,19,255,25,66,122,0,214,160,217,255,2,45,62,255,106,79,146,254,51,137,99,255,87,100,231,255,175,145,232,255,101,184,1,255,174,9,125,0,82,37,161,1,36,114,141,255,48,222,142,255,245,186,154,0,5,174,221,254,63,114,155,255,135,55,160,1,80,31,135,0,126,250,179,1,236,218,45,0,20,28,145,1,16,147,73,0,249,189,132,1,17,189,192,255,223,142,198,255,72,20,15,255,250,53,237,254,15,11,18,0,27,211,113,254,213,107,56,255,174,147,146,255,96,126,48,0,23,193,109,1,37,162,94,0,199,157,249,254,24,128,187,255,205,49,178,254,93,164,42,255,43,119,235,1,88,183,237,255,218,210,1,255,107,254,42,0,230,10,99,255,162,0,226,0,219,237,91,0,129,178,203,0,208,50,95,254,206,208,95,255,247,191,89,254,110,234,79,255,165,61,243,0,20,122,112,255,246,246,185,254,103,4,123,0,233,99,230,1,219,91,252,255,199,222,22,255,179,245,233,255,211,241,234,0,111,250,192,255,85,84,136,0,101,58,50,255,131,173,156,254,119,45,51,255,118,233,16,254,242,90,214,0,94,159,219,1,3,3,234,255,98,76,92,254,80,54,230,0,5,228,231,254,53,24,223,255,113,56,118,1,20,132,1,255,171,210,236,0,56,241,158,255,186,115,19,255,8,229,174,0,48,44,0,1,114,114,166,255,6,73,226,255,205,89,244,0,137,227,75,1,248,173,56,0,74,120,246,254,119,3,11,255,81,120,198,255,136,122,98,255,146,241,221,1,109,194,78,255,223,241,70,1,214,200,169,255,97,190,47,255,47,103,174,255,99,92,72,254,118,233,180,255,193,35,233,254,26,229,32,255,222,252,198,0,204,43,71,255,199,84,172,0,134,102,190,0,111,238,97,254,230,40,230,0,227,205,64,254,200,12,225,0,166,25,222,0,113,69,51,255,143,159,24,0,167,184,74,0,29,224,116,254,158,208,233,0,193,116,126,255,212,11,133,255,22,58,140,1,204,36,51,255,232,30,43,0,235,70,181,255,64,56,146,254,169,18,84,255,226,1,13,255,200,50,176,255,52,213,245,254,168,209,97,0,191,71,55,0,34,78,156,0,232,144,58,1,185,74,189,0,186,142,149,254,64,69,127,255,161,203,147,255,176,151,191,0,136,231,203,254,163,182,137,0,161,126,251,254,233,32,66,0,68,207,66,0,30,28,37,0,93,114,96,1,254,92,247,255,44,171,69,0,202,119,11,255,188,118,50,1,255,83,136,255,71,82,26,0,70,227,2,0,32,235,121,1,181,41,154,0,71,134,229,254,202,255,36,0,41,152,5,0,154,63,73,255,34,182,124,0,121,221,150,255,26,204,213,1,41,172,87,0,90,157,146,255,109,130,20,0,71,107,200,255,243,102,189,0,1,195,145,254,46,88,117,0,8,206,227,0,191,110,253,255,109,128,20,254,134,85,51,255,137,177,112,1,216,34,22,255,131,16,208,255,121,149,170,0,114,19,23,1,166,80,31,255,113,240,122,0,232,179,250,0,68,110,180,254,210,170,119,0,223,108,164,255,207,79,233,255,27,229,226,254,209,98,81,255,79,68,7,0,131,185,100,0,170,29,162,255,17,162,107,255,57,21,11,1,100,200,181,255,127,65,166,1,165,134,204,0,104,167,168,0,1,164,79,0,146,135,59,1,70,50,128,255,102,119,13,254,227,6,135,0,162,142,179,255,160,100,222,0,27,224,219,1,158,93,195,255,234,141,137,0,16,24,125,255,238,206,47,255,97,17,98,255,116,110,12,255,96,115,77,0,91,227,232,255,248,254,79,255,92,229,6,254,88,198,139,0,206,75,129,0,250,77,206,255,141,244,123,1,138,69,220,0,32,151,6,1,131,167,22,255,237,68,167,254,199,189,150,0,163,171,138,255,51,188,6,255,95,29,137,254,148,226,179,0,181,107,208,255,134,31,82,255,151,101,45,255,129,202,225,0,224,72,147,0,48,138,151,255,195,64,206,254,237,218,158,0,106,29,137,254,253,189,233,255,103,15,17,255,194,97,255,0,178,45,169,254,198,225,155,0,39,48,117,255,135,106,115,0,97,38,181,0,150,47,65,255,83,130,229,254,246,38,129,0,92,239,154,254,91,99,127,0,161,111,33,255,238,217,242,255,131,185,195,255,213,191,158,255,41,150,218,0,132,169,131,0,89,84,252,1,171,70,128,255,163,248,203,254,1,50,180,255,124,76,85,1,251,111,80,0,99,66,239,255,154,237,182,255,221,126,133,254,74,204,99,255,65,147,119,255,99,56,167,255,79,248,149,255,116,155,228,255,237,43,14,254,69,137,11,255,22,250,241,1,91,122,143,255,205,249,243,0,212,26,60,255,48,182,176,1,48,23,191,255,203,121,152,254,45,74,213,255,62,90,18,254,245,163,230,255,185,106,116,255,83,35,159,0,12,33,2,255,80,34,62,0,16,87,174,255,173,101,85,0,202,36,81,254,160,69,204,255,64,225,187,0,58,206,94,0,86,144,47,0,229,86,245,0,63,145,190,1,37,5,39,0,109,251,26,0,137,147,234,0,162,121,145,255,144,116,206,255,197,232,185,255,183,190,140,255,73,12,254,255,139,20,242,255,170,90,239,255,97,66,187,255,245,181,135,254,222,136,52,0,245,5,51,254,203,47,78,0,152,101,216,0,73,23,125,0,254,96,33,1,235,210,73,255,43,209,88,1,7,129,109,0,122,104,228,254,170,242,203,0,242,204,135,255,202,28,233,255,65,6,127,0,159,144,71,0,100,140,95,0,78,150,13,0,251,107,118,1,182,58,125,255,1,38,108,255,141,189,209,255,8,155,125,1,113,163,91,255,121,79,190,255,134,239,108,255,76,47,248,0,163,228,239,0,17,111,10,0,88,149,75,255,215,235,239,0,167,159,24,255,47,151,108,255,107,209,188,0,233,231,99,254,28,202,148,255,174,35,138,255,110,24,68,255,2,69,181,0,107,102,82,0,102,237,7,0,92,36,237,255,221,162,83,1,55,202,6,255,135,234,135,255,24,250,222,0,65,94,168,254,245,248,210,255,167,108,201,254,255,161,111,0,205,8,254,0,136,13,116,0,100,176,132,255,43,215,126,255,177,133,130,255,158,79,148,0,67,224,37,1,12,206,21,255,62,34,110,1,237,104,175,255,80,132,111,255,142,174,72,0,84,229,180,254,105,179,140,0,64,248,15,255,233,138,16,0,245,67,123,254,218,121,212,255,63,95,218,1,213,133,137,255,143,182,82,255,48,28,11,0,244,114,141,1,209,175,76,255,157,181,150,255,186,229,3,255,164,157,111,1,231,189,139,0,119,202,190,255,218,106,64,255,68,235,63,254,96,26,172,255,187,47,11,1,215,18,251,255,81,84,89,0,68,58,128,0,94,113,5,1,92,129,208,255,97,15,83,254,9,28,188,0,239,9,164,0,60,205,152,0,192,163,98,255,184,18,60,0,217,182,139,0,109,59,120,255,4,192,251,0,169,210,240,255,37,172,92,254,148,211,245,255,179,65,52,0,253,13,115,0,185,174,206,1,114,188,149,255,237,90,173,0,43,199,192,255,88,108,113,0,52,35,76,0,66,25,148,255,221,4,7,255,151,241,114,255,190,209,232,0,98,50,199,0,151,150,213,255,18,74,36,1,53,40,7,0,19,135,65,255,26,172,69,0,174,237,85,0,99,95,41,0,3,56,16,0,39,160,177,255,200,106,218,254,185,68,84,255,91,186,61,254,67,143,141,255,13,244,166,255,99,114,198,0,199,110,163,255,193,18,186,0,124,239,246,1,110,68,22,0,2,235,46,1,212,60,107,0,105,42,105,1,14,230,152,0,7,5,131,0,141,104,154,255,213,3,6,0,131,228,162,255,179,100,28,1,231,123,85,255,206,14,223,1,253,96,230,0,38,152,149,1,98,137,122,0,214,205,3,255,226,152,179,255,6,133,137,0,158,69,140,255,113,162,154,255,180,243,172,255,27,189,115,255,143,46,220,255,213,134,225,255,126,29,69,0,188,43,137,1,242,70,9,0,90,204,255,255,231,170,147,0,23,56,19,254,56,125,157,255,48,179,218,255,79,182,253,255,38,212,191,1,41,235,124,0,96,151,28,0,135,148,190,0,205,249,39,254,52,96,136,255,212,44,136,255,67,209,131,255,252,130,23,255,219,128,20,255,198,129,118,0,108,101,11,0,178,5,146,1,62,7,100,255,181,236,94,254,28,26,164,0,76,22,112,255,120,102,79,0,202,192,229,1,200,176,215,0,41,64,244,255,206,184,78,0,167,45,63,1,160,35,0,255,59,12,142,255,204,9,144,255,219,94,229,1,122,27,112,0,189,105,109,255,64,208,74,255,251,127,55,1,2,226,198,0,44,76,209,0,151,152,77,255,210,23,46,1,201,171,69,255,44,211,231,0,190,37,224,255,245,196,62,255,169,181,222,255,34,211,17,0,119,241,197,255,229,35,152,1,21,69,40,255,178,226,161,0,148,179,193,0,219,194,254,1,40,206,51,255,231,92,250,1,67,153,170,0,21,148,241,0,170,69,82,255,121,18,231,255,92,114,3,0,184,62,230,0,225,201,87,255,146,96,162,255,181,242,220,0,173,187,221,1,226,62,170,255,56,126,217,1,117,13,227,255,179,44,239,0,157,141,155,255,144,221,83,0,235,209,208,0,42,17,165,1,251,81,133,0,124,245,201,254,97,211,24,255,83,214,166,0,154,36,9,255,248,47,127,0,90,219,140,255,161,217,38,254,212,147,63,255,66,84,148,1,207,3,1,0,230,134,89,1,127,78,122,255,224,155,1,255,82,136,74,0,178,156,208,255,186,25,49,255,222,3,210,1,229,150,190,255,85,162,52,255,41,84,141,255,73,123,84,254,93,17,150,0,119,19,28,1,32,22,215,255,28,23,204,255,142,241,52,255,228,52,125,0,29,76,207,0,215,167,250,254,175,164,230,0,55,207,105,1,109,187,245,255,161,44,220,1,41,101,128,255,167,16,94,0,93,214,107,255,118,72,0,254,80,61,234,255,121,175,125,0,139,169,251,0,97,39,147,254,250,196,49,255,165,179,110,254,223,70,187,255,22,142,125,1,154,179,138,255,118,176,42,1,10,174,153,0,156,92,102,0,168,13,161,255,143,16,32,0,250,197,180,255,203,163,44,1,87,32,36,0,161,153,20,255,123,252,15,0,25,227,80,0,60,88,142,0,17,22,201,1,154,205,77,255,39,63,47,0,8,122,141,0,128,23,182,254,204,39,19,255,4,112,29,255,23,36,140,255,210,234,116,254,53,50,63,255,121,171,104,255,160,219,94,0,87,82,14,254,231,42,5,0,165,139,127,254,86,78,38,0,130,60,66,254,203,30,45,255,46,196,122,1,249,53,162,255,136,143,103,254,215,210,114,0,231,7,160,254,169,152,42,255,111,45,246,0,142,131,135,255,131,71,204,255,36,226,11,0,0,28,242,255,225,138,213,255,247,46,216,254,245,3,183,0,108,252,74,1,206,26,48,255,205,54,246,255,211,198,36,255,121,35,50,0,52,216,202,255,38,139,129,254,242,73,148,0,67,231,141,255,42,47,204,0,78,116,25,1,4,225,191,255,6,147,228,0,58,88,177,0,122,165,229,255,252,83,201,255,224,167,96,1,177,184,158,255,242,105,179,1,248,198,240,0,133,66,203,1,254,36,47,0,45,24,115,255,119,62,254,0,196,225,186,254,123,141,172,0,26,85,41,255,226,111,183,0,213,231,151,0,4,59,7,255,238,138,148,0,66,147,33,255,31,246,141,255,209,141,116,255,104,112,31,0,88,161,172,0,83,215,230,254,47,111,151,0,45,38,52,1,132,45,204,0,138,128,109,254,233,117,134,255,243,190,173,254,241,236,240,0,82,127,236,254,40,223,161,255,110,182,225,255,123,174,239,0,135,242,145,1,51,209,154,0,150,3,115,254,217,164,252,255,55,156,69,1,84,94,255,255,232,73,45,1,20,19,212,255,96,197,59,254,96,251,33,0,38,199,73,1,64,172,247,255,117,116,56,255,228,17,18,0,62,138,103,1,246,229,164,255,244,118,201,254,86,32,159,255,109,34,137,1,85,211,186,0,10,193,193,254,122,194,177,0,122,238,102,255,162,218,171,0,108,217,161,1,158,170,34,0,176,47,155,1,181,228,11,255,8,156,0,0,16,75,93,0,206,98,255,1,58,154,35,0,12,243,184,254,67,117,66,255,230,229,123,0,201,42,110,0,134,228,178,254,186,108,118,255,58,19,154,255,82,169,62,255,114,143,115,1,239,196,50,255,173,48,193,255,147,2,84,255,150,134,147,254,95,232,73,0,109,227,52,254,191,137,10,0,40,204,30,254,76,52,97,255,164,235,126,0,254,124,188,0,74,182,21,1,121,29,35,255,241,30,7,254,85,218,214,255,7,84,150,254,81,27,117,255,160,159,152,254,66,24,221,255,227,10,60,1,141,135,102,0,208,189,150,1,117,179,92,0,132,22,136,255,120,199,28,0,21,129,79,254,182,9,65,0,218,163,169,0,246,147,198,255,107,38,144,1,78,175,205,255,214,5,250,254,47,88,29,255,164,47,204,255,43,55,6,255,131,134,207,254,116,100,214,0,96,140,75,1,106,220,144,0,195,32,28,1,172,81,5,255,199,179,52,255,37,84,203,0,170,112,174,0,11,4,91,0,69,244,27,1,117,131,92,0,33,152,175,255,140,153,107,255,251,135,43,254,87,138,4,255,198,234,147,254,121,152,84,255,205,101,155,1,157,9,25,0,72,106,17,254,108,153,0,255,189,229,186,0,193,8,176,255,174,149,209,0,238,130,29,0,233,214,126,1,61,226,102,0,57,163,4,1,198,111,51,255,45,79,78,1,115,210,10,255,218,9,25,255,158,139,198,255,211,82,187,254,80,133,83,0,157,129,230,1,243,133,134,255,40,136,16,0,77,107,79,255,183,85,92,1,177,204,202,0,163,71,147,255,152,69,190,0,172,51,188,1,250,210,172,255,211,242,113,1,89,89,26,255,64,66,111,254,116,152,42,0,161,39,27,255,54,80,254,0,106,209,115,1,103,124,97,0,221,230,98,255,31,231,6,0,178,192,120,254,15,217,203,255,124,158,79,0,112,145,247,0,92,250,48,1,163,181,193,255,37,47,142,254,144,189,165,255,46,146,240,0,6,75,128,0,41,157,200,254,87,121,213,0,1,113,236,0,5,45,250,0,144,12,82,0,31,108,231,0,225,239,119,255,167,7,189,255,187,228,132,255,110,189,34,0,94,44,204,1,162,52,197,0,78,188,241,254,57,20,141,0,244,146,47,1,206,100,51,0,125,107,148,254,27,195,77,0,152,253,90,1,7,143,144,255,51,37,31,0,34,119,38,255,7,197,118,0,153,188,211,0,151,20,116,254,245,65,52,255,180,253,110,1,47,177,209,0,161,99,17,255,118,222,202,0,125,179,252,1,123,54,126,255,145,57,191,0,55,186,121,0,10,243,138,0,205,211,229,255,125,156,241,254,148,156,185,255,227,19,188,255,124,41,32,255,31,34,206,254,17,57,83,0,204,22,37,255,42,96,98,0,119,102,184,1,3,190,28,0,110,82,218,255,200,204,192,255,201,145,118,0,117,204,146,0,132,32,98,1,192,194,121,0,106,161,248,1,237,88,124,0,23,212,26,0,205,171,90,255,248,48,216,1,141,37,230,255,124,203,0,254,158,168,30,255,214,248,21,0,112,187,7,255],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480);allocate([75,133,239,255,74,227,243,255,250,147,70,0,214,120,162,0,167,9,179,255,22,158,18,0,218,77,209,1,97,109,81,255,244,33,179,255,57,52,57,255,65,172,210,255,249,71,209,255,142,169,238,0,158,189,153,255,174,254,103,254,98,33,14,0,141,76,230,255,113,139,52,255,15,58,212,0,168,215,201,255,248,204,215,1,223,68,160,255,57,154,183,254,47,231,121,0,106,166,137,0,81,136,138,0,165,43,51,0,231,139,61,0,57,95,59,254,118,98,25,255,151,63,236,1,94,190,250,255,169,185,114,1,5,250,58,255,75,105,97,1,215,223,134,0,113,99,163,1,128,62,112,0,99,106,147,0,163,195,10,0,33,205,182,0,214,14,174,255,129,38,231,255,53,182,223,0,98,42,159,255,247,13,40,0,188,210,177,1,6,21,0,255,255,61,148,254,137,45,129,255,89,26,116,254,126,38,114,0,251,50,242,254,121,134,128,255,204,249,167,254,165,235,215,0,202,177,243,0,133,141,62,0,240,130,190,1,110,175,255,0,0,20,146,1,37,210,121,255,7,39,130,0,142,250,84,255,141,200,207,0,9,95,104,255,11,244,174,0,134,232,126,0,167,1,123,254,16,193,149,255,232,233,239,1,213,70,112,255,252,116,160,254,242,222,220,255,205,85,227,0,7,185,58,0,118,247,63,1,116,77,177,255,62,245,200,254,63,18,37,255,107,53,232,254,50,221,211,0,162,219,7,254,2,94,43,0,182,62,182,254,160,78,200,255,135,140,170,0,235,184,228,0,175,53,138,254,80,58,77,255,152,201,2,1,63,196,34,0,5,30,184,0,171,176,154,0,121,59,206,0,38,99,39,0,172,80,77,254,0,134,151,0,186,33,241,254,94,253,223,255,44,114,252,0,108,126,57,255,201,40,13,255,39,229,27,255,39,239,23,1,151,121,51,255,153,150,248,0,10,234,174,255,118,246,4,254,200,245,38,0,69,161,242,1,16,178,150,0,113,56,130,0,171,31,105,0,26,88,108,255,49,42,106,0,251,169,66,0,69,93,149,0,20,57,254,0,164,25,111,0,90,188,90,255,204,4,197,0,40,213,50,1,212,96,132,255,88,138,180,254,228,146,124,255,184,246,247,0,65,117,86,255,253,102,210,254,254,121,36,0,137,115,3,255,60,24,216,0,134,18,29,0,59,226,97,0,176,142,71,0,7,209,161,0,189,84,51,254,155,250,72,0,213,84,235,255,45,222,224,0,238,148,143,255,170,42,53,255,78,167,117,0,186,0,40,255,125,177,103,255,69,225,66,0,227,7,88,1,75,172,6,0,169,45,227,1,16,36,70,255,50,2,9,255,139,193,22,0,143,183,231,254,218,69,50,0,236,56,161,1,213,131,42,0,138,145,44,254,136,229,40,255,49,63,35,255,61,145,245,255,101,192,2,254,232,167,113,0,152,104,38,1,121,185,218,0,121,139,211,254,119,240,35,0,65,189,217,254,187,179,162,255,160,187,230,0,62,248,14,255,60,78,97,0,255,247,163,255,225,59,91,255,107,71,58,255,241,47,33,1,50,117,236,0,219,177,63,254,244,90,179,0,35,194,215,255,189,67,50,255,23,135,129,0,104,189,37,255,185,57,194,0,35,62,231,255,220,248,108,0,12,231,178,0,143,80,91,1,131,93,101,255,144,39,2,1,255,250,178,0,5,17,236,254,139,32,46,0,204,188,38,254,245,115,52,255,191,113,73,254,191,108,69,255,22,69,245,1,23,203,178,0,170,99,170,0,65,248,111,0,37,108,153,255,64,37,69,0,0,88,62,254,89,148,144,255,191,68,224,1,241,39,53,0,41,203,237,255,145,126,194,255,221,42,253,255,25,99,151,0,97,253,223,1,74,115,49,255,6,175,72,255,59,176,203,0,124,183,249,1,228,228,99,0,129,12,207,254,168,192,195,255,204,176,16,254,152,234,171,0,77,37,85,255,33,120,135,255,142,194,227,1,31,214,58,0,213,187,125,255,232,46,60,255,190,116,42,254,151,178,19,255,51,62,237,254,204,236,193,0,194,232,60,0,172,34,157,255,189,16,184,254,103,3,95,255,141,233,36,254,41,25,11,255,21,195,166,0,118,245,45,0,67,213,149,255,159,12,18,255,187,164,227,1,160,25,5,0,12,78,195,1,43,197,225,0,48,142,41,254,196,155,60,255,223,199,18,1,145,136,156,0,252,117,169,254,145,226,238,0,239,23,107,0,109,181,188,255,230,112,49,254,73,170,237,255,231,183,227,255,80,220,20,0,194,107,127,1,127,205,101,0,46,52,197,1,210,171,36,255,88,3,90,255,56,151,141,0,96,187,255,255,42,78,200,0,254,70,70,1,244,125,168,0,204,68,138,1,124,215,70,0,102,66,200,254,17,52,228,0,117,220,143,254,203,248,123,0,56,18,174,255,186,151,164,255,51,232,208,1,160,228,43,255,249,29,25,1,68,190,63,0,8,201,188,243,103,230,9,106,59,167,202,132,133,174,103,187,43,248,148,254,114,243,110,60,241,54,29,95,58,245,79,165,209,130,230,173,127,82,14,81,31,108,62,43,140,104,5,155,107,189,65,251,171,217,131,31,121,33,126,19,25,205,224,91,34,174,40,215,152,47,138,66,205,101,239,35,145,68,55,113,47,59,77,236,207,251,192,181,188,219,137,129,165,219,181,233,56,181,72,243,91,194,86,57,25,208,5,182,241,17,241,89,155,79,25,175,164,130,63,146,24,129,109,218,213,94,28,171,66,2,3,163,152,170,7,216,190,111,112,69,1,91,131,18,140,178,228,78,190,133,49,36,226,180,255,213,195,125,12,85,111,137,123,242,116,93,190,114,177,150,22,59,254,177,222,128,53,18,199,37,167,6,220,155,148,38,105,207,116,241,155,193,210,74,241,158,193,105,155,228,227,37,79,56,134,71,190,239,181,213,140,139,198,157,193,15,101,156,172,119,204,161,12,36,117,2,43,89,111,44,233,45,131,228,166,110,170,132,116,74,212,251,65,189,220,169,176,92,181,83,17,131,218,136,249,118,171,223,102,238,82,81,62,152,16,50,180,45,109,198,49,168,63,33,251,152,200,39,3,176,228,14,239,190,199,127,89,191,194,143,168,61,243,11,224,198,37,167,10,147,71,145,167,213,111,130,3,224,81,99,202,6,112,110,14,10,103,41,41,20,252,47,210,70,133,10,183,39,38,201,38,92,56,33,27,46,237,42,196,90,252,109,44,77,223,179,149,157,19,13,56,83,222,99,175,139,84,115,10,101,168,178,119,60,187,10,106,118,230,174,237,71,46,201,194,129,59,53,130,20,133,44,114,146,100,3,241,76,161,232,191,162,1,48,66,188,75,102,26,168,145,151,248,208,112,139,75,194,48,190,84,6,163,81,108,199,24,82,239,214,25,232,146,209,16,169,101,85,36,6,153,214,42,32,113,87,133,53,14,244,184,209,187,50,112,160,106,16,200,208,210,184,22,193,164,25,83,171,65,81,8,108,55,30,153,235,142,223,76,119,72,39,168,72,155,225,181,188,176,52,99,90,201,197,179,12,28,57,203,138,65,227,74,170,216,78,115,227,99,119,79,202,156,91,163,184,178,214,243,111,46,104,252,178,239,93,238,130,143,116,96,47,23,67,111,99,165,120,114,171,240,161,20,120,200,132,236,57,100,26,8,2,199,140,40,30,99,35,250,255,190,144,233,189,130,222,235,108,80,164,21,121,198,178,247,163,249,190,43,83,114,227,242,120,113,198,156,97,38,234,206,62,39,202,7,194,192,33,199,184,134,209,30,235,224,205,214,125,218,234,120,209,110,238,127,79,125,245,186,111,23,114,170,103,240,6,166,152,200,162,197,125,99,10,174,13,249,190,4,152,63,17,27,71,28,19,53,11,113,27,132,125,4,35,245,119,219,40,147,36,199,64,123,171,202,50,188,190,201,21,10,190,158,60,76,13,16,156,196,103,29,67,182,66,62,203,190,212,197,76,42,126,101,252,156,41,127,89,236,250,214,58,171,111,203,95,23,88,71,74,140,25,68,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+30720);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}Module["_bitshift64Ashr"]=_bitshift64Ashr;Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;Module["_memset"]=_memset;Module["_bitshift64Lshr"]=_bitshift64Lshr;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}Module["_strlen"]=_strlen;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;var ___errno_state=0;function ___setErrNo(value){HEAP32[___errno_state>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 79:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")}}var ret=DYNAMICTOP;if(bytes!=0)self.alloc(bytes);return ret}Module["_memmove"]=_memmove;function ___errno_location(){return ___errno_state}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.flush(stream.tty)},flush:function(stream){stream.tty.ops.flush(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i0){Module["print"](tty.output.join(""));tty.output=[]}},put_char:function(tty,val){if(val===null||val===10){Module["print"](tty.output.join(""));tty.output=[]}else{tty.output.push(TTY.utf8.processCChar(val))}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){Module["printErr"](tty.output.join(""));tty.output=[]}else{tty.output.push(TTY.utf8.processCChar(val))}},flush:function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](tty.output.join(""));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;inode.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.lengthnewSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=function(){done(this.error)};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/)},mount:function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function(flags){if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{return flags}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},readlink:function(node){var path=NODEFS.realPath(node);try{return fs.readlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var accmode=flag&2097155;var perms=["r","w","rw"][accmode];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0},mayOpen:function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if((flags&2097155)!==0||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},getStreamFromPtr:function(ptr){return FS.streams[ptr-1]},getPtrForStream:function(stream){return stream?stream.fd+1:0},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}var mounts=FS.getMounts(FS.root.mount);var completed=0;function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=mounts.length){callback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdev:function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}},rmdir:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readdir:function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)},unlink:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readlink:function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return link.node_ops.readlink(link)},stat:function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)},lstat:function(path){return FS.stat(path,true)},chmod:function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:function(path,mode){FS.chmod(path,mode,true)},fchmod:function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)},chown:function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:function(path,uid,gid){FS.chown(path,uid,gid,true)},fchown:function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)},truncate:function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)},utime:function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream},close:function(stream){try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}},llseek:function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten},allocate:function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)},ioctl:function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret="";var utf8=new Runtime.UTF8Processor;for(var i=0;i>2]=FS.getPtrForStream(stdin);assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");HEAP32[_stdout>>2]=FS.getPtrForStream(stdout);assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");HEAP32[_stderr>>2]=FS.getPtrForStream(stderr);assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")},ensureErrnoError:function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}};this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach(function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit:function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices()},init:function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:function(){FS.init.initialized=false;for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperty(lazyArray,"length",{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}});Object.defineProperty(lazyArray,"chunkSize",{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperty(node,"usedBytes",{get:function(){return this.contents.length}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)},resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}});if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler();if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg);_emscripten_set_main_loop_timing(timingMode,timingValue)},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||function(){};canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullScreenChange,false);document.addEventListener("mozfullscreenchange",fullScreenChange,false);document.addEventListener("webkitfullscreenchange",fullScreenChange,false);document.addEventListener("MSFullscreenChange",fullScreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer["requestFullScreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(!ABORT)func()})},safeSetTimeout:function(func,timeout){Module["noExitRuntime"]=true;return setTimeout(function(){if(!ABORT)func()},timeout)},safeSetInterval:function(func,timeout){Module["noExitRuntime"]=true;return setInterval(function(){if(!ABORT)func()},timeout)},getMimetype:function(name){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){Browser.lastTouches[touch.identifier]=Browser.touches[touch.identifier];Browser.touches[touch.identifier]={x:adjustedX,y:adjustedY}}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},xhrLoad:function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)},asyncLoad:function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(!noRunDep)addRunDependency("al "+url)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2]=ret}return ret}___errno_state=Runtime.staticAlloc(4);HEAP32[___errno_state>>2]=0;Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas){Browser.requestFullScreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};FS.staticInit();__ATINIT__.unshift({func:function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}});__ATMAIN__.push({func:function(){FS.ignorePermissions=false}});__ATEXIT__.push({func:function(){FS.quit()}});Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;__ATINIT__.unshift({func:function(){TTY.init()}});__ATEXIT__.push({func:function(){TTY.shutdown()}});TTY.utf8=new Runtime.UTF8Processor;if(ENVIRONMENT_IS_NODE){var fs=require("fs");NODEFS.staticInit()}STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE>0]=HEAP8[ptr>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[ptr+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[ptr+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[ptr+3>>0]}function copyTempDouble(ptr){ptr=ptr|0;HEAP8[tempDoublePtr>>0]=HEAP8[ptr>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[ptr+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[ptr+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[ptr+3>>0];HEAP8[tempDoublePtr+4>>0]=HEAP8[ptr+4>>0];HEAP8[tempDoublePtr+5>>0]=HEAP8[ptr+5>>0];HEAP8[tempDoublePtr+6>>0]=HEAP8[ptr+6>>0];HEAP8[tempDoublePtr+7>>0]=HEAP8[ptr+7>>0]}function setTempRet0(value){value=value|0;tempRet0=value}function getTempRet0(){return tempRet0|0}function _crypto_verify_32_ref($x,$y){$x=$x|0;$y=$y|0;var $0=0,$1=0,$10=0,$100=0,$101=0,$102=0,$103=0,$104=0,$105=0,$106=0,$107=0,$108=0,$109=0,$11=0,$110=0,$111=0,$112=0,$113=0,$114=0,$115=0;var $116=0,$117=0,$118=0,$119=0,$12=0,$120=0,$121=0,$122=0,$123=0,$124=0,$125=0,$126=0,$127=0,$128=0,$129=0,$13=0,$130=0,$131=0,$132=0,$133=0;var $134=0,$135=0,$136=0,$137=0,$138=0,$139=0,$14=0,$140=0,$141=0,$142=0,$143=0,$144=0,$145=0,$146=0,$147=0,$148=0,$149=0,$15=0,$150=0,$151=0;var $152=0,$153=0,$154=0,$155=0,$156=0,$157=0,$158=0,$159=0,$16=0,$160=0,$161=0,$162=0,$163=0,$164=0,$165=0,$166=0,$167=0,$168=0,$169=0,$17=0;var $170=0,$171=0,$172=0,$173=0,$174=0,$175=0,$176=0,$177=0,$178=0,$179=0,$18=0,$180=0,$181=0,$182=0,$183=0,$184=0,$185=0,$186=0,$187=0,$188=0;var $189=0,$19=0,$190=0,$191=0,$192=0,$193=0,$2=0,$20=0,$21=0,$22=0,$23=0,$24=0,$25=0,$26=0,$27=0,$28=0,$29=0,$3=0,$30=0,$31=0;var $32=0,$33=0,$34=0,$35=0,$36=0,$37=0,$38=0,$39=0,$4=0,$40=0,$41=0,$42=0,$43=0,$44=0,$45=0,$46=0,$47=0,$48=0,$49=0,$5=0;var $50=0,$51=0,$52=0,$53=0,$54=0,$55=0,$56=0,$57=0,$58=0,$59=0,$6=0,$60=0,$61=0,$62=0,$63=0,$64=0,$65=0,$66=0,$67=0,$68=0;var $69=0,$7=0,$70=0,$71=0,$72=0,$73=0,$74=0,$75=0,$76=0,$77=0,$78=0,$79=0,$8=0,$80=0,$81=0,$82=0,$83=0,$84=0,$85=0,$86=0;var $87=0,$88=0,$89=0,$9=0,$90=0,$91=0,$92=0,$93=0,$94=0,$95=0,$96=0,$97=0,$98=0,$99=0,label=0,sp=0;sp=STACKTOP;$0=HEAP8[$x>>0]|0;$1=HEAP8[$y>>0]|0;$2=$1^$0;$3=$x+1|0;$4=HEAP8[$3>>0]|0;$5=$y+1|0;$6=HEAP8[$5>>0]|0;$7=$6^$4;$8=$7|$2;$9=$x+2|0;$10=HEAP8[$9>>0]|0;$11=$y+2|0;$12=HEAP8[$11>>0]|0;$13=$12^$10;$14=$8|$13;$15=$x+3|0;$16=HEAP8[$15>>0]|0;$17=$y+3|0;$18=HEAP8[$17>>0]|0;$19=$18^$16;$20=$14|$19;$21=$x+4|0;$22=HEAP8[$21>>0]|0;$23=$y+4|0;$24=HEAP8[$23>>0]|0;$25=$24^$22;$26=$20|$25;$27=$x+5|0;$28=HEAP8[$27>>0]|0;$29=$y+5|0;$30=HEAP8[$29>>0]|0;$31=$30^$28;$32=$26|$31;$33=$x+6|0;$34=HEAP8[$33>>0]|0;$35=$y+6|0;$36=HEAP8[$35>>0]|0;$37=$36^$34;$38=$32|$37;$39=$x+7|0;$40=HEAP8[$39>>0]|0;$41=$y+7|0;$42=HEAP8[$41>>0]|0;$43=$42^$40;$44=$38|$43;$45=$x+8|0;$46=HEAP8[$45>>0]|0;$47=$y+8|0;$48=HEAP8[$47>>0]|0;$49=$48^$46;$50=$44|$49;$51=$x+9|0;$52=HEAP8[$51>>0]|0;$53=$y+9|0;$54=HEAP8[$53>>0]|0;$55=$54^$52;$56=$50|$55;$57=$x+10|0;$58=HEAP8[$57>>0]|0;$59=$y+10|0;$60=HEAP8[$59>>0]|0;$61=$60^$58;$62=$56|$61;$63=$x+11|0;$64=HEAP8[$63>>0]|0;$65=$y+11|0;$66=HEAP8[$65>>0]|0;$67=$66^$64;$68=$62|$67;$69=$x+12|0;$70=HEAP8[$69>>0]|0;$71=$y+12|0;$72=HEAP8[$71>>0]|0;$73=$72^$70;$74=$68|$73;$75=$x+13|0;$76=HEAP8[$75>>0]|0;$77=$y+13|0;$78=HEAP8[$77>>0]|0;$79=$78^$76;$80=$74|$79;$81=$x+14|0;$82=HEAP8[$81>>0]|0;$83=$y+14|0;$84=HEAP8[$83>>0]|0;$85=$84^$82;$86=$80|$85;$87=$x+15|0;$88=HEAP8[$87>>0]|0;$89=$y+15|0;$90=HEAP8[$89>>0]|0;$91=$90^$88;$92=$86|$91;$93=$x+16|0;$94=HEAP8[$93>>0]|0;$95=$y+16|0;$96=HEAP8[$95>>0]|0;$97=$96^$94;$98=$92|$97;$99=$x+17|0;$100=HEAP8[$99>>0]|0;$101=$y+17|0;$102=HEAP8[$101>>0]|0;$103=$102^$100;$104=$98|$103;$105=$x+18|0;$106=HEAP8[$105>>0]|0;$107=$y+18|0;$108=HEAP8[$107>>0]|0;$109=$108^$106;$110=$104|$109;$111=$x+19|0;$112=HEAP8[$111>>0]|0;$113=$y+19|0;$114=HEAP8[$113>>0]|0;$115=$114^$112;$116=$110|$115;$117=$x+20|0;$118=HEAP8[$117>>0]|0;$119=$y+20|0;$120=HEAP8[$119>>0]|0;$121=$120^$118;$122=$116|$121;$123=$x+21|0;$124=HEAP8[$123>>0]|0;$125=$y+21|0;$126=HEAP8[$125>>0]|0;$127=$126^$124;$128=$122|$127;$129=$x+22|0;$130=HEAP8[$129>>0]|0;$131=$y+22|0;$132=HEAP8[$131>>0]|0;$133=$132^$130;$134=$128|$133;$135=$x+23|0;$136=HEAP8[$135>>0]|0;$137=$y+23|0;$138=HEAP8[$137>>0]|0;$139=$138^$136;$140=$134|$139;$141=$x+24|0;$142=HEAP8[$141>>0]|0;$143=$y+24|0;$144=HEAP8[$143>>0]|0;$145=$144^$142;$146=$140|$145;$147=$x+25|0;$148=HEAP8[$147>>0]|0;$149=$y+25|0;$150=HEAP8[$149>>0]|0;$151=$150^$148;$152=$146|$151;$153=$x+26|0;$154=HEAP8[$153>>0]|0;$155=$y+26|0;$156=HEAP8[$155>>0]|0;$157=$156^$154;$158=$152|$157;$159=$x+27|0;$160=HEAP8[$159>>0]|0;$161=$y+27|0;$162=HEAP8[$161>>0]|0;$163=$162^$160;$164=$158|$163;$165=$x+28|0;$166=HEAP8[$165>>0]|0;$167=$y+28|0;$168=HEAP8[$167>>0]|0;$169=$168^$166;$170=$164|$169;$171=$x+29|0;$172=HEAP8[$171>>0]|0;$173=$y+29|0;$174=HEAP8[$173>>0]|0;$175=$174^$172;$176=$170|$175;$177=$x+30|0;$178=HEAP8[$177>>0]|0;$179=$y+30|0;$180=HEAP8[$179>>0]|0;$181=$180^$178;$182=$176|$181;$183=$x+31|0;$184=HEAP8[$183>>0]|0;$185=$y+31|0;$186=HEAP8[$185>>0]|0;$187=$186^$184;$188=$182|$187;$189=$188&255;$190=$189+511|0;$191=$190>>>8;$192=$191&1;$193=$192+-1|0;STACKTOP=sp;return $193|0}function _curve25519_sign($signature_out,$curve25519_privkey,$msg,$msg_len){$signature_out=$signature_out|0;$curve25519_privkey=$curve25519_privkey|0;$msg=$msg|0;$msg_len=$msg_len|0;var $0=0,$1=0,$10=0,$11=0,$12=0,$13=0,$14=0,$15=0,$2=0,$3=0,$4=0,$5=0,$6=0,$7=0,$8=0,$9=0,$ed_keypair=0,$ed_pubkey_point=0,$sigbuf_out_len=0,dest=0;var label=0,sp=0,src=0,stop=0;sp=STACKTOP;STACKTOP=STACKTOP+240|0;$ed_pubkey_point=sp+8|0;$ed_keypair=sp+168|0;$sigbuf_out_len=sp;$0=$msg_len+64|0;$1=STACKTOP;STACKTOP=STACKTOP+((1*$0|0)+15&-16)|0;$2=$sigbuf_out_len;$3=$2;HEAP32[$3>>2]=0;$4=$2+4|0;$5=$4;HEAP32[$5>>2]=0;dest=$ed_keypair+0|0;src=$curve25519_privkey+0|0;stop=dest+32|0;do{HEAP8[dest>>0]=HEAP8[src>>0]|0;dest=dest+1|0;src=src+1|0}while((dest|0)<(stop|0));_crypto_sign_ed25519_ref10_ge_scalarmult_base($ed_pubkey_point,$curve25519_privkey);$6=$ed_keypair+32|0;_crypto_sign_ed25519_ref10_ge_p3_tobytes($6,$ed_pubkey_point);$7=$ed_keypair+63|0;$8=HEAP8[$7>>0]|0;$9=$8&255;$10=$9&128;_crypto_sign_modified($1,$sigbuf_out_len,$msg,$msg_len,0,$ed_keypair)|0;dest=$signature_out+0|0;src=$1+0|0;stop=dest+64|0;do{HEAP8[dest>>0]=HEAP8[src>>0]|0;dest=dest+1|0;src=src+1|0}while((dest|0)<(stop|0));$11=$signature_out+63|0;$12=HEAP8[$11>>0]|0;$13=$12&255;$14=$13|$10;$15=$14&255;HEAP8[$11>>0]=$15;STACKTOP=sp;return}function _curve25519_verify($signature,$curve25519_pubkey,$msg,$msg_len){$signature=$signature|0;$curve25519_pubkey=$curve25519_pubkey|0;$msg=$msg|0;$msg_len=$msg_len|0;var $0=0,$1=0,$10=0,$11=0,$12=0,$13=0,$14=0,$15=0,$16=0,$17=0,$2=0,$3=0,$4=0,$5=0,$6=0,$7=0,$8=0,$9=0,$ed_pubkey=0,$ed_y=0;var $inv_mont_x_plus_one=0,$mont_x=0,$mont_x_minus_one=0,$mont_x_plus_one=0,$one=0,$some_retval=0,dest=0,label=0,sp=0,src=0,stop=0;sp=STACKTOP;STACKTOP=STACKTOP+288|0;$mont_x=sp+208|0;$mont_x_minus_one=sp+168|0;$mont_x_plus_one=sp+128|0;$inv_mont_x_plus_one=sp+88|0;$one=sp+48|0;$ed_y=sp+8|0;$ed_pubkey=sp+248|0;$some_retval=sp;$0=$msg_len+64|0;$1=STACKTOP;STACKTOP=STACKTOP+((1*$0|0)+15&-16)|0;$2=STACKTOP;STACKTOP=STACKTOP+((1*$0|0)+15&-16)|0;_crypto_sign_ed25519_ref10_fe_frombytes($mont_x,$curve25519_pubkey);_crypto_sign_ed25519_ref10_fe_1($one);_crypto_sign_ed25519_ref10_fe_sub($mont_x_minus_one,$mont_x,$one);_crypto_sign_ed25519_ref10_fe_add($mont_x_plus_one,$mont_x,$one);_crypto_sign_ed25519_ref10_fe_invert($inv_mont_x_plus_one,$mont_x_plus_one);_crypto_sign_ed25519_ref10_fe_mul($ed_y,$mont_x_minus_one,$inv_mont_x_plus_one);_crypto_sign_ed25519_ref10_fe_tobytes($ed_pubkey,$ed_y);$3=$signature+63|0;$4=HEAP8[$3>>0]|0;$5=$4&255;$6=$5&128;$7=$ed_pubkey+31|0;$8=HEAP8[$7>>0]|0;$9=$8&255;$10=$9|$6;$11=$10&255;HEAP8[$7>>0]=$11;$12=HEAP8[$3>>0]|0;$13=$12&255;$14=$13&127;$15=$14&255;HEAP8[$3>>0]=$15;dest=$1+0|0;src=$signature+0|0;stop=dest+64|0;do{HEAP8[dest>>0]=HEAP8[src>>0]|0;dest=dest+1|0;src=src+1|0}while((dest|0)<(stop|0));$16=$1+64|0;_memcpy($16|0,$msg|0,$msg_len|0)|0;$17=_crypto_sign_edwards25519sha512batch_ref10_open($2,$some_retval,$1,$0,0,$ed_pubkey)|0;STACKTOP=sp;return $17|0}function _crypto_hash_sha512_ref($output,$input,$0,$1){$output=$output|0;$input=$input|0;$0=$0|0;$1=$1|0;var $ctx=0,label=0,sp=0;sp=STACKTOP;STACKTOP=STACKTOP+208|0;$ctx=sp;_sph_sha512_init($ctx);_sph_sha384($ctx,$input,$0);_sph_sha512_close($ctx,$output);STACKTOP=sp;return 0}function _crypto_sign_modified($sm,$smlen,$m,$0,$1,$sk){$sm=$sm|0;$smlen=$smlen|0;$m=$m|0;$0=$0|0;$1=$1|0;$sk=$sk|0;var $10=0,$11=0,$12=0,$2=0,$3=0,$4=0,$5=0,$6=0,$7=0,$8=0,$9=0,$R=0,$hram=0,$nonce=0,$pk1=0,dest=0,label=0,sp=0,src=0,stop=0;sp=STACKTOP;STACKTOP=STACKTOP+320|0;$pk1=sp+288|0;$nonce=sp+224|0;$hram=sp+160|0;$R=sp;$2=$sk+32|0;dest=$pk1+0|0;src=$2+0|0;stop=dest+32|0;do{HEAP8[dest>>0]=HEAP8[src>>0]|0;dest=dest+1|0;src=src+1|0}while((dest|0)<(stop|0));$3=_i64Add($0|0,$1|0,64,0)|0;$4=tempRet0;$5=$smlen;$6=$5;HEAP32[$6>>2]=$3;$7=$5+4|0;$8=$7;HEAP32[$8>>2]=$4;$9=$sm+64|0;_memmove($9|0,$m|0,$0|0)|0;$10=$sm+32|0;_memmove($10|0,$sk|0,32)|0;$11=_i64Add($0|0,$1|0,32,0)|0;$12=tempRet0;_crypto_hash_sha512_ref($nonce,$10,$11,$12)|0;dest=$10+0|0;src=$pk1+0|0;stop=dest+32|0;do{HEAP8[dest>>0]=HEAP8[src>>0]|0;dest=dest+1|0;src=src+1|0}while((dest|0)<(stop|0));_crypto_sign_ed25519_ref10_sc_reduce($nonce);_crypto_sign_ed25519_ref10_ge_scalarmult_base($R,$nonce);_crypto_sign_ed25519_ref10_ge_p3_tobytes($sm,$R);_crypto_hash_sha512_ref($hram,$sm,$3,$4)|0;_crypto_sign_ed25519_ref10_sc_reduce($hram);_crypto_sign_ed25519_ref10_sc_muladd($10,$hram,$sk,$nonce);STACKTOP=sp;return 0}function _curve25519_donna($mypublic,$secret,$basepoint){$mypublic=$mypublic|0;$secret=$secret|0;$basepoint=$basepoint|0;var $bp=0,$e=0,$x=0,$z=0,$zmone=0,dest=0,label=0,sp=0,src=0,stop=0;sp=STACKTOP;STACKTOP=STACKTOP+368|0;$bp=sp+248|0;$x=sp+168|0;$z=sp+80|0;$zmone=sp;$e=sp+328|0;dest=$e+0|0;src=$secret+0|0;stop=dest+32|0;do{HEAP8[dest>>0]=HEAP8[src>>0]|0;dest=dest+1|0;src=src+1|0}while((dest|0)<(stop|0));_fexpand($bp,$basepoint);_cmult($x,$z,$e,$bp);_crecip($zmone,$z);_fmul($z,$x,$zmone);_fcontract($mypublic,$z);STACKTOP=sp;return 0}function _fexpand($output,$input){$output=$output|0;$input=$input|0;var $0=0,$1=0,$10=0,$100=0,$101=0,$102=0,$103=0,$104=0,$105=0,$106=0,$107=0,$108=0,$109=0,$11=0,$110=0,$111=0,$112=0,$113=0,$114=0,$115=0;var $116=0,$117=0,$118=0,$119=0,$12=0,$120=0,$121=0,$122=0,$123=0,$124=0,$125=0,$126=0,$127=0,$128=0,$129=0,$13=0,$130=0,$131=0,$132=0,$133=0;var $134=0,$135=0,$136=0,$137=0,$138=0,$139=0,$14=0,$140=0,$141=0,$142=0,$143=0,$144=0,$145=0,$146=0,$147=0,$148=0,$149=0,$15=0,$150=0,$151=0;var $152=0,$153=0,$154=0,$155=0,$156=0,$157=0,$158=0,$159=0,$16=0,$160=0,$161=0,$162=0,$163=0,$164=0,$165=0,$166=0,$167=0,$168=0,$169=0,$17=0;var $170=0,$171=0,$172=0,$173=0,$174=0,$175=0,$176=0,$177=0,$178=0,$179=0,$18=0,$180=0,$181=0,$182=0,$183=0,$184=0,$185=0,$186=0,$187=0,$188=0;var $189=0,$19=0,$190=0,$191=0,$192=0,$193=0,$194=0,$195=0,$196=0,$197=0,$198=0,$199=0,$2=0,$20=0,$200=0,$201=0,$202=0,$203=0,$204=0,$205=0;var $206=0,$207=0,$208=0,$209=0,$21=0,$210=0,$211=0,$212=0,$213=0,$214=0,$215=0,$216=0,$217=0,$218=0,$219=0,$22=0,$220=0,$221=0,$222=0,$223=0;var $224=0,$225=0,$226=0,$227=0,$228=0,$229=0,$23=0,$230=0,$231=0,$232=0,$233=0,$234=0,$235=0,$236=0,$237=0,$238=0,$239=0,$24=0,$240=0,$241=0;var $242=0,$243=0,$244=0,$245=0,$246=0,$247=0,$248=0,$249=0,$25=0,$250=0,$251=0,$252=0,$253=0,$254=0,$255=0,$256=0,$257=0,$258=0,$259=0,$26=0;var $260=0,$261=0,$262=0,$263=0,$264=0,$265=0,$266=0,$267=0,$268=0,$269=0,$27=0,$270=0,$271=0,$272=0,$273=0,$274=0,$275=0,$276=0,$277=0,$278=0;var $279=0,$28=0,$280=0,$281=0,$282=0,$283=0,$284=0,$285=0,$286=0,$287=0,$288=0,$289=0,$29=0,$290=0,$291=0,$292=0,$293=0,$3=0,$30=0,$31=0;var $32=0,$33=0,$34=0,$35=0,$36=0,$37=0,$38=0,$39=0,$4=0,$40=0,$41=0,$42=0,$43=0,$44=0,$45=0,$46=0,$47=0,$48=0,$49=0,$5=0;var $50=0,$51=0,$52=0,$53=0,$54=0,$55=0,$56=0,$57=0,$58=0,$59=0,$6=0,$60=0,$61=0,$62=0,$63=0,$64=0,$65=0,$66=0,$67=0,$68=0;var $69=0,$7=0,$70=0,$71=0,$72=0,$73=0,$74=0,$75=0,$76=0,$77=0,$78=0,$79=0,$8=0,$80=0,$81=0,$82=0,$83=0,$84=0,$85=0,$86=0;var $87=0,$88=0,$89=0,$9=0,$90=0,$91=0,$92=0,$93=0,$94=0,$95=0,$96=0,$97=0,$98=0,$99=0,label=0,sp=0;sp=STACKTOP;$0=HEAP8[$input>>0]|0;$1=$0&255;$2=$input+1|0;$3=HEAP8[$2>>0]|0;$4=$3&255;$5=_bitshift64Shl($4|0,0,8)|0;$6=tempRet0;$7=$5|$1;$8=$input+2|0;$9=HEAP8[$8>>0]|0;$10=$9&255;$11=_bitshift64Shl($10|0,0,16)|0;$12=tempRet0;$13=$7|$11;$14=$6|$12;$15=$input+3|0;$16=HEAP8[$15>>0]|0;$17=$16&255;$18=_bitshift64Shl($17|0,0,24)|0;$19=tempRet0;$20=$18&50331648;$21=$13|$20;$22=$output;$23=$22;HEAP32[$23>>2]=$21;$24=$22+4|0;$25=$24;HEAP32[$25>>2]=$14;$26=HEAP8[$15>>0]|0;$27=$26&255;$28=$input+4|0;$29=HEAP8[$28>>0]|0;$30=$29&255;$31=_bitshift64Shl($30|0,0,8)|0;$32=tempRet0;$33=$31|$27;$34=$input+5|0;$35=HEAP8[$34>>0]|0;$36=$35&255;$37=_bitshift64Shl($36|0,0,16)|0;$38=tempRet0;$39=$33|$37;$40=$32|$38;$41=$input+6|0;$42=HEAP8[$41>>0]|0;$43=$42&255;$44=_bitshift64Shl($43|0,0,24)|0;$45=tempRet0;$46=$39|$44;$47=$40|$45;$48=_bitshift64Lshr($46|0,$47|0,2)|0;$49=tempRet0;$50=$48&33554431;$51=$output+8|0;$52=$51;$53=$52;HEAP32[$53>>2]=$50;$54=$52+4|0;$55=$54;HEAP32[$55>>2]=0;$56=HEAP8[$41>>0]|0;$57=$56&255;$58=$input+7|0;$59=HEAP8[$58>>0]|0;$60=$59&255;$61=_bitshift64Shl($60|0,0,8)|0;$62=tempRet0;$63=$61|$57;$64=$input+8|0;$65=HEAP8[$64>>0]|0;$66=$65&255;$67=_bitshift64Shl($66|0,0,16)|0;$68=tempRet0;$69=$63|$67;$70=$62|$68;$71=$input+9|0;$72=HEAP8[$71>>0]|0;$73=$72&255;$74=_bitshift64Shl($73|0,0,24)|0;$75=tempRet0;$76=$69|$74;$77=$70|$75;$78=_bitshift64Lshr($76|0,$77|0,3)|0;$79=tempRet0;$80=$78&67108863;$81=$output+16|0;$82=$81;$83=$82;HEAP32[$83>>2]=$80;$84=$82+4|0;$85=$84;HEAP32[$85>>2]=0;$86=HEAP8[$71>>0]|0;$87=$86&255;$88=$input+10|0;$89=HEAP8[$88>>0]|0;$90=$89&255;$91=_bitshift64Shl($90|0,0,8)|0;$92=tempRet0;$93=$91|$87;$94=$input+11|0;$95=HEAP8[$94>>0]|0;$96=$95&255;$97=_bitshift64Shl($96|0,0,16)|0;$98=tempRet0;$99=$93|$97;$100=$92|$98;$101=$input+12|0;$102=HEAP8[$101>>0]|0;$103=$102&255;$104=_bitshift64Shl($103|0,0,24)|0;$105=tempRet0;$106=$99|$104;$107=$100|$105;$108=_bitshift64Lshr($106|0,$107|0,5)|0;$109=tempRet0;$110=$108&33554431;$111=$output+24|0;$112=$111;$113=$112;HEAP32[$113>>2]=$110;$114=$112+4|0;$115=$114;HEAP32[$115>>2]=0;$116=HEAP8[$101>>0]|0;$117=$116&255;$118=$input+13|0;$119=HEAP8[$118>>0]|0;$120=$119&255;$121=_bitshift64Shl($120|0,0,8)|0;$122=tempRet0;$123=$121|$117;$124=$input+14|0;$125=HEAP8[$124>>0]|0;$126=$125&255;$127=_bitshift64Shl($126|0,0,16)|0;$128=tempRet0;$129=$123|$127;$130=$122|$128;$131=$input+15|0;$132=HEAP8[$131>>0]|0;$133=$132&255;$134=_bitshift64Shl($133|0,0,24)|0;$135=tempRet0;$136=$129|$134;$137=$130|$135;$138=_bitshift64Lshr($136|0,$137|0,6)|0;$139=tempRet0;$140=$138&67108863;$141=$output+32|0;$142=$141;$143=$142;HEAP32[$143>>2]=$140;$144=$142+4|0;$145=$144;HEAP32[$145>>2]=0;$146=$input+16|0;$147=HEAP8[$146>>0]|0;$148=$147&255;$149=$input+17|0;$150=HEAP8[$149>>0]|0;$151=$150&255;$152=_bitshift64Shl($151|0,0,8)|0;$153=tempRet0;$154=$152|$148;$155=$input+18|0;$156=HEAP8[$155>>0]|0;$157=$156&255;$158=_bitshift64Shl($157|0,0,16)|0;$159=tempRet0;$160=$154|$158;$161=$153|$159;$162=$input+19|0;$163=HEAP8[$162>>0]|0;$164=$163&255;$165=_bitshift64Shl($164|0,0,24)|0;$166=tempRet0;$167=$165&16777216;$168=$160|$167;$169=$output+40|0;$170=$169;$171=$170;HEAP32[$171>>2]=$168;$172=$170+4|0;$173=$172;HEAP32[$173>>2]=$161;$174=HEAP8[$162>>0]|0;$175=$174&255;$176=$input+20|0;$177=HEAP8[$176>>0]|0;$178=$177&255;$179=_bitshift64Shl($178|0,0,8)|0;$180=tempRet0;$181=$179|$175;$182=$input+21|0;$183=HEAP8[$182>>0]|0;$184=$183&255;$185=_bitshift64Shl($184|0,0,16)|0;$186=tempRet0;$187=$181|$185;$188=$180|$186;$189=$input+22|0;$190=HEAP8[$189>>0]|0;$191=$190&255;$192=_bitshift64Shl($191|0,0,24)|0;$193=tempRet0;$194=$187|$192;$195=$188|$193;$196=_bitshift64Lshr($194|0,$195|0,1)|0;$197=tempRet0;$198=$196&67108863;$199=$output+48|0;$200=$199;$201=$200;HEAP32[$201>>2]=$198;$202=$200+4|0;$203=$202;HEAP32[$203>>2]=0;$204=HEAP8[$189>>0]|0;$205=$204&255;$206=$input+23|0;$207=HEAP8[$206>>0]|0;$208=$207&255;$209=_bitshift64Shl($208|0,0,8)|0;$210=tempRet0;$211=$209|$205;$212=$input+24|0;$213=HEAP8[$212>>0]|0;$214=$213&255;$215=_bitshift64Shl($214|0,0,16)|0;$216=tempRet0;$217=$211|$215;$218=$210|$216;$219=$input+25|0;$220=HEAP8[$219>>0]|0;$221=$220&255;$222=_bitshift64Shl($221|0,0,24)|0;$223=tempRet0;$224=$217|$222;$225=$218|$223;$226=_bitshift64Lshr($224|0,$225|0,3)|0;$227=tempRet0;$228=$226&33554431;$229=$output+56|0;$230=$229;$231=$230;HEAP32[$231>>2]=$228;$232=$230+4|0;$233=$232;HEAP32[$233>>2]=0;$234=HEAP8[$219>>0]|0;$235=$234&255;$236=$input+26|0;$237=HEAP8[$236>>0]|0;$238=$237&255;$239=_bitshift64Shl($238|0,0,8)|0;$240=tempRet0;$241=$239|$235;$242=$input+27|0;$243=HEAP8[$242>>0]|0;$244=$243&255;$245=_bitshift64Shl($244|0,0,16)|0;$246=tempRet0;$247=$241|$245;$248=$240|$246;$249=$input+28|0;$250=HEAP8[$249>>0]|0;$251=$250&255;$252=_bitshift64Shl($251|0,0,24)|0;$253=tempRet0;$254=$247|$252;$255=$248|$253;$256=_bitshift64Lshr($254|0,$255|0,4)|0;$257=tempRet0;$258=$256&67108863;$259=$output+64|0;$260=$259;$261=$260;HEAP32[$261>>2]=$258;$262=$260+4|0;$263=$262;HEAP32[$263>>2]=0;$264=HEAP8[$249>>0]|0;$265=$264&255;$266=$input+29|0;$267=HEAP8[$266>>0]|0;$268=$267&255;$269=_bitshift64Shl($268|0,0,8)|0;$270=tempRet0;$271=$269|$265;$272=$input+30|0;$273=HEAP8[$272>>0]|0;$274=$273&255;$275=_bitshift64Shl($274|0,0,16)|0;$276=tempRet0;$277=$271|$275;$278=$270|$276;$279=$input+31|0;$280=HEAP8[$279>>0]|0;$281=$280&255;$282=_bitshift64Shl($281|0,0,24)|0;$283=tempRet0;$284=$277|$282;$285=$278|$283;$286=_bitshift64Lshr($284|0,$285|0,6)|0;$287=tempRet0;$288=$286&33554431;$289=$output+72|0;$290=$289;$291=$290;HEAP32[$291>>2]=$288;$292=$290+4|0;$293=$292;HEAP32[$293>>2]=0;STACKTOP=sp;return}function _cmult($resultx,$resultz,$n,$q){$resultx=$resultx|0;$resultz=$resultz|0;$n=$n|0;$q=$q|0;var $0=0,$1=0,$10=0,$11=0,$12=0,$13=0,$14=0,$15=0,$16=0,$17=0,$18=0,$19=0,$2=0,$20=0,$21=0,$22=0,$23=0,$24=0,$3=0,$4=0;var $5=0,$6=0,$7=0,$8=0,$9=0,$a=0,$b=0,$byte$09=0,$c=0,$d=0,$e=0,$exitcond=0,$exitcond20=0,$f=0,$g=0,$h=0,$i$018=0,$j$08=0,$nqpqx$019=0,$nqpqx$110=0;var $nqpqx$110$phi=0,$nqpqx2$014=0,$nqpqx2$14=0,$nqpqx2$14$phi=0,$nqpqz$013=0,$nqpqz$13=0,$nqpqz$13$phi=0,$nqpqz2$015=0,$nqpqz2$15=0,$nqpqz2$15$phi=0,$nqx$011=0,$nqx$11=0,$nqx$11$phi=0,$nqx2$016=0,$nqx2$16=0,$nqx2$16$phi=0,$nqz$012=0,$nqz$12=0,$nqz$12$phi=0,$nqz2$017=0;var $nqz2$17=0,$nqz2$17$phi=0,dest=0,label=0,sp=0,src=0,stop=0;sp=STACKTOP;STACKTOP=STACKTOP+1216|0;$a=sp+1064|0;$b=sp+912|0;$c=sp+760|0;$d=sp+608|0;$e=sp+456|0;$f=sp+304|0;$g=sp+152|0;$h=sp;_memset($a|0,0,152)|0;_memset($b|0,0,152)|0;$0=$b;$1=$0;HEAP32[$1>>2]=1;$2=$0+4|0;$3=$2;HEAP32[$3>>2]=0;_memset($c|0,0,152)|0;$4=$c;$5=$4;HEAP32[$5>>2]=1;$6=$4+4|0;$7=$6;HEAP32[$7>>2]=0;_memset($d|0,0,152)|0;_memset($e|0,0,152)|0;_memset($f|0,0,152)|0;$8=$f;$9=$8;HEAP32[$9>>2]=1;$10=$8+4|0;$11=$10;HEAP32[$11>>2]=0;_memset($g|0,0,152)|0;_memset($h|0,0,152)|0;$12=$h;$13=$12;HEAP32[$13>>2]=1;$14=$12+4|0;$15=$14;HEAP32[$15>>2]=0;dest=$a+0|0;src=$q+0|0;stop=dest+80|0;do{HEAP32[dest>>2]=HEAP32[src>>2]|0;dest=dest+4|0;src=src+4|0}while((dest|0)<(stop|0));$i$018=0;$nqpqx$019=$a;$nqpqx2$014=$e;$nqpqz$013=$b;$nqpqz2$015=$f;$nqx$011=$c;$nqx2$016=$g;$nqz$012=$d;$nqz2$017=$h;while(1){$16=31-$i$018|0;$17=$n+$16|0;$18=HEAP8[$17>>0]|0;$byte$09=$18;$j$08=0;$nqpqx$110=$nqpqx$019;$nqpqx2$14=$nqpqx2$014;$nqpqz$13=$nqpqz$013;$nqpqz2$15=$nqpqz2$015;$nqx$11=$nqx$011;$nqx2$16=$nqx2$016;$nqz$12=$nqz$012;$nqz2$17=$nqz2$017;while(1){$19=$byte$09&255;$20=$19>>>7;_swap_conditional($nqx$11,$nqpqx$110,$20,0);_swap_conditional($nqz$12,$nqpqz$13,$20,0);_fmonty($nqx2$16,$nqz2$17,$nqpqx2$14,$nqpqz2$15,$nqx$11,$nqz$12,$nqpqx$110,$nqpqz$13,$q);_swap_conditional($nqx2$16,$nqpqx2$14,$20,0);_swap_conditional($nqz2$17,$nqpqz2$15,$20,0);$21=$19<<1;$22=$21&255;$23=$j$08+1|0;$exitcond=($23|0)==8;if($exitcond){break}else{$nqz2$17$phi=$nqz$12;$nqz$12$phi=$nqz2$17;$nqx2$16$phi=$nqx$11;$nqx$11$phi=$nqx2$16;$nqpqz2$15$phi=$nqpqz$13;$nqpqz$13$phi=$nqpqz2$15;$nqpqx2$14$phi=$nqpqx$110;$nqpqx$110$phi=$nqpqx2$14;$byte$09=$22;$j$08=$23;$nqz2$17=$nqz2$17$phi;$nqz$12=$nqz$12$phi;$nqx2$16=$nqx2$16$phi;$nqx$11=$nqx$11$phi;$nqpqz2$15=$nqpqz2$15$phi;$nqpqz$13=$nqpqz$13$phi;$nqpqx2$14=$nqpqx2$14$phi;$nqpqx$110=$nqpqx$110$phi}}$24=$i$018+1|0;$exitcond20=($24|0)==32;if($exitcond20){break}else{$i$018=$24;$nqpqx$019=$nqpqx2$14;$nqpqx2$014=$nqpqx$110;$nqpqz$013=$nqpqz2$15;$nqpqz2$015=$nqpqz$13;$nqx$011=$nqx2$16;$nqx2$016=$nqx$11;$nqz$012=$nqz2$17;$nqz2$017=$nqz$12}}dest=$resultx+0|0;src=$nqx2$16+0|0;stop=dest+80|0;do{HEAP32[dest>>2]=HEAP32[src>>2]|0;dest=dest+4|0;src=src+4|0}while((dest|0)<(stop|0));dest=$resultz+0|0;src=$nqz2$17+0|0;stop=dest+80|0;do{HEAP32[dest>>2]=HEAP32[src>>2]|0;dest=dest+4|0;src=src+4|0}while((dest|0)<(stop|0));STACKTOP=sp;return}function _crecip($out,$z){$out=$out|0;$z=$z|0;var $0=0,$1=0,$2=0,$3=0,$4=0,$5=0,$i$33=0,$i$42=0,$i$51=0,$t0=0,$t1=0,$z11=0,$z2=0,$z2_100_0=0,$z2_10_0=0,$z2_20_0=0,$z2_50_0=0,$z2_5_0=0,$z9=0,label=0;var sp=0;sp=STACKTOP;STACKTOP=STACKTOP+800|0;$z2=sp+720|0;$z9=sp+640|0;$z11=sp+560|0;$z2_5_0=sp+480|0;$z2_10_0=sp+400|0;$z2_20_0=sp+320|0;$z2_50_0=sp+240|0;$z2_100_0=sp+160|0;$t0=sp+80|0;$t1=sp;_fsquare($z2,$z);_fsquare($t1,$z2);_fsquare($t0,$t1);_fmul($z9,$t0,$z);_fmul($z11,$z9,$z2);_fsquare($t0,$z11);_fmul($z2_5_0,$t0,$z9);_fsquare($t0,$z2_5_0);_fsquare($t1,$t0);_fsquare($t0,$t1);_fsquare($t1,$t0);_fsquare($t0,$t1);_fmul($z2_10_0,$t0,$z2_5_0);_fsquare($t0,$z2_10_0);_fsquare($t1,$t0);_fsquare($t0,$t1);_fsquare($t1,$t0);_fsquare($t0,$t1);_fsquare($t1,$t0);_fsquare($t0,$t1);_fsquare($t1,$t0);_fsquare($t0,$t1);_fsquare($t1,$t0);_fmul($z2_20_0,$t1,$z2_10_0);_fsquare($t0,$z2_20_0);_fsquare($t1,$t0);_fsquare($t0,$t1);_fsquare($t1,$t0);_fsquare($t0,$t1);_fsquare($t1,$t0);_fsquare($t0,$t1);_fsquare($t1,$t0);_fsquare($t0,$t1);_fsquare($t1,$t0);_fsquare($t0,$t1);_fsquare($t1,$t0);_fsquare($t0,$t1);_fsquare($t1,$t0);_fsquare($t0,$t1);_fsquare($t1,$t0);_fsquare($t0,$t1);_fsquare($t1,$t0);_fsquare($t0,$t1);_fsquare($t1,$t0);_fmul($t0,$t1,$z2_20_0);_fsquare($t1,$t0);_fsquare($t0,$t1);_fsquare($t1,$t0);_fsquare($t0,$t1);_fsquare($t1,$t0);_fsquare($t0,$t1);_fsquare($t1,$t0);_fsquare($t0,$t1);_fsquare($t1,$t0);_fsquare($t0,$t1);_fmul($z2_50_0,$t0,$z2_10_0);_fsquare($t0,$z2_50_0);_fsquare($t1,$t0);$i$33=2;while(1){_fsquare($t0,$t1);_fsquare($t1,$t0);$0=$i$33+2|0;$1=($0|0)<50;if($1){$i$33=$0}else{break}}_fmul($z2_100_0,$t1,$z2_50_0);_fsquare($t1,$z2_100_0);_fsquare($t0,$t1);$i$42=2;while(1){_fsquare($t1,$t0);_fsquare($t0,$t1);$2=$i$42+2|0;$3=($2|0)<100;if($3){$i$42=$2}else{break}}_fmul($t1,$t0,$z2_100_0);_fsquare($t0,$t1);_fsquare($t1,$t0);$i$51=2;while(1){_fsquare($t0,$t1);_fsquare($t1,$t0);$4=$i$51+2|0;$5=($4|0)<50;if($5){$i$51=$4}else{break}}_fmul($t0,$t1,$z2_50_0);_fsquare($t1,$t0);_fsquare($t0,$t1);_fsquare($t1,$t0);_fsquare($t0,$t1);_fsquare($t1,$t0);_fmul($out,$t1,$z11);STACKTOP=sp;return}function _fmul($output,$in,$in2){$output=$output|0;$in=$in|0;$in2=$in2|0;var $t=0,dest=0,label=0,sp=0,src=0,stop=0;sp=STACKTOP;STACKTOP=STACKTOP+160|0;$t=sp;_fproduct($t,$in,$in2);_freduce_degree($t);_freduce_coefficients($t);dest=$output+0|0;src=$t+0|0;stop=dest+80|0;do{HEAP32[dest>>2]=HEAP32[src>>2]|0;dest=dest+4|0;src=src+4|0}while((dest|0)<(stop|0));STACKTOP=sp;return}function _fcontract($output,$input_limbs){$output=$output|0;$input_limbs=$input_limbs|0;var $$pn=0,$0=0,$1=0,$10=0,$100=0,$101=0,$102=0,$103=0,$104=0,$105=0,$106=0,$107=0,$108=0,$109=0,$11=0,$110=0,$111=0,$112=0,$113=0,$114=0;var $115=0,$116=0,$117=0,$118=0,$119=0,$12=0,$120=0,$121=0,$122=0,$123=0,$124=0,$125=0,$126=0,$127=0,$128=0,$129=0,$13=0,$130=0,$131=0,$132=0;var $133=0,$134=0,$135=0,$136=0,$137=0,$138=0,$139=0,$14=0,$140=0,$141=0,$142=0,$143=0,$144=0,$145=0,$146=0,$147=0,$148=0,$149=0,$15=0,$150=0;var $151=0,$152=0,$153=0,$154=0,$155=0,$156=0,$157=0,$158=0,$159=0,$16=0,$160=0,$161=0,$162=0,$163=0,$164=0,$165=0,$166=0,$167=0,$168=0,$169=0;var $17=0,$170=0,$171=0,$172=0,$173=0,$174=0,$175=0,$176=0,$177=0,$178=0,$179=0,$18=0,$180=0,$181=0,$182=0,$183=0,$184=0,$185=0,$186=0,$187=0;var $188=0,$189=0,$19=0,$190=0,$191=0,$192=0,$193=0,$194=0,$195=0,$196=0,$197=0,$198=0,$199=0,$2=0,$20=0,$200=0,$201=0,$202=0,$203=0,$204=0;var $205=0,$206=0,$207=0,$208=0,$209=0,$21=0,$210=0,$211=0,$212=0,$213=0,$214=0,$215=0,$216=0,$217=0,$218=0,$219=0,$22=0,$220=0,$221=0,$222=0;var $223=0,$224=0,$225=0,$226=0,$227=0,$228=0,$229=0,$23=0,$230=0,$231=0,$232=0,$233=0,$234=0,$235=0,$236=0,$237=0,$238=0,$239=0,$24=0,$240=0;var $241=0,$242=0,$243=0,$244=0,$245=0,$246=0,$247=0,$248=0,$249=0,$25=0,$250=0,$251=0,$252=0,$253=0,$254=0,$255=0,$256=0,$257=0,$258=0,$259=0;var $26=0,$260=0,$261=0,$262=0,$263=0,$264=0,$265=0,$266=0,$267=0,$268=0,$269=0,$27=0,$270=0,$271=0,$272=0,$273=0,$274=0,$275=0,$276=0,$277=0;var $278=0,$279=0,$28=0,$280=0,$281=0,$282=0,$283=0,$284=0,$285=0,$286=0,$287=0,$288=0,$289=0,$29=0,$290=0,$291=0,$292=0,$293=0,$294=0,$295=0;var $296=0,$297=0,$298=0,$299=0,$3=0,$30=0,$300=0,$301=0,$302=0,$303=0,$304=0,$305=0,$306=0,$307=0,$308=0,$309=0,$31=0,$310=0,$311=0,$312=0;var $313=0,$314=0,$315=0,$316=0,$317=0,$318=0,$319=0,$32=0,$320=0,$321=0,$322=0,$323=0,$324=0,$325=0,$326=0,$327=0,$328=0,$329=0,$33=0,$330=0;var $331=0,$332=0,$333=0,$334=0,$335=0,$336=0,$337=0,$338=0,$339=0,$34=0,$340=0,$341=0,$342=0,$343=0,$344=0,$345=0,$346=0,$347=0,$348=0,$349=0;var $35=0,$350=0,$351=0,$352=0,$353=0,$354=0,$355=0,$356=0,$357=0,$358=0,$359=0,$36=0,$360=0,$361=0,$362=0,$363=0,$364=0,$365=0,$366=0,$367=0;var $368=0,$369=0,$37=0,$370=0,$371=0,$372=0,$373=0,$374=0,$375=0,$376=0,$377=0,$378=0,$379=0,$38=0,$380=0,$381=0,$382=0,$383=0,$384=0,$385=0;var $386=0,$387=0,$388=0,$389=0,$39=0,$390=0,$391=0,$392=0,$393=0,$394=0,$395=0,$396=0,$397=0,$398=0,$399=0,$4=0,$40=0,$400=0,$401=0,$402=0;var $403=0,$404=0,$41=0,$42=0,$43=0,$44=0,$45=0,$46=0,$47=0,$48=0,$49=0,$5=0,$50=0,$51=0,$52=0,$53=0,$54=0,$55=0,$56=0,$57=0;var $58=0,$59=0,$6=0,$60=0,$61=0,$62=0,$63=0,$64=0,$65=0,$66=0,$67=0,$68=0,$69=0,$7=0,$70=0,$71=0,$72=0,$73=0,$74=0,$75=0;var $76=0,$77=0,$78=0,$79=0,$8=0,$80=0,$81=0,$82=0,$83=0,$84=0,$85=0,$86=0,$87=0,$88=0,$89=0,$9=0,$90=0,$91=0,$92=0,$93=0;var $94=0,$95=0,$96=0,$97=0,$98=0,$99=0,$exitcond=0,$exitcond11=0,$exitcond11$1=0,$exitcond14=0,$exitcond14$1=0,$i$17=0,$i$17$1=0,$i$24=0,$i$24$1=0,$i$33=0,$input=0,$mask$02=0,$mask$1=0,label=0;var sp=0;sp=STACKTOP;STACKTOP=STACKTOP+48|0;$input=sp;$0=$input_limbs;$1=$0;$2=HEAP32[$1>>2]|0;$3=$0+4|0;$4=$3;$5=HEAP32[$4>>2]|0;HEAP32[$input>>2]=$2;$6=$input_limbs+8|0;$7=$6;$8=$7;$9=HEAP32[$8>>2]|0;$10=$7+4|0;$11=$10;$12=HEAP32[$11>>2]|0;$13=$input+4|0;HEAP32[$13>>2]=$9;$14=$input_limbs+16|0;$15=$14;$16=$15;$17=HEAP32[$16>>2]|0;$18=$15+4|0;$19=$18;$20=HEAP32[$19>>2]|0;$21=$input+8|0;HEAP32[$21>>2]=$17;$22=$input_limbs+24|0;$23=$22;$24=$23;$25=HEAP32[$24>>2]|0;$26=$23+4|0;$27=$26;$28=HEAP32[$27>>2]|0;$29=$input+12|0;HEAP32[$29>>2]=$25;$30=$input_limbs+32|0;$31=$30;$32=$31;$33=HEAP32[$32>>2]|0;$34=$31+4|0;$35=$34;$36=HEAP32[$35>>2]|0;$37=$input+16|0;HEAP32[$37>>2]=$33;$38=$input_limbs+40|0;$39=$38;$40=$39;$41=HEAP32[$40>>2]|0;$42=$39+4|0;$43=$42;$44=HEAP32[$43>>2]|0;$45=$input+20|0;HEAP32[$45>>2]=$41;$46=$input_limbs+48|0;$47=$46;$48=$47;$49=HEAP32[$48>>2]|0;$50=$47+4|0;$51=$50;$52=HEAP32[$51>>2]|0;$53=$input+24|0;HEAP32[$53>>2]=$49;$54=$input_limbs+56|0;$55=$54;$56=$55;$57=HEAP32[$56>>2]|0;$58=$55+4|0;$59=$58;$60=HEAP32[$59>>2]|0;$61=$input+28|0;HEAP32[$61>>2]=$57;$62=$input_limbs+64|0;$63=$62;$64=$63;$65=HEAP32[$64>>2]|0;$66=$63+4|0;$67=$66;$68=HEAP32[$67>>2]|0;$69=$input+32|0;HEAP32[$69>>2]=$65;$70=$input_limbs+72|0;$71=$70;$72=$71;$73=HEAP32[$72>>2]|0;$74=$71+4|0;$75=$74;$76=HEAP32[$75>>2]|0;$77=$input+36|0;HEAP32[$77>>2]=$73;$78=$input+36|0;$i$17=0;while(1){$79=$i$17&1;$80=($79|0)==0;$81=$input+($i$17<<2)|0;$82=HEAP32[$81>>2]|0;$83=$82>>31;$84=$83&$82;if($80){$92=$84>>26;$93=Math_imul($92,-67108864)|0;$94=$93+$82|0;HEAP32[$81>>2]=$94;$95=$i$17+1|0;$96=$input+($95<<2)|0;$97=HEAP32[$96>>2]|0;$98=$97+$92|0;HEAP32[$96>>2]=$98}else{$85=$84>>25;$86=Math_imul($85,-33554432)|0;$87=$86+$82|0;HEAP32[$81>>2]=$87;$88=$i$17+1|0;$89=$input+($88<<2)|0;$90=HEAP32[$89>>2]|0;$91=$90+$85|0;HEAP32[$89>>2]=$91}$99=$i$17+1|0;$exitcond14=($99|0)==9;if($exitcond14){break}else{$i$17=$99}}$100=HEAP32[$78>>2]|0;$101=$100>>31;$102=$101&$100;$103=$102>>25;$104=Math_imul($103,-33554432)|0;$105=$104+$100|0;HEAP32[$78>>2]=$105;$106=HEAP32[$input>>2]|0;$107=$103*19|0;$108=$107+$106|0;HEAP32[$input>>2]=$108;$i$17$1=0;while(1){$384=$i$17$1&1;$385=($384|0)==0;$386=$input+($i$17$1<<2)|0;$387=HEAP32[$386>>2]|0;$388=$387>>31;$389=$388&$387;if($385){$397=$389>>26;$398=Math_imul($397,-67108864)|0;$399=$398+$387|0;HEAP32[$386>>2]=$399;$400=$i$17$1+1|0;$401=$input+($400<<2)|0;$402=HEAP32[$401>>2]|0;$403=$402+$397|0;HEAP32[$401>>2]=$403}else{$390=$389>>25;$391=Math_imul($390,-33554432)|0;$392=$391+$387|0;HEAP32[$386>>2]=$392;$393=$i$17$1+1|0;$394=$input+($393<<2)|0;$395=HEAP32[$394>>2]|0;$396=$395+$390|0;HEAP32[$394>>2]=$396}$404=$i$17$1+1|0;$exitcond14$1=($404|0)==9;if($exitcond14$1){break}else{$i$17$1=$404}}$109=HEAP32[$78>>2]|0;$110=$109>>31;$111=$110&$109;$112=$111>>25;$113=Math_imul($112,-33554432)|0;$114=$113+$109|0;HEAP32[$78>>2]=$114;$115=HEAP32[$input>>2]|0;$116=$112*19|0;$117=$116+$115|0;$118=$117>>31;$119=$118&$117;$120=$119>>26;$121=Math_imul($120,-67108864)|0;$122=$121+$117|0;HEAP32[$input>>2]=$122;$123=$input+4|0;$124=HEAP32[$123>>2]|0;$125=$120+$124|0;HEAP32[$123>>2]=$125;$126=$input+36|0;$i$24=0;while(1){$127=$i$24&1;$128=($127|0)==0;$129=$input+($i$24<<2)|0;$130=HEAP32[$129>>2]|0;if($128){$137=$130>>26;$138=$130&67108863;HEAP32[$129>>2]=$138;$139=$i$24+1|0;$140=$input+($139<<2)|0;$141=HEAP32[$140>>2]|0;$142=$141+$137|0;HEAP32[$140>>2]=$142}else{$131=$130>>25;$132=$130&33554431;HEAP32[$129>>2]=$132;$133=$i$24+1|0;$134=$input+($133<<2)|0;$135=HEAP32[$134>>2]|0;$136=$135+$131|0;HEAP32[$134>>2]=$136}$143=$i$24+1|0;$exitcond11=($143|0)==9;if($exitcond11){break}else{$i$24=$143}}$144=HEAP32[$126>>2]|0;$145=$144>>25;$146=$144&33554431;HEAP32[$126>>2]=$146;$147=$145*19|0;$148=HEAP32[$input>>2]|0;$149=$147+$148|0;HEAP32[$input>>2]=$149;$i$24$1=0;while(1){$360=$i$24$1&1;$361=($360|0)==0;$362=$input+($i$24$1<<2)|0;$363=HEAP32[$362>>2]|0;if($361){$370=$363>>26;$371=$363&67108863;HEAP32[$362>>2]=$371;$372=$i$24$1+1|0;$373=$input+($372<<2)|0;$374=HEAP32[$373>>2]|0;$375=$374+$370|0;HEAP32[$373>>2]=$375}else{$364=$363>>25;$365=$363&33554431;HEAP32[$362>>2]=$365;$366=$i$24$1+1|0;$367=$input+($366<<2)|0;$368=HEAP32[$367>>2]|0;$369=$368+$364|0;HEAP32[$367>>2]=$369}$376=$i$24$1+1|0;$exitcond11$1=($376|0)==9;if($exitcond11$1){break}else{$i$24$1=$376}}$377=HEAP32[$126>>2]|0;$378=$377>>25;$379=$377&33554431;HEAP32[$126>>2]=$379;$380=$378*19|0;$381=HEAP32[$input>>2]|0;$382=$380+$381|0;HEAP32[$input>>2]=$382;$383=_s32_gte($382)|0;$i$33=1;$mask$02=$383;while(1){$150=$i$33&1;$151=($150|0)==0;$152=$input+($i$33<<2)|0;$153=HEAP32[$152>>2]|0;if($151){$155=_s32_eq($153,67108863)|0;$$pn=$155}else{$154=_s32_eq($153,33554431)|0;$$pn=$154}$mask$1=$$pn&$mask$02;$156=$i$33+1|0;$exitcond=($156|0)==10;if($exitcond){break}else{$i$33=$156;$mask$02=$mask$1}}$157=$mask$1&67108845;$158=HEAP32[$input>>2]|0;$159=$158-$157|0;HEAP32[$input>>2]=$159;$160=$mask$1&67108863;$161=$mask$1&33554431;$162=$input+4|0;$163=HEAP32[$162>>2]|0;$164=$163-$161|0;HEAP32[$162>>2]=$164;$165=$input+8|0;$166=HEAP32[$165>>2]|0;$167=$166-$160|0;HEAP32[$165>>2]=$167;$168=$input+12|0;$169=HEAP32[$168>>2]|0;$170=$169-$161|0;HEAP32[$168>>2]=$170;$171=$input+16|0;$172=HEAP32[$171>>2]|0;$173=$172-$160|0;HEAP32[$171>>2]=$173;$174=$input+20|0;$175=HEAP32[$174>>2]|0;$176=$175-$161|0;HEAP32[$174>>2]=$176;$177=$input+24|0;$178=HEAP32[$177>>2]|0;$179=$178-$160|0;HEAP32[$177>>2]=$179;$180=$input+28|0;$181=HEAP32[$180>>2]|0;$182=$181-$161|0;HEAP32[$180>>2]=$182;$183=$input+32|0;$184=HEAP32[$183>>2]|0;$185=$184-$160|0;HEAP32[$183>>2]=$185;$186=$input+36|0;$187=HEAP32[$186>>2]|0;$188=$187-$161|0;HEAP32[$186>>2]=$188;$189=HEAP32[$123>>2]|0;$190=$189<<2;HEAP32[$123>>2]=$190;$191=$input+8|0;$192=HEAP32[$191>>2]|0;$193=$192<<3;HEAP32[$191>>2]=$193;$194=$input+12|0;$195=HEAP32[$194>>2]|0;$196=$195<<5;HEAP32[$194>>2]=$196;$197=$input+16|0;$198=HEAP32[$197>>2]|0;$199=$198<<6;HEAP32[$197>>2]=$199;$200=$input+24|0;$201=HEAP32[$200>>2]|0;$202=$201<<1;HEAP32[$200>>2]=$202;$203=$input+28|0;$204=HEAP32[$203>>2]|0;$205=$204<<3;HEAP32[$203>>2]=$205;$206=$input+32|0;$207=HEAP32[$206>>2]|0;$208=$207<<4;HEAP32[$206>>2]=$208;$209=$input+36|0;$210=HEAP32[$209>>2]|0;$211=$210<<6;HEAP32[$209>>2]=$211;HEAP8[$output>>0]=0;$212=$output+16|0;HEAP8[$212>>0]=0;$213=HEAP32[$input>>2]|0;$214=HEAP8[$output>>0]|0;$215=$214&255;$216=$215|$213;$217=$216&255;HEAP8[$output>>0]=$217;$218=HEAP32[$input>>2]|0;$219=$218>>>8;$220=$219&255;$221=$output+1|0;HEAP8[$221>>0]=$220;$222=HEAP32[$input>>2]|0;$223=$222>>>16;$224=$223&255;$225=$output+2|0;HEAP8[$225>>0]=$224;$226=HEAP32[$input>>2]|0;$227=$226>>>24;$228=$output+3|0;$229=HEAP32[$123>>2]|0;$230=$227|$229;$231=$230&255;HEAP8[$228>>0]=$231;$232=HEAP32[$123>>2]|0;$233=$232>>>8;$234=$233&255;$235=$output+4|0;HEAP8[$235>>0]=$234;$236=HEAP32[$123>>2]|0;$237=$236>>>16;$238=$237&255;$239=$output+5|0;HEAP8[$239>>0]=$238;$240=HEAP32[$123>>2]|0;$241=$240>>>24;$242=$output+6|0;$243=HEAP32[$191>>2]|0;$244=$241|$243;$245=$244&255;HEAP8[$242>>0]=$245;$246=HEAP32[$191>>2]|0;$247=$246>>>8;$248=$247&255;$249=$output+7|0;HEAP8[$249>>0]=$248;$250=HEAP32[$191>>2]|0;$251=$250>>>16;$252=$251&255;$253=$output+8|0;HEAP8[$253>>0]=$252;$254=HEAP32[$191>>2]|0;$255=$254>>>24;$256=$output+9|0;$257=HEAP32[$194>>2]|0;$258=$255|$257;$259=$258&255;HEAP8[$256>>0]=$259;$260=HEAP32[$194>>2]|0;$261=$260>>>8;$262=$261&255;$263=$output+10|0;HEAP8[$263>>0]=$262;$264=HEAP32[$194>>2]|0;$265=$264>>>16;$266=$265&255;$267=$output+11|0;HEAP8[$267>>0]=$266;$268=HEAP32[$194>>2]|0;$269=$268>>>24;$270=$output+12|0;$271=HEAP32[$197>>2]|0;$272=$269|$271;$273=$272&255;HEAP8[$270>>0]=$273;$274=HEAP32[$197>>2]|0;$275=$274>>>8;$276=$275&255;$277=$output+13|0;HEAP8[$277>>0]=$276;$278=HEAP32[$197>>2]|0;$279=$278>>>16;$280=$279&255;$281=$output+14|0;HEAP8[$281>>0]=$280;$282=HEAP32[$197>>2]|0;$283=$282>>>24;$284=$283&255;$285=$output+15|0;HEAP8[$285>>0]=$284;$286=$input+20|0;$287=HEAP32[$286>>2]|0;$288=HEAP8[$212>>0]|0;$289=$288&255;$290=$289|$287;$291=$290&255;HEAP8[$212>>0]=$291;$292=HEAP32[$286>>2]|0;$293=$292>>>8;$294=$293&255;$295=$output+17|0;HEAP8[$295>>0]=$294;$296=HEAP32[$286>>2]|0;$297=$296>>>16;$298=$297&255;$299=$output+18|0;HEAP8[$299>>0]=$298;$300=HEAP32[$286>>2]|0;$301=$300>>>24;$302=$output+19|0;$303=HEAP32[$200>>2]|0;$304=$301|$303;$305=$304&255;HEAP8[$302>>0]=$305;$306=HEAP32[$200>>2]|0;$307=$306>>>8;$308=$307&255;$309=$output+20|0;HEAP8[$309>>0]=$308;$310=HEAP32[$200>>2]|0;$311=$310>>>16;$312=$311&255;$313=$output+21|0;HEAP8[$313>>0]=$312;$314=HEAP32[$200>>2]|0;$315=$314>>>24;$316=$output+22|0;$317=HEAP32[$203>>2]|0;$318=$315|$317;$319=$318&255;HEAP8[$316>>0]=$319;$320=HEAP32[$203>>2]|0;$321=$320>>>8;$322=$321&255;$323=$output+23|0;HEAP8[$323>>0]=$322;$324=HEAP32[$203>>2]|0;$325=$324>>>16;$326=$325&255;$327=$output+24|0;HEAP8[$327>>0]=$326;$328=HEAP32[$203>>2]|0;$329=$328>>>24;$330=$output+25|0;$331=HEAP32[$206>>2]|0;$332=$329|$331;$333=$332&255;HEAP8[$330>>0]=$333;$334=HEAP32[$206>>2]|0;$335=$334>>>8;$336=$335&255;$337=$output+26|0;HEAP8[$337>>0]=$336;$338=HEAP32[$206>>2]|0;$339=$338>>>16;$340=$339&255;$341=$output+27|0;HEAP8[$341>>0]=$340;$342=HEAP32[$206>>2]|0;$343=$342>>>24;$344=$output+28|0;$345=HEAP32[$209>>2]|0;$346=$343|$345;$347=$346&255;HEAP8[$344>>0]=$347;$348=HEAP32[$209>>2]|0;$349=$348>>>8;$350=$349&255;$351=$output+29|0;HEAP8[$351>>0]=$350;$352=HEAP32[$209>>2]|0;$353=$352>>>16;$354=$353&255;$355=$output+30|0;HEAP8[$355>>0]=$354;$356=HEAP32[$209>>2]|0;$357=$356>>>24;$358=$357&255;$359=$output+31|0;HEAP8[$359>>0]=$358;STACKTOP=sp;return}function _swap_conditional($a,$b,$0,$1){$a=$a|0;$b=$b|0;$0=$0|0;$1=$1|0;var $10=0,$11=0,$12=0,$13=0,$14=0,$15=0,$16=0,$17=0,$18=0,$19=0,$2=0,$20=0,$21=0,$22=0,$23=0,$24=0,$25=0,$26=0,$27=0,$28=0;var $29=0,$3=0,$30=0,$31=0,$32=0,$33=0,$34=0,$35=0,$36=0,$37=0,$38=0,$39=0,$4=0,$40=0,$41=0,$42=0,$5=0,$6=0,$7=0,$8=0;var $9=0,$exitcond=0,$i$02=0,label=0,sp=0;sp=STACKTOP;$2=_i64Subtract(0,0,$0|0,$1|0)|0;$3=tempRet0;$i$02=0;while(1){$4=$a+($i$02<<3)|0;$5=$4;$6=$5;$7=HEAP32[$6>>2]|0;$8=$5+4|0;$9=$8;$10=HEAP32[$9>>2]|0;$11=$b+($i$02<<3)|0;$12=$11;$13=$12;$14=HEAP32[$13>>2]|0;$15=$12+4|0;$16=$15;$17=HEAP32[$16>>2]|0;$18=$14^$7;$19=$17^$10;$20=$18&$2;$21=$19&$3;$22=$20^$7;$21^$10;$23=_bitshift64Ashr(0,$22|0,32)|0;$24=tempRet0;$25=$4;$26=$25;HEAP32[$26>>2]=$23;$27=$25+4|0;$28=$27;HEAP32[$28>>2]=$24;$29=$11;$30=$29;$31=HEAP32[$30>>2]|0;$32=$29+4|0;$33=$32;$34=HEAP32[$33>>2]|0;$35=$20^$31;$21^$34;$36=_bitshift64Ashr(0,$35|0,32)|0;$37=tempRet0;$38=$11;$39=$38;HEAP32[$39>>2]=$36;$40=$38+4|0;$41=$40;HEAP32[$41>>2]=$37;$42=$i$02+1|0;$exitcond=($42|0)==10;if($exitcond){break}else{$i$02=$42}}STACKTOP=sp;return}function _fmonty($x2,$z2,$x3,$z3,$x,$z,$xprime,$zprime,$qmqp){$x2=$x2|0;$z2=$z2|0;$x3=$x3|0;$z3=$z3|0;$x=$x|0;$z=$z|0;$xprime=$xprime|0;$zprime=$zprime|0;$qmqp=$qmqp|0;var $0=0,$origx=0,$origxprime=0,$xx=0,$xxprime=0,$xxxprime=0,$zz=0,$zzprime=0,$zzz=0,$zzzprime=0,dest=0,label=0,sp=0,src=0,stop=0;sp=STACKTOP;STACKTOP=STACKTOP+1232|0;$origx=sp+1144|0;$origxprime=sp+1064|0;$zzz=sp+912|0;$xx=sp+760|0;$zz=sp+608|0;$xxprime=sp+456|0;$zzprime=sp+304|0;$zzzprime=sp+152|0;$xxxprime=sp;dest=$origx+0|0;src=$x+0|0;stop=dest+80|0;do{HEAP32[dest>>2]=HEAP32[src>>2]|0;dest=dest+4|0;src=src+4|0}while((dest|0)<(stop|0));_fsum($x,$z);_fdifference($z,$origx);dest=$origxprime+0|0;src=$xprime+0|0;stop=dest+80|0;do{HEAP32[dest>>2]=HEAP32[src>>2]|0;dest=dest+4|0;src=src+4|0}while((dest|0)<(stop|0));_fsum($xprime,$zprime);_fdifference($zprime,$origxprime);_fproduct($xxprime,$xprime,$z);_fproduct($zzprime,$x,$zprime);_freduce_degree($xxprime);_freduce_coefficients($xxprime);_freduce_degree($zzprime);_freduce_coefficients($zzprime);dest=$origxprime+0|0;src=$xxprime+0|0;stop=dest+80|0;do{HEAP32[dest>>2]=HEAP32[src>>2]|0;dest=dest+4|0;src=src+4|0}while((dest|0)<(stop|0));_fsum($xxprime,$zzprime);_fdifference($zzprime,$origxprime);_fsquare($xxxprime,$xxprime);_fsquare($zzzprime,$zzprime);_fproduct($zzprime,$zzzprime,$qmqp);_freduce_degree($zzprime);_freduce_coefficients($zzprime);dest=$x3+0|0;src=$xxxprime+0|0;stop=dest+80|0;do{HEAP32[dest>>2]=HEAP32[src>>2]|0;dest=dest+4|0;src=src+4|0}while((dest|0)<(stop|0));dest=$z3+0|0;src=$zzprime+0|0;stop=dest+80|0;do{HEAP32[dest>>2]=HEAP32[src>>2]|0;dest=dest+4|0;src=src+4|0}while((dest|0)<(stop|0));_fsquare($xx,$x);_fsquare($zz,$z);_fproduct($x2,$xx,$zz);_freduce_degree($x2);_freduce_coefficients($x2);_fdifference($zz,$xx);$0=$zzz+80|0;dest=$0+0|0;stop=dest+72|0;do{HEAP32[dest>>2]=0|0;dest=dest+4|0}while((dest|0)<(stop|0));_fscalar_product($zzz,$zz);_freduce_coefficients($zzz);_fsum($zzz,$xx);_fproduct($z2,$zz,$zzz);_freduce_degree($z2);_freduce_coefficients($z2);STACKTOP=sp;return}function _fsquare($output,$in){$output=$output|0;$in=$in|0;var $t=0,dest=0,label=0,sp=0,src=0,stop=0;sp=STACKTOP;STACKTOP=STACKTOP+160|0;$t=sp;_fsquare_inner($t,$in);_freduce_degree($t);_freduce_coefficients($t);dest=$output+0|0;src=$t+0|0;stop=dest+80|0;do{HEAP32[dest>>2]=HEAP32[src>>2]|0;dest=dest+4|0;src=src+4|0}while((dest|0)<(stop|0));STACKTOP=sp;return}function _fproduct($output,$in2,$in){$output=$output|0;$in2=$in2|0;$in=$in|0;var $0=0,$1=0,$10=0,$100=0,$1000=0,$1001=0,$1002=0,$1003=0,$1004=0,$1005=0,$1006=0,$1007=0,$1008=0,$1009=0,$101=0,$1010=0,$1011=0,$1012=0,$1013=0,$1014=0;var $1015=0,$1016=0,$1017=0,$1018=0,$1019=0,$102=0,$1020=0,$1021=0,$1022=0,$1023=0,$1024=0,$1025=0,$1026=0,$1027=0,$1028=0,$1029=0,$103=0,$1030=0,$1031=0,$1032=0;var $1033=0,$1034=0,$1035=0,$1036=0,$1037=0,$1038=0,$1039=0,$104=0,$1040=0,$1041=0,$1042=0,$1043=0,$1044=0,$1045=0,$1046=0,$1047=0,$1048=0,$1049=0,$105=0,$1050=0;var $1051=0,$1052=0,$1053=0,$1054=0,$1055=0,$1056=0,$1057=0,$1058=0,$1059=0,$106=0,$1060=0,$1061=0,$1062=0,$1063=0,$1064=0,$1065=0,$1066=0,$1067=0,$1068=0,$1069=0;var $107=0,$1070=0,$1071=0,$1072=0,$1073=0,$1074=0,$1075=0,$1076=0,$1077=0,$1078=0,$1079=0,$108=0,$1080=0,$1081=0,$1082=0,$1083=0,$1084=0,$1085=0,$1086=0,$1087=0;var $1088=0,$1089=0,$109=0,$1090=0,$1091=0,$1092=0,$1093=0,$1094=0,$1095=0,$1096=0,$1097=0,$1098=0,$1099=0,$11=0,$110=0,$1100=0,$1101=0,$1102=0,$1103=0,$1104=0;var $1105=0,$1106=0,$1107=0,$1108=0,$1109=0,$111=0,$1110=0,$1111=0,$1112=0,$1113=0,$1114=0,$1115=0,$1116=0,$1117=0,$1118=0,$1119=0,$112=0,$1120=0,$1121=0,$1122=0;var $1123=0,$1124=0,$1125=0,$1126=0,$1127=0,$1128=0,$1129=0,$113=0,$1130=0,$1131=0,$1132=0,$1133=0,$1134=0,$1135=0,$1136=0,$1137=0,$1138=0,$1139=0,$114=0,$1140=0;var $1141=0,$1142=0,$1143=0,$1144=0,$1145=0,$1146=0,$1147=0,$1148=0,$1149=0,$115=0,$1150=0,$1151=0,$1152=0,$1153=0,$1154=0,$1155=0,$1156=0,$1157=0,$1158=0,$1159=0;var $116=0,$1160=0,$1161=0,$1162=0,$1163=0,$1164=0,$1165=0,$1166=0,$1167=0,$1168=0,$1169=0,$117=0,$1170=0,$1171=0,$1172=0,$1173=0,$1174=0,$1175=0,$1176=0,$1177=0;var $1178=0,$1179=0,$118=0,$1180=0,$1181=0,$1182=0,$1183=0,$1184=0,$1185=0,$1186=0,$1187=0,$1188=0,$1189=0,$119=0,$1190=0,$1191=0,$1192=0,$1193=0,$1194=0,$1195=0;var $1196=0,$1197=0,$1198=0,$1199=0,$12=0,$120=0,$1200=0,$1201=0,$1202=0,$1203=0,$1204=0,$1205=0,$1206=0,$1207=0,$1208=0,$1209=0,$121=0,$1210=0,$1211=0,$1212=0;var $1213=0,$1214=0,$1215=0,$1216=0,$1217=0,$1218=0,$1219=0,$122=0,$1220=0,$1221=0,$1222=0,$1223=0,$1224=0,$1225=0,$1226=0,$1227=0,$1228=0,$1229=0,$123=0,$1230=0;var $1231=0,$1232=0,$1233=0,$1234=0,$1235=0,$1236=0,$1237=0,$1238=0,$1239=0,$124=0,$1240=0,$1241=0,$1242=0,$1243=0,$1244=0,$1245=0,$1246=0,$1247=0,$1248=0,$1249=0;var $125=0,$1250=0,$1251=0,$1252=0,$1253=0,$1254=0,$1255=0,$1256=0,$1257=0,$1258=0,$1259=0,$126=0,$1260=0,$1261=0,$1262=0,$1263=0,$1264=0,$1265=0,$1266=0,$1267=0;var $1268=0,$1269=0,$127=0,$1270=0,$1271=0,$1272=0,$1273=0,$1274=0,$1275=0,$1276=0,$1277=0,$1278=0,$1279=0,$128=0,$1280=0,$1281=0,$1282=0,$1283=0,$1284=0,$1285=0;var $1286=0,$1287=0,$1288=0,$1289=0,$129=0,$1290=0,$1291=0,$1292=0,$1293=0,$1294=0,$1295=0,$1296=0,$1297=0,$1298=0,$1299=0,$13=0,$130=0,$1300=0,$1301=0,$1302=0;var $1303=0,$1304=0,$1305=0,$1306=0,$1307=0,$1308=0,$1309=0,$131=0,$1310=0,$1311=0,$1312=0,$1313=0,$1314=0,$1315=0,$1316=0,$1317=0,$1318=0,$1319=0,$132=0,$1320=0;var $1321=0,$1322=0,$1323=0,$1324=0,$1325=0,$1326=0,$1327=0,$1328=0,$1329=0,$133=0,$1330=0,$1331=0,$1332=0,$1333=0,$1334=0,$1335=0,$1336=0,$1337=0,$1338=0,$1339=0;var $134=0,$1340=0,$1341=0,$1342=0,$1343=0,$1344=0,$1345=0,$1346=0,$1347=0,$1348=0,$1349=0,$135=0,$1350=0,$1351=0,$1352=0,$1353=0,$1354=0,$1355=0,$1356=0,$1357=0;var $1358=0,$1359=0,$136=0,$1360=0,$1361=0,$1362=0,$1363=0,$1364=0,$1365=0,$1366=0,$1367=0,$1368=0,$1369=0,$137=0,$1370=0,$1371=0,$1372=0,$1373=0,$1374=0,$1375=0;var $1376=0,$1377=0,$1378=0,$1379=0,$138=0,$1380=0,$1381=0,$1382=0,$1383=0,$1384=0,$1385=0,$1386=0,$1387=0,$1388=0,$1389=0,$139=0,$1390=0,$1391=0,$1392=0,$1393=0;var $1394=0,$1395=0,$1396=0,$1397=0,$1398=0,$1399=0,$14=0,$140=0,$1400=0,$1401=0,$1402=0,$1403=0,$1404=0,$1405=0,$1406=0,$1407=0,$1408=0,$1409=0,$141=0,$1410=0;var $1411=0,$1412=0,$1413=0,$1414=0,$1415=0,$1416=0,$1417=0,$1418=0,$1419=0,$142=0,$1420=0,$1421=0,$1422=0,$1423=0,$1424=0,$1425=0,$1426=0,$1427=0,$1428=0,$1429=0;var $143=0,$1430=0,$1431=0,$1432=0,$1433=0,$1434=0,$1435=0,$1436=0,$1437=0,$1438=0,$1439=0,$144=0,$1440=0,$1441=0,$1442=0,$1443=0,$1444=0,$1445=0,$1446=0,$1447=0;var $1448=0,$1449=0,$145=0,$1450=0,$1451=0,$1452=0,$1453=0,$1454=0,$1455=0,$1456=0,$1457=0,$1458=0,$1459=0,$146=0,$1460=0,$1461=0,$1462=0,$1463=0,$1464=0,$1465=0;var $1466=0,$1467=0,$1468=0,$1469=0,$147=0,$1470=0,$1471=0,$1472=0,$1473=0,$1474=0,$1475=0,$1476=0,$1477=0,$1478=0,$1479=0,$148=0,$1480=0,$1481=0,$1482=0,$1483=0;var $1484=0,$1485=0,$1486=0,$1487=0,$1488=0,$1489=0,$149=0,$1490=0,$1491=0,$1492=0,$1493=0,$1494=0,$1495=0,$1496=0,$1497=0,$1498=0,$1499=0,$15=0,$150=0,$1500=0;var $1501=0,$1502=0,$1503=0,$1504=0,$1505=0,$1506=0,$1507=0,$1508=0,$1509=0,$151=0,$1510=0,$1511=0,$1512=0,$1513=0,$1514=0,$1515=0,$1516=0,$1517=0,$1518=0,$1519=0;var $152=0,$1520=0,$1521=0,$1522=0,$1523=0,$1524=0,$1525=0,$1526=0,$1527=0,$1528=0,$1529=0,$153=0,$1530=0,$1531=0,$1532=0,$1533=0,$1534=0,$1535=0,$1536=0,$1537=0;var $1538=0,$1539=0,$154=0,$1540=0,$1541=0,$1542=0,$1543=0,$1544=0,$1545=0,$1546=0,$1547=0,$1548=0,$1549=0,$155=0,$1550=0,$1551=0,$1552=0,$1553=0,$1554=0,$1555=0;var $1556=0,$1557=0,$1558=0,$1559=0,$156=0,$1560=0,$1561=0,$1562=0,$1563=0,$1564=0,$1565=0,$1566=0,$1567=0,$1568=0,$1569=0,$157=0,$1570=0,$1571=0,$1572=0,$1573=0;var $1574=0,$1575=0,$1576=0,$1577=0,$1578=0,$1579=0,$158=0,$1580=0,$1581=0,$1582=0,$1583=0,$1584=0,$1585=0,$1586=0,$1587=0,$1588=0,$1589=0,$159=0,$1590=0,$1591=0;var $1592=0,$1593=0,$1594=0,$1595=0,$1596=0,$1597=0,$1598=0,$1599=0,$16=0,$160=0,$1600=0,$1601=0,$1602=0,$1603=0,$1604=0,$1605=0,$1606=0,$1607=0,$1608=0,$1609=0;var $161=0,$1610=0,$1611=0,$1612=0,$1613=0,$1614=0,$1615=0,$1616=0,$1617=0,$1618=0,$1619=0,$162=0,$1620=0,$1621=0,$1622=0,$1623=0,$1624=0,$1625=0,$1626=0,$1627=0;var $1628=0,$1629=0,$163=0,$1630=0,$1631=0,$1632=0,$1633=0,$1634=0,$1635=0,$1636=0,$1637=0,$1638=0,$1639=0,$164=0,$1640=0,$1641=0,$1642=0,$1643=0,$1644=0,$1645=0;var $1646=0,$1647=0,$1648=0,$1649=0,$165=0,$1650=0,$1651=0,$1652=0,$1653=0,$1654=0,$1655=0,$1656=0,$1657=0,$1658=0,$1659=0,$166=0,$1660=0,$1661=0,$1662=0,$1663=0;var $1664=0,$1665=0,$1666=0,$1667=0,$1668=0,$1669=0,$167=0,$1670=0,$1671=0,$1672=0,$1673=0,$1674=0,$1675=0,$1676=0,$1677=0,$1678=0,$1679=0,$168=0,$1680=0,$1681=0;var $1682=0,$1683=0,$1684=0,$1685=0,$1686=0,$1687=0,$1688=0,$1689=0,$169=0,$1690=0,$1691=0,$1692=0,$1693=0,$1694=0,$1695=0,$1696=0,$1697=0,$1698=0,$1699=0,$17=0;var $170=0,$1700=0,$1701=0,$1702=0,$1703=0,$1704=0,$1705=0,$1706=0,$1707=0,$1708=0,$1709=0,$171=0,$1710=0,$1711=0,$1712=0,$1713=0,$1714=0,$1715=0,$1716=0,$1717=0;var $1718=0,$1719=0,$172=0,$1720=0,$1721=0,$1722=0,$1723=0,$1724=0,$1725=0,$1726=0,$1727=0,$1728=0,$1729=0,$173=0,$1730=0,$1731=0,$1732=0,$1733=0,$1734=0,$1735=0;var $1736=0,$1737=0,$1738=0,$1739=0,$174=0,$1740=0,$1741=0,$1742=0,$1743=0,$1744=0,$1745=0,$1746=0,$1747=0,$1748=0,$1749=0,$175=0,$1750=0,$1751=0,$1752=0,$1753=0;var $1754=0,$1755=0,$1756=0,$1757=0,$1758=0,$1759=0,$176=0,$1760=0,$1761=0,$1762=0,$1763=0,$1764=0,$1765=0,$1766=0,$1767=0,$1768=0,$1769=0,$177=0,$1770=0,$1771=0;var $1772=0,$1773=0,$1774=0,$1775=0,$1776=0,$1777=0,$1778=0,$1779=0,$178=0,$1780=0,$1781=0,$1782=0,$1783=0,$1784=0,$1785=0,$1786=0,$1787=0,$1788=0,$1789=0,$179=0;var $1790=0,$1791=0,$1792=0,$1793=0,$1794=0,$1795=0,$1796=0,$1797=0,$1798=0,$1799=0,$18=0,$180=0,$1800=0,$1801=0,$1802=0,$1803=0,$1804=0,$1805=0,$1806=0,$1807=0;var $1808=0,$1809=0,$181=0,$1810=0,$1811=0,$1812=0,$1813=0,$1814=0,$1815=0,$1816=0,$1817=0,$1818=0,$1819=0,$182=0,$1820=0,$1821=0,$1822=0,$1823=0,$1824=0,$1825=0;var $1826=0,$1827=0,$1828=0,$1829=0,$183=0,$1830=0,$1831=0,$1832=0,$1833=0,$1834=0,$1835=0,$1836=0,$1837=0,$1838=0,$1839=0,$184=0,$1840=0,$1841=0,$1842=0,$1843=0;var $1844=0,$1845=0,$1846=0,$1847=0,$1848=0,$1849=0,$185=0,$1850=0,$1851=0,$1852=0,$1853=0,$1854=0,$1855=0,$1856=0,$1857=0,$1858=0,$1859=0,$186=0,$1860=0,$1861=0;var $1862=0,$1863=0,$1864=0,$1865=0,$1866=0,$1867=0,$1868=0,$1869=0,$187=0,$1870=0,$1871=0,$1872=0,$1873=0,$1874=0,$1875=0,$1876=0,$1877=0,$1878=0,$1879=0,$188=0;var $1880=0,$1881=0,$1882=0,$1883=0,$1884=0,$1885=0,$1886=0,$1887=0,$1888=0,$1889=0,$189=0,$1890=0,$1891=0,$1892=0,$1893=0,$1894=0,$1895=0,$1896=0,$1897=0,$1898=0;var $1899=0,$19=0,$190=0,$1900=0,$1901=0,$1902=0,$1903=0,$1904=0,$1905=0,$1906=0,$1907=0,$1908=0,$1909=0,$191=0,$1910=0,$1911=0,$1912=0,$1913=0,$1914=0,$1915=0;var $1916=0,$1917=0,$1918=0,$1919=0,$192=0,$1920=0,$1921=0,$1922=0,$1923=0,$1924=0,$1925=0,$1926=0,$1927=0,$1928=0,$1929=0,$193=0,$1930=0,$1931=0,$1932=0,$1933=0;var $1934=0,$1935=0,$1936=0,$1937=0,$1938=0,$1939=0,$194=0,$1940=0,$1941=0,$1942=0,$1943=0,$1944=0,$1945=0,$1946=0,$1947=0,$1948=0,$1949=0,$195=0,$1950=0,$1951=0;var $1952=0,$1953=0,$1954=0,$1955=0,$1956=0,$1957=0,$1958=0,$1959=0,$196=0,$1960=0,$1961=0,$1962=0,$1963=0,$1964=0,$1965=0,$1966=0,$1967=0,$1968=0,$1969=0,$197=0;var $1970=0,$1971=0,$1972=0,$1973=0,$1974=0,$1975=0,$1976=0,$1977=0,$1978=0,$1979=0,$198=0,$1980=0,$1981=0,$1982=0,$1983=0,$1984=0,$1985=0,$1986=0,$1987=0,$1988=0;var $1989=0,$199=0,$1990=0,$1991=0,$1992=0,$1993=0,$1994=0,$1995=0,$1996=0,$1997=0,$1998=0,$1999=0,$2=0,$20=0,$200=0,$2000=0,$2001=0,$2002=0,$2003=0,$2004=0;var $2005=0,$2006=0,$2007=0,$2008=0,$2009=0,$201=0,$2010=0,$2011=0,$2012=0,$2013=0,$2014=0,$2015=0,$2016=0,$2017=0,$2018=0,$2019=0,$202=0,$2020=0,$2021=0,$2022=0;var $2023=0,$2024=0,$2025=0,$2026=0,$2027=0,$2028=0,$2029=0,$203=0,$2030=0,$2031=0,$2032=0,$2033=0,$2034=0,$2035=0,$2036=0,$2037=0,$2038=0,$2039=0,$204=0,$2040=0;var $2041=0,$2042=0,$2043=0,$2044=0,$2045=0,$2046=0,$2047=0,$2048=0,$2049=0,$205=0,$2050=0,$2051=0,$2052=0,$2053=0,$2054=0,$2055=0,$2056=0,$2057=0,$2058=0,$2059=0;var $206=0,$2060=0,$2061=0,$2062=0,$2063=0,$2064=0,$2065=0,$2066=0,$2067=0,$2068=0,$2069=0,$207=0,$2070=0,$2071=0,$2072=0,$2073=0,$2074=0,$2075=0,$2076=0,$2077=0;var $2078=0,$2079=0,$208=0,$2080=0,$2081=0,$2082=0,$2083=0,$2084=0,$2085=0,$2086=0,$2087=0,$209=0,$21=0,$210=0,$211=0,$212=0,$213=0,$214=0,$215=0,$216=0;var $217=0,$218=0,$219=0,$22=0,$220=0,$221=0,$222=0,$223=0,$224=0,$225=0,$226=0,$227=0,$228=0,$229=0,$23=0,$230=0,$231=0,$232=0,$233=0,$234=0;var $235=0,$236=0,$237=0,$238=0,$239=0,$24=0,$240=0,$241=0,$242=0,$243=0,$244=0,$245=0,$246=0,$247=0,$248=0,$249=0,$25=0,$250=0,$251=0,$252=0;var $253=0,$254=0,$255=0,$256=0,$257=0,$258=0,$259=0,$26=0,$260=0,$261=0,$262=0,$263=0,$264=0,$265=0,$266=0,$267=0,$268=0,$269=0,$27=0,$270=0;var $271=0,$272=0,$273=0,$274=0,$275=0,$276=0,$277=0,$278=0,$279=0,$28=0,$280=0,$281=0,$282=0,$283=0,$284=0,$285=0,$286=0,$287=0,$288=0,$289=0;var $29=0,$290=0,$291=0,$292=0,$293=0,$294=0,$295=0,$296=0,$297=0,$298=0,$299=0,$3=0,$30=0,$300=0,$301=0,$302=0,$303=0,$304=0,$305=0,$306=0;var $307=0,$308=0,$309=0,$31=0,$310=0,$311=0,$312=0,$313=0,$314=0,$315=0,$316=0,$317=0,$318=0,$319=0,$32=0,$320=0,$321=0,$322=0,$323=0,$324=0;var $325=0,$326=0,$327=0,$328=0,$329=0,$33=0,$330=0,$331=0,$332=0,$333=0,$334=0,$335=0,$336=0,$337=0,$338=0,$339=0,$34=0,$340=0,$341=0,$342=0;var $343=0,$344=0,$345=0,$346=0,$347=0,$348=0,$349=0,$35=0,$350=0,$351=0,$352=0,$353=0,$354=0,$355=0,$356=0,$357=0,$358=0,$359=0,$36=0,$360=0;var $361=0,$362=0,$363=0,$364=0,$365=0,$366=0,$367=0,$368=0,$369=0,$37=0,$370=0,$371=0,$372=0,$373=0,$374=0,$375=0,$376=0,$377=0,$378=0,$379=0;var $38=0,$380=0,$381=0,$382=0,$383=0,$384=0,$385=0,$386=0,$387=0,$388=0,$389=0,$39=0,$390=0,$391=0,$392=0,$393=0,$394=0,$395=0,$396=0,$397=0;var $398=0,$399=0,$4=0,$40=0,$400=0,$401=0,$402=0,$403=0,$404=0,$405=0,$406=0,$407=0,$408=0,$409=0,$41=0,$410=0,$411=0,$412=0,$413=0,$414=0;var $415=0,$416=0,$417=0,$418=0,$419=0,$42=0,$420=0,$421=0,$422=0,$423=0,$424=0,$425=0,$426=0,$427=0,$428=0,$429=0,$43=0,$430=0,$431=0,$432=0;var $433=0,$434=0,$435=0,$436=0,$437=0,$438=0,$439=0,$44=0,$440=0,$441=0,$442=0,$443=0,$444=0,$445=0,$446=0,$447=0,$448=0,$449=0,$45=0,$450=0;var $451=0,$452=0,$453=0,$454=0,$455=0,$456=0,$457=0,$458=0,$459=0,$46=0,$460=0,$461=0,$462=0,$463=0,$464=0,$465=0,$466=0,$467=0,$468=0,$469=0;var $47=0,$470=0,$471=0,$472=0,$473=0,$474=0,$475=0,$476=0,$477=0,$478=0,$479=0,$48=0,$480=0,$481=0,$482=0,$483=0,$484=0,$485=0,$486=0,$487=0;var $488=0,$489=0,$49=0,$490=0,$491=0,$492=0,$493=0,$494=0,$495=0,$496=0,$497=0,$498=0,$499=0,$5=0,$50=0,$500=0,$501=0,$502=0,$503=0,$504=0;var $505=0,$506=0,$507=0,$508=0,$509=0,$51=0,$510=0,$511=0,$512=0,$513=0,$514=0,$515=0,$516=0,$517=0,$518=0,$519=0,$52=0,$520=0,$521=0,$522=0;var $523=0,$524=0,$525=0,$526=0,$527=0,$528=0,$529=0,$53=0,$530=0,$531=0,$532=0,$533=0,$534=0,$535=0,$536=0,$537=0,$538=0,$539=0,$54=0,$540=0;var $541=0,$542=0,$543=0,$544=0,$545=0,$546=0,$547=0,$548=0,$549=0,$55=0,$550=0,$551=0,$552=0,$553=0,$554=0,$555=0,$556=0,$557=0,$558=0,$559=0;var $56=0,$560=0,$561=0,$562=0,$563=0,$564=0,$565=0,$566=0,$567=0,$568=0,$569=0,$57=0,$570=0,$571=0,$572=0,$573=0,$574=0,$575=0,$576=0,$577=0;var $578=0,$579=0,$58=0,$580=0,$581=0,$582=0,$583=0,$584=0,$585=0,$586=0,$587=0,$588=0,$589=0,$59=0,$590=0,$591=0,$592=0,$593=0,$594=0,$595=0;var $596=0,$597=0,$598=0,$599=0,$6=0,$60=0,$600=0,$601=0,$602=0,$603=0,$604=0,$605=0,$606=0,$607=0,$608=0,$609=0,$61=0,$610=0,$611=0,$612=0;var $613=0,$614=0,$615=0,$616=0,$617=0,$618=0,$619=0,$62=0,$620=0,$621=0,$622=0,$623=0,$624=0,$625=0,$626=0,$627=0,$628=0,$629=0,$63=0,$630=0;var $631=0,$632=0,$633=0,$634=0,$635=0,$636=0,$637=0,$638=0,$639=0,$64=0,$640=0,$641=0,$642=0,$643=0,$644=0,$645=0,$646=0,$647=0,$648=0,$649=0;var $65=0,$650=0,$651=0,$652=0,$653=0,$654=0,$655=0,$656=0,$657=0,$658=0,$659=0,$66=0,$660=0,$661=0,$662=0,$663=0,$664=0,$665=0,$666=0,$667=0;var $668=0,$669=0,$67=0,$670=0,$671=0,$672=0,$673=0,$674=0,$675=0,$676=0,$677=0,$678=0,$679=0,$68=0,$680=0,$681=0,$682=0,$683=0,$684=0,$685=0;var $686=0,$687=0,$688=0,$689=0,$69=0,$690=0,$691=0,$692=0,$693=0,$694=0,$695=0,$696=0,$697=0,$698=0,$699=0,$7=0,$70=0,$700=0,$701=0,$702=0;var $703=0,$704=0,$705=0,$706=0,$707=0,$708=0,$709=0,$71=0,$710=0,$711=0,$712=0,$713=0,$714=0,$715=0,$716=0,$717=0,$718=0,$719=0,$72=0,$720=0;var $721=0,$722=0,$723=0,$724=0,$725=0,$726=0,$727=0,$728=0,$729=0,$73=0,$730=0,$731=0,$732=0,$733=0,$734=0,$735=0,$736=0,$737=0,$738=0,$739=0;var $74=0,$740=0,$741=0,$742=0,$743=0,$744=0,$745=0,$746=0,$747=0,$748=0,$749=0,$75=0,$750=0,$751=0,$752=0,$753=0,$754=0,$755=0,$756=0,$757=0;var $758=0,$759=0,$76=0,$760=0,$761=0,$762=0,$763=0,$764=0,$765=0,$766=0,$767=0,$768=0,$769=0,$77=0,$770=0,$771=0,$772=0,$773=0,$774=0,$775=0;var $776=0,$777=0,$778=0,$779=0,$78=0,$780=0,$781=0,$782=0,$783=0,$784=0,$785=0,$786=0,$787=0,$788=0,$789=0,$79=0,$790=0,$791=0,$792=0,$793=0;var $794=0,$795=0,$796=0,$797=0,$798=0,$799=0,$8=0,$80=0,$800=0,$801=0,$802=0,$803=0,$804=0,$805=0,$806=0,$807=0,$808=0,$809=0,$81=0,$810=0;var $811=0,$812=0,$813=0,$814=0,$815=0,$816=0,$817=0,$818=0,$819=0,$82=0,$820=0,$821=0,$822=0,$823=0,$824=0,$825=0,$826=0,$827=0,$828=0,$829=0;var $83=0,$830=0,$831=0,$832=0,$833=0,$834=0,$835=0,$836=0,$837=0,$838=0,$839=0,$84=0,$840=0,$841=0,$842=0,$843=0,$844=0,$845=0,$846=0,$847=0;var $848=0,$849=0,$85=0,$850=0,$851=0,$852=0,$853=0,$854=0,$855=0,$856=0,$857=0,$858=0,$859=0,$86=0,$860=0,$861=0,$862=0,$863=0,$864=0,$865=0;var $866=0,$867=0,$868=0,$869=0,$87=0,$870=0,$871=0,$872=0,$873=0,$874=0,$875=0,$876=0,$877=0,$878=0,$879=0,$88=0,$880=0,$881=0,$882=0,$883=0;var $884=0,$885=0,$886=0,$887=0,$888=0,$889=0,$89=0,$890=0,$891=0,$892=0,$893=0,$894=0,$895=0,$896=0,$897=0,$898=0,$899=0,$9=0,$90=0,$900=0;var $901=0,$902=0,$903=0,$904=0,$905=0,$906=0,$907=0,$908=0,$909=0,$91=0,$910=0,$911=0,$912=0,$913=0,$914=0,$915=0,$916=0,$917=0,$918=0,$919=0;var $92=0,$920=0,$921=0,$922=0,$923=0,$924=0,$925=0,$926=0,$927=0,$928=0,$929=0,$93=0,$930=0,$931=0,$932=0,$933=0,$934=0,$935=0,$936=0,$937=0;var $938=0,$939=0,$94=0,$940=0,$941=0,$942=0,$943=0,$944=0,$945=0,$946=0,$947=0,$948=0,$949=0,$95=0,$950=0,$951=0,$952=0,$953=0,$954=0,$955=0;var $956=0,$957=0,$958=0,$959=0,$96=0,$960=0,$961=0,$962=0,$963=0,$964=0,$965=0,$966=0,$967=0,$968=0,$969=0,$97=0,$970=0,$971=0,$972=0,$973=0;var $974=0,$975=0,$976=0,$977=0,$978=0,$979=0,$98=0,$980=0,$981=0,$982=0,$983=0,$984=0,$985=0,$986=0,$987=0,$988=0,$989=0,$99=0,$990=0,$991=0;var $992=0,$993=0,$994=0,$995=0,$996=0,$997=0,$998=0,$999=0,label=0,sp=0;sp=STACKTOP;$0=$in2;$1=$0;$2=HEAP32[$1>>2]|0;$3=$0+4|0;$4=$3;$5=HEAP32[$4>>2]|0;$6=_bitshift64Ashr(0,$2|0,32)|0;$7=tempRet0;$8=$in;$9=$8;$10=HEAP32[$9>>2]|0;$11=$8+4|0;$12=$11;$13=HEAP32[$12>>2]|0;$14=_bitshift64Ashr(0,$10|0,32)|0;$15=tempRet0;$16=___muldi3($14|0,$15|0,$6|0,$7|0)|0;$17=tempRet0;$18=$output;$19=$18;HEAP32[$19>>2]=$16;$20=$18+4|0;$21=$20;HEAP32[$21>>2]=$17;$22=$in2;$23=$22;$24=HEAP32[$23>>2]|0;$25=$22+4|0;$26=$25;$27=HEAP32[$26>>2]|0;$28=_bitshift64Ashr(0,$24|0,32)|0;$29=tempRet0;$30=$in+8|0;$31=$30;$32=$31;$33=HEAP32[$32>>2]|0;$34=$31+4|0;$35=$34;$36=HEAP32[$35>>2]|0;$37=_bitshift64Ashr(0,$33|0,32)|0;$38=tempRet0;$39=___muldi3($37|0,$38|0,$28|0,$29|0)|0;$40=tempRet0;$41=$in2+8|0;$42=$41;$43=$42;$44=HEAP32[$43>>2]|0;$45=$42+4|0;$46=$45;$47=HEAP32[$46>>2]|0;$48=_bitshift64Ashr(0,$44|0,32)|0;$49=tempRet0;$50=$in;$51=$50;$52=HEAP32[$51>>2]|0;$53=$50+4|0;$54=$53;$55=HEAP32[$54>>2]|0;$56=_bitshift64Ashr(0,$52|0,32)|0;$57=tempRet0;$58=___muldi3($56|0,$57|0,$48|0,$49|0)|0;$59=tempRet0;$60=_i64Add($58|0,$59|0,$39|0,$40|0)|0;$61=tempRet0;$62=$output+8|0;$63=$62;$64=$63;HEAP32[$64>>2]=$60;$65=$63+4|0;$66=$65;HEAP32[$66>>2]=$61;$67=$41;$68=$67;$69=HEAP32[$68>>2]|0;$70=$67+4|0;$71=$70;$72=HEAP32[$71>>2]|0;$73=_bitshift64Ashr(0,$69|0,31)|0;$74=tempRet0;$75=$30;$76=$75;$77=HEAP32[$76>>2]|0;$78=$75+4|0;$79=$78;$80=HEAP32[$79>>2]|0;$81=_bitshift64Ashr(0,$77|0,32)|0;$82=tempRet0;$83=___muldi3($81|0,$82|0,$73|0,$74|0)|0;$84=tempRet0;$85=$in2;$86=$85;$87=HEAP32[$86>>2]|0;$88=$85+4|0;$89=$88;$90=HEAP32[$89>>2]|0;$91=_bitshift64Ashr(0,$87|0,32)|0;$92=tempRet0;$93=$in+16|0;$94=$93;$95=$94;$96=HEAP32[$95>>2]|0;$97=$94+4|0;$98=$97;$99=HEAP32[$98>>2]|0;$100=_bitshift64Ashr(0,$96|0,32)|0;$101=tempRet0;$102=___muldi3($100|0,$101|0,$91|0,$92|0)|0;$103=tempRet0;$104=_i64Add($102|0,$103|0,$83|0,$84|0)|0;$105=tempRet0;$106=$in2+16|0;$107=$106;$108=$107;$109=HEAP32[$108>>2]|0;$110=$107+4|0;$111=$110;$112=HEAP32[$111>>2]|0;$113=_bitshift64Ashr(0,$109|0,32)|0;$114=tempRet0;$115=$in;$116=$115;$117=HEAP32[$116>>2]|0;$118=$115+4|0;$119=$118;$120=HEAP32[$119>>2]|0;$121=_bitshift64Ashr(0,$117|0,32)|0;$122=tempRet0;$123=___muldi3($121|0,$122|0,$113|0,$114|0)|0;$124=tempRet0;$125=_i64Add($104|0,$105|0,$123|0,$124|0)|0;$126=tempRet0;$127=$output+16|0;$128=$127;$129=$128;HEAP32[$129>>2]=$125;$130=$128+4|0;$131=$130;HEAP32[$131>>2]=$126;$132=$41;$133=$132;$134=HEAP32[$133>>2]|0;$135=$132+4|0;$136=$135;$137=HEAP32[$136>>2]|0;$138=_bitshift64Ashr(0,$134|0,32)|0;$139=tempRet0;$140=$93;$141=$140;$142=HEAP32[$141>>2]|0;$143=$140+4|0;$144=$143;$145=HEAP32[$144>>2]|0;$146=_bitshift64Ashr(0,$142|0,32)|0;$147=tempRet0;$148=___muldi3($146|0,$147|0,$138|0,$139|0)|0;$149=tempRet0;$150=$106;$151=$150;$152=HEAP32[$151>>2]|0;$153=$150+4|0;$154=$153;$155=HEAP32[$154>>2]|0;$156=_bitshift64Ashr(0,$152|0,32)|0;$157=tempRet0;$158=$30;$159=$158;$160=HEAP32[$159>>2]|0;$161=$158+4|0;$162=$161;$163=HEAP32[$162>>2]|0;$164=_bitshift64Ashr(0,$160|0,32)|0;$165=tempRet0;$166=___muldi3($164|0,$165|0,$156|0,$157|0)|0;$167=tempRet0;$168=_i64Add($166|0,$167|0,$148|0,$149|0)|0;$169=tempRet0;$170=$in2;$171=$170;$172=HEAP32[$171>>2]|0;$173=$170+4|0;$174=$173;$175=HEAP32[$174>>2]|0;$176=_bitshift64Ashr(0,$172|0,32)|0;$177=tempRet0;$178=$in+24|0;$179=$178;$180=$179;$181=HEAP32[$180>>2]|0;$182=$179+4|0;$183=$182;$184=HEAP32[$183>>2]|0;$185=_bitshift64Ashr(0,$181|0,32)|0;$186=tempRet0;$187=___muldi3($185|0,$186|0,$176|0,$177|0)|0;$188=tempRet0;$189=_i64Add($168|0,$169|0,$187|0,$188|0)|0;$190=tempRet0;$191=$in2+24|0;$192=$191;$193=$192;$194=HEAP32[$193>>2]|0;$195=$192+4|0;$196=$195;$197=HEAP32[$196>>2]|0;$198=_bitshift64Ashr(0,$194|0,32)|0;$199=tempRet0;$200=$in;$201=$200;$202=HEAP32[$201>>2]|0;$203=$200+4|0;$204=$203;$205=HEAP32[$204>>2]|0;$206=_bitshift64Ashr(0,$202|0,32)|0;$207=tempRet0;$208=___muldi3($206|0,$207|0,$198|0,$199|0)|0;$209=tempRet0;$210=_i64Add($189|0,$190|0,$208|0,$209|0)|0;$211=tempRet0;$212=$output+24|0;$213=$212;$214=$213;HEAP32[$214>>2]=$210;$215=$213+4|0;$216=$215;HEAP32[$216>>2]=$211;$217=$106;$218=$217;$219=HEAP32[$218>>2]|0;$220=$217+4|0;$221=$220;$222=HEAP32[$221>>2]|0;$223=_bitshift64Ashr(0,$219|0,32)|0;$224=tempRet0;$225=$93;$226=$225;$227=HEAP32[$226>>2]|0;$228=$225+4|0;$229=$228;$230=HEAP32[$229>>2]|0;$231=_bitshift64Ashr(0,$227|0,32)|0;$232=tempRet0;$233=___muldi3($231|0,$232|0,$223|0,$224|0)|0;$234=tempRet0;$235=$41;$236=$235;$237=HEAP32[$236>>2]|0;$238=$235+4|0;$239=$238;$240=HEAP32[$239>>2]|0;$241=_bitshift64Ashr(0,$237|0,32)|0;$242=tempRet0;$243=$178;$244=$243;$245=HEAP32[$244>>2]|0;$246=$243+4|0;$247=$246;$248=HEAP32[$247>>2]|0;$249=_bitshift64Ashr(0,$245|0,32)|0;$250=tempRet0;$251=___muldi3($249|0,$250|0,$241|0,$242|0)|0;$252=tempRet0;$253=$191;$254=$253;$255=HEAP32[$254>>2]|0;$256=$253+4|0;$257=$256;$258=HEAP32[$257>>2]|0;$259=_bitshift64Ashr(0,$255|0,32)|0;$260=tempRet0;$261=$30;$262=$261;$263=HEAP32[$262>>2]|0;$264=$261+4|0;$265=$264;$266=HEAP32[$265>>2]|0;$267=_bitshift64Ashr(0,$263|0,32)|0;$268=tempRet0;$269=___muldi3($267|0,$268|0,$259|0,$260|0)|0;$270=tempRet0;$271=_i64Add($269|0,$270|0,$251|0,$252|0)|0;$272=tempRet0;$273=_bitshift64Shl($271|0,$272|0,1)|0;$274=tempRet0;$275=_i64Add($273|0,$274|0,$233|0,$234|0)|0;$276=tempRet0;$277=$in2;$278=$277;$279=HEAP32[$278>>2]|0;$280=$277+4|0;$281=$280;$282=HEAP32[$281>>2]|0;$283=_bitshift64Ashr(0,$279|0,32)|0;$284=tempRet0;$285=$in+32|0;$286=$285;$287=$286;$288=HEAP32[$287>>2]|0;$289=$286+4|0;$290=$289;$291=HEAP32[$290>>2]|0;$292=_bitshift64Ashr(0,$288|0,32)|0;$293=tempRet0;$294=___muldi3($292|0,$293|0,$283|0,$284|0)|0;$295=tempRet0;$296=_i64Add($275|0,$276|0,$294|0,$295|0)|0;$297=tempRet0;$298=$in2+32|0;$299=$298;$300=$299;$301=HEAP32[$300>>2]|0;$302=$299+4|0;$303=$302;$304=HEAP32[$303>>2]|0;$305=_bitshift64Ashr(0,$301|0,32)|0;$306=tempRet0;$307=$in;$308=$307;$309=HEAP32[$308>>2]|0;$310=$307+4|0;$311=$310;$312=HEAP32[$311>>2]|0;$313=_bitshift64Ashr(0,$309|0,32)|0;$314=tempRet0;$315=___muldi3($313|0,$314|0,$305|0,$306|0)|0;$316=tempRet0;$317=_i64Add($296|0,$297|0,$315|0,$316|0)|0;$318=tempRet0;$319=$output+32|0;$320=$319;$321=$320;HEAP32[$321>>2]=$317;$322=$320+4|0;$323=$322;HEAP32[$323>>2]=$318;$324=$106;$325=$324;$326=HEAP32[$325>>2]|0;$327=$324+4|0;$328=$327;$329=HEAP32[$328>>2]|0;$330=_bitshift64Ashr(0,$326|0,32)|0;$331=tempRet0;$332=$178;$333=$332;$334=HEAP32[$333>>2]|0;$335=$332+4|0;$336=$335;$337=HEAP32[$336>>2]|0;$338=_bitshift64Ashr(0,$334|0,32)|0;$339=tempRet0;$340=___muldi3($338|0,$339|0,$330|0,$331|0)|0;$341=tempRet0;$342=$191;$343=$342;$344=HEAP32[$343>>2]|0;$345=$342+4|0;$346=$345;$347=HEAP32[$346>>2]|0;$348=_bitshift64Ashr(0,$344|0,32)|0;$349=tempRet0;$350=$93;$351=$350;$352=HEAP32[$351>>2]|0;$353=$350+4|0;$354=$353;$355=HEAP32[$354>>2]|0;$356=_bitshift64Ashr(0,$352|0,32)|0;$357=tempRet0;$358=___muldi3($356|0,$357|0,$348|0,$349|0)|0;$359=tempRet0;$360=_i64Add($358|0,$359|0,$340|0,$341|0)|0;$361=tempRet0;$362=$41;$363=$362;$364=HEAP32[$363>>2]|0;$365=$362+4|0;$366=$365;$367=HEAP32[$366>>2]|0;$368=_bitshift64Ashr(0,$364|0,32)|0;$369=tempRet0;$370=$285;$371=$370;$372=HEAP32[$371>>2]|0;$373=$370+4|0;$374=$373;$375=HEAP32[$374>>2]|0;$376=_bitshift64Ashr(0,$372|0,32)|0;$377=tempRet0;$378=___muldi3($376|0,$377|0,$368|0,$369|0)|0;$379=tempRet0;$380=_i64Add($360|0,$361|0,$378|0,$379|0)|0;$381=tempRet0;$382=$298;$383=$382;$384=HEAP32[$383>>2]|0;$385=$382+4|0;$386=$385;$387=HEAP32[$386>>2]|0;$388=_bitshift64Ashr(0,$384|0,32)|0;$389=tempRet0;$390=$30;$391=$390;$392=HEAP32[$391>>2]|0;$393=$390+4|0;$394=$393;$395=HEAP32[$394>>2]|0;$396=_bitshift64Ashr(0,$392|0,32)|0;$397=tempRet0;$398=___muldi3($396|0,$397|0,$388|0,$389|0)|0;$399=tempRet0;$400=_i64Add($380|0,$381|0,$398|0,$399|0)|0;$401=tempRet0;$402=$in2;$403=$402;$404=HEAP32[$403>>2]|0;$405=$402+4|0;$406=$405;$407=HEAP32[$406>>2]|0;$408=_bitshift64Ashr(0,$404|0,32)|0;$409=tempRet0;$410=$in+40|0;$411=$410;$412=$411;$413=HEAP32[$412>>2]|0;$414=$411+4|0;$415=$414;$416=HEAP32[$415>>2]|0;$417=_bitshift64Ashr(0,$413|0,32)|0;$418=tempRet0;$419=___muldi3($417|0,$418|0,$408|0,$409|0)|0;$420=tempRet0;$421=_i64Add($400|0,$401|0,$419|0,$420|0)|0;$422=tempRet0;$423=$in2+40|0;$424=$423;$425=$424;$426=HEAP32[$425>>2]|0;$427=$424+4|0;$428=$427;$429=HEAP32[$428>>2]|0;$430=_bitshift64Ashr(0,$426|0,32)|0;$431=tempRet0;$432=$in;$433=$432;$434=HEAP32[$433>>2]|0;$435=$432+4|0;$436=$435;$437=HEAP32[$436>>2]|0;$438=_bitshift64Ashr(0,$434|0,32)|0;$439=tempRet0;$440=___muldi3($438|0,$439|0,$430|0,$431|0)|0;$441=tempRet0;$442=_i64Add($421|0,$422|0,$440|0,$441|0)|0;$443=tempRet0;$444=$output+40|0;$445=$444;$446=$445;HEAP32[$446>>2]=$442;$447=$445+4|0;$448=$447;HEAP32[$448>>2]=$443;$449=$191;$450=$449;$451=HEAP32[$450>>2]|0;$452=$449+4|0;$453=$452;$454=HEAP32[$453>>2]|0;$455=_bitshift64Ashr(0,$451|0,32)|0;$456=tempRet0;$457=$178;$458=$457;$459=HEAP32[$458>>2]|0;$460=$457+4|0;$461=$460;$462=HEAP32[$461>>2]|0;$463=_bitshift64Ashr(0,$459|0,32)|0;$464=tempRet0;$465=___muldi3($463|0,$464|0,$455|0,$456|0)|0;$466=tempRet0;$467=$41;$468=$467;$469=HEAP32[$468>>2]|0;$470=$467+4|0;$471=$470;$472=HEAP32[$471>>2]|0;$473=_bitshift64Ashr(0,$469|0,32)|0;$474=tempRet0;$475=$410;$476=$475;$477=HEAP32[$476>>2]|0;$478=$475+4|0;$479=$478;$480=HEAP32[$479>>2]|0;$481=_bitshift64Ashr(0,$477|0,32)|0;$482=tempRet0;$483=___muldi3($481|0,$482|0,$473|0,$474|0)|0;$484=tempRet0;$485=_i64Add($483|0,$484|0,$465|0,$466|0)|0;$486=tempRet0;$487=$423;$488=$487;$489=HEAP32[$488>>2]|0;$490=$487+4|0;$491=$490;$492=HEAP32[$491>>2]|0;$493=_bitshift64Ashr(0,$489|0,32)|0;$494=tempRet0;$495=$30;$496=$495;$497=HEAP32[$496>>2]|0;$498=$495+4|0;$499=$498;$500=HEAP32[$499>>2]|0;$501=_bitshift64Ashr(0,$497|0,32)|0;$502=tempRet0;$503=___muldi3($501|0,$502|0,$493|0,$494|0)|0;$504=tempRet0;$505=_i64Add($485|0,$486|0,$503|0,$504|0)|0;$506=tempRet0;$507=_bitshift64Shl($505|0,$506|0,1)|0;$508=tempRet0;$509=$106;$510=$509;$511=HEAP32[$510>>2]|0;$512=$509+4|0;$513=$512;$514=HEAP32[$513>>2]|0;$515=_bitshift64Ashr(0,$511|0,32)|0;$516=tempRet0;$517=$285;$518=$517;$519=HEAP32[$518>>2]|0;$520=$517+4|0;$521=$520;$522=HEAP32[$521>>2]|0;$523=_bitshift64Ashr(0,$519|0,32)|0;$524=tempRet0;$525=___muldi3($523|0,$524|0,$515|0,$516|0)|0;$526=tempRet0;$527=_i64Add($507|0,$508|0,$525|0,$526|0)|0;$528=tempRet0;$529=$298;$530=$529;$531=HEAP32[$530>>2]|0;$532=$529+4|0;$533=$532;$534=HEAP32[$533>>2]|0;$535=_bitshift64Ashr(0,$531|0,32)|0;$536=tempRet0;$537=$93;$538=$537;$539=HEAP32[$538>>2]|0;$540=$537+4|0;$541=$540;$542=HEAP32[$541>>2]|0;$543=_bitshift64Ashr(0,$539|0,32)|0;$544=tempRet0;$545=___muldi3($543|0,$544|0,$535|0,$536|0)|0;$546=tempRet0;$547=_i64Add($527|0,$528|0,$545|0,$546|0)|0;$548=tempRet0;$549=$in2;$550=$549;$551=HEAP32[$550>>2]|0;$552=$549+4|0;$553=$552;$554=HEAP32[$553>>2]|0;$555=_bitshift64Ashr(0,$551|0,32)|0;$556=tempRet0;$557=$in+48|0;$558=$557;$559=$558;$560=HEAP32[$559>>2]|0;$561=$558+4|0;$562=$561;$563=HEAP32[$562>>2]|0;$564=_bitshift64Ashr(0,$560|0,32)|0;$565=tempRet0;$566=___muldi3($564|0,$565|0,$555|0,$556|0)|0;$567=tempRet0;$568=_i64Add($547|0,$548|0,$566|0,$567|0)|0;$569=tempRet0;$570=$in2+48|0;$571=$570;$572=$571;$573=HEAP32[$572>>2]|0;$574=$571+4|0;$575=$574;$576=HEAP32[$575>>2]|0;$577=_bitshift64Ashr(0,$573|0,32)|0;$578=tempRet0;$579=$in;$580=$579;$581=HEAP32[$580>>2]|0;$582=$579+4|0;$583=$582;$584=HEAP32[$583>>2]|0;$585=_bitshift64Ashr(0,$581|0,32)|0;$586=tempRet0;$587=___muldi3($585|0,$586|0,$577|0,$578|0)|0;$588=tempRet0;$589=_i64Add($568|0,$569|0,$587|0,$588|0)|0;$590=tempRet0;$591=$output+48|0;$592=$591;$593=$592;HEAP32[$593>>2]=$589;$594=$592+4|0;$595=$594;HEAP32[$595>>2]=$590;$596=$191;$597=$596;$598=HEAP32[$597>>2]|0;$599=$596+4|0;$600=$599;$601=HEAP32[$600>>2]|0;$602=_bitshift64Ashr(0,$598|0,32)|0;$603=tempRet0;$604=$285;$605=$604;$606=HEAP32[$605>>2]|0;$607=$604+4|0;$608=$607;$609=HEAP32[$608>>2]|0;$610=_bitshift64Ashr(0,$606|0,32)|0;$611=tempRet0;$612=___muldi3($610|0,$611|0,$602|0,$603|0)|0;$613=tempRet0;$614=$298;$615=$614;$616=HEAP32[$615>>2]|0;$617=$614+4|0;$618=$617;$619=HEAP32[$618>>2]|0;$620=_bitshift64Ashr(0,$616|0,32)|0;$621=tempRet0;$622=$178;$623=$622;$624=HEAP32[$623>>2]|0;$625=$622+4|0;$626=$625;$627=HEAP32[$626>>2]|0;$628=_bitshift64Ashr(0,$624|0,32)|0;$629=tempRet0;$630=___muldi3($628|0,$629|0,$620|0,$621|0)|0;$631=tempRet0;$632=_i64Add($630|0,$631|0,$612|0,$613|0)|0;$633=tempRet0;$634=$106;$635=$634;$636=HEAP32[$635>>2]|0;$637=$634+4|0;$638=$637;$639=HEAP32[$638>>2]|0;$640=_bitshift64Ashr(0,$636|0,32)|0;$641=tempRet0;$642=$410;$643=$642;$644=HEAP32[$643>>2]|0;$645=$642+4|0;$646=$645;$647=HEAP32[$646>>2]|0;$648=_bitshift64Ashr(0,$644|0,32)|0;$649=tempRet0;$650=___muldi3($648|0,$649|0,$640|0,$641|0)|0;$651=tempRet0;$652=_i64Add($632|0,$633|0,$650|0,$651|0)|0;$653=tempRet0;$654=$423;$655=$654;$656=HEAP32[$655>>2]|0;$657=$654+4|0;$658=$657;$659=HEAP32[$658>>2]|0;$660=_bitshift64Ashr(0,$656|0,32)|0;$661=tempRet0;$662=$93;$663=$662;$664=HEAP32[$663>>2]|0;$665=$662+4|0;$666=$665;$667=HEAP32[$666>>2]|0;$668=_bitshift64Ashr(0,$664|0,32)|0;$669=tempRet0;$670=___muldi3($668|0,$669|0,$660|0,$661|0)|0;$671=tempRet0;$672=_i64Add($652|0,$653|0,$670|0,$671|0)|0;$673=tempRet0;$674=$41;$675=$674;$676=HEAP32[$675>>2]|0;$677=$674+4|0;$678=$677;$679=HEAP32[$678>>2]|0;$680=_bitshift64Ashr(0,$676|0,32)|0;$681=tempRet0;$682=$557;$683=$682;$684=HEAP32[$683>>2]|0;$685=$682+4|0;$686=$685;$687=HEAP32[$686>>2]|0;$688=_bitshift64Ashr(0,$684|0,32)|0;$689=tempRet0;$690=___muldi3($688|0,$689|0,$680|0,$681|0)|0;$691=tempRet0;$692=_i64Add($672|0,$673|0,$690|0,$691|0)|0;$693=tempRet0;$694=$570;$695=$694;$696=HEAP32[$695>>2]|0;$697=$694+4|0;$698=$697;$699=HEAP32[$698>>2]|0;$700=_bitshift64Ashr(0,$696|0,32)|0;$701=tempRet0;$702=$30;$703=$702;$704=HEAP32[$703>>2]|0;$705=$702+4|0;$706=$705;$707=HEAP32[$706>>2]|0;$708=_bitshift64Ashr(0,$704|0,32)|0;$709=tempRet0;$710=___muldi3($708|0,$709|0,$700|0,$701|0)|0;$711=tempRet0;$712=_i64Add($692|0,$693|0,$710|0,$711|0)|0;$713=tempRet0;$714=$in2;$715=$714;$716=HEAP32[$715>>2]|0;$717=$714+4|0;$718=$717;$719=HEAP32[$718>>2]|0;$720=_bitshift64Ashr(0,$716|0,32)|0;$721=tempRet0;$722=$in+56|0;$723=$722;$724=$723;$725=HEAP32[$724>>2]|0;$726=$723+4|0;$727=$726;$728=HEAP32[$727>>2]|0;$729=_bitshift64Ashr(0,$725|0,32)|0;$730=tempRet0;$731=___muldi3($729|0,$730|0,$720|0,$721|0)|0;$732=tempRet0;$733=_i64Add($712|0,$713|0,$731|0,$732|0)|0;$734=tempRet0;$735=$in2+56|0;$736=$735;$737=$736;$738=HEAP32[$737>>2]|0;$739=$736+4|0;$740=$739;$741=HEAP32[$740>>2]|0;$742=_bitshift64Ashr(0,$738|0,32)|0;$743=tempRet0;$744=$in;$745=$744;$746=HEAP32[$745>>2]|0;$747=$744+4|0;$748=$747;$749=HEAP32[$748>>2]|0;$750=_bitshift64Ashr(0,$746|0,32)|0;$751=tempRet0;$752=___muldi3($750|0,$751|0,$742|0,$743|0)|0;$753=tempRet0;$754=_i64Add($733|0,$734|0,$752|0,$753|0)|0;$755=tempRet0;$756=$output+56|0;$757=$756;$758=$757;HEAP32[$758>>2]=$754;$759=$757+4|0;$760=$759;HEAP32[$760>>2]=$755;$761=$298;$762=$761;$763=HEAP32[$762>>2]|0;$764=$761+4|0;$765=$764;$766=HEAP32[$765>>2]|0;$767=_bitshift64Ashr(0,$763|0,32)|0;$768=tempRet0;$769=$285;$770=$769;$771=HEAP32[$770>>2]|0;$772=$769+4|0;$773=$772;$774=HEAP32[$773>>2]|0;$775=_bitshift64Ashr(0,$771|0,32)|0;$776=tempRet0;$777=___muldi3($775|0,$776|0,$767|0,$768|0)|0;$778=tempRet0;$779=$191;$780=$779;$781=HEAP32[$780>>2]|0;$782=$779+4|0;$783=$782;$784=HEAP32[$783>>2]|0;$785=_bitshift64Ashr(0,$781|0,32)|0;$786=tempRet0;$787=$410;$788=$787;$789=HEAP32[$788>>2]|0;$790=$787+4|0;$791=$790;$792=HEAP32[$791>>2]|0;$793=_bitshift64Ashr(0,$789|0,32)|0;$794=tempRet0;$795=___muldi3($793|0,$794|0,$785|0,$786|0)|0;$796=tempRet0;$797=$423;$798=$797;$799=HEAP32[$798>>2]|0;$800=$797+4|0;$801=$800;$802=HEAP32[$801>>2]|0;$803=_bitshift64Ashr(0,$799|0,32)|0;$804=tempRet0;$805=$178;$806=$805;$807=HEAP32[$806>>2]|0;$808=$805+4|0;$809=$808;$810=HEAP32[$809>>2]|0;$811=_bitshift64Ashr(0,$807|0,32)|0;$812=tempRet0;$813=___muldi3($811|0,$812|0,$803|0,$804|0)|0;$814=tempRet0;$815=_i64Add($813|0,$814|0,$795|0,$796|0)|0;$816=tempRet0;$817=$41;$818=$817;$819=HEAP32[$818>>2]|0;$820=$817+4|0;$821=$820;$822=HEAP32[$821>>2]|0;$823=_bitshift64Ashr(0,$819|0,32)|0;$824=tempRet0;$825=$722;$826=$825;$827=HEAP32[$826>>2]|0;$828=$825+4|0;$829=$828;$830=HEAP32[$829>>2]|0;$831=_bitshift64Ashr(0,$827|0,32)|0;$832=tempRet0;$833=___muldi3($831|0,$832|0,$823|0,$824|0)|0;$834=tempRet0;$835=_i64Add($815|0,$816|0,$833|0,$834|0)|0;$836=tempRet0;$837=$735;$838=$837;$839=HEAP32[$838>>2]|0;$840=$837+4|0;$841=$840;$842=HEAP32[$841>>2]|0;$843=_bitshift64Ashr(0,$839|0,32)|0;$844=tempRet0;$845=$30;$846=$845;$847=HEAP32[$846>>2]|0;$848=$845+4|0;$849=$848;$850=HEAP32[$849>>2]|0;$851=_bitshift64Ashr(0,$847|0,32)|0;$852=tempRet0;$853=___muldi3($851|0,$852|0,$843|0,$844|0)|0;$854=tempRet0;$855=_i64Add($835|0,$836|0,$853|0,$854|0)|0;$856=tempRet0;$857=_bitshift64Shl($855|0,$856|0,1)|0;$858=tempRet0;$859=_i64Add($857|0,$858|0,$777|0,$778|0)|0;$860=tempRet0;$861=$106;$862=$861;$863=HEAP32[$862>>2]|0;$864=$861+4|0;$865=$864;$866=HEAP32[$865>>2]|0;$867=_bitshift64Ashr(0,$863|0,32)|0;$868=tempRet0;$869=$557;$870=$869;$871=HEAP32[$870>>2]|0;$872=$869+4|0;$873=$872;$874=HEAP32[$873>>2]|0;$875=_bitshift64Ashr(0,$871|0,32)|0;$876=tempRet0;$877=___muldi3($875|0,$876|0,$867|0,$868|0)|0;$878=tempRet0;$879=_i64Add($859|0,$860|0,$877|0,$878|0)|0;$880=tempRet0;$881=$570;$882=$881;$883=HEAP32[$882>>2]|0;$884=$881+4|0;$885=$884;$886=HEAP32[$885>>2]|0;$887=_bitshift64Ashr(0,$883|0,32)|0;$888=tempRet0;$889=$93;$890=$889;$891=HEAP32[$890>>2]|0;$892=$889+4|0;$893=$892;$894=HEAP32[$893>>2]|0;$895=_bitshift64Ashr(0,$891|0,32)|0;$896=tempRet0;$897=___muldi3($895|0,$896|0,$887|0,$888|0)|0;$898=tempRet0;$899=_i64Add($879|0,$880|0,$897|0,$898|0)|0;$900=tempRet0;$901=$in2;$902=$901;$903=HEAP32[$902>>2]|0;$904=$901+4|0;$905=$904;$906=HEAP32[$905>>2]|0;$907=_bitshift64Ashr(0,$903|0,32)|0;$908=tempRet0;$909=$in+64|0;$910=$909;$911=$910;$912=HEAP32[$911>>2]|0;$913=$910+4|0;$914=$913;$915=HEAP32[$914>>2]|0;$916=_bitshift64Ashr(0,$912|0,32)|0;$917=tempRet0;$918=___muldi3($916|0,$917|0,$907|0,$908|0)|0;$919=tempRet0;$920=_i64Add($899|0,$900|0,$918|0,$919|0)|0;$921=tempRet0;$922=$in2+64|0;$923=$922;$924=$923;$925=HEAP32[$924>>2]|0;$926=$923+4|0;$927=$926;$928=HEAP32[$927>>2]|0;$929=_bitshift64Ashr(0,$925|0,32)|0;$930=tempRet0;$931=$in;$932=$931;$933=HEAP32[$932>>2]|0;$934=$931+4|0;$935=$934;$936=HEAP32[$935>>2]|0;$937=_bitshift64Ashr(0,$933|0,32)|0;$938=tempRet0;$939=___muldi3($937|0,$938|0,$929|0,$930|0)|0;$940=tempRet0;$941=_i64Add($920|0,$921|0,$939|0,$940|0)|0;$942=tempRet0;$943=$output+64|0;$944=$943;$945=$944;HEAP32[$945>>2]=$941;$946=$944+4|0;$947=$946;HEAP32[$947>>2]=$942;$948=$298;$949=$948;$950=HEAP32[$949>>2]|0;$951=$948+4|0;$952=$951;$953=HEAP32[$952>>2]|0;$954=_bitshift64Ashr(0,$950|0,32)|0;$955=tempRet0;$956=$410;$957=$956;$958=HEAP32[$957>>2]|0;$959=$956+4|0;$960=$959;$961=HEAP32[$960>>2]|0;$962=_bitshift64Ashr(0,$958|0,32)|0;$963=tempRet0;$964=___muldi3($962|0,$963|0,$954|0,$955|0)|0;$965=tempRet0;$966=$423;$967=$966;$968=HEAP32[$967>>2]|0;$969=$966+4|0;$970=$969;$971=HEAP32[$970>>2]|0;$972=_bitshift64Ashr(0,$968|0,32)|0;$973=tempRet0;$974=$285;$975=$974;$976=HEAP32[$975>>2]|0;$977=$974+4|0;$978=$977;$979=HEAP32[$978>>2]|0;$980=_bitshift64Ashr(0,$976|0,32)|0;$981=tempRet0;$982=___muldi3($980|0,$981|0,$972|0,$973|0)|0;$983=tempRet0;$984=_i64Add($982|0,$983|0,$964|0,$965|0)|0;$985=tempRet0;$986=$191;$987=$986;$988=HEAP32[$987>>2]|0;$989=$986+4|0;$990=$989;$991=HEAP32[$990>>2]|0;$992=_bitshift64Ashr(0,$988|0,32)|0;$993=tempRet0;$994=$557;$995=$994;$996=HEAP32[$995>>2]|0;$997=$994+4|0;$998=$997;$999=HEAP32[$998>>2]|0;$1000=_bitshift64Ashr(0,$996|0,32)|0;$1001=tempRet0;$1002=___muldi3($1000|0,$1001|0,$992|0,$993|0)|0;$1003=tempRet0;$1004=_i64Add($984|0,$985|0,$1002|0,$1003|0)|0;$1005=tempRet0;$1006=$570;$1007=$1006;$1008=HEAP32[$1007>>2]|0;$1009=$1006+4|0;$1010=$1009;$1011=HEAP32[$1010>>2]|0;$1012=_bitshift64Ashr(0,$1008|0,32)|0;$1013=tempRet0;$1014=$178;$1015=$1014;$1016=HEAP32[$1015>>2]|0;$1017=$1014+4|0;$1018=$1017;$1019=HEAP32[$1018>>2]|0;$1020=_bitshift64Ashr(0,$1016|0,32)|0;$1021=tempRet0;$1022=___muldi3($1020|0,$1021|0,$1012|0,$1013|0)|0;$1023=tempRet0;$1024=_i64Add($1004|0,$1005|0,$1022|0,$1023|0)|0;$1025=tempRet0;$1026=$106;$1027=$1026;$1028=HEAP32[$1027>>2]|0;$1029=$1026+4|0;$1030=$1029;$1031=HEAP32[$1030>>2]|0;$1032=_bitshift64Ashr(0,$1028|0,32)|0;$1033=tempRet0;$1034=$722;$1035=$1034;$1036=HEAP32[$1035>>2]|0;$1037=$1034+4|0;$1038=$1037;$1039=HEAP32[$1038>>2]|0;$1040=_bitshift64Ashr(0,$1036|0,32)|0;$1041=tempRet0;$1042=___muldi3($1040|0,$1041|0,$1032|0,$1033|0)|0;$1043=tempRet0;$1044=_i64Add($1024|0,$1025|0,$1042|0,$1043|0)|0;$1045=tempRet0;$1046=$735;$1047=$1046;$1048=HEAP32[$1047>>2]|0;$1049=$1046+4|0;$1050=$1049;$1051=HEAP32[$1050>>2]|0;$1052=_bitshift64Ashr(0,$1048|0,32)|0;$1053=tempRet0;$1054=$93;$1055=$1054;$1056=HEAP32[$1055>>2]|0;$1057=$1054+4|0;$1058=$1057;$1059=HEAP32[$1058>>2]|0;$1060=_bitshift64Ashr(0,$1056|0,32)|0;$1061=tempRet0;$1062=___muldi3($1060|0,$1061|0,$1052|0,$1053|0)|0;$1063=tempRet0;$1064=_i64Add($1044|0,$1045|0,$1062|0,$1063|0)|0;$1065=tempRet0;$1066=$41;$1067=$1066;$1068=HEAP32[$1067>>2]|0;$1069=$1066+4|0;$1070=$1069;$1071=HEAP32[$1070>>2]|0;$1072=_bitshift64Ashr(0,$1068|0,32)|0;$1073=tempRet0;$1074=$909;$1075=$1074;$1076=HEAP32[$1075>>2]|0;$1077=$1074+4|0;$1078=$1077;$1079=HEAP32[$1078>>2]|0;$1080=_bitshift64Ashr(0,$1076|0,32)|0;$1081=tempRet0;$1082=___muldi3($1080|0,$1081|0,$1072|0,$1073|0)|0;$1083=tempRet0;$1084=_i64Add($1064|0,$1065|0,$1082|0,$1083|0)|0;$1085=tempRet0;$1086=$922;$1087=$1086;$1088=HEAP32[$1087>>2]|0;$1089=$1086+4|0;$1090=$1089;$1091=HEAP32[$1090>>2]|0;$1092=_bitshift64Ashr(0,$1088|0,32)|0;$1093=tempRet0;$1094=$30;$1095=$1094;$1096=HEAP32[$1095>>2]|0;$1097=$1094+4|0;$1098=$1097;$1099=HEAP32[$1098>>2]|0;$1100=_bitshift64Ashr(0,$1096|0,32)|0;$1101=tempRet0;$1102=___muldi3($1100|0,$1101|0,$1092|0,$1093|0)|0;$1103=tempRet0;$1104=_i64Add($1084|0,$1085|0,$1102|0,$1103|0)|0;$1105=tempRet0;$1106=$in2;$1107=$1106;$1108=HEAP32[$1107>>2]|0;$1109=$1106+4|0;$1110=$1109;$1111=HEAP32[$1110>>2]|0;$1112=_bitshift64Ashr(0,$1108|0,32)|0;$1113=tempRet0;$1114=$in+72|0;$1115=$1114;$1116=$1115;$1117=HEAP32[$1116>>2]|0;$1118=$1115+4|0;$1119=$1118;$1120=HEAP32[$1119>>2]|0;$1121=_bitshift64Ashr(0,$1117|0,32)|0;$1122=tempRet0;$1123=___muldi3($1121|0,$1122|0,$1112|0,$1113|0)|0;$1124=tempRet0;$1125=_i64Add($1104|0,$1105|0,$1123|0,$1124|0)|0;$1126=tempRet0;$1127=$in2+72|0;$1128=$1127;$1129=$1128;$1130=HEAP32[$1129>>2]|0;$1131=$1128+4|0;$1132=$1131;$1133=HEAP32[$1132>>2]|0;$1134=_bitshift64Ashr(0,$1130|0,32)|0;$1135=tempRet0;$1136=$in;$1137=$1136;$1138=HEAP32[$1137>>2]|0;$1139=$1136+4|0;$1140=$1139;$1141=HEAP32[$1140>>2]|0;$1142=_bitshift64Ashr(0,$1138|0,32)|0;$1143=tempRet0;$1144=___muldi3($1142|0,$1143|0,$1134|0,$1135|0)|0;$1145=tempRet0;$1146=_i64Add($1125|0,$1126|0,$1144|0,$1145|0)|0;$1147=tempRet0;$1148=$output+72|0;$1149=$1148;$1150=$1149;HEAP32[$1150>>2]=$1146;$1151=$1149+4|0;$1152=$1151;HEAP32[$1152>>2]=$1147;$1153=$423;$1154=$1153;$1155=HEAP32[$1154>>2]|0;$1156=$1153+4|0;$1157=$1156;$1158=HEAP32[$1157>>2]|0;$1159=_bitshift64Ashr(0,$1155|0,32)|0;$1160=tempRet0;$1161=$410;$1162=$1161;$1163=HEAP32[$1162>>2]|0;$1164=$1161+4|0;$1165=$1164;$1166=HEAP32[$1165>>2]|0;$1167=_bitshift64Ashr(0,$1163|0,32)|0;$1168=tempRet0;$1169=___muldi3($1167|0,$1168|0,$1159|0,$1160|0)|0;$1170=tempRet0;$1171=$191;$1172=$1171;$1173=HEAP32[$1172>>2]|0;$1174=$1171+4|0;$1175=$1174;$1176=HEAP32[$1175>>2]|0;$1177=_bitshift64Ashr(0,$1173|0,32)|0;$1178=tempRet0;$1179=$722;$1180=$1179;$1181=HEAP32[$1180>>2]|0;$1182=$1179+4|0;$1183=$1182;$1184=HEAP32[$1183>>2]|0;$1185=_bitshift64Ashr(0,$1181|0,32)|0;$1186=tempRet0;$1187=___muldi3($1185|0,$1186|0,$1177|0,$1178|0)|0;$1188=tempRet0;$1189=_i64Add($1187|0,$1188|0,$1169|0,$1170|0)|0;$1190=tempRet0;$1191=$735;$1192=$1191;$1193=HEAP32[$1192>>2]|0;$1194=$1191+4|0;$1195=$1194;$1196=HEAP32[$1195>>2]|0;$1197=_bitshift64Ashr(0,$1193|0,32)|0;$1198=tempRet0;$1199=$178;$1200=$1199;$1201=HEAP32[$1200>>2]|0;$1202=$1199+4|0;$1203=$1202;$1204=HEAP32[$1203>>2]|0;$1205=_bitshift64Ashr(0,$1201|0,32)|0;$1206=tempRet0;$1207=___muldi3($1205|0,$1206|0,$1197|0,$1198|0)|0;$1208=tempRet0;$1209=_i64Add($1189|0,$1190|0,$1207|0,$1208|0)|0;$1210=tempRet0;$1211=$41;$1212=$1211;$1213=HEAP32[$1212>>2]|0;$1214=$1211+4|0;$1215=$1214;$1216=HEAP32[$1215>>2]|0;$1217=_bitshift64Ashr(0,$1213|0,32)|0;$1218=tempRet0;$1219=$1114;$1220=$1219;$1221=HEAP32[$1220>>2]|0;$1222=$1219+4|0;$1223=$1222;$1224=HEAP32[$1223>>2]|0;$1225=_bitshift64Ashr(0,$1221|0,32)|0;$1226=tempRet0;$1227=___muldi3($1225|0,$1226|0,$1217|0,$1218|0)|0;$1228=tempRet0;$1229=_i64Add($1209|0,$1210|0,$1227|0,$1228|0)|0;$1230=tempRet0;$1231=$1127;$1232=$1231;$1233=HEAP32[$1232>>2]|0;$1234=$1231+4|0;$1235=$1234;$1236=HEAP32[$1235>>2]|0;$1237=_bitshift64Ashr(0,$1233|0,32)|0;$1238=tempRet0;$1239=$30;$1240=$1239;$1241=HEAP32[$1240>>2]|0;$1242=$1239+4|0;$1243=$1242;$1244=HEAP32[$1243>>2]|0;$1245=_bitshift64Ashr(0,$1241|0,32)|0;$1246=tempRet0;$1247=___muldi3($1245|0,$1246|0,$1237|0,$1238|0)|0;$1248=tempRet0;$1249=_i64Add($1229|0,$1230|0,$1247|0,$1248|0)|0;$1250=tempRet0;$1251=_bitshift64Shl($1249|0,$1250|0,1)|0;$1252=tempRet0;$1253=$298;$1254=$1253;$1255=HEAP32[$1254>>2]|0;$1256=$1253+4|0;$1257=$1256;$1258=HEAP32[$1257>>2]|0;$1259=_bitshift64Ashr(0,$1255|0,32)|0;$1260=tempRet0;$1261=$557;$1262=$1261;$1263=HEAP32[$1262>>2]|0;$1264=$1261+4|0;$1265=$1264;$1266=HEAP32[$1265>>2]|0;$1267=_bitshift64Ashr(0,$1263|0,32)|0;$1268=tempRet0;$1269=___muldi3($1267|0,$1268|0,$1259|0,$1260|0)|0;$1270=tempRet0;$1271=_i64Add($1251|0,$1252|0,$1269|0,$1270|0)|0;$1272=tempRet0;$1273=$570;$1274=$1273;$1275=HEAP32[$1274>>2]|0;$1276=$1273+4|0;$1277=$1276;$1278=HEAP32[$1277>>2]|0;$1279=_bitshift64Ashr(0,$1275|0,32)|0;$1280=tempRet0;$1281=$285;$1282=$1281;$1283=HEAP32[$1282>>2]|0;$1284=$1281+4|0;$1285=$1284;$1286=HEAP32[$1285>>2]|0;$1287=_bitshift64Ashr(0,$1283|0,32)|0;$1288=tempRet0;$1289=___muldi3($1287|0,$1288|0,$1279|0,$1280|0)|0;$1290=tempRet0;$1291=_i64Add($1271|0,$1272|0,$1289|0,$1290|0)|0;$1292=tempRet0;$1293=$106;$1294=$1293;$1295=HEAP32[$1294>>2]|0;$1296=$1293+4|0;$1297=$1296;$1298=HEAP32[$1297>>2]|0;$1299=_bitshift64Ashr(0,$1295|0,32)|0;$1300=tempRet0;$1301=$909;$1302=$1301;$1303=HEAP32[$1302>>2]|0;$1304=$1301+4|0;$1305=$1304;$1306=HEAP32[$1305>>2]|0;$1307=_bitshift64Ashr(0,$1303|0,32)|0;$1308=tempRet0;$1309=___muldi3($1307|0,$1308|0,$1299|0,$1300|0)|0;$1310=tempRet0;$1311=_i64Add($1291|0,$1292|0,$1309|0,$1310|0)|0;$1312=tempRet0;$1313=$922;$1314=$1313;$1315=HEAP32[$1314>>2]|0;$1316=$1313+4|0;$1317=$1316;$1318=HEAP32[$1317>>2]|0;$1319=_bitshift64Ashr(0,$1315|0,32)|0;$1320=tempRet0;$1321=$93;$1322=$1321;$1323=HEAP32[$1322>>2]|0;$1324=$1321+4|0;$1325=$1324;$1326=HEAP32[$1325>>2]|0;$1327=_bitshift64Ashr(0,$1323|0,32)|0;$1328=tempRet0;$1329=___muldi3($1327|0,$1328|0,$1319|0,$1320|0)|0;$1330=tempRet0;$1331=_i64Add($1311|0,$1312|0,$1329|0,$1330|0)|0;$1332=tempRet0;$1333=$output+80|0;$1334=$1333;$1335=$1334;HEAP32[$1335>>2]=$1331;$1336=$1334+4|0;$1337=$1336;HEAP32[$1337>>2]=$1332;$1338=$423;$1339=$1338;$1340=HEAP32[$1339>>2]|0;$1341=$1338+4|0;$1342=$1341;$1343=HEAP32[$1342>>2]|0;$1344=_bitshift64Ashr(0,$1340|0,32)|0;$1345=tempRet0;$1346=$557;$1347=$1346;$1348=HEAP32[$1347>>2]|0;$1349=$1346+4|0;$1350=$1349;$1351=HEAP32[$1350>>2]|0;$1352=_bitshift64Ashr(0,$1348|0,32)|0;$1353=tempRet0;$1354=___muldi3($1352|0,$1353|0,$1344|0,$1345|0)|0;$1355=tempRet0;$1356=$570;$1357=$1356;$1358=HEAP32[$1357>>2]|0;$1359=$1356+4|0;$1360=$1359;$1361=HEAP32[$1360>>2]|0;$1362=_bitshift64Ashr(0,$1358|0,32)|0;$1363=tempRet0;$1364=$410;$1365=$1364;$1366=HEAP32[$1365>>2]|0;$1367=$1364+4|0;$1368=$1367;$1369=HEAP32[$1368>>2]|0;$1370=_bitshift64Ashr(0,$1366|0,32)|0;$1371=tempRet0;$1372=___muldi3($1370|0,$1371|0,$1362|0,$1363|0)|0;$1373=tempRet0;$1374=_i64Add($1372|0,$1373|0,$1354|0,$1355|0)|0;$1375=tempRet0;$1376=$298;$1377=$1376;$1378=HEAP32[$1377>>2]|0;$1379=$1376+4|0;$1380=$1379;$1381=HEAP32[$1380>>2]|0;$1382=_bitshift64Ashr(0,$1378|0,32)|0;$1383=tempRet0;$1384=$722;$1385=$1384;$1386=HEAP32[$1385>>2]|0;$1387=$1384+4|0;$1388=$1387;$1389=HEAP32[$1388>>2]|0;$1390=_bitshift64Ashr(0,$1386|0,32)|0;$1391=tempRet0;$1392=___muldi3($1390|0,$1391|0,$1382|0,$1383|0)|0;$1393=tempRet0;$1394=_i64Add($1374|0,$1375|0,$1392|0,$1393|0)|0;$1395=tempRet0;$1396=$735;$1397=$1396;$1398=HEAP32[$1397>>2]|0;$1399=$1396+4|0;$1400=$1399;$1401=HEAP32[$1400>>2]|0;$1402=_bitshift64Ashr(0,$1398|0,32)|0;$1403=tempRet0;$1404=$285;$1405=$1404;$1406=HEAP32[$1405>>2]|0;$1407=$1404+4|0;$1408=$1407;$1409=HEAP32[$1408>>2]|0;$1410=_bitshift64Ashr(0,$1406|0,32)|0;$1411=tempRet0;$1412=___muldi3($1410|0,$1411|0,$1402|0,$1403|0)|0;$1413=tempRet0;$1414=_i64Add($1394|0,$1395|0,$1412|0,$1413|0)|0;$1415=tempRet0;$1416=$191;$1417=$1416;$1418=HEAP32[$1417>>2]|0;$1419=$1416+4|0;$1420=$1419;$1421=HEAP32[$1420>>2]|0;$1422=_bitshift64Ashr(0,$1418|0,32)|0;$1423=tempRet0;$1424=$909;$1425=$1424;$1426=HEAP32[$1425>>2]|0;$1427=$1424+4|0;$1428=$1427;$1429=HEAP32[$1428>>2]|0;$1430=_bitshift64Ashr(0,$1426|0,32)|0;$1431=tempRet0;$1432=___muldi3($1430|0,$1431|0,$1422|0,$1423|0)|0;$1433=tempRet0;$1434=_i64Add($1414|0,$1415|0,$1432|0,$1433|0)|0;$1435=tempRet0;$1436=$922;$1437=$1436;$1438=HEAP32[$1437>>2]|0;$1439=$1436+4|0;$1440=$1439;$1441=HEAP32[$1440>>2]|0;$1442=_bitshift64Ashr(0,$1438|0,32)|0;$1443=tempRet0;$1444=$178;$1445=$1444;$1446=HEAP32[$1445>>2]|0;$1447=$1444+4|0;$1448=$1447;$1449=HEAP32[$1448>>2]|0;$1450=_bitshift64Ashr(0,$1446|0,32)|0;$1451=tempRet0;$1452=___muldi3($1450|0,$1451|0,$1442|0,$1443|0)|0;$1453=tempRet0;$1454=_i64Add($1434|0,$1435|0,$1452|0,$1453|0)|0;$1455=tempRet0;$1456=$106;$1457=$1456;$1458=HEAP32[$1457>>2]|0;$1459=$1456+4|0;$1460=$1459;$1461=HEAP32[$1460>>2]|0;$1462=_bitshift64Ashr(0,$1458|0,32)|0;$1463=tempRet0;$1464=$1114;$1465=$1464;$1466=HEAP32[$1465>>2]|0;$1467=$1464+4|0;$1468=$1467;$1469=HEAP32[$1468>>2]|0;$1470=_bitshift64Ashr(0,$1466|0,32)|0;$1471=tempRet0;$1472=___muldi3($1470|0,$1471|0,$1462|0,$1463|0)|0;$1473=tempRet0;$1474=_i64Add($1454|0,$1455|0,$1472|0,$1473|0)|0;$1475=tempRet0;$1476=$1127;$1477=$1476;$1478=HEAP32[$1477>>2]|0;$1479=$1476+4|0;$1480=$1479;$1481=HEAP32[$1480>>2]|0;$1482=_bitshift64Ashr(0,$1478|0,32)|0;$1483=tempRet0;$1484=$93;$1485=$1484;$1486=HEAP32[$1485>>2]|0;$1487=$1484+4|0;$1488=$1487;$1489=HEAP32[$1488>>2]|0;$1490=_bitshift64Ashr(0,$1486|0,32)|0;$1491=tempRet0;$1492=___muldi3($1490|0,$1491|0,$1482|0,$1483|0)|0;$1493=tempRet0;$1494=_i64Add($1474|0,$1475|0,$1492|0,$1493|0)|0;$1495=tempRet0;$1496=$output+88|0;$1497=$1496;$1498=$1497;HEAP32[$1498>>2]=$1494;$1499=$1497+4|0;$1500=$1499;HEAP32[$1500>>2]=$1495;$1501=$570;$1502=$1501;$1503=HEAP32[$1502>>2]|0;$1504=$1501+4|0;$1505=$1504;$1506=HEAP32[$1505>>2]|0;$1507=_bitshift64Ashr(0,$1503|0,32)|0;$1508=tempRet0;$1509=$557;$1510=$1509;$1511=HEAP32[$1510>>2]|0;$1512=$1509+4|0;$1513=$1512;$1514=HEAP32[$1513>>2]|0;$1515=_bitshift64Ashr(0,$1511|0,32)|0;$1516=tempRet0;$1517=___muldi3($1515|0,$1516|0,$1507|0,$1508|0)|0;$1518=tempRet0;$1519=$423;$1520=$1519;$1521=HEAP32[$1520>>2]|0;$1522=$1519+4|0;$1523=$1522;$1524=HEAP32[$1523>>2]|0;$1525=_bitshift64Ashr(0,$1521|0,32)|0;$1526=tempRet0;$1527=$722;$1528=$1527;$1529=HEAP32[$1528>>2]|0;$1530=$1527+4|0;$1531=$1530;$1532=HEAP32[$1531>>2]|0;$1533=_bitshift64Ashr(0,$1529|0,32)|0;$1534=tempRet0;$1535=___muldi3($1533|0,$1534|0,$1525|0,$1526|0)|0;$1536=tempRet0;$1537=$735;$1538=$1537;$1539=HEAP32[$1538>>2]|0;$1540=$1537+4|0;$1541=$1540;$1542=HEAP32[$1541>>2]|0;$1543=_bitshift64Ashr(0,$1539|0,32)|0;$1544=tempRet0;$1545=$410;$1546=$1545;$1547=HEAP32[$1546>>2]|0;$1548=$1545+4|0;$1549=$1548;$1550=HEAP32[$1549>>2]|0;$1551=_bitshift64Ashr(0,$1547|0,32)|0;$1552=tempRet0;$1553=___muldi3($1551|0,$1552|0,$1543|0,$1544|0)|0;$1554=tempRet0;$1555=_i64Add($1553|0,$1554|0,$1535|0,$1536|0)|0;$1556=tempRet0;$1557=$191;$1558=$1557;$1559=HEAP32[$1558>>2]|0;$1560=$1557+4|0;$1561=$1560;$1562=HEAP32[$1561>>2]|0;$1563=_bitshift64Ashr(0,$1559|0,32)|0;$1564=tempRet0;$1565=$1114;$1566=$1565;$1567=HEAP32[$1566>>2]|0;$1568=$1565+4|0;$1569=$1568;$1570=HEAP32[$1569>>2]|0;$1571=_bitshift64Ashr(0,$1567|0,32)|0;$1572=tempRet0;$1573=___muldi3($1571|0,$1572|0,$1563|0,$1564|0)|0;$1574=tempRet0;$1575=_i64Add($1555|0,$1556|0,$1573|0,$1574|0)|0;$1576=tempRet0;$1577=$1127;$1578=$1577;$1579=HEAP32[$1578>>2]|0;$1580=$1577+4|0;$1581=$1580;$1582=HEAP32[$1581>>2]|0;$1583=_bitshift64Ashr(0,$1579|0,32)|0;$1584=tempRet0;$1585=$178;$1586=$1585;$1587=HEAP32[$1586>>2]|0;$1588=$1585+4|0;$1589=$1588;$1590=HEAP32[$1589>>2]|0;$1591=_bitshift64Ashr(0,$1587|0,32)|0;$1592=tempRet0;$1593=___muldi3($1591|0,$1592|0,$1583|0,$1584|0)|0;$1594=tempRet0;$1595=_i64Add($1575|0,$1576|0,$1593|0,$1594|0)|0;$1596=tempRet0;$1597=_bitshift64Shl($1595|0,$1596|0,1)|0;$1598=tempRet0;$1599=_i64Add($1597|0,$1598|0,$1517|0,$1518|0)|0;$1600=tempRet0;$1601=$298;$1602=$1601;$1603=HEAP32[$1602>>2]|0;$1604=$1601+4|0;$1605=$1604;$1606=HEAP32[$1605>>2]|0;$1607=_bitshift64Ashr(0,$1603|0,32)|0;$1608=tempRet0;$1609=$909;$1610=$1609;$1611=HEAP32[$1610>>2]|0;$1612=$1609+4|0;$1613=$1612;$1614=HEAP32[$1613>>2]|0;$1615=_bitshift64Ashr(0,$1611|0,32)|0;$1616=tempRet0;$1617=___muldi3($1615|0,$1616|0,$1607|0,$1608|0)|0;$1618=tempRet0;$1619=_i64Add($1599|0,$1600|0,$1617|0,$1618|0)|0;$1620=tempRet0;$1621=$922;$1622=$1621;$1623=HEAP32[$1622>>2]|0;$1624=$1621+4|0;$1625=$1624;$1626=HEAP32[$1625>>2]|0;$1627=_bitshift64Ashr(0,$1623|0,32)|0;$1628=tempRet0;$1629=$285;$1630=$1629;$1631=HEAP32[$1630>>2]|0;$1632=$1629+4|0;$1633=$1632;$1634=HEAP32[$1633>>2]|0;$1635=_bitshift64Ashr(0,$1631|0,32)|0;$1636=tempRet0;$1637=___muldi3($1635|0,$1636|0,$1627|0,$1628|0)|0;$1638=tempRet0;$1639=_i64Add($1619|0,$1620|0,$1637|0,$1638|0)|0;$1640=tempRet0;$1641=$output+96|0;$1642=$1641;$1643=$1642;HEAP32[$1643>>2]=$1639;$1644=$1642+4|0;$1645=$1644;HEAP32[$1645>>2]=$1640;$1646=$570;$1647=$1646;$1648=HEAP32[$1647>>2]|0;$1649=$1646+4|0;$1650=$1649;$1651=HEAP32[$1650>>2]|0;$1652=_bitshift64Ashr(0,$1648|0,32)|0;$1653=tempRet0;$1654=$722;$1655=$1654;$1656=HEAP32[$1655>>2]|0;$1657=$1654+4|0;$1658=$1657;$1659=HEAP32[$1658>>2]|0;$1660=_bitshift64Ashr(0,$1656|0,32)|0;$1661=tempRet0;$1662=___muldi3($1660|0,$1661|0,$1652|0,$1653|0)|0;$1663=tempRet0;$1664=$735;$1665=$1664;$1666=HEAP32[$1665>>2]|0;$1667=$1664+4|0;$1668=$1667;$1669=HEAP32[$1668>>2]|0;$1670=_bitshift64Ashr(0,$1666|0,32)|0;$1671=tempRet0;$1672=$557;$1673=$1672;$1674=HEAP32[$1673>>2]|0;$1675=$1672+4|0;$1676=$1675;$1677=HEAP32[$1676>>2]|0;$1678=_bitshift64Ashr(0,$1674|0,32)|0;$1679=tempRet0;$1680=___muldi3($1678|0,$1679|0,$1670|0,$1671|0)|0;$1681=tempRet0;$1682=_i64Add($1680|0,$1681|0,$1662|0,$1663|0)|0;$1683=tempRet0;$1684=$423;$1685=$1684;$1686=HEAP32[$1685>>2]|0;$1687=$1684+4|0;$1688=$1687;$1689=HEAP32[$1688>>2]|0;$1690=_bitshift64Ashr(0,$1686|0,32)|0;$1691=tempRet0;$1692=$909;$1693=$1692;$1694=HEAP32[$1693>>2]|0;$1695=$1692+4|0;$1696=$1695;$1697=HEAP32[$1696>>2]|0;$1698=_bitshift64Ashr(0,$1694|0,32)|0;$1699=tempRet0;$1700=___muldi3($1698|0,$1699|0,$1690|0,$1691|0)|0;$1701=tempRet0;$1702=_i64Add($1682|0,$1683|0,$1700|0,$1701|0)|0;$1703=tempRet0;$1704=$922;$1705=$1704;$1706=HEAP32[$1705>>2]|0;$1707=$1704+4|0;$1708=$1707;$1709=HEAP32[$1708>>2]|0;$1710=_bitshift64Ashr(0,$1706|0,32)|0;$1711=tempRet0;$1712=$410;$1713=$1712;$1714=HEAP32[$1713>>2]|0;$1715=$1712+4|0;$1716=$1715;$1717=HEAP32[$1716>>2]|0;$1718=_bitshift64Ashr(0,$1714|0,32)|0;$1719=tempRet0;$1720=___muldi3($1718|0,$1719|0,$1710|0,$1711|0)|0;$1721=tempRet0;$1722=_i64Add($1702|0,$1703|0,$1720|0,$1721|0)|0;$1723=tempRet0;$1724=$298;$1725=$1724;$1726=HEAP32[$1725>>2]|0;$1727=$1724+4|0;$1728=$1727;$1729=HEAP32[$1728>>2]|0;$1730=_bitshift64Ashr(0,$1726|0,32)|0;$1731=tempRet0;$1732=$1114;$1733=$1732;$1734=HEAP32[$1733>>2]|0;$1735=$1732+4|0;$1736=$1735;$1737=HEAP32[$1736>>2]|0;$1738=_bitshift64Ashr(0,$1734|0,32)|0;$1739=tempRet0;$1740=___muldi3($1738|0,$1739|0,$1730|0,$1731|0)|0;$1741=tempRet0;$1742=_i64Add($1722|0,$1723|0,$1740|0,$1741|0)|0;$1743=tempRet0;$1744=$1127;$1745=$1744;$1746=HEAP32[$1745>>2]|0;$1747=$1744+4|0;$1748=$1747;$1749=HEAP32[$1748>>2]|0;$1750=_bitshift64Ashr(0,$1746|0,32)|0;$1751=tempRet0;$1752=$285;$1753=$1752;$1754=HEAP32[$1753>>2]|0;$1755=$1752+4|0;$1756=$1755;$1757=HEAP32[$1756>>2]|0;$1758=_bitshift64Ashr(0,$1754|0,32)|0;$1759=tempRet0;$1760=___muldi3($1758|0,$1759|0,$1750|0,$1751|0)|0;$1761=tempRet0;$1762=_i64Add($1742|0,$1743|0,$1760|0,$1761|0)|0;$1763=tempRet0;$1764=$output+104|0;$1765=$1764;$1766=$1765;HEAP32[$1766>>2]=$1762;$1767=$1765+4|0;$1768=$1767;HEAP32[$1768>>2]=$1763;$1769=$735;$1770=$1769;$1771=HEAP32[$1770>>2]|0;$1772=$1769+4|0;$1773=$1772;$1774=HEAP32[$1773>>2]|0;$1775=_bitshift64Ashr(0,$1771|0,32)|0;$1776=tempRet0;$1777=$722;$1778=$1777;$1779=HEAP32[$1778>>2]|0;$1780=$1777+4|0;$1781=$1780;$1782=HEAP32[$1781>>2]|0;$1783=_bitshift64Ashr(0,$1779|0,32)|0;$1784=tempRet0;$1785=___muldi3($1783|0,$1784|0,$1775|0,$1776|0)|0;$1786=tempRet0;$1787=$423;$1788=$1787;$1789=HEAP32[$1788>>2]|0;$1790=$1787+4|0;$1791=$1790;$1792=HEAP32[$1791>>2]|0;$1793=_bitshift64Ashr(0,$1789|0,32)|0;$1794=tempRet0;$1795=$1114;$1796=$1795;$1797=HEAP32[$1796>>2]|0;$1798=$1795+4|0;$1799=$1798;$1800=HEAP32[$1799>>2]|0;$1801=_bitshift64Ashr(0,$1797|0,32)|0;$1802=tempRet0;$1803=___muldi3($1801|0,$1802|0,$1793|0,$1794|0)|0;$1804=tempRet0;$1805=_i64Add($1803|0,$1804|0,$1785|0,$1786|0)|0;$1806=tempRet0;$1807=$1127;$1808=$1807;$1809=HEAP32[$1808>>2]|0;$1810=$1807+4|0;$1811=$1810;$1812=HEAP32[$1811>>2]|0;$1813=_bitshift64Ashr(0,$1809|0,32)|0;$1814=tempRet0;$1815=$410;$1816=$1815;$1817=HEAP32[$1816>>2]|0;$1818=$1815+4|0;$1819=$1818;$1820=HEAP32[$1819>>2]|0;$1821=_bitshift64Ashr(0,$1817|0,32)|0;$1822=tempRet0;$1823=___muldi3($1821|0,$1822|0,$1813|0,$1814|0)|0;$1824=tempRet0;$1825=_i64Add($1805|0,$1806|0,$1823|0,$1824|0)|0;$1826=tempRet0;$1827=_bitshift64Shl($1825|0,$1826|0,1)|0;$1828=tempRet0;$1829=$570;$1830=$1829;$1831=HEAP32[$1830>>2]|0;$1832=$1829+4|0;$1833=$1832;$1834=HEAP32[$1833>>2]|0;$1835=_bitshift64Ashr(0,$1831|0,32)|0;$1836=tempRet0;$1837=$909;$1838=$1837;$1839=HEAP32[$1838>>2]|0;$1840=$1837+4|0;$1841=$1840;$1842=HEAP32[$1841>>2]|0;$1843=_bitshift64Ashr(0,$1839|0,32)|0;$1844=tempRet0;$1845=___muldi3($1843|0,$1844|0,$1835|0,$1836|0)|0;$1846=tempRet0;$1847=_i64Add($1827|0,$1828|0,$1845|0,$1846|0)|0;$1848=tempRet0;$1849=$922;$1850=$1849;$1851=HEAP32[$1850>>2]|0;$1852=$1849+4|0;$1853=$1852;$1854=HEAP32[$1853>>2]|0;$1855=_bitshift64Ashr(0,$1851|0,32)|0;$1856=tempRet0;$1857=$557;$1858=$1857;$1859=HEAP32[$1858>>2]|0;$1860=$1857+4|0;$1861=$1860;$1862=HEAP32[$1861>>2]|0;$1863=_bitshift64Ashr(0,$1859|0,32)|0;$1864=tempRet0;$1865=___muldi3($1863|0,$1864|0,$1855|0,$1856|0)|0;$1866=tempRet0;$1867=_i64Add($1847|0,$1848|0,$1865|0,$1866|0)|0;$1868=tempRet0;$1869=$output+112|0;$1870=$1869;$1871=$1870;HEAP32[$1871>>2]=$1867;$1872=$1870+4|0;$1873=$1872;HEAP32[$1873>>2]=$1868;$1874=$735;$1875=$1874;$1876=HEAP32[$1875>>2]|0;$1877=$1874+4|0;$1878=$1877;$1879=HEAP32[$1878>>2]|0;$1880=_bitshift64Ashr(0,$1876|0,32)|0;$1881=tempRet0;$1882=$909;$1883=$1882;$1884=HEAP32[$1883>>2]|0;$1885=$1882+4|0;$1886=$1885;$1887=HEAP32[$1886>>2]|0;$1888=_bitshift64Ashr(0,$1884|0,32)|0;$1889=tempRet0;$1890=___muldi3($1888|0,$1889|0,$1880|0,$1881|0)|0;$1891=tempRet0;$1892=$922;$1893=$1892;$1894=HEAP32[$1893>>2]|0;$1895=$1892+4|0;$1896=$1895;$1897=HEAP32[$1896>>2]|0;$1898=_bitshift64Ashr(0,$1894|0,32)|0;$1899=tempRet0;$1900=$722;$1901=$1900;$1902=HEAP32[$1901>>2]|0;$1903=$1900+4|0;$1904=$1903;$1905=HEAP32[$1904>>2]|0;$1906=_bitshift64Ashr(0,$1902|0,32)|0;$1907=tempRet0;$1908=___muldi3($1906|0,$1907|0,$1898|0,$1899|0)|0;$1909=tempRet0;$1910=_i64Add($1908|0,$1909|0,$1890|0,$1891|0)|0;$1911=tempRet0;$1912=$570;$1913=$1912;$1914=HEAP32[$1913>>2]|0;$1915=$1912+4|0;$1916=$1915;$1917=HEAP32[$1916>>2]|0;$1918=_bitshift64Ashr(0,$1914|0,32)|0;$1919=tempRet0;$1920=$1114;$1921=$1920;$1922=HEAP32[$1921>>2]|0;$1923=$1920+4|0;$1924=$1923;$1925=HEAP32[$1924>>2]|0;$1926=_bitshift64Ashr(0,$1922|0,32)|0;$1927=tempRet0;$1928=___muldi3($1926|0,$1927|0,$1918|0,$1919|0)|0;$1929=tempRet0;$1930=_i64Add($1910|0,$1911|0,$1928|0,$1929|0)|0;$1931=tempRet0;$1932=$1127;$1933=$1932;$1934=HEAP32[$1933>>2]|0;$1935=$1932+4|0;$1936=$1935;$1937=HEAP32[$1936>>2]|0;$1938=_bitshift64Ashr(0,$1934|0,32)|0;$1939=tempRet0;$1940=$557;$1941=$1940;$1942=HEAP32[$1941>>2]|0;$1943=$1940+4|0;$1944=$1943;$1945=HEAP32[$1944>>2]|0;$1946=_bitshift64Ashr(0,$1942|0,32)|0;$1947=tempRet0;$1948=___muldi3($1946|0,$1947|0,$1938|0,$1939|0)|0;$1949=tempRet0;$1950=_i64Add($1930|0,$1931|0,$1948|0,$1949|0)|0;$1951=tempRet0;$1952=$output+120|0;$1953=$1952;$1954=$1953;HEAP32[$1954>>2]=$1950;$1955=$1953+4|0;$1956=$1955;HEAP32[$1956>>2]=$1951;$1957=$922;$1958=$1957;$1959=HEAP32[$1958>>2]|0;$1960=$1957+4|0;$1961=$1960;$1962=HEAP32[$1961>>2]|0;$1963=_bitshift64Ashr(0,$1959|0,32)|0;$1964=tempRet0;$1965=$909;$1966=$1965;$1967=HEAP32[$1966>>2]|0;$1968=$1965+4|0;$1969=$1968;$1970=HEAP32[$1969>>2]|0;$1971=_bitshift64Ashr(0,$1967|0,32)|0;$1972=tempRet0;$1973=___muldi3($1971|0,$1972|0,$1963|0,$1964|0)|0;$1974=tempRet0;$1975=$735;$1976=$1975;$1977=HEAP32[$1976>>2]|0;$1978=$1975+4|0;$1979=$1978;$1980=HEAP32[$1979>>2]|0;$1981=_bitshift64Ashr(0,$1977|0,32)|0;$1982=tempRet0;$1983=$1114;$1984=$1983;$1985=HEAP32[$1984>>2]|0;$1986=$1983+4|0;$1987=$1986;$1988=HEAP32[$1987>>2]|0;$1989=_bitshift64Ashr(0,$1985|0,32)|0;$1990=tempRet0;$1991=___muldi3($1989|0,$1990|0,$1981|0,$1982|0)|0;$1992=tempRet0;$1993=$1127;$1994=$1993;$1995=HEAP32[$1994>>2]|0;$1996=$1993+4|0;$1997=$1996;$1998=HEAP32[$1997>>2]|0;$1999=_bitshift64Ashr(0,$1995|0,32)|0;$2000=tempRet0;$2001=$722;$2002=$2001;$2003=HEAP32[$2002>>2]|0;$2004=$2001+4|0;$2005=$2004;$2006=HEAP32[$2005>>2]|0;$2007=_bitshift64Ashr(0,$2003|0,32)|0;$2008=tempRet0;$2009=___muldi3($2007|0,$2008|0,$1999|0,$2000|0)|0;$2010=tempRet0;$2011=_i64Add($2009|0,$2010|0,$1991|0,$1992|0)|0;$2012=tempRet0;$2013=_bitshift64Shl($2011|0,$2012|0,1)|0;$2014=tempRet0;$2015=_i64Add($2013|0,$2014|0,$1973|0,$1974|0)|0;$2016=tempRet0;$2017=$output+128|0;$2018=$2017;$2019=$2018;HEAP32[$2019>>2]=$2015;$2020=$2018+4|0;$2021=$2020;HEAP32[$2021>>2]=$2016;$2022=$922;$2023=$2022;$2024=HEAP32[$2023>>2]|0;$2025=$2022+4|0;$2026=$2025;$2027=HEAP32[$2026>>2]|0;$2028=_bitshift64Ashr(0,$2024|0,32)|0;$2029=tempRet0;$2030=$1114;$2031=$2030;$2032=HEAP32[$2031>>2]|0;$2033=$2030+4|0;$2034=$2033;$2035=HEAP32[$2034>>2]|0;$2036=_bitshift64Ashr(0,$2032|0,32)|0;$2037=tempRet0;$2038=___muldi3($2036|0,$2037|0,$2028|0,$2029|0)|0;$2039=tempRet0;$2040=$1127;$2041=$2040;$2042=HEAP32[$2041>>2]|0;$2043=$2040+4|0;$2044=$2043;$2045=HEAP32[$2044>>2]|0;$2046=_bitshift64Ashr(0,$2042|0,32)|0;$2047=tempRet0;$2048=$909;$2049=$2048;$2050=HEAP32[$2049>>2]|0;$2051=$2048+4|0;$2052=$2051;$2053=HEAP32[$2052>>2]|0;$2054=_bitshift64Ashr(0,$2050|0,32)|0;$2055=tempRet0;$2056=___muldi3($2054|0,$2055|0,$2046|0,$2047|0)|0;$2057=tempRet0;$2058=_i64Add($2056|0,$2057|0,$2038|0,$2039|0)|0;$2059=tempRet0;$2060=$output+136|0;$2061=$2060;$2062=$2061;HEAP32[$2062>>2]=$2058;$2063=$2061+4|0;$2064=$2063;HEAP32[$2064>>2]=$2059;$2065=$1127;$2066=$2065;$2067=HEAP32[$2066>>2]|0;$2068=$2065+4|0;$2069=$2068;$2070=HEAP32[$2069>>2]|0;$2071=_bitshift64Ashr(0,$2067|0,31)|0;$2072=tempRet0;$2073=$1114;$2074=$2073;$2075=HEAP32[$2074>>2]|0;$2076=$2073+4|0;$2077=$2076;$2078=HEAP32[$2077>>2]|0;$2079=_bitshift64Ashr(0,$2075|0,32)|0;$2080=tempRet0;$2081=___muldi3($2079|0,$2080|0,$2071|0,$2072|0)|0;$2082=tempRet0;$2083=$output+144|0;$2084=$2083;$2085=$2084;HEAP32[$2085>>2]=$2081;$2086=$2084+4|0;$2087=$2086;HEAP32[$2087>>2]=$2082;STACKTOP=sp;return}function _freduce_degree($output){$output=$output|0;var $0=0,$1=0,$10=0,$100=0,$101=0,$102=0,$103=0,$104=0,$105=0,$106=0,$107=0,$108=0,$109=0,$11=0,$110=0,$111=0,$112=0,$113=0,$114=0,$115=0;var $116=0,$117=0,$118=0,$119=0,$12=0,$120=0,$121=0,$122=0,$123=0,$124=0,$125=0,$126=0,$127=0,$128=0,$129=0,$13=0,$130=0,$131=0,$132=0,$133=0;var $134=0,$135=0,$136=0,$137=0,$138=0,$139=0,$14=0,$140=0,$141=0,$142=0,$143=0,$144=0,$145=0,$146=0,$147=0,$148=0,$149=0,$15=0,$150=0,$151=0;var $152=0,$153=0,$154=0,$155=0,$156=0,$157=0,$158=0,$159=0,$16=0,$160=0,$161=0,$162=0,$163=0,$164=0,$165=0,$166=0,$167=0,$168=0,$169=0,$17=0;var $170=0,$171=0,$172=0,$173=0,$174=0,$175=0,$176=0,$177=0,$178=0,$179=0,$18=0,$180=0,$181=0,$182=0,$183=0,$184=0,$185=0,$186=0,$187=0,$188=0;var $189=0,$19=0,$190=0,$191=0,$192=0,$193=0,$194=0,$195=0,$196=0,$197=0,$198=0,$199=0,$2=0,$20=0,$200=0,$201=0,$202=0,$203=0,$204=0,$205=0;var $206=0,$207=0,$208=0,$209=0,$21=0,$210=0,$211=0,$212=0,$213=0,$214=0,$215=0,$216=0,$217=0,$218=0,$219=0,$22=0,$220=0,$221=0,$222=0,$223=0;var $224=0,$225=0,$226=0,$227=0,$228=0,$229=0,$23=0,$230=0,$231=0,$232=0,$233=0,$234=0,$235=0,$236=0,$237=0,$238=0,$239=0,$24=0,$240=0,$241=0;var $242=0,$243=0,$244=0,$245=0,$246=0,$247=0,$248=0,$249=0,$25=0,$250=0,$251=0,$252=0,$253=0,$254=0,$255=0,$256=0,$257=0,$258=0,$259=0,$26=0;var $260=0,$261=0,$262=0,$263=0,$264=0,$265=0,$266=0,$267=0,$268=0,$269=0,$27=0,$270=0,$271=0,$272=0,$273=0,$274=0,$275=0,$276=0,$277=0,$278=0;var $279=0,$28=0,$280=0,$281=0,$282=0,$283=0,$284=0,$285=0,$286=0,$287=0,$288=0,$289=0,$29=0,$290=0,$291=0,$292=0,$293=0,$294=0,$295=0,$296=0;var $297=0,$298=0,$3=0,$30=0,$31=0,$32=0,$33=0,$34=0,$35=0,$36=0,$37=0,$38=0,$39=0,$4=0,$40=0,$41=0,$42=0,$43=0,$44=0,$45=0;var $46=0,$47=0,$48=0,$49=0,$5=0,$50=0,$51=0,$52=0,$53=0,$54=0,$55=0,$56=0,$57=0,$58=0,$59=0,$6=0,$60=0,$61=0,$62=0,$63=0;var $64=0,$65=0,$66=0,$67=0,$68=0,$69=0,$7=0,$70=0,$71=0,$72=0,$73=0,$74=0,$75=0,$76=0,$77=0,$78=0,$79=0,$8=0,$80=0,$81=0;var $82=0,$83=0,$84=0,$85=0,$86=0,$87=0,$88=0,$89=0,$9=0,$90=0,$91=0,$92=0,$93=0,$94=0,$95=0,$96=0,$97=0,$98=0,$99=0,label=0;var sp=0;sp=STACKTOP;$0=$output+144|0;$1=$0;$2=$1;$3=HEAP32[$2>>2]|0;$4=$1+4|0;$5=$4;$6=HEAP32[$5>>2]|0;$7=_bitshift64Shl($3|0,$6|0,4)|0;$8=tempRet0;$9=$output+64|0;$10=$9;$11=$10;$12=HEAP32[$11>>2]|0;$13=$10+4|0;$14=$13;$15=HEAP32[$14>>2]|0;$16=_i64Add($12|0,$15|0,$7|0,$8|0)|0;$17=tempRet0;$18=_bitshift64Shl($3|0,$6|0,1)|0;$19=tempRet0;$20=_i64Add($18|0,$19|0,$16|0,$17|0)|0;$21=tempRet0;$22=$0;$23=$22;$24=HEAP32[$23>>2]|0;$25=$22+4|0;$26=$25;$27=HEAP32[$26>>2]|0;$28=_i64Add($20|0,$21|0,$24|0,$27|0)|0;$29=tempRet0;$30=$9;$31=$30;HEAP32[$31>>2]=$28;$32=$30+4|0;$33=$32;HEAP32[$33>>2]=$29;$34=$output+136|0;$35=$34;$36=$35;$37=HEAP32[$36>>2]|0;$38=$35+4|0;$39=$38;$40=HEAP32[$39>>2]|0;$41=_bitshift64Shl($37|0,$40|0,4)|0;$42=tempRet0;$43=$output+56|0;$44=$43;$45=$44;$46=HEAP32[$45>>2]|0;$47=$44+4|0;$48=$47;$49=HEAP32[$48>>2]|0;$50=_i64Add($46|0,$49|0,$41|0,$42|0)|0;$51=tempRet0;$52=_bitshift64Shl($37|0,$40|0,1)|0;$53=tempRet0;$54=_i64Add($52|0,$53|0,$50|0,$51|0)|0;$55=tempRet0;$56=$34;$57=$56;$58=HEAP32[$57>>2]|0;$59=$56+4|0;$60=$59;$61=HEAP32[$60>>2]|0;$62=_i64Add($54|0,$55|0,$58|0,$61|0)|0;$63=tempRet0;$64=$43;$65=$64;HEAP32[$65>>2]=$62;$66=$64+4|0;$67=$66;HEAP32[$67>>2]=$63;$68=$output+128|0;$69=$68;$70=$69;$71=HEAP32[$70>>2]|0;$72=$69+4|0;$73=$72;$74=HEAP32[$73>>2]|0;$75=_bitshift64Shl($71|0,$74|0,4)|0;$76=tempRet0;$77=$output+48|0;$78=$77;$79=$78;$80=HEAP32[$79>>2]|0;$81=$78+4|0;$82=$81;$83=HEAP32[$82>>2]|0;$84=_i64Add($80|0,$83|0,$75|0,$76|0)|0;$85=tempRet0;$86=_bitshift64Shl($71|0,$74|0,1)|0;$87=tempRet0;$88=_i64Add($86|0,$87|0,$84|0,$85|0)|0;$89=tempRet0;$90=$68;$91=$90;$92=HEAP32[$91>>2]|0;$93=$90+4|0;$94=$93;$95=HEAP32[$94>>2]|0;$96=_i64Add($88|0,$89|0,$92|0,$95|0)|0;$97=tempRet0;$98=$77;$99=$98;HEAP32[$99>>2]=$96;$100=$98+4|0;$101=$100;HEAP32[$101>>2]=$97;$102=$output+120|0;$103=$102;$104=$103;$105=HEAP32[$104>>2]|0;$106=$103+4|0;$107=$106;$108=HEAP32[$107>>2]|0;$109=_bitshift64Shl($105|0,$108|0,4)|0;$110=tempRet0;$111=$output+40|0;$112=$111;$113=$112;$114=HEAP32[$113>>2]|0;$115=$112+4|0;$116=$115;$117=HEAP32[$116>>2]|0;$118=_i64Add($114|0,$117|0,$109|0,$110|0)|0;$119=tempRet0;$120=_bitshift64Shl($105|0,$108|0,1)|0;$121=tempRet0;$122=_i64Add($120|0,$121|0,$118|0,$119|0)|0;$123=tempRet0;$124=$102;$125=$124;$126=HEAP32[$125>>2]|0;$127=$124+4|0;$128=$127;$129=HEAP32[$128>>2]|0;$130=_i64Add($122|0,$123|0,$126|0,$129|0)|0;$131=tempRet0;$132=$111;$133=$132;HEAP32[$133>>2]=$130;$134=$132+4|0;$135=$134;HEAP32[$135>>2]=$131;$136=$output+112|0;$137=$136;$138=$137;$139=HEAP32[$138>>2]|0;$140=$137+4|0;$141=$140;$142=HEAP32[$141>>2]|0;$143=_bitshift64Shl($139|0,$142|0,4)|0;$144=tempRet0;$145=$output+32|0;$146=$145;$147=$146;$148=HEAP32[$147>>2]|0;$149=$146+4|0;$150=$149;$151=HEAP32[$150>>2]|0;$152=_i64Add($148|0,$151|0,$143|0,$144|0)|0;$153=tempRet0;$154=_bitshift64Shl($139|0,$142|0,1)|0;$155=tempRet0;$156=_i64Add($154|0,$155|0,$152|0,$153|0)|0;$157=tempRet0;$158=$136;$159=$158;$160=HEAP32[$159>>2]|0;$161=$158+4|0;$162=$161;$163=HEAP32[$162>>2]|0;$164=_i64Add($156|0,$157|0,$160|0,$163|0)|0;$165=tempRet0;$166=$145;$167=$166;HEAP32[$167>>2]=$164;$168=$166+4|0;$169=$168;HEAP32[$169>>2]=$165;$170=$output+104|0;$171=$170;$172=$171;$173=HEAP32[$172>>2]|0;$174=$171+4|0;$175=$174;$176=HEAP32[$175>>2]|0;$177=_bitshift64Shl($173|0,$176|0,4)|0;$178=tempRet0;$179=$output+24|0;$180=$179;$181=$180;$182=HEAP32[$181>>2]|0;$183=$180+4|0;$184=$183;$185=HEAP32[$184>>2]|0;$186=_i64Add($182|0,$185|0,$177|0,$178|0)|0;$187=tempRet0;$188=_bitshift64Shl($173|0,$176|0,1)|0;$189=tempRet0;$190=_i64Add($188|0,$189|0,$186|0,$187|0)|0;$191=tempRet0;$192=$170;$193=$192;$194=HEAP32[$193>>2]|0;$195=$192+4|0;$196=$195;$197=HEAP32[$196>>2]|0;$198=_i64Add($190|0,$191|0,$194|0,$197|0)|0;$199=tempRet0;$200=$179;$201=$200;HEAP32[$201>>2]=$198;$202=$200+4|0;$203=$202;HEAP32[$203>>2]=$199;$204=$output+96|0;$205=$204;$206=$205;$207=HEAP32[$206>>2]|0;$208=$205+4|0;$209=$208;$210=HEAP32[$209>>2]|0;$211=_bitshift64Shl($207|0,$210|0,4)|0;$212=tempRet0;$213=$output+16|0;$214=$213;$215=$214;$216=HEAP32[$215>>2]|0;$217=$214+4|0;$218=$217;$219=HEAP32[$218>>2]|0;$220=_i64Add($216|0,$219|0,$211|0,$212|0)|0;$221=tempRet0;$222=_bitshift64Shl($207|0,$210|0,1)|0;$223=tempRet0;$224=_i64Add($222|0,$223|0,$220|0,$221|0)|0;$225=tempRet0;$226=$204;$227=$226;$228=HEAP32[$227>>2]|0;$229=$226+4|0;$230=$229;$231=HEAP32[$230>>2]|0;$232=_i64Add($224|0,$225|0,$228|0,$231|0)|0;$233=tempRet0;$234=$213;$235=$234;HEAP32[$235>>2]=$232;$236=$234+4|0;$237=$236;HEAP32[$237>>2]=$233;$238=$output+88|0;$239=$238;$240=$239;$241=HEAP32[$240>>2]|0;$242=$239+4|0;$243=$242;$244=HEAP32[$243>>2]|0;$245=_bitshift64Shl($241|0,$244|0,4)|0;$246=tempRet0;$247=$output+8|0;$248=$247;$249=$248;$250=HEAP32[$249>>2]|0;$251=$248+4|0;$252=$251;$253=HEAP32[$252>>2]|0;$254=_i64Add($250|0,$253|0,$245|0,$246|0)|0;$255=tempRet0;$256=_bitshift64Shl($241|0,$244|0,1)|0;$257=tempRet0;$258=_i64Add($256|0,$257|0,$254|0,$255|0)|0;$259=tempRet0;$260=$238;$261=$260;$262=HEAP32[$261>>2]|0;$263=$260+4|0;$264=$263;$265=HEAP32[$264>>2]|0;$266=_i64Add($258|0,$259|0,$262|0,$265|0)|0;$267=tempRet0;$268=$247;$269=$268;HEAP32[$269>>2]=$266;$270=$268+4|0;$271=$270;HEAP32[$271>>2]=$267;$272=$output+80|0;$273=$272;$274=$273;$275=HEAP32[$274>>2]|0;$276=$273+4|0;$277=$276;$278=HEAP32[$277>>2]|0;$279=_bitshift64Shl($275|0,$278|0,4)|0;$280=tempRet0;$281=$output;$282=$281;$283=HEAP32[$282>>2]|0;$284=$281+4|0;$285=$284;$286=HEAP32[$285>>2]|0;$287=_i64Add($283|0,$286|0,$279|0,$280|0)|0;$288=tempRet0;$289=_bitshift64Shl($275|0,$278|0,1)|0;$290=tempRet0;$291=_i64Add($289|0,$290|0,$287|0,$288|0)|0;$292=tempRet0;$293=_i64Add($291|0,$292|0,$275|0,$278|0)|0;$294=tempRet0;$295=$output;$296=$295;HEAP32[$296>>2]=$293;$297=$295+4|0;$298=$297;HEAP32[$298>>2]=$294;STACKTOP=sp;return}function _freduce_coefficients($output){$output=$output|0;var $0=0,$1=0,$10=0,$100=0,$101=0,$102=0,$103=0,$104=0,$105=0,$106=0,$107=0,$108=0,$109=0,$11=0,$110=0,$111=0,$112=0,$113=0,$114=0,$115=0;var $12=0,$13=0,$14=0,$15=0,$16=0,$17=0,$18=0,$19=0,$2=0,$20=0,$21=0,$22=0,$23=0,$24=0,$25=0,$26=0,$27=0,$28=0,$29=0,$3=0;var $30=0,$31=0,$32=0,$33=0,$34=0,$35=0,$36=0,$37=0,$38=0,$39=0,$4=0,$40=0,$41=0,$42=0,$43=0,$44=0,$45=0,$46=0,$47=0,$48=0;var $49=0,$5=0,$50=0,$51=0,$52=0,$53=0,$54=0,$55=0,$56=0,$57=0,$58=0,$59=0,$6=0,$60=0,$61=0,$62=0,$63=0,$64=0,$65=0,$66=0;var $67=0,$68=0,$69=0,$7=0,$70=0,$71=0,$72=0,$73=0,$74=0,$75=0,$76=0,$77=0,$78=0,$79=0,$8=0,$80=0,$81=0,$82=0,$83=0,$84=0;var $85=0,$86=0,$87=0,$88=0,$89=0,$9=0,$90=0,$91=0,$92=0,$93=0,$94=0,$95=0,$96=0,$97=0,$98=0,$99=0,$i$01=0,label=0,sp=0;sp=STACKTOP;$0=$output+80|0;$1=$0;$2=$1;HEAP32[$2>>2]=0;$3=$1+4|0;$4=$3;HEAP32[$4>>2]=0;$i$01=0;while(1){$5=$output+($i$01<<3)|0;$6=$5;$7=$6;$8=HEAP32[$7>>2]|0;$9=$6+4|0;$10=$9;$11=HEAP32[$10>>2]|0;$12=_div_by_2_26($8,$11)|0;$13=tempRet0;$14=_bitshift64Shl($12|0,$13|0,26)|0;$15=tempRet0;$16=_i64Subtract($8|0,$11|0,$14|0,$15|0)|0;$17=tempRet0;$18=$5;$19=$18;HEAP32[$19>>2]=$16;$20=$18+4|0;$21=$20;HEAP32[$21>>2]=$17;$22=$i$01|1;$23=$output+($22<<3)|0;$24=$23;$25=$24;$26=HEAP32[$25>>2]|0;$27=$24+4|0;$28=$27;$29=HEAP32[$28>>2]|0;$30=_i64Add($26|0,$29|0,$12|0,$13|0)|0;$31=tempRet0;$32=_div_by_2_25($30,$31)|0;$33=tempRet0;$34=_bitshift64Shl($32|0,$33|0,25)|0;$35=tempRet0;$36=_i64Subtract($30|0,$31|0,$34|0,$35|0)|0;$37=tempRet0;$38=$23;$39=$38;HEAP32[$39>>2]=$36;$40=$38+4|0;$41=$40;HEAP32[$41>>2]=$37;$42=$i$01+2|0;$43=$output+($42<<3)|0;$44=$43;$45=$44;$46=HEAP32[$45>>2]|0;$47=$44+4|0;$48=$47;$49=HEAP32[$48>>2]|0;$50=_i64Add($46|0,$49|0,$32|0,$33|0)|0;$51=tempRet0;$52=$43;$53=$52;HEAP32[$53>>2]=$50;$54=$52+4|0;$55=$54;HEAP32[$55>>2]=$51;$56=$42>>>0<10;if($56){$i$01=$42}else{break}}$57=$0;$58=$57;$59=HEAP32[$58>>2]|0;$60=$57+4|0;$61=$60;$62=HEAP32[$61>>2]|0;$63=_bitshift64Shl($59|0,$62|0,4)|0;$64=tempRet0;$65=$output;$66=$65;$67=HEAP32[$66>>2]|0;$68=$65+4|0;$69=$68;$70=HEAP32[$69>>2]|0;$71=_i64Add($67|0,$70|0,$63|0,$64|0)|0;$72=tempRet0;$73=_bitshift64Shl($59|0,$62|0,1)|0;$74=tempRet0;$75=_i64Add($73|0,$74|0,$71|0,$72|0)|0;$76=tempRet0;$77=_i64Add($75|0,$76|0,$59|0,$62|0)|0;$78=tempRet0;$79=$output;$80=$79;HEAP32[$80>>2]=$77;$81=$79+4|0;$82=$81;HEAP32[$82>>2]=$78;$83=$0;$84=$83;HEAP32[$84>>2]=0;$85=$83+4|0;$86=$85;HEAP32[$86>>2]=0;$87=$output;$88=$87;$89=HEAP32[$88>>2]|0;$90=$87+4|0;$91=$90;$92=HEAP32[$91>>2]|0;$93=_div_by_2_26($89,$92)|0;$94=tempRet0;$95=_bitshift64Shl($93|0,$94|0,26)|0;$96=tempRet0;$97=_i64Subtract($89|0,$92|0,$95|0,$96|0)|0;$98=tempRet0;$99=$output;$100=$99;HEAP32[$100>>2]=$97;$101=$99+4|0;$102=$101;HEAP32[$102>>2]=$98;$103=$output+8|0;$104=$103;$105=$104;$106=HEAP32[$105>>2]|0;$107=$104+4|0;$108=$107;$109=HEAP32[$108>>2]|0;$110=_i64Add($106|0,$109|0,$93|0,$94|0)|0;$111=tempRet0;$112=$103;$113=$112;HEAP32[$113>>2]=$110;$114=$112+4|0;$115=$114;HEAP32[$115>>2]=$111;STACKTOP=sp;return}function _s32_eq($a,$b){$a=$a|0;$b=$b|0;var $0=0,$1=0,$10=0,$11=0,$12=0,$2=0,$3=0,$4=0,$5=0,$6=0,$7=0,$8=0,$9=0,label=0,sp=0;sp=STACKTOP;$0=$a^-1;$1=$0^$b;$2=$1<<16;$3=$2&$1;$4=$3<<8;$5=$4&$3;$6=$5<<4;$7=$6&$5;$8=$7<<2;$9=$8&$7;$10=$9<<1;$11=$10&$9;$12=$11>>31;STACKTOP=sp;return $12|0}function _s32_gte($a){$a=$a|0;var $0=0,$1=0,$2=0,label=0,sp=0;sp=STACKTOP;$0=$a+-67108845|0;$1=$0>>31;$2=$1^-1;STACKTOP=sp;return $2|0}function _fsum($output,$in){$output=$output|0;$in=$in|0;var $0=0,$1=0,$10=0,$100=0,$101=0,$102=0,$103=0,$104=0,$105=0,$106=0,$107=0,$108=0,$109=0,$11=0,$110=0,$111=0,$112=0,$113=0,$114=0,$115=0;var $116=0,$117=0,$118=0,$119=0,$12=0,$120=0,$121=0,$122=0,$123=0,$124=0,$125=0,$126=0,$127=0,$128=0,$129=0,$13=0,$130=0,$131=0,$132=0,$133=0;var $134=0,$135=0,$136=0,$137=0,$138=0,$139=0,$14=0,$140=0,$141=0,$142=0,$143=0,$144=0,$145=0,$146=0,$147=0,$148=0,$149=0,$15=0,$150=0,$151=0;var $152=0,$153=0,$154=0,$155=0,$156=0,$157=0,$158=0,$159=0,$16=0,$160=0,$161=0,$162=0,$163=0,$164=0,$165=0,$166=0,$167=0,$168=0,$169=0,$17=0;var $170=0,$171=0,$172=0,$173=0,$174=0,$175=0,$176=0,$177=0,$178=0,$179=0,$18=0,$180=0,$181=0,$182=0,$183=0,$184=0,$185=0,$186=0,$187=0,$188=0;var $189=0,$19=0,$190=0,$191=0,$192=0,$193=0,$194=0,$195=0,$196=0,$197=0,$2=0,$20=0,$21=0,$22=0,$23=0,$24=0,$25=0,$26=0,$27=0,$28=0;var $29=0,$3=0,$30=0,$31=0,$32=0,$33=0,$34=0,$35=0,$36=0,$37=0,$38=0,$39=0,$4=0,$40=0,$41=0,$42=0,$43=0,$44=0,$45=0,$46=0;var $47=0,$48=0,$49=0,$5=0,$50=0,$51=0,$52=0,$53=0,$54=0,$55=0,$56=0,$57=0,$58=0,$59=0,$6=0,$60=0,$61=0,$62=0,$63=0,$64=0;var $65=0,$66=0,$67=0,$68=0,$69=0,$7=0,$70=0,$71=0,$72=0,$73=0,$74=0,$75=0,$76=0,$77=0,$78=0,$79=0,$8=0,$80=0,$81=0,$82=0;var $83=0,$84=0,$85=0,$86=0,$87=0,$88=0,$89=0,$9=0,$90=0,$91=0,$92=0,$93=0,$94=0,$95=0,$96=0,$97=0,$98=0,$99=0,label=0,sp=0;sp=STACKTOP;$0=$output;$1=$0;$2=HEAP32[$1>>2]|0;$3=$0+4|0;$4=$3;$5=HEAP32[$4>>2]|0;$6=$in;$7=$6;$8=HEAP32[$7>>2]|0;$9=$6+4|0;$10=$9;$11=HEAP32[$10>>2]|0;$12=_i64Add($8|0,$11|0,$2|0,$5|0)|0;$13=tempRet0;$14=$output;$15=$14;HEAP32[$15>>2]=$12;$16=$14+4|0;$17=$16;HEAP32[$17>>2]=$13;$18=$output+8|0;$19=$18;$20=$19;$21=HEAP32[$20>>2]|0;$22=$19+4|0;$23=$22;$24=HEAP32[$23>>2]|0;$25=$in+8|0;$26=$25;$27=$26;$28=HEAP32[$27>>2]|0;$29=$26+4|0;$30=$29;$31=HEAP32[$30>>2]|0;$32=_i64Add($28|0,$31|0,$21|0,$24|0)|0;$33=tempRet0;$34=$18;$35=$34;HEAP32[$35>>2]=$32;$36=$34+4|0;$37=$36;HEAP32[$37>>2]=$33;$38=$output+16|0;$39=$38;$40=$39;$41=HEAP32[$40>>2]|0;$42=$39+4|0;$43=$42;$44=HEAP32[$43>>2]|0;$45=$in+16|0;$46=$45;$47=$46;$48=HEAP32[$47>>2]|0;$49=$46+4|0;$50=$49;$51=HEAP32[$50>>2]|0;$52=_i64Add($48|0,$51|0,$41|0,$44|0)|0;$53=tempRet0;$54=$38;$55=$54;HEAP32[$55>>2]=$52;$56=$54+4|0;$57=$56;HEAP32[$57>>2]=$53;$58=$output+24|0;$59=$58;$60=$59;$61=HEAP32[$60>>2]|0;$62=$59+4|0;$63=$62;$64=HEAP32[$63>>2]|0;$65=$in+24|0;$66=$65;$67=$66;$68=HEAP32[$67>>2]|0;$69=$66+4|0;$70=$69;$71=HEAP32[$70>>2]|0;$72=_i64Add($68|0,$71|0,$61|0,$64|0)|0;$73=tempRet0;$74=$58;$75=$74;HEAP32[$75>>2]=$72;$76=$74+4|0;$77=$76;HEAP32[$77>>2]=$73;$78=$output+32|0;$79=$78;$80=$79;$81=HEAP32[$80>>2]|0;$82=$79+4|0;$83=$82;$84=HEAP32[$83>>2]|0;$85=$in+32|0;$86=$85;$87=$86;$88=HEAP32[$87>>2]|0;$89=$86+4|0;$90=$89;$91=HEAP32[$90>>2]|0;$92=_i64Add($88|0,$91|0,$81|0,$84|0)|0;$93=tempRet0;$94=$78;$95=$94;HEAP32[$95>>2]=$92;$96=$94+4|0;$97=$96;HEAP32[$97>>2]=$93;$98=$output+40|0;$99=$98;$100=$99;$101=HEAP32[$100>>2]|0;$102=$99+4|0;$103=$102;$104=HEAP32[$103>>2]|0;$105=$in+40|0;$106=$105;$107=$106;$108=HEAP32[$107>>2]|0;$109=$106+4|0;$110=$109;$111=HEAP32[$110>>2]|0;$112=_i64Add($108|0,$111|0,$101|0,$104|0)|0;$113=tempRet0;$114=$98;$115=$114;HEAP32[$115>>2]=$112;$116=$114+4|0;$117=$116;HEAP32[$117>>2]=$113;$118=$output+48|0;$119=$118;$120=$119;$121=HEAP32[$120>>2]|0;$122=$119+4|0;$123=$122;$124=HEAP32[$123>>2]|0;$125=$in+48|0;$126=$125;$127=$126;$128=HEAP32[$127>>2]|0;$129=$126+4|0;$130=$129;$131=HEAP32[$130>>2]|0;$132=_i64Add($128|0,$131|0,$121|0,$124|0)|0;$133=tempRet0;$134=$118;$135=$134;HEAP32[$135>>2]=$132;$136=$134+4|0;$137=$136;HEAP32[$137>>2]=$133;$138=$output+56|0;$139=$138;$140=$139;$141=HEAP32[$140>>2]|0;$142=$139+4|0;$143=$142;$144=HEAP32[$143>>2]|0;$145=$in+56|0;$146=$145;$147=$146;$148=HEAP32[$147>>2]|0;$149=$146+4|0;$150=$149;$151=HEAP32[$150>>2]|0;$152=_i64Add($148|0,$151|0,$141|0,$144|0)|0;$153=tempRet0;$154=$138;$155=$154;HEAP32[$155>>2]=$152;$156=$154+4|0;$157=$156;HEAP32[$157>>2]=$153;$158=$output+64|0;$159=$158;$160=$159;$161=HEAP32[$160>>2]|0;$162=$159+4|0;$163=$162;$164=HEAP32[$163>>2]|0;$165=$in+64|0;$166=$165;$167=$166;$168=HEAP32[$167>>2]|0;$169=$166+4|0;$170=$169;$171=HEAP32[$170>>2]|0;$172=_i64Add($168|0,$171|0,$161|0,$164|0)|0;$173=tempRet0;$174=$158;$175=$174;HEAP32[$175>>2]=$172;$176=$174+4|0;$177=$176;HEAP32[$177>>2]=$173;$178=$output+72|0;$179=$178;$180=$179;$181=HEAP32[$180>>2]|0;$182=$179+4|0;$183=$182;$184=HEAP32[$183>>2]|0;$185=$in+72|0;$186=$185;$187=$186;$188=HEAP32[$187>>2]|0;$189=$186+4|0;$190=$189;$191=HEAP32[$190>>2]|0;$192=_i64Add($188|0,$191|0,$181|0,$184|0)|0;$193=tempRet0;$194=$178;$195=$194;HEAP32[$195>>2]=$192;$196=$194+4|0;$197=$196;HEAP32[$197>>2]=$193;STACKTOP=sp;return}function _fdifference($output,$in){$output=$output|0;$in=$in|0;var $0=0,$1=0,$10=0,$100=0,$101=0,$102=0,$103=0,$104=0,$105=0,$106=0,$107=0,$108=0,$109=0,$11=0,$110=0,$111=0,$112=0,$113=0,$114=0,$115=0;var $116=0,$117=0,$118=0,$119=0,$12=0,$120=0,$121=0,$122=0,$123=0,$124=0,$125=0,$126=0,$127=0,$128=0,$129=0,$13=0,$130=0,$131=0,$132=0,$133=0;var $134=0,$135=0,$136=0,$137=0,$138=0,$139=0,$14=0,$140=0,$141=0,$142=0,$143=0,$144=0,$145=0,$146=0,$147=0,$148=0,$149=0,$15=0,$150=0,$151=0;var $152=0,$153=0,$154=0,$155=0,$156=0,$157=0,$158=0,$159=0,$16=0,$160=0,$161=0,$162=0,$163=0,$164=0,$165=0,$166=0,$167=0,$168=0,$169=0,$17=0;var $170=0,$171=0,$172=0,$173=0,$174=0,$175=0,$176=0,$177=0,$178=0,$179=0,$18=0,$180=0,$181=0,$182=0,$183=0,$184=0,$185=0,$186=0,$187=0,$188=0;var $189=0,$19=0,$190=0,$191=0,$192=0,$193=0,$194=0,$195=0,$196=0,$197=0,$2=0,$20=0,$21=0,$22=0,$23=0,$24=0,$25=0,$26=0,$27=0,$28=0;var $29=0,$3=0,$30=0,$31=0,$32=0,$33=0,$34=0,$35=0,$36=0,$37=0,$38=0,$39=0,$4=0,$40=0,$41=0,$42=0,$43=0,$44=0,$45=0,$46=0;var $47=0,$48=0,$49=0,$5=0,$50=0,$51=0,$52=0,$53=0,$54=0,$55=0,$56=0,$57=0,$58=0,$59=0,$6=0,$60=0,$61=0,$62=0,$63=0,$64=0;var $65=0,$66=0,$67=0,$68=0,$69=0,$7=0,$70=0,$71=0,$72=0,$73=0,$74=0,$75=0,$76=0,$77=0,$78=0,$79=0,$8=0,$80=0,$81=0,$82=0;var $83=0,$84=0,$85=0,$86=0,$87=0,$88=0,$89=0,$9=0,$90=0,$91=0,$92=0,$93=0,$94=0,$95=0,$96=0,$97=0,$98=0,$99=0,label=0,sp=0;sp=STACKTOP;$0=$in;$1=$0;$2=HEAP32[$1>>2]|0;$3=$0+4|0;$4=$3;$5=HEAP32[$4>>2]|0;$6=$output;$7=$6;$8=HEAP32[$7>>2]|0;$9=$6+4|0;$10=$9;$11=HEAP32[$10>>2]|0;$12=_i64Subtract($2|0,$5|0,$8|0,$11|0)|0;$13=tempRet0;$14=$output;$15=$14;HEAP32[$15>>2]=$12;$16=$14+4|0;$17=$16;HEAP32[$17>>2]=$13;$18=$in+8|0;$19=$18;$20=$19;$21=HEAP32[$20>>2]|0;$22=$19+4|0;$23=$22;$24=HEAP32[$23>>2]|0;$25=$output+8|0;$26=$25;$27=$26;$28=HEAP32[$27>>2]|0;$29=$26+4|0;$30=$29;$31=HEAP32[$30>>2]|0;$32=_i64Subtract($21|0,$24|0,$28|0,$31|0)|0;$33=tempRet0;$34=$25;$35=$34;HEAP32[$35>>2]=$32;$36=$34+4|0;$37=$36;HEAP32[$37>>2]=$33;$38=$in+16|0;$39=$38;$40=$39;$41=HEAP32[$40>>2]|0;$42=$39+4|0;$43=$42;$44=HEAP32[$43>>2]|0;$45=$output+16|0;$46=$45;$47=$46;$48=HEAP32[$47>>2]|0;$49=$46+4|0;$50=$49;$51=HEAP32[$50>>2]|0;$52=_i64Subtract($41|0,$44|0,$48|0,$51|0)|0;$53=tempRet0;$54=$45;$55=$54;HEAP32[$55>>2]=$52;$56=$54+4|0;$57=$56;HEAP32[$57>>2]=$53;$58=$in+24|0;$59=$58;$60=$59;$61=HEAP32[$60>>2]|0;$62=$59+4|0;$63=$62;$64=HEAP32[$63>>2]|0;$65=$output+24|0;$66=$65;$67=$66;$68=HEAP32[$67>>2]|0;$69=$66+4|0;$70=$69;$71=HEAP32[$70>>2]|0;$72=_i64Subtract($61|0,$64|0,$68|0,$71|0)|0;$73=tempRet0;$74=$65;$75=$74;HEAP32[$75>>2]=$72;$76=$74+4|0;$77=$76;HEAP32[$77>>2]=$73;$78=$in+32|0;$79=$78;$80=$79;$81=HEAP32[$80>>2]|0;$82=$79+4|0;$83=$82;$84=HEAP32[$83>>2]|0;$85=$output+32|0;$86=$85;$87=$86;$88=HEAP32[$87>>2]|0;$89=$86+4|0;$90=$89;$91=HEAP32[$90>>2]|0;$92=_i64Subtract($81|0,$84|0,$88|0,$91|0)|0;$93=tempRet0;$94=$85;$95=$94;HEAP32[$95>>2]=$92;$96=$94+4|0;$97=$96;HEAP32[$97>>2]=$93;$98=$in+40|0;$99=$98;$100=$99;$101=HEAP32[$100>>2]|0;$102=$99+4|0;$103=$102;$104=HEAP32[$103>>2]|0;$105=$output+40|0;$106=$105;$107=$106;$108=HEAP32[$107>>2]|0;$109=$106+4|0;$110=$109;$111=HEAP32[$110>>2]|0;$112=_i64Subtract($101|0,$104|0,$108|0,$111|0)|0;$113=tempRet0;$114=$105;$115=$114;HEAP32[$115>>2]=$112;$116=$114+4|0;$117=$116;HEAP32[$117>>2]=$113;$118=$in+48|0;$119=$118;$120=$119;$121=HEAP32[$120>>2]|0;$122=$119+4|0;$123=$122;$124=HEAP32[$123>>2]|0;$125=$output+48|0;$126=$125;$127=$126;$128=HEAP32[$127>>2]|0;$129=$126+4|0;$130=$129;$131=HEAP32[$130>>2]|0;$132=_i64Subtract($121|0,$124|0,$128|0,$131|0)|0;$133=tempRet0;$134=$125;$135=$134;HEAP32[$135>>2]=$132;$136=$134+4|0;$137=$136;HEAP32[$137>>2]=$133;$138=$in+56|0;$139=$138;$140=$139;$141=HEAP32[$140>>2]|0;$142=$139+4|0;$143=$142;$144=HEAP32[$143>>2]|0;$145=$output+56|0;$146=$145;$147=$146;$148=HEAP32[$147>>2]|0;$149=$146+4|0;$150=$149;$151=HEAP32[$150>>2]|0;$152=_i64Subtract($141|0,$144|0,$148|0,$151|0)|0;$153=tempRet0;$154=$145;$155=$154;HEAP32[$155>>2]=$152;$156=$154+4|0;$157=$156;HEAP32[$157>>2]=$153;$158=$in+64|0;$159=$158;$160=$159;$161=HEAP32[$160>>2]|0;$162=$159+4|0;$163=$162;$164=HEAP32[$163>>2]|0;$165=$output+64|0;$166=$165;$167=$166;$168=HEAP32[$167>>2]|0;$169=$166+4|0;$170=$169;$171=HEAP32[$170>>2]|0;$172=_i64Subtract($161|0,$164|0,$168|0,$171|0)|0;$173=tempRet0;$174=$165;$175=$174;HEAP32[$175>>2]=$172;$176=$174+4|0;$177=$176;HEAP32[$177>>2]=$173;$178=$in+72|0;$179=$178;$180=$179;$181=HEAP32[$180>>2]|0;$182=$179+4|0;$183=$182;$184=HEAP32[$183>>2]|0;$185=$output+72|0;$186=$185;$187=$186;$188=HEAP32[$187>>2]|0;$189=$186+4|0;$190=$189;$191=HEAP32[$190>>2]|0;$192=_i64Subtract($181|0,$184|0,$188|0,$191|0)|0;$193=tempRet0;$194=$185;$195=$194;HEAP32[$195>>2]=$192;$196=$194+4|0;$197=$196;HEAP32[$197>>2]=$193;STACKTOP=sp;return}function _fscalar_product($output,$in){$output=$output|0;$in=$in|0;var $0=0,$1=0,$10=0,$100=0,$101=0,$102=0,$103=0,$104=0,$105=0,$106=0,$107=0,$108=0,$109=0,$11=0,$110=0,$111=0,$112=0,$113=0,$114=0,$115=0;var $116=0,$117=0,$118=0,$119=0,$12=0,$120=0,$121=0,$122=0,$123=0,$124=0,$125=0,$126=0,$127=0,$128=0,$129=0,$13=0,$130=0,$131=0,$132=0,$133=0;var $134=0,$135=0,$136=0,$137=0,$14=0,$15=0,$16=0,$17=0,$18=0,$19=0,$2=0,$20=0,$21=0,$22=0,$23=0,$24=0,$25=0,$26=0,$27=0,$28=0;var $29=0,$3=0,$30=0,$31=0,$32=0,$33=0,$34=0,$35=0,$36=0,$37=0,$38=0,$39=0,$4=0,$40=0,$41=0,$42=0,$43=0,$44=0,$45=0,$46=0;var $47=0,$48=0,$49=0,$5=0,$50=0,$51=0,$52=0,$53=0,$54=0,$55=0,$56=0,$57=0,$58=0,$59=0,$6=0,$60=0,$61=0,$62=0,$63=0,$64=0;var $65=0,$66=0,$67=0,$68=0,$69=0,$7=0,$70=0,$71=0,$72=0,$73=0,$74=0,$75=0,$76=0,$77=0,$78=0,$79=0,$8=0,$80=0,$81=0,$82=0;var $83=0,$84=0,$85=0,$86=0,$87=0,$88=0,$89=0,$9=0,$90=0,$91=0,$92=0,$93=0,$94=0,$95=0,$96=0,$97=0,$98=0,$99=0,label=0,sp=0;sp=STACKTOP;$0=$in;$1=$0;$2=HEAP32[$1>>2]|0;$3=$0+4|0;$4=$3;$5=HEAP32[$4>>2]|0;$6=___muldi3($2|0,$5|0,121665,0)|0;$7=tempRet0;$8=$output;$9=$8;HEAP32[$9>>2]=$6;$10=$8+4|0;$11=$10;HEAP32[$11>>2]=$7;$12=$in+8|0;$13=$12;$14=$13;$15=HEAP32[$14>>2]|0;$16=$13+4|0;$17=$16;$18=HEAP32[$17>>2]|0;$19=___muldi3($15|0,$18|0,121665,0)|0;$20=tempRet0;$21=$output+8|0;$22=$21;$23=$22;HEAP32[$23>>2]=$19;$24=$22+4|0;$25=$24;HEAP32[$25>>2]=$20;$26=$in+16|0;$27=$26;$28=$27;$29=HEAP32[$28>>2]|0;$30=$27+4|0;$31=$30;$32=HEAP32[$31>>2]|0;$33=___muldi3($29|0,$32|0,121665,0)|0;$34=tempRet0;$35=$output+16|0;$36=$35;$37=$36;HEAP32[$37>>2]=$33;$38=$36+4|0;$39=$38;HEAP32[$39>>2]=$34;$40=$in+24|0;$41=$40;$42=$41;$43=HEAP32[$42>>2]|0;$44=$41+4|0;$45=$44;$46=HEAP32[$45>>2]|0;$47=___muldi3($43|0,$46|0,121665,0)|0;$48=tempRet0;$49=$output+24|0;$50=$49;$51=$50;HEAP32[$51>>2]=$47;$52=$50+4|0;$53=$52;HEAP32[$53>>2]=$48;$54=$in+32|0;$55=$54;$56=$55;$57=HEAP32[$56>>2]|0;$58=$55+4|0;$59=$58;$60=HEAP32[$59>>2]|0;$61=___muldi3($57|0,$60|0,121665,0)|0;$62=tempRet0;$63=$output+32|0;$64=$63;$65=$64;HEAP32[$65>>2]=$61;$66=$64+4|0;$67=$66;HEAP32[$67>>2]=$62;$68=$in+40|0;$69=$68;$70=$69;$71=HEAP32[$70>>2]|0;$72=$69+4|0;$73=$72;$74=HEAP32[$73>>2]|0;$75=___muldi3($71|0,$74|0,121665,0)|0;$76=tempRet0;$77=$output+40|0;$78=$77;$79=$78;HEAP32[$79>>2]=$75;$80=$78+4|0;$81=$80;HEAP32[$81>>2]=$76;$82=$in+48|0;$83=$82;$84=$83;$85=HEAP32[$84>>2]|0;$86=$83+4|0;$87=$86;$88=HEAP32[$87>>2]|0;$89=___muldi3($85|0,$88|0,121665,0)|0;$90=tempRet0;$91=$output+48|0;$92=$91;$93=$92;HEAP32[$93>>2]=$89;$94=$92+4|0;$95=$94;HEAP32[$95>>2]=$90;$96=$in+56|0;$97=$96;$98=$97;$99=HEAP32[$98>>2]|0;$100=$97+4|0;$101=$100;$102=HEAP32[$101>>2]|0;$103=___muldi3($99|0,$102|0,121665,0)|0;$104=tempRet0;$105=$output+56|0;$106=$105;$107=$106;HEAP32[$107>>2]=$103;$108=$106+4|0;$109=$108;HEAP32[$109>>2]=$104;$110=$in+64|0;$111=$110;$112=$111;$113=HEAP32[$112>>2]|0;$114=$111+4|0;$115=$114;$116=HEAP32[$115>>2]|0;$117=___muldi3($113|0,$116|0,121665,0)|0;$118=tempRet0;$119=$output+64|0;$120=$119;$121=$120;HEAP32[$121>>2]=$117;$122=$120+4|0;$123=$122;HEAP32[$123>>2]=$118;$124=$in+72|0;$125=$124;$126=$125;$127=HEAP32[$126>>2]|0;$128=$125+4|0;$129=$128;$130=HEAP32[$129>>2]|0;$131=___muldi3($127|0,$130|0,121665,0)|0;$132=tempRet0;$133=$output+72|0;$134=$133;$135=$134;HEAP32[$135>>2]=$131;$136=$134+4|0;$137=$136;HEAP32[$137>>2]=$132;STACKTOP=sp;return}function _fsquare_inner($output,$in){$output=$output|0;$in=$in|0;var $0=0,$1=0,$10=0,$100=0,$1000=0,$1001=0,$1002=0,$1003=0,$1004=0,$1005=0,$1006=0,$1007=0,$1008=0,$1009=0,$101=0,$1010=0,$1011=0,$1012=0,$1013=0,$1014=0;var $1015=0,$1016=0,$1017=0,$1018=0,$1019=0,$102=0,$1020=0,$1021=0,$1022=0,$1023=0,$1024=0,$1025=0,$1026=0,$1027=0,$1028=0,$1029=0,$103=0,$1030=0,$1031=0,$1032=0;var $1033=0,$1034=0,$1035=0,$1036=0,$1037=0,$1038=0,$1039=0,$104=0,$1040=0,$1041=0,$1042=0,$1043=0,$1044=0,$1045=0,$1046=0,$1047=0,$1048=0,$1049=0,$105=0,$1050=0;var $1051=0,$1052=0,$1053=0,$1054=0,$1055=0,$1056=0,$1057=0,$1058=0,$1059=0,$106=0,$1060=0,$1061=0,$1062=0,$1063=0,$1064=0,$1065=0,$1066=0,$1067=0,$1068=0,$1069=0;var $107=0,$1070=0,$1071=0,$1072=0,$1073=0,$1074=0,$1075=0,$1076=0,$1077=0,$1078=0,$1079=0,$108=0,$1080=0,$1081=0,$1082=0,$1083=0,$1084=0,$1085=0,$1086=0,$1087=0;var $1088=0,$1089=0,$109=0,$1090=0,$1091=0,$1092=0,$1093=0,$1094=0,$1095=0,$1096=0,$1097=0,$1098=0,$1099=0,$11=0,$110=0,$1100=0,$1101=0,$1102=0,$1103=0,$1104=0;var $1105=0,$1106=0,$1107=0,$1108=0,$1109=0,$111=0,$1110=0,$1111=0,$1112=0,$1113=0,$1114=0,$1115=0,$1116=0,$1117=0,$1118=0,$112=0,$113=0,$114=0,$115=0,$116=0;var $117=0,$118=0,$119=0,$12=0,$120=0,$121=0,$122=0,$123=0,$124=0,$125=0,$126=0,$127=0,$128=0,$129=0,$13=0,$130=0,$131=0,$132=0,$133=0,$134=0;var $135=0,$136=0,$137=0,$138=0,$139=0,$14=0,$140=0,$141=0,$142=0,$143=0,$144=0,$145=0,$146=0,$147=0,$148=0,$149=0,$15=0,$150=0,$151=0,$152=0;var $153=0,$154=0,$155=0,$156=0,$157=0,$158=0,$159=0,$16=0,$160=0,$161=0,$162=0,$163=0,$164=0,$165=0,$166=0,$167=0,$168=0,$169=0,$17=0,$170=0;var $171=0,$172=0,$173=0,$174=0,$175=0,$176=0,$177=0,$178=0,$179=0,$18=0,$180=0,$181=0,$182=0,$183=0,$184=0,$185=0,$186=0,$187=0,$188=0,$189=0;var $19=0,$190=0,$191=0,$192=0,$193=0,$194=0,$195=0,$196=0,$197=0,$198=0,$199=0,$2=0,$20=0,$200=0,$201=0,$202=0,$203=0,$204=0,$205=0,$206=0;var $207=0,$208=0,$209=0,$21=0,$210=0,$211=0,$212=0,$213=0,$214=0,$215=0,$216=0,$217=0,$218=0,$219=0,$22=0,$220=0,$221=0,$222=0,$223=0,$224=0;var $225=0,$226=0,$227=0,$228=0,$229=0,$23=0,$230=0,$231=0,$232=0,$233=0,$234=0,$235=0,$236=0,$237=0,$238=0,$239=0,$24=0,$240=0,$241=0,$242=0;var $243=0,$244=0,$245=0,$246=0,$247=0,$248=0,$249=0,$25=0,$250=0,$251=0,$252=0,$253=0,$254=0,$255=0,$256=0,$257=0,$258=0,$259=0,$26=0,$260=0;var $261=0,$262=0,$263=0,$264=0,$265=0,$266=0,$267=0,$268=0,$269=0,$27=0,$270=0,$271=0,$272=0,$273=0,$274=0,$275=0,$276=0,$277=0,$278=0,$279=0;var $28=0,$280=0,$281=0,$282=0,$283=0,$284=0,$285=0,$286=0,$287=0,$288=0,$289=0,$29=0,$290=0,$291=0,$292=0,$293=0,$294=0,$295=0,$296=0,$297=0;var $298=0,$299=0,$3=0,$30=0,$300=0,$301=0,$302=0,$303=0,$304=0,$305=0,$306=0,$307=0,$308=0,$309=0,$31=0,$310=0,$311=0,$312=0,$313=0,$314=0;var $315=0,$316=0,$317=0,$318=0,$319=0,$32=0,$320=0,$321=0,$322=0,$323=0,$324=0,$325=0,$326=0,$327=0,$328=0,$329=0,$33=0,$330=0,$331=0,$332=0;var $333=0,$334=0,$335=0,$336=0,$337=0,$338=0,$339=0,$34=0,$340=0,$341=0,$342=0,$343=0,$344=0,$345=0,$346=0,$347=0,$348=0,$349=0,$35=0,$350=0;var $351=0,$352=0,$353=0,$354=0,$355=0,$356=0,$357=0,$358=0,$359=0,$36=0,$360=0,$361=0,$362=0,$363=0,$364=0,$365=0,$366=0,$367=0,$368=0,$369=0;var $37=0,$370=0,$371=0,$372=0,$373=0,$374=0,$375=0,$376=0,$377=0,$378=0,$379=0,$38=0,$380=0,$381=0,$382=0,$383=0,$384=0,$385=0,$386=0,$387=0;var $388=0,$389=0,$39=0,$390=0,$391=0,$392=0,$393=0,$394=0,$395=0,$396=0,$397=0,$398=0,$399=0,$4=0,$40=0,$400=0,$401=0,$402=0,$403=0,$404=0;var $405=0,$406=0,$407=0,$408=0,$409=0,$41=0,$410=0,$411=0,$412=0,$413=0,$414=0,$415=0,$416=0,$417=0,$418=0,$419=0,$42=0,$420=0,$421=0,$422=0;var $423=0,$424=0,$425=0,$426=0,$427=0,$428=0,$429=0,$43=0,$430=0,$431=0,$432=0,$433=0,$434=0,$435=0,$436=0,$437=0,$438=0,$439=0,$44=0,$440=0;var $441=0,$442=0,$443=0,$444=0,$445=0,$446=0,$447=0,$448=0,$449=0,$45=0,$450=0,$451=0,$452=0,$453=0,$454=0,$455=0,$456=0,$457=0,$458=0,$459=0;var $46=0,$460=0,$461=0,$462=0,$463=0,$464=0,$465=0,$466=0,$467=0,$468=0,$469=0,$47=0,$470=0,$471=0,$472=0,$473=0,$474=0,$475=0,$476=0,$477=0;var $478=0,$479=0,$48=0,$480=0,$481=0,$482=0,$483=0,$484=0,$485=0,$486=0,$487=0,$488=0,$489=0,$49=0,$490=0,$491=0,$492=0,$493=0,$494=0,$495=0;var $496=0,$497=0,$498=0,$499=0,$5=0,$50=0,$500=0,$501=0,$502=0,$503=0,$504=0,$505=0,$506=0,$507=0,$508=0,$509=0,$51=0,$510=0,$511=0,$512=0;var $513=0,$514=0,$515=0,$516=0,$517=0,$518=0,$519=0,$52=0,$520=0,$521=0,$522=0,$523=0,$524=0,$525=0,$526=0,$527=0,$528=0,$529=0,$53=0,$530=0;var $531=0,$532=0,$533=0,$534=0,$535=0,$536=0,$537=0,$538=0,$539=0,$54=0,$540=0,$541=0,$542=0,$543=0,$544=0,$545=0,$546=0,$547=0,$548=0,$549=0;var $55=0,$550=0,$551=0,$552=0,$553=0,$554=0,$555=0,$556=0,$557=0,$558=0,$559=0,$56=0,$560=0,$561=0,$562=0,$563=0,$564=0,$565=0,$566=0,$567=0;var $568=0,$569=0,$57=0,$570=0,$571=0,$572=0,$573=0,$574=0,$575=0,$576=0,$577=0,$578=0,$579=0,$58=0,$580=0,$581=0,$582=0,$583=0,$584=0,$585=0;var $586=0,$587=0,$588=0,$589=0,$59=0,$590=0,$591=0,$592=0,$593=0,$594=0,$595=0,$596=0,$597=0,$598=0,$599=0,$6=0,$60=0,$600=0,$601=0,$602=0;var $603=0,$604=0,$605=0,$606=0,$607=0,$608=0,$609=0,$61=0,$610=0,$611=0,$612=0,$613=0,$614=0,$615=0,$616=0,$617=0,$618=0,$619=0,$62=0,$620=0;var $621=0,$622=0,$623=0,$624=0,$625=0,$626=0,$627=0,$628=0,$629=0,$63=0,$630=0,$631=0,$632=0,$633=0,$634=0,$635=0,$636=0,$637=0,$638=0,$639=0;var $64=0,$640=0,$641=0,$642=0,$643=0,$644=0,$645=0,$646=0,$647=0,$648=0,$649=0,$65=0,$650=0,$651=0,$652=0,$653=0,$654=0,$655=0,$656=0,$657=0;var $658=0,$659=0,$66=0,$660=0,$661=0,$662=0,$663=0,$664=0,$665=0,$666=0,$667=0,$668=0,$669=0,$67=0,$670=0,$671=0,$672=0,$673=0,$674=0,$675=0;var $676=0,$677=0,$678=0,$679=0,$68=0,$680=0,$681=0,$682=0,$683=0,$684=0,$685=0,$686=0,$687=0,$688=0,$689=0,$69=0,$690=0,$691=0,$692=0,$693=0;var $694=0,$695=0,$696=0,$697=0,$698=0,$699=0,$7=0,$70=0,$700=0,$701=0,$702=0,$703=0,$704=0,$705=0,$706=0,$707=0,$708=0,$709=0,$71=0,$710=0;var $711=0,$712=0,$713=0,$714=0,$715=0,$716=0,$717=0,$718=0,$719=0,$72=0,$720=0,$721=0,$722=0,$723=0,$724=0,$725=0,$726=0,$727=0,$728=0,$729=0;var $73=0,$730=0,$731=0,$732=0,$733=0,$734=0,$735=0,$736=0,$737=0,$738=0,$739=0,$74=0,$740=0,$741=0,$742=0,$743=0,$744=0,$745=0,$746=0,$747=0;var $748=0,$749=0,$75=0,$750=0,$751=0,$752=0,$753=0,$754=0,$755=0,$756=0,$757=0,$758=0,$759=0,$76=0,$760=0,$761=0,$762=0,$763=0,$764=0,$765=0;var $766=0,$767=0,$768=0,$769=0,$77=0,$770=0,$771=0,$772=0,$773=0,$774=0,$775=0,$776=0,$777=0,$778=0,$779=0,$78=0,$780=0,$781=0,$782=0,$783=0;var $784=0,$785=0,$786=0,$787=0,$788=0,$789=0,$79=0,$790=0,$791=0,$792=0,$793=0,$794=0,$795=0,$796=0,$797=0,$798=0,$799=0,$8=0,$80=0,$800=0;var $801=0,$802=0,$803=0,$804=0,$805=0,$806=0,$807=0,$808=0,$809=0,$81=0,$810=0,$811=0,$812=0,$813=0,$814=0,$815=0,$816=0,$817=0,$818=0,$819=0;var $82=0,$820=0,$821=0,$822=0,$823=0,$824=0,$825=0,$826=0,$827=0,$828=0,$829=0,$83=0,$830=0,$831=0,$832=0,$833=0,$834=0,$835=0,$836=0,$837=0;var $838=0,$839=0,$84=0,$840=0,$841=0,$842=0,$843=0,$844=0,$845=0,$846=0,$847=0,$848=0,$849=0,$85=0,$850=0,$851=0,$852=0,$853=0,$854=0,$855=0;var $856=0,$857=0,$858=0,$859=0,$86=0,$860=0,$861=0,$862=0,$863=0,$864=0,$865=0,$866=0,$867=0,$868=0,$869=0,$87=0,$870=0,$871=0,$872=0,$873=0;var $874=0,$875=0,$876=0,$877=0,$878=0,$879=0,$88=0,$880=0,$881=0,$882=0,$883=0,$884=0,$885=0,$886=0,$887=0,$888=0,$889=0,$89=0,$890=0,$891=0;var $892=0,$893=0,$894=0,$895=0,$896=0,$897=0,$898=0,$899=0,$9=0,$90=0,$900=0,$901=0,$902=0,$903=0,$904=0,$905=0,$906=0,$907=0,$908=0,$909=0;var $91=0,$910=0,$911=0,$912=0,$913=0,$914=0,$915=0,$916=0,$917=0,$918=0,$919=0,$92=0,$920=0,$921=0,$922=0,$923=0,$924=0,$925=0,$926=0,$927=0;var $928=0,$929=0,$93=0,$930=0,$931=0,$932=0,$933=0,$934=0,$935=0,$936=0,$937=0,$938=0,$939=0,$94=0,$940=0,$941=0,$942=0,$943=0,$944=0,$945=0;var $946=0,$947=0,$948=0,$949=0,$95=0,$950=0,$951=0,$952=0,$953=0,$954=0,$955=0,$956=0,$957=0,$958=0,$959=0,$96=0,$960=0,$961=0,$962=0,$963=0;var $964=0,$965=0,$966=0,$967=0,$968=0,$969=0,$97=0,$970=0,$971=0,$972=0,$973=0,$974=0,$975=0,$976=0,$977=0,$978=0,$979=0,$98=0,$980=0,$981=0;var $982=0,$983=0,$984=0,$985=0,$986=0,$987=0,$988=0,$989=0,$99=0,$990=0,$991=0,$992=0,$993=0,$994=0,$995=0,$996=0,$997=0,$998=0,$999=0,label=0;var sp=0;sp=STACKTOP;$0=$in;$1=$0;$2=HEAP32[$1>>2]|0;$3=$0+4|0;$4=$3;$5=HEAP32[$4>>2]|0;$6=_bitshift64Ashr(0,$2|0,32)|0;$7=tempRet0;$8=___muldi3($6|0,$7|0,$6|0,$7|0)|0;$9=tempRet0;$10=$output;$11=$10;HEAP32[$11>>2]=$8;$12=$10+4|0;$13=$12;HEAP32[$13>>2]=$9;$14=$in;$15=$14;$16=HEAP32[$15>>2]|0;$17=$14+4|0;$18=$17;$19=HEAP32[$18>>2]|0;$20=_bitshift64Ashr(0,$16|0,31)|0;$21=tempRet0;$22=$in+8|0;$23=$22;$24=$23;$25=HEAP32[$24>>2]|0;$26=$23+4|0;$27=$26;$28=HEAP32[$27>>2]|0;$29=_bitshift64Ashr(0,$25|0,32)|0;$30=tempRet0;$31=___muldi3($29|0,$30|0,$20|0,$21|0)|0;$32=tempRet0;$33=$output+8|0;$34=$33;$35=$34;HEAP32[$35>>2]=$31;$36=$34+4|0;$37=$36;HEAP32[$37>>2]=$32;$38=$22;$39=$38;$40=HEAP32[$39>>2]|0;$41=$38+4|0;$42=$41;$43=HEAP32[$42>>2]|0;$44=_bitshift64Ashr(0,$40|0,32)|0;$45=tempRet0;$46=___muldi3($44|0,$45|0,$44|0,$45|0)|0;$47=tempRet0;$48=$in;$49=$48;$50=HEAP32[$49>>2]|0;$51=$48+4|0;$52=$51;$53=HEAP32[$52>>2]|0;$54=_bitshift64Ashr(0,$50|0,32)|0;$55=tempRet0;$56=$in+16|0;$57=$56;$58=$57;$59=HEAP32[$58>>2]|0;$60=$57+4|0;$61=$60;$62=HEAP32[$61>>2]|0;$63=_bitshift64Ashr(0,$59|0,32)|0;$64=tempRet0;$65=___muldi3($63|0,$64|0,$54|0,$55|0)|0;$66=tempRet0;$67=_i64Add($65|0,$66|0,$46|0,$47|0)|0;$68=tempRet0;$69=_bitshift64Shl($67|0,$68|0,1)|0;$70=tempRet0;$71=$output+16|0;$72=$71;$73=$72;HEAP32[$73>>2]=$69;$74=$72+4|0;$75=$74;HEAP32[$75>>2]=$70;$76=$22;$77=$76;$78=HEAP32[$77>>2]|0;$79=$76+4|0;$80=$79;$81=HEAP32[$80>>2]|0;$82=_bitshift64Ashr(0,$78|0,32)|0;$83=tempRet0;$84=$56;$85=$84;$86=HEAP32[$85>>2]|0;$87=$84+4|0;$88=$87;$89=HEAP32[$88>>2]|0;$90=_bitshift64Ashr(0,$86|0,32)|0;$91=tempRet0;$92=___muldi3($90|0,$91|0,$82|0,$83|0)|0;$93=tempRet0;$94=$in;$95=$94;$96=HEAP32[$95>>2]|0;$97=$94+4|0;$98=$97;$99=HEAP32[$98>>2]|0;$100=_bitshift64Ashr(0,$96|0,32)|0;$101=tempRet0;$102=$in+24|0;$103=$102;$104=$103;$105=HEAP32[$104>>2]|0;$106=$103+4|0;$107=$106;$108=HEAP32[$107>>2]|0;$109=_bitshift64Ashr(0,$105|0,32)|0;$110=tempRet0;$111=___muldi3($109|0,$110|0,$100|0,$101|0)|0;$112=tempRet0;$113=_i64Add($111|0,$112|0,$92|0,$93|0)|0;$114=tempRet0;$115=_bitshift64Shl($113|0,$114|0,1)|0;$116=tempRet0;$117=$output+24|0;$118=$117;$119=$118;HEAP32[$119>>2]=$115;$120=$118+4|0;$121=$120;HEAP32[$121>>2]=$116;$122=$56;$123=$122;$124=HEAP32[$123>>2]|0;$125=$122+4|0;$126=$125;$127=HEAP32[$126>>2]|0;$128=_bitshift64Ashr(0,$124|0,32)|0;$129=tempRet0;$130=___muldi3($128|0,$129|0,$128|0,$129|0)|0;$131=tempRet0;$132=$22;$133=$132;$134=HEAP32[$133>>2]|0;$135=$132+4|0;$136=$135;$137=HEAP32[$136>>2]|0;$138=_bitshift64Ashr(0,$134|0,30)|0;$139=tempRet0;$140=$102;$141=$140;$142=HEAP32[$141>>2]|0;$143=$140+4|0;$144=$143;$145=HEAP32[$144>>2]|0;$146=_bitshift64Ashr(0,$142|0,32)|0;$147=tempRet0;$148=___muldi3($146|0,$147|0,$138|0,$139|0)|0;$149=tempRet0;$150=_i64Add($148|0,$149|0,$130|0,$131|0)|0;$151=tempRet0;$152=$in;$153=$152;$154=HEAP32[$153>>2]|0;$155=$152+4|0;$156=$155;$157=HEAP32[$156>>2]|0;$158=_bitshift64Ashr(0,$154|0,31)|0;$159=tempRet0;$160=$in+32|0;$161=$160;$162=$161;$163=HEAP32[$162>>2]|0;$164=$161+4|0;$165=$164;$166=HEAP32[$165>>2]|0;$167=_bitshift64Ashr(0,$163|0,32)|0;$168=tempRet0;$169=___muldi3($167|0,$168|0,$158|0,$159|0)|0;$170=tempRet0;$171=_i64Add($150|0,$151|0,$169|0,$170|0)|0;$172=tempRet0;$173=$output+32|0;$174=$173;$175=$174;HEAP32[$175>>2]=$171;$176=$174+4|0;$177=$176;HEAP32[$177>>2]=$172;$178=$56;$179=$178;$180=HEAP32[$179>>2]|0;$181=$178+4|0;$182=$181;$183=HEAP32[$182>>2]|0;$184=_bitshift64Ashr(0,$180|0,32)|0;$185=tempRet0;$186=$102;$187=$186;$188=HEAP32[$187>>2]|0;$189=$186+4|0;$190=$189;$191=HEAP32[$190>>2]|0;$192=_bitshift64Ashr(0,$188|0,32)|0;$193=tempRet0;$194=___muldi3($192|0,$193|0,$184|0,$185|0)|0;$195=tempRet0;$196=$22;$197=$196;$198=HEAP32[$197>>2]|0;$199=$196+4|0;$200=$199;$201=HEAP32[$200>>2]|0;$202=_bitshift64Ashr(0,$198|0,32)|0;$203=tempRet0;$204=$160;$205=$204;$206=HEAP32[$205>>2]|0;$207=$204+4|0;$208=$207;$209=HEAP32[$208>>2]|0;$210=_bitshift64Ashr(0,$206|0,32)|0;$211=tempRet0;$212=___muldi3($210|0,$211|0,$202|0,$203|0)|0;$213=tempRet0;$214=_i64Add($212|0,$213|0,$194|0,$195|0)|0;$215=tempRet0;$216=$in;$217=$216;$218=HEAP32[$217>>2]|0;$219=$216+4|0;$220=$219;$221=HEAP32[$220>>2]|0;$222=_bitshift64Ashr(0,$218|0,32)|0;$223=tempRet0;$224=$in+40|0;$225=$224;$226=$225;$227=HEAP32[$226>>2]|0;$228=$225+4|0;$229=$228;$230=HEAP32[$229>>2]|0;$231=_bitshift64Ashr(0,$227|0,32)|0;$232=tempRet0;$233=___muldi3($231|0,$232|0,$222|0,$223|0)|0;$234=tempRet0;$235=_i64Add($214|0,$215|0,$233|0,$234|0)|0;$236=tempRet0;$237=_bitshift64Shl($235|0,$236|0,1)|0;$238=tempRet0;$239=$output+40|0;$240=$239;$241=$240;HEAP32[$241>>2]=$237;$242=$240+4|0;$243=$242;HEAP32[$243>>2]=$238;$244=$102;$245=$244;$246=HEAP32[$245>>2]|0;$247=$244+4|0;$248=$247;$249=HEAP32[$248>>2]|0;$250=_bitshift64Ashr(0,$246|0,32)|0;$251=tempRet0;$252=___muldi3($250|0,$251|0,$250|0,$251|0)|0;$253=tempRet0;$254=$56;$255=$254;$256=HEAP32[$255>>2]|0;$257=$254+4|0;$258=$257;$259=HEAP32[$258>>2]|0;$260=_bitshift64Ashr(0,$256|0,32)|0;$261=tempRet0;$262=$160;$263=$262;$264=HEAP32[$263>>2]|0;$265=$262+4|0;$266=$265;$267=HEAP32[$266>>2]|0;$268=_bitshift64Ashr(0,$264|0,32)|0;$269=tempRet0;$270=___muldi3($268|0,$269|0,$260|0,$261|0)|0;$271=tempRet0;$272=_i64Add($270|0,$271|0,$252|0,$253|0)|0;$273=tempRet0;$274=$in;$275=$274;$276=HEAP32[$275>>2]|0;$277=$274+4|0;$278=$277;$279=HEAP32[$278>>2]|0;$280=_bitshift64Ashr(0,$276|0,32)|0;$281=tempRet0;$282=$in+48|0;$283=$282;$284=$283;$285=HEAP32[$284>>2]|0;$286=$283+4|0;$287=$286;$288=HEAP32[$287>>2]|0;$289=_bitshift64Ashr(0,$285|0,32)|0;$290=tempRet0;$291=___muldi3($289|0,$290|0,$280|0,$281|0)|0;$292=tempRet0;$293=_i64Add($272|0,$273|0,$291|0,$292|0)|0;$294=tempRet0;$295=$22;$296=$295;$297=HEAP32[$296>>2]|0;$298=$295+4|0;$299=$298;$300=HEAP32[$299>>2]|0;$301=_bitshift64Ashr(0,$297|0,31)|0;$302=tempRet0;$303=$224;$304=$303;$305=HEAP32[$304>>2]|0;$306=$303+4|0;$307=$306;$308=HEAP32[$307>>2]|0;$309=_bitshift64Ashr(0,$305|0,32)|0;$310=tempRet0;$311=___muldi3($309|0,$310|0,$301|0,$302|0)|0;$312=tempRet0;$313=_i64Add($293|0,$294|0,$311|0,$312|0)|0;$314=tempRet0;$315=_bitshift64Shl($313|0,$314|0,1)|0;$316=tempRet0;$317=$output+48|0;$318=$317;$319=$318;HEAP32[$319>>2]=$315;$320=$318+4|0;$321=$320;HEAP32[$321>>2]=$316;$322=$102;$323=$322;$324=HEAP32[$323>>2]|0;$325=$322+4|0;$326=$325;$327=HEAP32[$326>>2]|0;$328=_bitshift64Ashr(0,$324|0,32)|0;$329=tempRet0;$330=$160;$331=$330;$332=HEAP32[$331>>2]|0;$333=$330+4|0;$334=$333;$335=HEAP32[$334>>2]|0;$336=_bitshift64Ashr(0,$332|0,32)|0;$337=tempRet0;$338=___muldi3($336|0,$337|0,$328|0,$329|0)|0;$339=tempRet0;$340=$56;$341=$340;$342=HEAP32[$341>>2]|0;$343=$340+4|0;$344=$343;$345=HEAP32[$344>>2]|0;$346=_bitshift64Ashr(0,$342|0,32)|0;$347=tempRet0;$348=$224;$349=$348;$350=HEAP32[$349>>2]|0;$351=$348+4|0;$352=$351;$353=HEAP32[$352>>2]|0;$354=_bitshift64Ashr(0,$350|0,32)|0;$355=tempRet0;$356=___muldi3($354|0,$355|0,$346|0,$347|0)|0;$357=tempRet0;$358=_i64Add($356|0,$357|0,$338|0,$339|0)|0;$359=tempRet0;$360=$22;$361=$360;$362=HEAP32[$361>>2]|0;$363=$360+4|0;$364=$363;$365=HEAP32[$364>>2]|0;$366=_bitshift64Ashr(0,$362|0,32)|0;$367=tempRet0;$368=$282;$369=$368;$370=HEAP32[$369>>2]|0;$371=$368+4|0;$372=$371;$373=HEAP32[$372>>2]|0;$374=_bitshift64Ashr(0,$370|0,32)|0;$375=tempRet0;$376=___muldi3($374|0,$375|0,$366|0,$367|0)|0;$377=tempRet0;$378=_i64Add($358|0,$359|0,$376|0,$377|0)|0;$379=tempRet0;$380=$in;$381=$380;$382=HEAP32[$381>>2]|0;$383=$380+4|0;$384=$383;$385=HEAP32[$384>>2]|0;$386=_bitshift64Ashr(0,$382|0,32)|0;$387=tempRet0;$388=$in+56|0;$389=$388;$390=$389;$391=HEAP32[$390>>2]|0;$392=$389+4|0;$393=$392;$394=HEAP32[$393>>2]|0;$395=_bitshift64Ashr(0,$391|0,32)|0;$396=tempRet0;$397=___muldi3($395|0,$396|0,$386|0,$387|0)|0;$398=tempRet0;$399=_i64Add($378|0,$379|0,$397|0,$398|0)|0;$400=tempRet0;$401=_bitshift64Shl($399|0,$400|0,1)|0;$402=tempRet0;$403=$output+56|0;$404=$403;$405=$404;HEAP32[$405>>2]=$401;$406=$404+4|0;$407=$406;HEAP32[$407>>2]=$402;$408=$160;$409=$408;$410=HEAP32[$409>>2]|0;$411=$408+4|0;$412=$411;$413=HEAP32[$412>>2]|0;$414=_bitshift64Ashr(0,$410|0,32)|0;$415=tempRet0;$416=___muldi3($414|0,$415|0,$414|0,$415|0)|0;$417=tempRet0;$418=$56;$419=$418;$420=HEAP32[$419>>2]|0;$421=$418+4|0;$422=$421;$423=HEAP32[$422>>2]|0;$424=_bitshift64Ashr(0,$420|0,32)|0;$425=tempRet0;$426=$282;$427=$426;$428=HEAP32[$427>>2]|0;$429=$426+4|0;$430=$429;$431=HEAP32[$430>>2]|0;$432=_bitshift64Ashr(0,$428|0,32)|0;$433=tempRet0;$434=___muldi3($432|0,$433|0,$424|0,$425|0)|0;$435=tempRet0;$436=$in;$437=$436;$438=HEAP32[$437>>2]|0;$439=$436+4|0;$440=$439;$441=HEAP32[$440>>2]|0;$442=_bitshift64Ashr(0,$438|0,32)|0;$443=tempRet0;$444=$in+64|0;$445=$444;$446=$445;$447=HEAP32[$446>>2]|0;$448=$445+4|0;$449=$448;$450=HEAP32[$449>>2]|0;$451=_bitshift64Ashr(0,$447|0,32)|0;$452=tempRet0;$453=___muldi3($451|0,$452|0,$442|0,$443|0)|0;$454=tempRet0;$455=_i64Add($453|0,$454|0,$434|0,$435|0)|0;$456=tempRet0;$457=$22;$458=$457;$459=HEAP32[$458>>2]|0;$460=$457+4|0;$461=$460;$462=HEAP32[$461>>2]|0;$463=_bitshift64Ashr(0,$459|0,32)|0;$464=tempRet0;$465=$388;$466=$465;$467=HEAP32[$466>>2]|0;$468=$465+4|0;$469=$468;$470=HEAP32[$469>>2]|0;$471=_bitshift64Ashr(0,$467|0,32)|0;$472=tempRet0;$473=___muldi3($471|0,$472|0,$463|0,$464|0)|0;$474=tempRet0;$475=$102;$476=$475;$477=HEAP32[$476>>2]|0;$478=$475+4|0;$479=$478;$480=HEAP32[$479>>2]|0;$481=_bitshift64Ashr(0,$477|0,32)|0;$482=tempRet0;$483=$224;$484=$483;$485=HEAP32[$484>>2]|0;$486=$483+4|0;$487=$486;$488=HEAP32[$487>>2]|0;$489=_bitshift64Ashr(0,$485|0,32)|0;$490=tempRet0;$491=___muldi3($489|0,$490|0,$481|0,$482|0)|0;$492=tempRet0;$493=_i64Add($491|0,$492|0,$473|0,$474|0)|0;$494=tempRet0;$495=_bitshift64Shl($493|0,$494|0,1)|0;$496=tempRet0;$497=_i64Add($455|0,$456|0,$495|0,$496|0)|0;$498=tempRet0;$499=_bitshift64Shl($497|0,$498|0,1)|0;$500=tempRet0;$501=_i64Add($499|0,$500|0,$416|0,$417|0)|0;$502=tempRet0;$503=$output+64|0;$504=$503;$505=$504;HEAP32[$505>>2]=$501;$506=$504+4|0;$507=$506;HEAP32[$507>>2]=$502;$508=$160;$509=$508;$510=HEAP32[$509>>2]|0;$511=$508+4|0;$512=$511;$513=HEAP32[$512>>2]|0;$514=_bitshift64Ashr(0,$510|0,32)|0;$515=tempRet0;$516=$224;$517=$516;$518=HEAP32[$517>>2]|0;$519=$516+4|0;$520=$519;$521=HEAP32[$520>>2]|0;$522=_bitshift64Ashr(0,$518|0,32)|0;$523=tempRet0;$524=___muldi3($522|0,$523|0,$514|0,$515|0)|0;$525=tempRet0;$526=$102;$527=$526;$528=HEAP32[$527>>2]|0;$529=$526+4|0;$530=$529;$531=HEAP32[$530>>2]|0;$532=_bitshift64Ashr(0,$528|0,32)|0;$533=tempRet0;$534=$282;$535=$534;$536=HEAP32[$535>>2]|0;$537=$534+4|0;$538=$537;$539=HEAP32[$538>>2]|0;$540=_bitshift64Ashr(0,$536|0,32)|0;$541=tempRet0;$542=___muldi3($540|0,$541|0,$532|0,$533|0)|0;$543=tempRet0;$544=_i64Add($542|0,$543|0,$524|0,$525|0)|0;$545=tempRet0;$546=$56;$547=$546;$548=HEAP32[$547>>2]|0;$549=$546+4|0;$550=$549;$551=HEAP32[$550>>2]|0;$552=_bitshift64Ashr(0,$548|0,32)|0;$553=tempRet0;$554=$388;$555=$554;$556=HEAP32[$555>>2]|0;$557=$554+4|0;$558=$557;$559=HEAP32[$558>>2]|0;$560=_bitshift64Ashr(0,$556|0,32)|0;$561=tempRet0;$562=___muldi3($560|0,$561|0,$552|0,$553|0)|0;$563=tempRet0;$564=_i64Add($544|0,$545|0,$562|0,$563|0)|0;$565=tempRet0;$566=$22;$567=$566;$568=HEAP32[$567>>2]|0;$569=$566+4|0;$570=$569;$571=HEAP32[$570>>2]|0;$572=_bitshift64Ashr(0,$568|0,32)|0;$573=tempRet0;$574=$444;$575=$574;$576=HEAP32[$575>>2]|0;$577=$574+4|0;$578=$577;$579=HEAP32[$578>>2]|0;$580=_bitshift64Ashr(0,$576|0,32)|0;$581=tempRet0;$582=___muldi3($580|0,$581|0,$572|0,$573|0)|0;$583=tempRet0;$584=_i64Add($564|0,$565|0,$582|0,$583|0)|0;$585=tempRet0;$586=$in;$587=$586;$588=HEAP32[$587>>2]|0;$589=$586+4|0;$590=$589;$591=HEAP32[$590>>2]|0;$592=_bitshift64Ashr(0,$588|0,32)|0;$593=tempRet0;$594=$in+72|0;$595=$594;$596=$595;$597=HEAP32[$596>>2]|0;$598=$595+4|0;$599=$598;$600=HEAP32[$599>>2]|0;$601=_bitshift64Ashr(0,$597|0,32)|0;$602=tempRet0;$603=___muldi3($601|0,$602|0,$592|0,$593|0)|0;$604=tempRet0;$605=_i64Add($584|0,$585|0,$603|0,$604|0)|0;$606=tempRet0;$607=_bitshift64Shl($605|0,$606|0,1)|0;$608=tempRet0;$609=$output+72|0;$610=$609;$611=$610;HEAP32[$611>>2]=$607;$612=$610+4|0;$613=$612;HEAP32[$613>>2]=$608;$614=$224;$615=$614;$616=HEAP32[$615>>2]|0;$617=$614+4|0;$618=$617;$619=HEAP32[$618>>2]|0;$620=_bitshift64Ashr(0,$616|0,32)|0;$621=tempRet0;$622=___muldi3($620|0,$621|0,$620|0,$621|0)|0;$623=tempRet0;$624=$160;$625=$624;$626=HEAP32[$625>>2]|0;$627=$624+4|0;$628=$627;$629=HEAP32[$628>>2]|0;$630=_bitshift64Ashr(0,$626|0,32)|0;$631=tempRet0;$632=$282;$633=$632;$634=HEAP32[$633>>2]|0;$635=$632+4|0;$636=$635;$637=HEAP32[$636>>2]|0;$638=_bitshift64Ashr(0,$634|0,32)|0;$639=tempRet0;$640=___muldi3($638|0,$639|0,$630|0,$631|0)|0;$641=tempRet0;$642=_i64Add($640|0,$641|0,$622|0,$623|0)|0;$643=tempRet0;$644=$56;$645=$644;$646=HEAP32[$645>>2]|0;$647=$644+4|0;$648=$647;$649=HEAP32[$648>>2]|0;$650=_bitshift64Ashr(0,$646|0,32)|0;$651=tempRet0;$652=$444;$653=$652;$654=HEAP32[$653>>2]|0;$655=$652+4|0;$656=$655;$657=HEAP32[$656>>2]|0;$658=_bitshift64Ashr(0,$654|0,32)|0;$659=tempRet0;$660=___muldi3($658|0,$659|0,$650|0,$651|0)|0;$661=tempRet0;$662=_i64Add($642|0,$643|0,$660|0,$661|0)|0;$663=tempRet0;$664=$102;$665=$664;$666=HEAP32[$665>>2]|0;$667=$664+4|0;$668=$667;$669=HEAP32[$668>>2]|0;$670=_bitshift64Ashr(0,$666|0,32)|0;$671=tempRet0;$672=$388;$673=$672;$674=HEAP32[$673>>2]|0;$675=$672+4|0;$676=$675;$677=HEAP32[$676>>2]|0;$678=_bitshift64Ashr(0,$674|0,32)|0;$679=tempRet0;$680=___muldi3($678|0,$679|0,$670|0,$671|0)|0;$681=tempRet0;$682=$22;$683=$682;$684=HEAP32[$683>>2]|0;$685=$682+4|0;$686=$685;$687=HEAP32[$686>>2]|0;$688=_bitshift64Ashr(0,$684|0,32)|0;$689=tempRet0;$690=$594;$691=$690;$692=HEAP32[$691>>2]|0;$693=$690+4|0;$694=$693;$695=HEAP32[$694>>2]|0;$696=_bitshift64Ashr(0,$692|0,32)|0;$697=tempRet0;$698=___muldi3($696|0,$697|0,$688|0,$689|0)|0;$699=tempRet0;$700=_i64Add($698|0,$699|0,$680|0,$681|0)|0;$701=tempRet0;$702=_bitshift64Shl($700|0,$701|0,1)|0;$703=tempRet0;$704=_i64Add($662|0,$663|0,$702|0,$703|0)|0;$705=tempRet0;$706=_bitshift64Shl($704|0,$705|0,1)|0;$707=tempRet0;$708=$output+80|0;$709=$708;$710=$709;HEAP32[$710>>2]=$706;$711=$709+4|0;$712=$711;HEAP32[$712>>2]=$707;$713=$224;$714=$713;$715=HEAP32[$714>>2]|0;$716=$713+4|0;$717=$716;$718=HEAP32[$717>>2]|0;$719=_bitshift64Ashr(0,$715|0,32)|0;$720=tempRet0;$721=$282;$722=$721;$723=HEAP32[$722>>2]|0;$724=$721+4|0;$725=$724;$726=HEAP32[$725>>2]|0;$727=_bitshift64Ashr(0,$723|0,32)|0;$728=tempRet0;$729=___muldi3($727|0,$728|0,$719|0,$720|0)|0;$730=tempRet0;$731=$160;$732=$731;$733=HEAP32[$732>>2]|0;$734=$731+4|0;$735=$734;$736=HEAP32[$735>>2]|0;$737=_bitshift64Ashr(0,$733|0,32)|0;$738=tempRet0;$739=$388;$740=$739;$741=HEAP32[$740>>2]|0;$742=$739+4|0;$743=$742;$744=HEAP32[$743>>2]|0;$745=_bitshift64Ashr(0,$741|0,32)|0;$746=tempRet0;$747=___muldi3($745|0,$746|0,$737|0,$738|0)|0;$748=tempRet0;$749=_i64Add($747|0,$748|0,$729|0,$730|0)|0;$750=tempRet0;$751=$102;$752=$751;$753=HEAP32[$752>>2]|0;$754=$751+4|0;$755=$754;$756=HEAP32[$755>>2]|0;$757=_bitshift64Ashr(0,$753|0,32)|0;$758=tempRet0;$759=$444;$760=$759;$761=HEAP32[$760>>2]|0;$762=$759+4|0;$763=$762;$764=HEAP32[$763>>2]|0;$765=_bitshift64Ashr(0,$761|0,32)|0;$766=tempRet0;$767=___muldi3($765|0,$766|0,$757|0,$758|0)|0;$768=tempRet0;$769=_i64Add($749|0,$750|0,$767|0,$768|0)|0;$770=tempRet0;$771=$56;$772=$771;$773=HEAP32[$772>>2]|0;$774=$771+4|0;$775=$774;$776=HEAP32[$775>>2]|0;$777=_bitshift64Ashr(0,$773|0,32)|0;$778=tempRet0;$779=$594;$780=$779;$781=HEAP32[$780>>2]|0;$782=$779+4|0;$783=$782;$784=HEAP32[$783>>2]|0;$785=_bitshift64Ashr(0,$781|0,32)|0;$786=tempRet0;$787=___muldi3($785|0,$786|0,$777|0,$778|0)|0;$788=tempRet0;$789=_i64Add($769|0,$770|0,$787|0,$788|0)|0;$790=tempRet0;$791=_bitshift64Shl($789|0,$790|0,1)|0;$792=tempRet0;$793=$output+88|0;$794=$793;$795=$794;HEAP32[$795>>2]=$791;$796=$794+4|0;$797=$796;HEAP32[$797>>2]=$792;$798=$282;$799=$798;$800=HEAP32[$799>>2]|0;$801=$798+4|0;$802=$801;$803=HEAP32[$802>>2]|0;$804=_bitshift64Ashr(0,$800|0,32)|0;$805=tempRet0;$806=___muldi3($804|0,$805|0,$804|0,$805|0)|0;$807=tempRet0;$808=$160;$809=$808;$810=HEAP32[$809>>2]|0;$811=$808+4|0;$812=$811;$813=HEAP32[$812>>2]|0;$814=_bitshift64Ashr(0,$810|0,32)|0;$815=tempRet0;$816=$444;$817=$816;$818=HEAP32[$817>>2]|0;$819=$816+4|0;$820=$819;$821=HEAP32[$820>>2]|0;$822=_bitshift64Ashr(0,$818|0,32)|0;$823=tempRet0;$824=___muldi3($822|0,$823|0,$814|0,$815|0)|0;$825=tempRet0;$826=$224;$827=$826;$828=HEAP32[$827>>2]|0;$829=$826+4|0;$830=$829;$831=HEAP32[$830>>2]|0;$832=_bitshift64Ashr(0,$828|0,32)|0;$833=tempRet0;$834=$388;$835=$834;$836=HEAP32[$835>>2]|0;$837=$834+4|0;$838=$837;$839=HEAP32[$838>>2]|0;$840=_bitshift64Ashr(0,$836|0,32)|0;$841=tempRet0;$842=___muldi3($840|0,$841|0,$832|0,$833|0)|0;$843=tempRet0;$844=$102;$845=$844;$846=HEAP32[$845>>2]|0;$847=$844+4|0;$848=$847;$849=HEAP32[$848>>2]|0;$850=_bitshift64Ashr(0,$846|0,32)|0;$851=tempRet0;$852=$594;$853=$852;$854=HEAP32[$853>>2]|0;$855=$852+4|0;$856=$855;$857=HEAP32[$856>>2]|0;$858=_bitshift64Ashr(0,$854|0,32)|0;$859=tempRet0;$860=___muldi3($858|0,$859|0,$850|0,$851|0)|0;$861=tempRet0;$862=_i64Add($860|0,$861|0,$842|0,$843|0)|0;$863=tempRet0;$864=_bitshift64Shl($862|0,$863|0,1)|0;$865=tempRet0;$866=_i64Add($864|0,$865|0,$824|0,$825|0)|0;$867=tempRet0;$868=_bitshift64Shl($866|0,$867|0,1)|0;$869=tempRet0;$870=_i64Add($868|0,$869|0,$806|0,$807|0)|0;$871=tempRet0;$872=$output+96|0;$873=$872;$874=$873;HEAP32[$874>>2]=$870;$875=$873+4|0;$876=$875;HEAP32[$876>>2]=$871;$877=$282;$878=$877;$879=HEAP32[$878>>2]|0;$880=$877+4|0;$881=$880;$882=HEAP32[$881>>2]|0;$883=_bitshift64Ashr(0,$879|0,32)|0;$884=tempRet0;$885=$388;$886=$885;$887=HEAP32[$886>>2]|0;$888=$885+4|0;$889=$888;$890=HEAP32[$889>>2]|0;$891=_bitshift64Ashr(0,$887|0,32)|0;$892=tempRet0;$893=___muldi3($891|0,$892|0,$883|0,$884|0)|0;$894=tempRet0;$895=$224;$896=$895;$897=HEAP32[$896>>2]|0;$898=$895+4|0;$899=$898;$900=HEAP32[$899>>2]|0;$901=_bitshift64Ashr(0,$897|0,32)|0;$902=tempRet0;$903=$444;$904=$903;$905=HEAP32[$904>>2]|0;$906=$903+4|0;$907=$906;$908=HEAP32[$907>>2]|0;$909=_bitshift64Ashr(0,$905|0,32)|0;$910=tempRet0;$911=___muldi3($909|0,$910|0,$901|0,$902|0)|0;$912=tempRet0;$913=_i64Add($911|0,$912|0,$893|0,$894|0)|0;$914=tempRet0;$915=$160;$916=$915;$917=HEAP32[$916>>2]|0;$918=$915+4|0;$919=$918;$920=HEAP32[$919>>2]|0;$921=_bitshift64Ashr(0,$917|0,32)|0;$922=tempRet0;$923=$594;$924=$923;$925=HEAP32[$924>>2]|0;$926=$923+4|0;$927=$926;$928=HEAP32[$927>>2]|0;$929=_bitshift64Ashr(0,$925|0,32)|0;$930=tempRet0;$931=___muldi3($929|0,$930|0,$921|0,$922|0)|0;$932=tempRet0;$933=_i64Add($913|0,$914|0,$931|0,$932|0)|0;$934=tempRet0;$935=_bitshift64Shl($933|0,$934|0,1)|0;$936=tempRet0;$937=$output+104|0;$938=$937;$939=$938;HEAP32[$939>>2]=$935;$940=$938+4|0;$941=$940;HEAP32[$941>>2]=$936;$942=$388;$943=$942;$944=HEAP32[$943>>2]|0;$945=$942+4|0;$946=$945;$947=HEAP32[$946>>2]|0;$948=_bitshift64Ashr(0,$944|0,32)|0;$949=tempRet0;$950=___muldi3($948|0,$949|0,$948|0,$949|0)|0;$951=tempRet0;$952=$282;$953=$952;$954=HEAP32[$953>>2]|0;$955=$952+4|0;$956=$955;$957=HEAP32[$956>>2]|0;$958=_bitshift64Ashr(0,$954|0,32)|0;$959=tempRet0;$960=$444;$961=$960;$962=HEAP32[$961>>2]|0;$963=$960+4|0;$964=$963;$965=HEAP32[$964>>2]|0;$966=_bitshift64Ashr(0,$962|0,32)|0;$967=tempRet0;$968=___muldi3($966|0,$967|0,$958|0,$959|0)|0;$969=tempRet0;$970=_i64Add($968|0,$969|0,$950|0,$951|0)|0;$971=tempRet0;$972=$224;$973=$972;$974=HEAP32[$973>>2]|0;$975=$972+4|0;$976=$975;$977=HEAP32[$976>>2]|0;$978=_bitshift64Ashr(0,$974|0,31)|0;$979=tempRet0;$980=$594;$981=$980;$982=HEAP32[$981>>2]|0;$983=$980+4|0;$984=$983;$985=HEAP32[$984>>2]|0;$986=_bitshift64Ashr(0,$982|0,32)|0;$987=tempRet0;$988=___muldi3($986|0,$987|0,$978|0,$979|0)|0;$989=tempRet0;$990=_i64Add($970|0,$971|0,$988|0,$989|0)|0;$991=tempRet0;$992=_bitshift64Shl($990|0,$991|0,1)|0;$993=tempRet0;$994=$output+112|0;$995=$994;$996=$995;HEAP32[$996>>2]=$992;$997=$995+4|0;$998=$997;HEAP32[$998>>2]=$993;$999=$388;$1000=$999;$1001=HEAP32[$1000>>2]|0;$1002=$999+4|0;$1003=$1002;$1004=HEAP32[$1003>>2]|0;$1005=_bitshift64Ashr(0,$1001|0,32)|0;$1006=tempRet0;$1007=$444;$1008=$1007;$1009=HEAP32[$1008>>2]|0;$1010=$1007+4|0;$1011=$1010;$1012=HEAP32[$1011>>2]|0;$1013=_bitshift64Ashr(0,$1009|0,32)|0;$1014=tempRet0;$1015=___muldi3($1013|0,$1014|0,$1005|0,$1006|0)|0;$1016=tempRet0;$1017=$282;$1018=$1017;$1019=HEAP32[$1018>>2]|0;$1020=$1017+4|0;$1021=$1020;$1022=HEAP32[$1021>>2]|0;$1023=_bitshift64Ashr(0,$1019|0,32)|0;$1024=tempRet0;$1025=$594;$1026=$1025;$1027=HEAP32[$1026>>2]|0;$1028=$1025+4|0;$1029=$1028;$1030=HEAP32[$1029>>2]|0;$1031=_bitshift64Ashr(0,$1027|0,32)|0;$1032=tempRet0;$1033=___muldi3($1031|0,$1032|0,$1023|0,$1024|0)|0;$1034=tempRet0;$1035=_i64Add($1033|0,$1034|0,$1015|0,$1016|0)|0;$1036=tempRet0;$1037=_bitshift64Shl($1035|0,$1036|0,1)|0;$1038=tempRet0;$1039=$output+120|0;$1040=$1039;$1041=$1040;HEAP32[$1041>>2]=$1037;$1042=$1040+4|0;$1043=$1042;HEAP32[$1043>>2]=$1038;$1044=$444;$1045=$1044;$1046=HEAP32[$1045>>2]|0;$1047=$1044+4|0;$1048=$1047;$1049=HEAP32[$1048>>2]|0;$1050=_bitshift64Ashr(0,$1046|0,32)|0;$1051=tempRet0;$1052=___muldi3($1050|0,$1051|0,$1050|0,$1051|0)|0;$1053=tempRet0;$1054=$388;$1055=$1054;$1056=HEAP32[$1055>>2]|0;$1057=$1054+4|0;$1058=$1057;$1059=HEAP32[$1058>>2]|0;$1060=_bitshift64Ashr(0,$1056|0,30)|0;$1061=tempRet0;$1062=$594;$1063=$1062;$1064=HEAP32[$1063>>2]|0;$1065=$1062+4|0;$1066=$1065;$1067=HEAP32[$1066>>2]|0;$1068=_bitshift64Ashr(0,$1064|0,32)|0;$1069=tempRet0;$1070=___muldi3($1068|0,$1069|0,$1060|0,$1061|0)|0;$1071=tempRet0;$1072=_i64Add($1070|0,$1071|0,$1052|0,$1053|0)|0;$1073=tempRet0;$1074=$output+128|0;$1075=$1074;$1076=$1075;HEAP32[$1076>>2]=$1072;$1077=$1075+4|0;$1078=$1077;HEAP32[$1078>>2]=$1073;$1079=$444;$1080=$1079;$1081=HEAP32[$1080>>2]|0;$1082=$1079+4|0;$1083=$1082;$1084=HEAP32[$1083>>2]|0;$1085=_bitshift64Ashr(0,$1081|0,31)|0;$1086=tempRet0;$1087=$594;$1088=$1087;$1089=HEAP32[$1088>>2]|0;$1090=$1087+4|0;$1091=$1090;$1092=HEAP32[$1091>>2]|0;$1093=_bitshift64Ashr(0,$1089|0,32)|0;$1094=tempRet0;$1095=___muldi3($1093|0,$1094|0,$1085|0,$1086|0)|0;$1096=tempRet0;$1097=$output+136|0;$1098=$1097;$1099=$1098;HEAP32[$1099>>2]=$1095;$1100=$1098+4|0;$1101=$1100;HEAP32[$1101>>2]=$1096;$1102=$594;$1103=$1102;$1104=HEAP32[$1103>>2]|0;$1105=$1102+4|0;$1106=$1105;$1107=HEAP32[$1106>>2]|0;$1108=_bitshift64Ashr(0,$1104|0,32)|0;$1109=tempRet0;$1110=_bitshift64Ashr(0,$1104|0,31)|0;$1111=tempRet0;$1112=___muldi3($1110|0,$1111|0,$1108|0,$1109|0)|0;$1113=tempRet0;$1114=$output+144|0;$1115=$1114;$1116=$1115;HEAP32[$1116>>2]=$1112;$1117=$1115+4|0;$1118=$1117;HEAP32[$1118>>2]=$1113;STACKTOP=sp;return}function _div_by_2_26($0,$1){$0=$0|0;$1=$1|0;var $2=0,$3=0,$4=0,$5=0,$6=0,$7=0,label=0,sp=0;sp=STACKTOP;$2=$1>>31;$3=$2>>>6;$4=_i64Add($3|0,0,$0|0,$1|0)|0;$5=tempRet0;$6=_bitshift64Ashr($4|0,$5|0,26)|0;$7=tempRet0;tempRet0=$7;STACKTOP=sp;return $6|0}function _div_by_2_25($0,$1){$0=$0|0;$1=$1|0;var $2=0,$3=0,$4=0,$5=0,$6=0,$7=0,label=0,sp=0;sp=STACKTOP;$2=$1>>31;$3=$2>>>7;$4=_i64Add($3|0,0,$0|0,$1|0)|0;$5=tempRet0;$6=_bitshift64Ashr($4|0,$5|0,25)|0;$7=tempRet0;tempRet0=$7;STACKTOP=sp;return $6|0}function _crypto_sign_ed25519_ref10_fe_0($h){$h=$h|0;var dest=0,label=0,sp=0,stop=0;sp=STACKTOP;dest=$h+0|0;stop=dest+40|0;do{HEAP32[dest>>2]=0|0;dest=dest+4|0}while((dest|0)<(stop|0));STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_fe_1($h){$h=$h|0;var $0=0,dest=0,label=0,sp=0,stop=0;sp=STACKTOP;HEAP32[$h>>2]=1;$0=$h+4|0;dest=$0+0|0;stop=dest+36|0;do{HEAP32[dest>>2]=0|0;dest=dest+4|0}while((dest|0)<(stop|0));STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_fe_add($h,$f,$g){$h=$h|0;$f=$f|0;$g=$g|0;var $0=0,$1=0,$10=0,$11=0,$12=0,$13=0,$14=0,$15=0,$16=0,$17=0,$18=0,$19=0,$2=0,$20=0,$21=0,$22=0,$23=0,$24=0,$25=0,$26=0;var $27=0,$28=0,$29=0,$3=0,$30=0,$31=0,$32=0,$33=0,$34=0,$35=0,$36=0,$37=0,$38=0,$39=0,$4=0,$40=0,$41=0,$42=0,$43=0,$44=0;var $45=0,$46=0,$47=0,$48=0,$49=0,$5=0,$50=0,$51=0,$52=0,$53=0,$54=0,$55=0,$56=0,$6=0,$7=0,$8=0,$9=0,label=0,sp=0;sp=STACKTOP;$0=HEAP32[$f>>2]|0;$1=$f+4|0;$2=HEAP32[$1>>2]|0;$3=$f+8|0;$4=HEAP32[$3>>2]|0;$5=$f+12|0;$6=HEAP32[$5>>2]|0;$7=$f+16|0;$8=HEAP32[$7>>2]|0;$9=$f+20|0;$10=HEAP32[$9>>2]|0;$11=$f+24|0;$12=HEAP32[$11>>2]|0;$13=$f+28|0;$14=HEAP32[$13>>2]|0;$15=$f+32|0;$16=HEAP32[$15>>2]|0;$17=$f+36|0;$18=HEAP32[$17>>2]|0;$19=HEAP32[$g>>2]|0;$20=$g+4|0;$21=HEAP32[$20>>2]|0;$22=$g+8|0;$23=HEAP32[$22>>2]|0;$24=$g+12|0;$25=HEAP32[$24>>2]|0;$26=$g+16|0;$27=HEAP32[$26>>2]|0;$28=$g+20|0;$29=HEAP32[$28>>2]|0;$30=$g+24|0;$31=HEAP32[$30>>2]|0;$32=$g+28|0;$33=HEAP32[$32>>2]|0;$34=$g+32|0;$35=HEAP32[$34>>2]|0;$36=$g+36|0;$37=HEAP32[$36>>2]|0;$38=$19+$0|0;$39=$21+$2|0;$40=$23+$4|0;$41=$25+$6|0;$42=$27+$8|0;$43=$29+$10|0;$44=$31+$12|0;$45=$33+$14|0;$46=$35+$16|0;$47=$37+$18|0;HEAP32[$h>>2]=$38;$48=$h+4|0;HEAP32[$48>>2]=$39;$49=$h+8|0;HEAP32[$49>>2]=$40;$50=$h+12|0;HEAP32[$50>>2]=$41;$51=$h+16|0;HEAP32[$51>>2]=$42;$52=$h+20|0;HEAP32[$52>>2]=$43;$53=$h+24|0;HEAP32[$53>>2]=$44;$54=$h+28|0;HEAP32[$54>>2]=$45;$55=$h+32|0;HEAP32[$55>>2]=$46;$56=$h+36|0;HEAP32[$56>>2]=$47;STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_fe_cmov($f,$g,$b){$f=$f|0;$g=$g|0;$b=$b|0;var $0=0,$1=0,$10=0,$11=0,$12=0,$13=0,$14=0,$15=0,$16=0,$17=0,$18=0,$19=0,$2=0,$20=0,$21=0,$22=0,$23=0,$24=0,$25=0,$26=0;var $27=0,$28=0,$29=0,$3=0,$30=0,$31=0,$32=0,$33=0,$34=0,$35=0,$36=0,$37=0,$38=0,$39=0,$4=0,$40=0,$41=0,$42=0,$43=0,$44=0;var $45=0,$46=0,$47=0,$48=0,$49=0,$5=0,$50=0,$51=0,$52=0,$53=0,$54=0,$55=0,$56=0,$57=0,$58=0,$59=0,$6=0,$60=0,$61=0,$62=0;var $63=0,$64=0,$65=0,$66=0,$67=0,$68=0,$7=0,$8=0,$9=0,label=0,sp=0;sp=STACKTOP;$0=HEAP32[$f>>2]|0;$1=$f+4|0;$2=HEAP32[$1>>2]|0;$3=$f+8|0;$4=HEAP32[$3>>2]|0;$5=$f+12|0;$6=HEAP32[$5>>2]|0;$7=$f+16|0;$8=HEAP32[$7>>2]|0;$9=$f+20|0;$10=HEAP32[$9>>2]|0;$11=$f+24|0;$12=HEAP32[$11>>2]|0;$13=$f+28|0;$14=HEAP32[$13>>2]|0;$15=$f+32|0;$16=HEAP32[$15>>2]|0;$17=$f+36|0;$18=HEAP32[$17>>2]|0;$19=HEAP32[$g>>2]|0;$20=$g+4|0;$21=HEAP32[$20>>2]|0;$22=$g+8|0;$23=HEAP32[$22>>2]|0;$24=$g+12|0;$25=HEAP32[$24>>2]|0;$26=$g+16|0;$27=HEAP32[$26>>2]|0;$28=$g+20|0;$29=HEAP32[$28>>2]|0;$30=$g+24|0;$31=HEAP32[$30>>2]|0;$32=$g+28|0;$33=HEAP32[$32>>2]|0;$34=$g+32|0;$35=HEAP32[$34>>2]|0;$36=$g+36|0;$37=HEAP32[$36>>2]|0;$38=$19^$0;$39=$21^$2;$40=$23^$4;$41=$25^$6;$42=$27^$8;$43=$29^$10;$44=$31^$12;$45=$33^$14;$46=$35^$16;$47=$37^$18;$48=0-$b|0;$49=$38&$48;$50=$39&$48;$51=$40&$48;$52=$41&$48;$53=$42&$48;$54=$43&$48;$55=$44&$48;$56=$45&$48;$57=$46&$48;$58=$47&$48;$59=$49^$0;HEAP32[$f>>2]=$59;$60=$50^$2;HEAP32[$1>>2]=$60;$61=$51^$4;HEAP32[$3>>2]=$61;$62=$52^$6;HEAP32[$5>>2]=$62;$63=$53^$8;HEAP32[$7>>2]=$63;$64=$54^$10;HEAP32[$9>>2]=$64;$65=$55^$12;HEAP32[$11>>2]=$65;$66=$56^$14;HEAP32[$13>>2]=$66;$67=$57^$16;HEAP32[$15>>2]=$67;$68=$58^$18;HEAP32[$17>>2]=$68;STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_fe_copy($h,$f){$h=$h|0;$f=$f|0;var $0=0,$1=0,$10=0,$11=0,$12=0,$13=0,$14=0,$15=0,$16=0,$17=0,$18=0,$19=0,$2=0,$20=0,$21=0,$22=0,$23=0,$24=0,$25=0,$26=0;var $27=0,$3=0,$4=0,$5=0,$6=0,$7=0,$8=0,$9=0,label=0,sp=0;sp=STACKTOP;$0=HEAP32[$f>>2]|0;$1=$f+4|0;$2=HEAP32[$1>>2]|0;$3=$f+8|0;$4=HEAP32[$3>>2]|0;$5=$f+12|0;$6=HEAP32[$5>>2]|0;$7=$f+16|0;$8=HEAP32[$7>>2]|0;$9=$f+20|0;$10=HEAP32[$9>>2]|0;$11=$f+24|0;$12=HEAP32[$11>>2]|0;$13=$f+28|0;$14=HEAP32[$13>>2]|0;$15=$f+32|0;$16=HEAP32[$15>>2]|0;$17=$f+36|0;$18=HEAP32[$17>>2]|0;HEAP32[$h>>2]=$0;$19=$h+4|0;HEAP32[$19>>2]=$2;$20=$h+8|0;HEAP32[$20>>2]=$4;$21=$h+12|0;HEAP32[$21>>2]=$6;$22=$h+16|0;HEAP32[$22>>2]=$8;$23=$h+20|0;HEAP32[$23>>2]=$10;$24=$h+24|0;HEAP32[$24>>2]=$12;$25=$h+28|0;HEAP32[$25>>2]=$14;$26=$h+32|0;HEAP32[$26>>2]=$16;$27=$h+36|0;HEAP32[$27>>2]=$18;STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_fe_frombytes($h,$s){$h=$h|0;$s=$s|0;var $0=0,$1=0,$10=0,$100=0,$101=0,$102=0,$103=0,$104=0,$105=0,$106=0,$107=0,$108=0,$109=0,$11=0,$110=0,$111=0,$112=0,$113=0,$114=0,$115=0;var $116=0,$117=0,$118=0,$119=0,$12=0,$120=0,$121=0,$122=0,$123=0,$124=0,$125=0,$126=0,$127=0,$128=0,$129=0,$13=0,$130=0,$131=0,$132=0,$133=0;var $134=0,$135=0,$136=0,$137=0,$138=0,$139=0,$14=0,$140=0,$141=0,$142=0,$143=0,$144=0,$145=0,$146=0,$147=0,$148=0,$149=0,$15=0,$150=0,$151=0;var $152=0,$153=0,$154=0,$155=0,$156=0,$16=0,$17=0,$18=0,$19=0,$2=0,$20=0,$21=0,$22=0,$23=0,$24=0,$25=0,$26=0,$27=0,$28=0,$29=0;var $3=0,$30=0,$31=0,$32=0,$33=0,$34=0,$35=0,$36=0,$37=0,$38=0,$39=0,$4=0,$40=0,$41=0,$42=0,$43=0,$44=0,$45=0,$46=0,$47=0;var $48=0,$49=0,$5=0,$50=0,$51=0,$52=0,$53=0,$54=0,$55=0,$56=0,$57=0,$58=0,$59=0,$6=0,$60=0,$61=0,$62=0,$63=0,$64=0,$65=0;var $66=0,$67=0,$68=0,$69=0,$7=0,$70=0,$71=0,$72=0,$73=0,$74=0,$75=0,$76=0,$77=0,$78=0,$79=0,$8=0,$80=0,$81=0,$82=0,$83=0;var $84=0,$85=0,$86=0,$87=0,$88=0,$89=0,$9=0,$90=0,$91=0,$92=0,$93=0,$94=0,$95=0,$96=0,$97=0,$98=0,$99=0,label=0,sp=0;sp=STACKTOP;$0=_load_4($s)|0;$1=tempRet0;$2=$s+4|0;$3=_load_3($2)|0;$4=tempRet0;$5=_bitshift64Shl($3|0,$4|0,6)|0;$6=tempRet0;$7=$s+7|0;$8=_load_3($7)|0;$9=tempRet0;$10=_bitshift64Shl($8|0,$9|0,5)|0;$11=tempRet0;$12=$s+10|0;$13=_load_3($12)|0;$14=tempRet0;$15=_bitshift64Shl($13|0,$14|0,3)|0;$16=tempRet0;$17=$s+13|0;$18=_load_3($17)|0;$19=tempRet0;$20=_bitshift64Shl($18|0,$19|0,2)|0;$21=tempRet0;$22=$s+16|0;$23=_load_4($22)|0;$24=tempRet0;$25=$s+20|0;$26=_load_3($25)|0;$27=tempRet0;$28=_bitshift64Shl($26|0,$27|0,7)|0;$29=tempRet0;$30=$s+23|0;$31=_load_3($30)|0;$32=tempRet0;$33=_bitshift64Shl($31|0,$32|0,5)|0;$34=tempRet0;$35=$s+26|0;$36=_load_3($35)|0;$37=tempRet0;$38=_bitshift64Shl($36|0,$37|0,4)|0;$39=tempRet0;$40=$s+29|0;$41=_load_3($40)|0;$42=tempRet0;$43=_bitshift64Shl($41|0,$42|0,2)|0;$44=tempRet0;$45=$43&33554428;$46=_i64Add($45|0,0,16777216,0)|0;$47=tempRet0;$48=_bitshift64Lshr($46|0,$47|0,25)|0;$49=tempRet0;$50=___muldi3($48|0,$49|0,19,0)|0;$51=tempRet0;$52=_i64Add($50|0,$51|0,$0|0,$1|0)|0;$53=tempRet0;$54=_bitshift64Shl($48|0,$49|0,25)|0;$55=tempRet0;$56=_i64Add($5|0,$6|0,16777216,0)|0;$57=tempRet0;$58=_bitshift64Ashr($56|0,$57|0,25)|0;$59=tempRet0;$60=_i64Add($58|0,$59|0,$10|0,$11|0)|0;$61=tempRet0;$62=_bitshift64Shl($58|0,$59|0,25)|0;$63=tempRet0;$64=_i64Subtract($5|0,$6|0,$62|0,$63|0)|0;$65=tempRet0;$66=_i64Add($15|0,$16|0,16777216,0)|0;$67=tempRet0;$68=_bitshift64Ashr($66|0,$67|0,25)|0;$69=tempRet0;$70=_i64Add($68|0,$69|0,$20|0,$21|0)|0;$71=tempRet0;$72=_bitshift64Shl($68|0,$69|0,25)|0;$73=tempRet0;$74=_i64Subtract($15|0,$16|0,$72|0,$73|0)|0;$75=tempRet0;$76=_i64Add($23|0,$24|0,16777216,0)|0;$77=tempRet0;$78=_bitshift64Ashr($76|0,$77|0,25)|0;$79=tempRet0;$80=_i64Add($28|0,$29|0,$78|0,$79|0)|0;$81=tempRet0;$82=_bitshift64Shl($78|0,$79|0,25)|0;$83=tempRet0;$84=_i64Subtract($23|0,$24|0,$82|0,$83|0)|0;$85=tempRet0;$86=_i64Add($33|0,$34|0,16777216,0)|0;$87=tempRet0;$88=_bitshift64Ashr($86|0,$87|0,25)|0;$89=tempRet0;$90=_i64Add($88|0,$89|0,$38|0,$39|0)|0;$91=tempRet0;$92=_bitshift64Shl($88|0,$89|0,25)|0;$93=tempRet0;$94=_i64Add($52|0,$53|0,33554432,0)|0;$95=tempRet0;$96=_bitshift64Ashr($94|0,$95|0,26)|0;$97=tempRet0;$98=_i64Add($64|0,$65|0,$96|0,$97|0)|0;$99=tempRet0;$100=_bitshift64Shl($96|0,$97|0,26)|0;$101=tempRet0;$102=_i64Subtract($52|0,$53|0,$100|0,$101|0)|0;$103=tempRet0;$104=_i64Add($60|0,$61|0,33554432,0)|0;$105=tempRet0;$106=_bitshift64Ashr($104|0,$105|0,26)|0;$107=tempRet0;$108=_i64Add($74|0,$75|0,$106|0,$107|0)|0;$109=tempRet0;$110=_bitshift64Shl($106|0,$107|0,26)|0;$111=tempRet0;$112=_i64Subtract($60|0,$61|0,$110|0,$111|0)|0;$113=tempRet0;$114=_i64Add($70|0,$71|0,33554432,0)|0;$115=tempRet0;$116=_bitshift64Ashr($114|0,$115|0,26)|0;$117=tempRet0;$118=_i64Add($84|0,$85|0,$116|0,$117|0)|0;$119=tempRet0;$120=_bitshift64Shl($116|0,$117|0,26)|0;$121=tempRet0;$122=_i64Subtract($70|0,$71|0,$120|0,$121|0)|0;$123=tempRet0;$124=_i64Add($80|0,$81|0,33554432,0)|0;$125=tempRet0;$126=_bitshift64Ashr($124|0,$125|0,26)|0;$127=tempRet0;$128=_i64Add($126|0,$127|0,$33|0,$34|0)|0;$129=tempRet0;$130=_i64Subtract($128|0,$129|0,$92|0,$93|0)|0;$131=tempRet0;$132=_bitshift64Shl($126|0,$127|0,26)|0;$133=tempRet0;$134=_i64Subtract($80|0,$81|0,$132|0,$133|0)|0;$135=tempRet0;$136=_i64Add($90|0,$91|0,33554432,0)|0;$137=tempRet0;$138=_bitshift64Ashr($136|0,$137|0,26)|0;$139=tempRet0;$140=_i64Add($138|0,$139|0,$45|0,0)|0;$141=tempRet0;$142=_i64Subtract($140|0,$141|0,$54|0,$55|0)|0;$143=tempRet0;$144=_bitshift64Shl($138|0,$139|0,26)|0;$145=tempRet0;$146=_i64Subtract($90|0,$91|0,$144|0,$145|0)|0;$147=tempRet0;HEAP32[$h>>2]=$102;$148=$h+4|0;HEAP32[$148>>2]=$98;$149=$h+8|0;HEAP32[$149>>2]=$112;$150=$h+12|0;HEAP32[$150>>2]=$108;$151=$h+16|0;HEAP32[$151>>2]=$122;$152=$h+20|0;HEAP32[$152>>2]=$118;$153=$h+24|0;HEAP32[$153>>2]=$134;$154=$h+28|0;HEAP32[$154>>2]=$130;$155=$h+32|0;HEAP32[$155>>2]=$146;$156=$h+36|0;HEAP32[$156>>2]=$142;STACKTOP=sp;return}function _load_4($in){$in=$in|0;var $0=0,$1=0,$10=0,$11=0,$12=0,$13=0,$14=0,$15=0,$16=0,$17=0,$18=0,$19=0,$2=0,$20=0,$21=0,$3=0,$4=0,$5=0,$6=0,$7=0;var $8=0,$9=0,label=0,sp=0;sp=STACKTOP;$0=HEAP8[$in>>0]|0;$1=$0&255;$2=$in+1|0;$3=HEAP8[$2>>0]|0;$4=$3&255;$5=_bitshift64Shl($4|0,0,8)|0;$6=tempRet0;$7=$5|$1;$8=$in+2|0;$9=HEAP8[$8>>0]|0;$10=$9&255;$11=_bitshift64Shl($10|0,0,16)|0;$12=tempRet0;$13=$7|$11;$14=$6|$12;$15=$in+3|0;$16=HEAP8[$15>>0]|0;$17=$16&255;$18=_bitshift64Shl($17|0,0,24)|0;$19=tempRet0;$20=$13|$18;$21=$14|$19;tempRet0=$21;STACKTOP=sp;return $20|0}function _load_3($in){$in=$in|0;var $0=0,$1=0,$10=0,$11=0,$12=0,$13=0,$14=0,$2=0,$3=0,$4=0,$5=0,$6=0,$7=0,$8=0,$9=0,label=0,sp=0;sp=STACKTOP;$0=HEAP8[$in>>0]|0;$1=$0&255;$2=$in+1|0;$3=HEAP8[$2>>0]|0;$4=$3&255;$5=_bitshift64Shl($4|0,0,8)|0;$6=tempRet0;$7=$5|$1;$8=$in+2|0;$9=HEAP8[$8>>0]|0;$10=$9&255;$11=_bitshift64Shl($10|0,0,16)|0;$12=tempRet0;$13=$7|$11;$14=$6|$12;tempRet0=$14;STACKTOP=sp;return $13|0}function _crypto_sign_ed25519_ref10_fe_invert($out,$z){$out=$out|0;$z=$z|0;var $0=0,$1=0,$2=0,$exitcond=0,$exitcond10=0,$exitcond11=0,$i$74=0,$i$83=0,$i$92=0,$t0=0,$t1=0,$t2=0,$t3=0,label=0,sp=0;sp=STACKTOP;STACKTOP=STACKTOP+160|0;$t0=sp+120|0;$t1=sp+80|0;$t2=sp+40|0;$t3=sp;_crypto_sign_ed25519_ref10_fe_sq($t0,$z);_crypto_sign_ed25519_ref10_fe_sq($t1,$t0);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_mul($t1,$z,$t1);_crypto_sign_ed25519_ref10_fe_mul($t0,$t0,$t1);_crypto_sign_ed25519_ref10_fe_sq($t2,$t0);_crypto_sign_ed25519_ref10_fe_mul($t1,$t1,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t1);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_mul($t1,$t2,$t1);_crypto_sign_ed25519_ref10_fe_sq($t2,$t1);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_mul($t2,$t2,$t1);_crypto_sign_ed25519_ref10_fe_sq($t3,$t2);_crypto_sign_ed25519_ref10_fe_sq($t3,$t3);_crypto_sign_ed25519_ref10_fe_sq($t3,$t3);_crypto_sign_ed25519_ref10_fe_sq($t3,$t3);_crypto_sign_ed25519_ref10_fe_sq($t3,$t3);_crypto_sign_ed25519_ref10_fe_sq($t3,$t3);_crypto_sign_ed25519_ref10_fe_sq($t3,$t3);_crypto_sign_ed25519_ref10_fe_sq($t3,$t3);_crypto_sign_ed25519_ref10_fe_sq($t3,$t3);_crypto_sign_ed25519_ref10_fe_sq($t3,$t3);_crypto_sign_ed25519_ref10_fe_sq($t3,$t3);_crypto_sign_ed25519_ref10_fe_sq($t3,$t3);_crypto_sign_ed25519_ref10_fe_sq($t3,$t3);_crypto_sign_ed25519_ref10_fe_sq($t3,$t3);_crypto_sign_ed25519_ref10_fe_sq($t3,$t3);_crypto_sign_ed25519_ref10_fe_sq($t3,$t3);_crypto_sign_ed25519_ref10_fe_sq($t3,$t3);_crypto_sign_ed25519_ref10_fe_sq($t3,$t3);_crypto_sign_ed25519_ref10_fe_sq($t3,$t3);_crypto_sign_ed25519_ref10_fe_sq($t3,$t3);_crypto_sign_ed25519_ref10_fe_mul($t2,$t3,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_mul($t1,$t2,$t1);_crypto_sign_ed25519_ref10_fe_sq($t2,$t1);$i$74=1;while(1){_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);$0=$i$74+1|0;$exitcond11=($0|0)==50;if($exitcond11){break}else{$i$74=$0}}_crypto_sign_ed25519_ref10_fe_mul($t2,$t2,$t1);_crypto_sign_ed25519_ref10_fe_sq($t3,$t2);$i$83=1;while(1){_crypto_sign_ed25519_ref10_fe_sq($t3,$t3);$1=$i$83+1|0;$exitcond10=($1|0)==100;if($exitcond10){break}else{$i$83=$1}}_crypto_sign_ed25519_ref10_fe_mul($t2,$t3,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);$i$92=1;while(1){_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);$2=$i$92+1|0;$exitcond=($2|0)==50;if($exitcond){break}else{$i$92=$2}}_crypto_sign_ed25519_ref10_fe_mul($t1,$t2,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_mul($out,$t1,$t0);STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_fe_isnegative($f){$f=$f|0;var $0=0,$1=0,$2=0,$s=0,label=0,sp=0;sp=STACKTOP;STACKTOP=STACKTOP+32|0;$s=sp;_crypto_sign_ed25519_ref10_fe_tobytes($s,$f);$0=HEAP8[$s>>0]|0;$1=$0&255;$2=$1&1;STACKTOP=sp;return $2|0}function _crypto_sign_ed25519_ref10_fe_isnonzero($f){$f=$f|0;var $0=0,$s=0,label=0,sp=0;sp=STACKTOP;STACKTOP=STACKTOP+32|0;$s=sp;_crypto_sign_ed25519_ref10_fe_tobytes($s,$f);$0=_crypto_verify_32_ref($s,8)|0;STACKTOP=sp;return $0|0}function _crypto_sign_ed25519_ref10_fe_mul($h,$f,$g){$h=$h|0;$f=$f|0;$g=$g|0;var $0=0,$1=0,$10=0,$100=0,$101=0,$102=0,$103=0,$104=0,$105=0,$106=0,$107=0,$108=0,$109=0,$11=0,$110=0,$111=0,$112=0,$113=0,$114=0,$115=0;var $116=0,$117=0,$118=0,$119=0,$12=0,$120=0,$121=0,$122=0,$123=0,$124=0,$125=0,$126=0,$127=0,$128=0,$129=0,$13=0,$130=0,$131=0,$132=0,$133=0;var $134=0,$135=0,$136=0,$137=0,$138=0,$139=0,$14=0,$140=0,$141=0,$142=0,$143=0,$144=0,$145=0,$146=0,$147=0,$148=0,$149=0,$15=0,$150=0,$151=0;var $152=0,$153=0,$154=0,$155=0,$156=0,$157=0,$158=0,$159=0,$16=0,$160=0,$161=0,$162=0,$163=0,$164=0,$165=0,$166=0,$167=0,$168=0,$169=0,$17=0;var $170=0,$171=0,$172=0,$173=0,$174=0,$175=0,$176=0,$177=0,$178=0,$179=0,$18=0,$180=0,$181=0,$182=0,$183=0,$184=0,$185=0,$186=0,$187=0,$188=0;var $189=0,$19=0,$190=0,$191=0,$192=0,$193=0,$194=0,$195=0,$196=0,$197=0,$198=0,$199=0,$2=0,$20=0,$200=0,$201=0,$202=0,$203=0,$204=0,$205=0;var $206=0,$207=0,$208=0,$209=0,$21=0,$210=0,$211=0,$212=0,$213=0,$214=0,$215=0,$216=0,$217=0,$218=0,$219=0,$22=0,$220=0,$221=0,$222=0,$223=0;var $224=0,$225=0,$226=0,$227=0,$228=0,$229=0,$23=0,$230=0,$231=0,$232=0,$233=0,$234=0,$235=0,$236=0,$237=0,$238=0,$239=0,$24=0,$240=0,$241=0;var $242=0,$243=0,$244=0,$245=0,$246=0,$247=0,$248=0,$249=0,$25=0,$250=0,$251=0,$252=0,$253=0,$254=0,$255=0,$256=0,$257=0,$258=0,$259=0,$26=0;var $260=0,$261=0,$262=0,$263=0,$264=0,$265=0,$266=0,$267=0,$268=0,$269=0,$27=0,$270=0,$271=0,$272=0,$273=0,$274=0,$275=0,$276=0,$277=0,$278=0;var $279=0,$28=0,$280=0,$281=0,$282=0,$283=0,$284=0,$285=0,$286=0,$287=0,$288=0,$289=0,$29=0,$290=0,$291=0,$292=0,$293=0,$294=0,$295=0,$296=0;var $297=0,$298=0,$299=0,$3=0,$30=0,$300=0,$301=0,$302=0,$303=0,$304=0,$305=0,$306=0,$307=0,$308=0,$309=0,$31=0,$310=0,$311=0,$312=0,$313=0;var $314=0,$315=0,$316=0,$317=0,$318=0,$319=0,$32=0,$320=0,$321=0,$322=0,$323=0,$324=0,$325=0,$326=0,$327=0,$328=0,$329=0,$33=0,$330=0,$331=0;var $332=0,$333=0,$334=0,$335=0,$336=0,$337=0,$338=0,$339=0,$34=0,$340=0,$341=0,$342=0,$343=0,$344=0,$345=0,$346=0,$347=0,$348=0,$349=0,$35=0;var $350=0,$351=0,$352=0,$353=0,$354=0,$355=0,$356=0,$357=0,$358=0,$359=0,$36=0,$360=0,$361=0,$362=0,$363=0,$364=0,$365=0,$366=0,$367=0,$368=0;var $369=0,$37=0,$370=0,$371=0,$372=0,$373=0,$374=0,$375=0,$376=0,$377=0,$378=0,$379=0,$38=0,$380=0,$381=0,$382=0,$383=0,$384=0,$385=0,$386=0;var $387=0,$388=0,$389=0,$39=0,$390=0,$391=0,$392=0,$393=0,$394=0,$395=0,$396=0,$397=0,$398=0,$399=0,$4=0,$40=0,$400=0,$401=0,$402=0,$403=0;var $404=0,$405=0,$406=0,$407=0,$408=0,$409=0,$41=0,$410=0,$411=0,$412=0,$413=0,$414=0,$415=0,$416=0,$417=0,$418=0,$419=0,$42=0,$420=0,$421=0;var $422=0,$423=0,$424=0,$425=0,$426=0,$427=0,$428=0,$429=0,$43=0,$430=0,$431=0,$432=0,$433=0,$434=0,$435=0,$436=0,$437=0,$438=0,$439=0,$44=0;var $440=0,$441=0,$442=0,$443=0,$444=0,$445=0,$446=0,$447=0,$448=0,$449=0,$45=0,$450=0,$451=0,$452=0,$453=0,$454=0,$455=0,$456=0,$457=0,$458=0;var $459=0,$46=0,$460=0,$461=0,$462=0,$463=0,$464=0,$465=0,$466=0,$467=0,$468=0,$469=0,$47=0,$470=0,$471=0,$472=0,$473=0,$474=0,$475=0,$476=0;var $477=0,$478=0,$479=0,$48=0,$480=0,$481=0,$482=0,$483=0,$484=0,$485=0,$486=0,$487=0,$488=0,$489=0,$49=0,$490=0,$491=0,$492=0,$493=0,$494=0;var $495=0,$496=0,$497=0,$498=0,$499=0,$5=0,$50=0,$500=0,$501=0,$502=0,$503=0,$504=0,$505=0,$506=0,$507=0,$508=0,$509=0,$51=0,$510=0,$511=0;var $512=0,$513=0,$514=0,$515=0,$516=0,$517=0,$518=0,$519=0,$52=0,$520=0,$521=0,$522=0,$523=0,$524=0,$525=0,$526=0,$527=0,$528=0,$529=0,$53=0;var $530=0,$531=0,$532=0,$533=0,$534=0,$535=0,$536=0,$537=0,$538=0,$539=0,$54=0,$540=0,$541=0,$542=0,$543=0,$544=0,$545=0,$546=0,$547=0,$548=0;var $549=0,$55=0,$550=0,$551=0,$552=0,$553=0,$554=0,$555=0,$556=0,$557=0,$558=0,$559=0,$56=0,$560=0,$561=0,$562=0,$563=0,$564=0,$565=0,$566=0;var $567=0,$568=0,$569=0,$57=0,$570=0,$571=0,$572=0,$573=0,$574=0,$575=0,$576=0,$577=0,$578=0,$579=0,$58=0,$580=0,$581=0,$582=0,$583=0,$584=0;var $585=0,$586=0,$587=0,$588=0,$589=0,$59=0,$590=0,$591=0,$592=0,$593=0,$594=0,$595=0,$596=0,$597=0,$598=0,$599=0,$6=0,$60=0,$600=0,$601=0;var $602=0,$603=0,$604=0,$605=0,$606=0,$607=0,$608=0,$609=0,$61=0,$610=0,$611=0,$612=0,$613=0,$614=0,$615=0,$616=0,$617=0,$618=0,$619=0,$62=0;var $620=0,$621=0,$622=0,$623=0,$624=0,$625=0,$626=0,$627=0,$628=0,$629=0,$63=0,$630=0,$64=0,$65=0,$66=0,$67=0,$68=0,$69=0,$7=0,$70=0;var $71=0,$72=0,$73=0,$74=0,$75=0,$76=0,$77=0,$78=0,$79=0,$8=0,$80=0,$81=0,$82=0,$83=0,$84=0,$85=0,$86=0,$87=0,$88=0,$89=0;var $9=0,$90=0,$91=0,$92=0,$93=0,$94=0,$95=0,$96=0,$97=0,$98=0,$99=0,label=0,sp=0;sp=STACKTOP;$0=HEAP32[$f>>2]|0;$1=$f+4|0;$2=HEAP32[$1>>2]|0;$3=$f+8|0;$4=HEAP32[$3>>2]|0;$5=$f+12|0;$6=HEAP32[$5>>2]|0;$7=$f+16|0;$8=HEAP32[$7>>2]|0;$9=$f+20|0;$10=HEAP32[$9>>2]|0;$11=$f+24|0;$12=HEAP32[$11>>2]|0;$13=$f+28|0;$14=HEAP32[$13>>2]|0;$15=$f+32|0;$16=HEAP32[$15>>2]|0;$17=$f+36|0;$18=HEAP32[$17>>2]|0;$19=HEAP32[$g>>2]|0;$20=$g+4|0;$21=HEAP32[$20>>2]|0;$22=$g+8|0;$23=HEAP32[$22>>2]|0;$24=$g+12|0;$25=HEAP32[$24>>2]|0;$26=$g+16|0;$27=HEAP32[$26>>2]|0;$28=$g+20|0;$29=HEAP32[$28>>2]|0;$30=$g+24|0;$31=HEAP32[$30>>2]|0;$32=$g+28|0;$33=HEAP32[$32>>2]|0;$34=$g+32|0;$35=HEAP32[$34>>2]|0;$36=$g+36|0;$37=HEAP32[$36>>2]|0;$38=$21*19|0;$39=$23*19|0;$40=$25*19|0;$41=$27*19|0;$42=$29*19|0;$43=$31*19|0;$44=$33*19|0;$45=$35*19|0;$46=$37*19|0;$47=$2<<1;$48=$6<<1;$49=$10<<1;$50=$14<<1;$51=$18<<1;$52=($0|0)<0;$53=$52<<31>>31;$54=($19|0)<0;$55=$54<<31>>31;$56=___muldi3($19|0,$55|0,$0|0,$53|0)|0;$57=tempRet0;$58=($21|0)<0;$59=$58<<31>>31;$60=___muldi3($21|0,$59|0,$0|0,$53|0)|0;$61=tempRet0;$62=($23|0)<0;$63=$62<<31>>31;$64=___muldi3($23|0,$63|0,$0|0,$53|0)|0;$65=tempRet0;$66=($25|0)<0;$67=$66<<31>>31;$68=___muldi3($25|0,$67|0,$0|0,$53|0)|0;$69=tempRet0;$70=($27|0)<0;$71=$70<<31>>31;$72=___muldi3($27|0,$71|0,$0|0,$53|0)|0;$73=tempRet0;$74=($29|0)<0;$75=$74<<31>>31;$76=___muldi3($29|0,$75|0,$0|0,$53|0)|0;$77=tempRet0;$78=($31|0)<0;$79=$78<<31>>31;$80=___muldi3($31|0,$79|0,$0|0,$53|0)|0;$81=tempRet0;$82=($33|0)<0;$83=$82<<31>>31;$84=___muldi3($33|0,$83|0,$0|0,$53|0)|0;$85=tempRet0;$86=($35|0)<0;$87=$86<<31>>31;$88=___muldi3($35|0,$87|0,$0|0,$53|0)|0;$89=tempRet0;$90=($37|0)<0;$91=$90<<31>>31;$92=___muldi3($37|0,$91|0,$0|0,$53|0)|0;$93=tempRet0;$94=($2|0)<0;$95=$94<<31>>31;$96=___muldi3($19|0,$55|0,$2|0,$95|0)|0;$97=tempRet0;$98=($47|0)<0;$99=$98<<31>>31;$100=___muldi3($21|0,$59|0,$47|0,$99|0)|0;$101=tempRet0;$102=___muldi3($23|0,$63|0,$2|0,$95|0)|0;$103=tempRet0;$104=___muldi3($25|0,$67|0,$47|0,$99|0)|0;$105=tempRet0;$106=___muldi3($27|0,$71|0,$2|0,$95|0)|0;$107=tempRet0;$108=___muldi3($29|0,$75|0,$47|0,$99|0)|0;$109=tempRet0;$110=___muldi3($31|0,$79|0,$2|0,$95|0)|0;$111=tempRet0;$112=___muldi3($33|0,$83|0,$47|0,$99|0)|0;$113=tempRet0;$114=___muldi3($35|0,$87|0,$2|0,$95|0)|0;$115=tempRet0;$116=($46|0)<0;$117=$116<<31>>31;$118=___muldi3($46|0,$117|0,$47|0,$99|0)|0;$119=tempRet0;$120=($4|0)<0;$121=$120<<31>>31;$122=___muldi3($19|0,$55|0,$4|0,$121|0)|0;$123=tempRet0;$124=___muldi3($21|0,$59|0,$4|0,$121|0)|0;$125=tempRet0;$126=___muldi3($23|0,$63|0,$4|0,$121|0)|0;$127=tempRet0;$128=___muldi3($25|0,$67|0,$4|0,$121|0)|0;$129=tempRet0;$130=___muldi3($27|0,$71|0,$4|0,$121|0)|0;$131=tempRet0;$132=___muldi3($29|0,$75|0,$4|0,$121|0)|0;$133=tempRet0;$134=___muldi3($31|0,$79|0,$4|0,$121|0)|0;$135=tempRet0;$136=___muldi3($33|0,$83|0,$4|0,$121|0)|0;$137=tempRet0;$138=($45|0)<0;$139=$138<<31>>31;$140=___muldi3($45|0,$139|0,$4|0,$121|0)|0;$141=tempRet0;$142=___muldi3($46|0,$117|0,$4|0,$121|0)|0;$143=tempRet0;$144=($6|0)<0;$145=$144<<31>>31;$146=___muldi3($19|0,$55|0,$6|0,$145|0)|0;$147=tempRet0;$148=($48|0)<0;$149=$148<<31>>31;$150=___muldi3($21|0,$59|0,$48|0,$149|0)|0;$151=tempRet0;$152=___muldi3($23|0,$63|0,$6|0,$145|0)|0;$153=tempRet0;$154=___muldi3($25|0,$67|0,$48|0,$149|0)|0;$155=tempRet0;$156=___muldi3($27|0,$71|0,$6|0,$145|0)|0;$157=tempRet0;$158=___muldi3($29|0,$75|0,$48|0,$149|0)|0;$159=tempRet0;$160=___muldi3($31|0,$79|0,$6|0,$145|0)|0;$161=tempRet0;$162=($44|0)<0;$163=$162<<31>>31;$164=___muldi3($44|0,$163|0,$48|0,$149|0)|0;$165=tempRet0;$166=___muldi3($45|0,$139|0,$6|0,$145|0)|0;$167=tempRet0;$168=___muldi3($46|0,$117|0,$48|0,$149|0)|0;$169=tempRet0;$170=($8|0)<0;$171=$170<<31>>31;$172=___muldi3($19|0,$55|0,$8|0,$171|0)|0;$173=tempRet0;$174=___muldi3($21|0,$59|0,$8|0,$171|0)|0;$175=tempRet0;$176=___muldi3($23|0,$63|0,$8|0,$171|0)|0;$177=tempRet0;$178=___muldi3($25|0,$67|0,$8|0,$171|0)|0;$179=tempRet0;$180=___muldi3($27|0,$71|0,$8|0,$171|0)|0;$181=tempRet0;$182=___muldi3($29|0,$75|0,$8|0,$171|0)|0;$183=tempRet0;$184=($43|0)<0;$185=$184<<31>>31;$186=___muldi3($43|0,$185|0,$8|0,$171|0)|0;$187=tempRet0;$188=___muldi3($44|0,$163|0,$8|0,$171|0)|0;$189=tempRet0;$190=___muldi3($45|0,$139|0,$8|0,$171|0)|0;$191=tempRet0;$192=___muldi3($46|0,$117|0,$8|0,$171|0)|0;$193=tempRet0;$194=($10|0)<0;$195=$194<<31>>31;$196=___muldi3($19|0,$55|0,$10|0,$195|0)|0;$197=tempRet0;$198=($49|0)<0;$199=$198<<31>>31;$200=___muldi3($21|0,$59|0,$49|0,$199|0)|0;$201=tempRet0;$202=___muldi3($23|0,$63|0,$10|0,$195|0)|0;$203=tempRet0;$204=___muldi3($25|0,$67|0,$49|0,$199|0)|0;$205=tempRet0;$206=___muldi3($27|0,$71|0,$10|0,$195|0)|0;$207=tempRet0;$208=($42|0)<0;$209=$208<<31>>31;$210=___muldi3($42|0,$209|0,$49|0,$199|0)|0;$211=tempRet0;$212=___muldi3($43|0,$185|0,$10|0,$195|0)|0;$213=tempRet0;$214=___muldi3($44|0,$163|0,$49|0,$199|0)|0;$215=tempRet0;$216=___muldi3($45|0,$139|0,$10|0,$195|0)|0;$217=tempRet0;$218=___muldi3($46|0,$117|0,$49|0,$199|0)|0;$219=tempRet0;$220=($12|0)<0;$221=$220<<31>>31;$222=___muldi3($19|0,$55|0,$12|0,$221|0)|0;$223=tempRet0;$224=___muldi3($21|0,$59|0,$12|0,$221|0)|0;$225=tempRet0;$226=___muldi3($23|0,$63|0,$12|0,$221|0)|0;$227=tempRet0;$228=___muldi3($25|0,$67|0,$12|0,$221|0)|0;$229=tempRet0;$230=($41|0)<0;$231=$230<<31>>31;$232=___muldi3($41|0,$231|0,$12|0,$221|0)|0;$233=tempRet0;$234=___muldi3($42|0,$209|0,$12|0,$221|0)|0;$235=tempRet0;$236=___muldi3($43|0,$185|0,$12|0,$221|0)|0;$237=tempRet0;$238=___muldi3($44|0,$163|0,$12|0,$221|0)|0;$239=tempRet0;$240=___muldi3($45|0,$139|0,$12|0,$221|0)|0;$241=tempRet0;$242=___muldi3($46|0,$117|0,$12|0,$221|0)|0;$243=tempRet0;$244=($14|0)<0;$245=$244<<31>>31;$246=___muldi3($19|0,$55|0,$14|0,$245|0)|0;$247=tempRet0;$248=($50|0)<0;$249=$248<<31>>31;$250=___muldi3($21|0,$59|0,$50|0,$249|0)|0;$251=tempRet0;$252=___muldi3($23|0,$63|0,$14|0,$245|0)|0;$253=tempRet0;$254=($40|0)<0;$255=$254<<31>>31;$256=___muldi3($40|0,$255|0,$50|0,$249|0)|0;$257=tempRet0;$258=___muldi3($41|0,$231|0,$14|0,$245|0)|0;$259=tempRet0;$260=___muldi3($42|0,$209|0,$50|0,$249|0)|0;$261=tempRet0;$262=___muldi3($43|0,$185|0,$14|0,$245|0)|0;$263=tempRet0;$264=___muldi3($44|0,$163|0,$50|0,$249|0)|0;$265=tempRet0;$266=___muldi3($45|0,$139|0,$14|0,$245|0)|0;$267=tempRet0;$268=___muldi3($46|0,$117|0,$50|0,$249|0)|0;$269=tempRet0;$270=($16|0)<0;$271=$270<<31>>31;$272=___muldi3($19|0,$55|0,$16|0,$271|0)|0;$273=tempRet0;$274=___muldi3($21|0,$59|0,$16|0,$271|0)|0;$275=tempRet0;$276=($39|0)<0;$277=$276<<31>>31;$278=___muldi3($39|0,$277|0,$16|0,$271|0)|0;$279=tempRet0;$280=___muldi3($40|0,$255|0,$16|0,$271|0)|0;$281=tempRet0;$282=___muldi3($41|0,$231|0,$16|0,$271|0)|0;$283=tempRet0;$284=___muldi3($42|0,$209|0,$16|0,$271|0)|0;$285=tempRet0;$286=___muldi3($43|0,$185|0,$16|0,$271|0)|0;$287=tempRet0;$288=___muldi3($44|0,$163|0,$16|0,$271|0)|0;$289=tempRet0;$290=___muldi3($45|0,$139|0,$16|0,$271|0)|0;$291=tempRet0;$292=___muldi3($46|0,$117|0,$16|0,$271|0)|0;$293=tempRet0;$294=($18|0)<0;$295=$294<<31>>31;$296=___muldi3($19|0,$55|0,$18|0,$295|0)|0;$297=tempRet0;$298=($51|0)<0;$299=$298<<31>>31;$300=($38|0)<0;$301=$300<<31>>31;$302=___muldi3($38|0,$301|0,$51|0,$299|0)|0;$303=tempRet0;$304=___muldi3($39|0,$277|0,$18|0,$295|0)|0;$305=tempRet0;$306=___muldi3($40|0,$255|0,$51|0,$299|0)|0;$307=tempRet0;$308=___muldi3($41|0,$231|0,$18|0,$295|0)|0;$309=tempRet0;$310=___muldi3($42|0,$209|0,$51|0,$299|0)|0;$311=tempRet0;$312=___muldi3($43|0,$185|0,$18|0,$295|0)|0;$313=tempRet0;$314=___muldi3($44|0,$163|0,$51|0,$299|0)|0;$315=tempRet0;$316=___muldi3($45|0,$139|0,$18|0,$295|0)|0;$317=tempRet0;$318=___muldi3($46|0,$117|0,$51|0,$299|0)|0;$319=tempRet0;$320=_i64Add($302|0,$303|0,$56|0,$57|0)|0;$321=tempRet0;$322=_i64Add($320|0,$321|0,$278|0,$279|0)|0;$323=tempRet0;$324=_i64Add($322|0,$323|0,$256|0,$257|0)|0;$325=tempRet0;$326=_i64Add($324|0,$325|0,$232|0,$233|0)|0;$327=tempRet0;$328=_i64Add($326|0,$327|0,$210|0,$211|0)|0;$329=tempRet0;$330=_i64Add($328|0,$329|0,$186|0,$187|0)|0;$331=tempRet0;$332=_i64Add($330|0,$331|0,$164|0,$165|0)|0;$333=tempRet0;$334=_i64Add($332|0,$333|0,$140|0,$141|0)|0;$335=tempRet0;$336=_i64Add($334|0,$335|0,$118|0,$119|0)|0;$337=tempRet0;$338=_i64Add($60|0,$61|0,$96|0,$97|0)|0;$339=tempRet0;$340=_i64Add($150|0,$151|0,$172|0,$173|0)|0;$341=tempRet0;$342=_i64Add($340|0,$341|0,$126|0,$127|0)|0;$343=tempRet0;$344=_i64Add($342|0,$343|0,$104|0,$105|0)|0;$345=tempRet0;$346=_i64Add($344|0,$345|0,$72|0,$73|0)|0;$347=tempRet0;$348=_i64Add($346|0,$347|0,$310|0,$311|0)|0;$349=tempRet0;$350=_i64Add($348|0,$349|0,$286|0,$287|0)|0;$351=tempRet0;$352=_i64Add($350|0,$351|0,$264|0,$265|0)|0;$353=tempRet0;$354=_i64Add($352|0,$353|0,$240|0,$241|0)|0;$355=tempRet0;$356=_i64Add($354|0,$355|0,$218|0,$219|0)|0;$357=tempRet0;$358=_i64Add($336|0,$337|0,33554432,0)|0;$359=tempRet0;$360=_bitshift64Ashr($358|0,$359|0,26)|0;$361=tempRet0;$362=_i64Add($338|0,$339|0,$304|0,$305|0)|0;$363=tempRet0;$364=_i64Add($362|0,$363|0,$280|0,$281|0)|0;$365=tempRet0;$366=_i64Add($364|0,$365|0,$258|0,$259|0)|0;$367=tempRet0;$368=_i64Add($366|0,$367|0,$234|0,$235|0)|0;$369=tempRet0;$370=_i64Add($368|0,$369|0,$212|0,$213|0)|0;$371=tempRet0;$372=_i64Add($370|0,$371|0,$188|0,$189|0)|0;$373=tempRet0;$374=_i64Add($372|0,$373|0,$166|0,$167|0)|0;$375=tempRet0;$376=_i64Add($374|0,$375|0,$142|0,$143|0)|0;$377=tempRet0;$378=_i64Add($376|0,$377|0,$360|0,$361|0)|0;$379=tempRet0;$380=_bitshift64Shl($360|0,$361|0,26)|0;$381=tempRet0;$382=_i64Subtract($336|0,$337|0,$380|0,$381|0)|0;$383=tempRet0;$384=_i64Add($356|0,$357|0,33554432,0)|0;$385=tempRet0;$386=_bitshift64Ashr($384|0,$385|0,26)|0;$387=tempRet0;$388=_i64Add($174|0,$175|0,$196|0,$197|0)|0;$389=tempRet0;$390=_i64Add($388|0,$389|0,$152|0,$153|0)|0;$391=tempRet0;$392=_i64Add($390|0,$391|0,$128|0,$129|0)|0;$393=tempRet0;$394=_i64Add($392|0,$393|0,$106|0,$107|0)|0;$395=tempRet0;$396=_i64Add($394|0,$395|0,$76|0,$77|0)|0;$397=tempRet0;$398=_i64Add($396|0,$397|0,$312|0,$313|0)|0;$399=tempRet0;$400=_i64Add($398|0,$399|0,$288|0,$289|0)|0;$401=tempRet0;$402=_i64Add($400|0,$401|0,$266|0,$267|0)|0;$403=tempRet0;$404=_i64Add($402|0,$403|0,$242|0,$243|0)|0;$405=tempRet0;$406=_i64Add($404|0,$405|0,$386|0,$387|0)|0;$407=tempRet0;$408=_bitshift64Shl($386|0,$387|0,26)|0;$409=tempRet0;$410=_i64Subtract($356|0,$357|0,$408|0,$409|0)|0;$411=tempRet0;$412=_i64Add($378|0,$379|0,16777216,0)|0;$413=tempRet0;$414=_bitshift64Ashr($412|0,$413|0,25)|0;$415=tempRet0;$416=_i64Add($100|0,$101|0,$122|0,$123|0)|0;$417=tempRet0;$418=_i64Add($416|0,$417|0,$64|0,$65|0)|0;$419=tempRet0;$420=_i64Add($418|0,$419|0,$306|0,$307|0)|0;$421=tempRet0;$422=_i64Add($420|0,$421|0,$282|0,$283|0)|0;$423=tempRet0;$424=_i64Add($422|0,$423|0,$260|0,$261|0)|0;$425=tempRet0;$426=_i64Add($424|0,$425|0,$236|0,$237|0)|0;$427=tempRet0;$428=_i64Add($426|0,$427|0,$214|0,$215|0)|0;$429=tempRet0;$430=_i64Add($428|0,$429|0,$190|0,$191|0)|0;$431=tempRet0;$432=_i64Add($430|0,$431|0,$168|0,$169|0)|0;$433=tempRet0;$434=_i64Add($432|0,$433|0,$414|0,$415|0)|0;$435=tempRet0;$436=_bitshift64Shl($414|0,$415|0,25)|0;$437=tempRet0;$438=_i64Subtract($378|0,$379|0,$436|0,$437|0)|0;$439=tempRet0;$440=_i64Add($406|0,$407|0,16777216,0)|0;$441=tempRet0;$442=_bitshift64Ashr($440|0,$441|0,25)|0;$443=tempRet0;$444=_i64Add($200|0,$201|0,$222|0,$223|0)|0;$445=tempRet0;$446=_i64Add($444|0,$445|0,$176|0,$177|0)|0;$447=tempRet0;$448=_i64Add($446|0,$447|0,$154|0,$155|0)|0;$449=tempRet0;$450=_i64Add($448|0,$449|0,$130|0,$131|0)|0;$451=tempRet0;$452=_i64Add($450|0,$451|0,$108|0,$109|0)|0;$453=tempRet0;$454=_i64Add($452|0,$453|0,$80|0,$81|0)|0;$455=tempRet0;$456=_i64Add($454|0,$455|0,$314|0,$315|0)|0;$457=tempRet0;$458=_i64Add($456|0,$457|0,$290|0,$291|0)|0;$459=tempRet0;$460=_i64Add($458|0,$459|0,$268|0,$269|0)|0;$461=tempRet0;$462=_i64Add($460|0,$461|0,$442|0,$443|0)|0;$463=tempRet0;$464=_bitshift64Shl($442|0,$443|0,25)|0;$465=tempRet0;$466=_i64Subtract($406|0,$407|0,$464|0,$465|0)|0;$467=tempRet0;$468=_i64Add($434|0,$435|0,33554432,0)|0;$469=tempRet0;$470=_bitshift64Ashr($468|0,$469|0,26)|0;$471=tempRet0;$472=_i64Add($124|0,$125|0,$146|0,$147|0)|0;$473=tempRet0;$474=_i64Add($472|0,$473|0,$102|0,$103|0)|0;$475=tempRet0;$476=_i64Add($474|0,$475|0,$68|0,$69|0)|0;$477=tempRet0;$478=_i64Add($476|0,$477|0,$308|0,$309|0)|0;$479=tempRet0;$480=_i64Add($478|0,$479|0,$284|0,$285|0)|0;$481=tempRet0;$482=_i64Add($480|0,$481|0,$262|0,$263|0)|0;$483=tempRet0;$484=_i64Add($482|0,$483|0,$238|0,$239|0)|0;$485=tempRet0;$486=_i64Add($484|0,$485|0,$216|0,$217|0)|0;$487=tempRet0;$488=_i64Add($486|0,$487|0,$192|0,$193|0)|0;$489=tempRet0;$490=_i64Add($488|0,$489|0,$470|0,$471|0)|0;$491=tempRet0;$492=_bitshift64Shl($470|0,$471|0,26)|0;$493=tempRet0;$494=_i64Subtract($434|0,$435|0,$492|0,$493|0)|0;$495=tempRet0;$496=_i64Add($462|0,$463|0,33554432,0)|0;$497=tempRet0;$498=_bitshift64Ashr($496|0,$497|0,26)|0;$499=tempRet0;$500=_i64Add($224|0,$225|0,$246|0,$247|0)|0;$501=tempRet0;$502=_i64Add($500|0,$501|0,$202|0,$203|0)|0;$503=tempRet0;$504=_i64Add($502|0,$503|0,$178|0,$179|0)|0;$505=tempRet0;$506=_i64Add($504|0,$505|0,$156|0,$157|0)|0;$507=tempRet0;$508=_i64Add($506|0,$507|0,$132|0,$133|0)|0;$509=tempRet0;$510=_i64Add($508|0,$509|0,$110|0,$111|0)|0;$511=tempRet0;$512=_i64Add($510|0,$511|0,$84|0,$85|0)|0;$513=tempRet0;$514=_i64Add($512|0,$513|0,$316|0,$317|0)|0;$515=tempRet0;$516=_i64Add($514|0,$515|0,$292|0,$293|0)|0;$517=tempRet0;$518=_i64Add($516|0,$517|0,$498|0,$499|0)|0;$519=tempRet0;$520=_bitshift64Shl($498|0,$499|0,26)|0;$521=tempRet0;$522=_i64Subtract($462|0,$463|0,$520|0,$521|0)|0;$523=tempRet0;$524=_i64Add($490|0,$491|0,16777216,0)|0;$525=tempRet0;$526=_bitshift64Ashr($524|0,$525|0,25)|0;$527=tempRet0;$528=_i64Add($526|0,$527|0,$410|0,$411|0)|0;$529=tempRet0;$530=_bitshift64Shl($526|0,$527|0,25)|0;$531=tempRet0;$532=_i64Subtract($490|0,$491|0,$530|0,$531|0)|0;$533=tempRet0;$534=_i64Add($518|0,$519|0,16777216,0)|0;$535=tempRet0;$536=_bitshift64Ashr($534|0,$535|0,25)|0;$537=tempRet0;$538=_i64Add($250|0,$251|0,$272|0,$273|0)|0;$539=tempRet0;$540=_i64Add($538|0,$539|0,$226|0,$227|0)|0;$541=tempRet0;$542=_i64Add($540|0,$541|0,$204|0,$205|0)|0;$543=tempRet0;$544=_i64Add($542|0,$543|0,$180|0,$181|0)|0;$545=tempRet0;$546=_i64Add($544|0,$545|0,$158|0,$159|0)|0;$547=tempRet0;$548=_i64Add($546|0,$547|0,$134|0,$135|0)|0;$549=tempRet0;$550=_i64Add($548|0,$549|0,$112|0,$113|0)|0;$551=tempRet0;$552=_i64Add($550|0,$551|0,$88|0,$89|0)|0;$553=tempRet0;$554=_i64Add($552|0,$553|0,$318|0,$319|0)|0;$555=tempRet0;$556=_i64Add($554|0,$555|0,$536|0,$537|0)|0;$557=tempRet0;$558=_bitshift64Shl($536|0,$537|0,25)|0;$559=tempRet0;$560=_i64Subtract($518|0,$519|0,$558|0,$559|0)|0;$561=tempRet0;$562=_i64Add($528|0,$529|0,33554432,0)|0;$563=tempRet0;$564=_bitshift64Ashr($562|0,$563|0,26)|0;$565=tempRet0;$566=_i64Add($466|0,$467|0,$564|0,$565|0)|0;$567=tempRet0;$568=_bitshift64Shl($564|0,$565|0,26)|0;$569=tempRet0;$570=_i64Subtract($528|0,$529|0,$568|0,$569|0)|0;$571=tempRet0;$572=_i64Add($556|0,$557|0,33554432,0)|0;$573=tempRet0;$574=_bitshift64Ashr($572|0,$573|0,26)|0;$575=tempRet0;$576=_i64Add($274|0,$275|0,$296|0,$297|0)|0;$577=tempRet0;$578=_i64Add($576|0,$577|0,$252|0,$253|0)|0;$579=tempRet0;$580=_i64Add($578|0,$579|0,$228|0,$229|0)|0;$581=tempRet0;$582=_i64Add($580|0,$581|0,$206|0,$207|0)|0;$583=tempRet0;$584=_i64Add($582|0,$583|0,$182|0,$183|0)|0;$585=tempRet0;$586=_i64Add($584|0,$585|0,$160|0,$161|0)|0;$587=tempRet0;$588=_i64Add($586|0,$587|0,$136|0,$137|0)|0;$589=tempRet0;$590=_i64Add($588|0,$589|0,$114|0,$115|0)|0;$591=tempRet0;$592=_i64Add($590|0,$591|0,$92|0,$93|0)|0;$593=tempRet0;$594=_i64Add($592|0,$593|0,$574|0,$575|0)|0;$595=tempRet0;$596=_bitshift64Shl($574|0,$575|0,26)|0;$597=tempRet0;$598=_i64Subtract($556|0,$557|0,$596|0,$597|0)|0;$599=tempRet0;$600=_i64Add($594|0,$595|0,16777216,0)|0;$601=tempRet0;$602=_bitshift64Ashr($600|0,$601|0,25)|0;$603=tempRet0;$604=___muldi3($602|0,$603|0,19,0)|0;$605=tempRet0;$606=_i64Add($604|0,$605|0,$382|0,$383|0)|0;$607=tempRet0;$608=_bitshift64Shl($602|0,$603|0,25)|0;$609=tempRet0;$610=_i64Subtract($594|0,$595|0,$608|0,$609|0)|0;$611=tempRet0;$612=_i64Add($606|0,$607|0,33554432,0)|0;$613=tempRet0;$614=_bitshift64Ashr($612|0,$613|0,26)|0;$615=tempRet0;$616=_i64Add($438|0,$439|0,$614|0,$615|0)|0;$617=tempRet0;$618=_bitshift64Shl($614|0,$615|0,26)|0;$619=tempRet0;$620=_i64Subtract($606|0,$607|0,$618|0,$619|0)|0;$621=tempRet0;HEAP32[$h>>2]=$620;$622=$h+4|0;HEAP32[$622>>2]=$616;$623=$h+8|0;HEAP32[$623>>2]=$494;$624=$h+12|0;HEAP32[$624>>2]=$532;$625=$h+16|0;HEAP32[$625>>2]=$570;$626=$h+20|0;HEAP32[$626>>2]=$566;$627=$h+24|0;HEAP32[$627>>2]=$522;$628=$h+28|0;HEAP32[$628>>2]=$560;$629=$h+32|0;HEAP32[$629>>2]=$598;$630=$h+36|0;HEAP32[$630>>2]=$610;STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_fe_neg($h,$f){$h=$h|0;$f=$f|0;var $0=0,$1=0,$10=0,$11=0,$12=0,$13=0,$14=0,$15=0,$16=0,$17=0,$18=0,$19=0,$2=0,$20=0,$21=0,$22=0,$23=0,$24=0,$25=0,$26=0;var $27=0,$28=0,$29=0,$3=0,$30=0,$31=0,$32=0,$33=0,$34=0,$35=0,$36=0,$37=0,$4=0,$5=0,$6=0,$7=0,$8=0,$9=0,label=0,sp=0;sp=STACKTOP;$0=HEAP32[$f>>2]|0;$1=$f+4|0;$2=HEAP32[$1>>2]|0;$3=$f+8|0;$4=HEAP32[$3>>2]|0;$5=$f+12|0;$6=HEAP32[$5>>2]|0;$7=$f+16|0;$8=HEAP32[$7>>2]|0;$9=$f+20|0;$10=HEAP32[$9>>2]|0;$11=$f+24|0;$12=HEAP32[$11>>2]|0;$13=$f+28|0;$14=HEAP32[$13>>2]|0;$15=$f+32|0;$16=HEAP32[$15>>2]|0;$17=$f+36|0;$18=HEAP32[$17>>2]|0;$19=0-$0|0;$20=0-$2|0;$21=0-$4|0;$22=0-$6|0;$23=0-$8|0;$24=0-$10|0;$25=0-$12|0;$26=0-$14|0;$27=0-$16|0;$28=0-$18|0;HEAP32[$h>>2]=$19;$29=$h+4|0;HEAP32[$29>>2]=$20;$30=$h+8|0;HEAP32[$30>>2]=$21;$31=$h+12|0;HEAP32[$31>>2]=$22;$32=$h+16|0;HEAP32[$32>>2]=$23;$33=$h+20|0;HEAP32[$33>>2]=$24;$34=$h+24|0;HEAP32[$34>>2]=$25;$35=$h+28|0;HEAP32[$35>>2]=$26;$36=$h+32|0;HEAP32[$36>>2]=$27;$37=$h+36|0;HEAP32[$37>>2]=$28;STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_fe_pow22523($out,$z){$out=$out|0;$z=$z|0;var $0=0,$1=0,$2=0,$exitcond=0,$exitcond10=0,$exitcond11=0,$i$74=0,$i$83=0,$i$92=0,$t0=0,$t1=0,$t2=0,label=0,sp=0;sp=STACKTOP;STACKTOP=STACKTOP+128|0;$t0=sp+80|0;$t1=sp+40|0;$t2=sp;_crypto_sign_ed25519_ref10_fe_sq($t0,$z);_crypto_sign_ed25519_ref10_fe_sq($t1,$t0);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_mul($t1,$z,$t1);_crypto_sign_ed25519_ref10_fe_mul($t0,$t0,$t1);_crypto_sign_ed25519_ref10_fe_sq($t0,$t0);_crypto_sign_ed25519_ref10_fe_mul($t0,$t1,$t0);_crypto_sign_ed25519_ref10_fe_sq($t1,$t0);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_mul($t0,$t1,$t0);_crypto_sign_ed25519_ref10_fe_sq($t1,$t0);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_mul($t1,$t1,$t0);_crypto_sign_ed25519_ref10_fe_sq($t2,$t1);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);_crypto_sign_ed25519_ref10_fe_mul($t1,$t2,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);_crypto_sign_ed25519_ref10_fe_mul($t0,$t1,$t0);_crypto_sign_ed25519_ref10_fe_sq($t1,$t0);$i$74=1;while(1){_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);$0=$i$74+1|0;$exitcond11=($0|0)==50;if($exitcond11){break}else{$i$74=$0}}_crypto_sign_ed25519_ref10_fe_mul($t1,$t1,$t0);_crypto_sign_ed25519_ref10_fe_sq($t2,$t1);$i$83=1;while(1){_crypto_sign_ed25519_ref10_fe_sq($t2,$t2);$1=$i$83+1|0;$exitcond10=($1|0)==100;if($exitcond10){break}else{$i$83=$1}}_crypto_sign_ed25519_ref10_fe_mul($t1,$t2,$t1);_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);$i$92=1;while(1){_crypto_sign_ed25519_ref10_fe_sq($t1,$t1);$2=$i$92+1|0;$exitcond=($2|0)==50;if($exitcond){break}else{$i$92=$2}}_crypto_sign_ed25519_ref10_fe_mul($t0,$t1,$t0);_crypto_sign_ed25519_ref10_fe_sq($t0,$t0);_crypto_sign_ed25519_ref10_fe_sq($t0,$t0);_crypto_sign_ed25519_ref10_fe_mul($out,$t0,$z);STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_fe_sq($h,$f){$h=$h|0;$f=$f|0;var $0=0,$1=0,$10=0,$100=0,$101=0,$102=0,$103=0,$104=0,$105=0,$106=0,$107=0,$108=0,$109=0,$11=0,$110=0,$111=0,$112=0,$113=0,$114=0,$115=0;var $116=0,$117=0,$118=0,$119=0,$12=0,$120=0,$121=0,$122=0,$123=0,$124=0,$125=0,$126=0,$127=0,$128=0,$129=0,$13=0,$130=0,$131=0,$132=0,$133=0;var $134=0,$135=0,$136=0,$137=0,$138=0,$139=0,$14=0,$140=0,$141=0,$142=0,$143=0,$144=0,$145=0,$146=0,$147=0,$148=0,$149=0,$15=0,$150=0,$151=0;var $152=0,$153=0,$154=0,$155=0,$156=0,$157=0,$158=0,$159=0,$16=0,$160=0,$161=0,$162=0,$163=0,$164=0,$165=0,$166=0,$167=0,$168=0,$169=0,$17=0;var $170=0,$171=0,$172=0,$173=0,$174=0,$175=0,$176=0,$177=0,$178=0,$179=0,$18=0,$180=0,$181=0,$182=0,$183=0,$184=0,$185=0,$186=0,$187=0,$188=0;var $189=0,$19=0,$190=0,$191=0,$192=0,$193=0,$194=0,$195=0,$196=0,$197=0,$198=0,$199=0,$2=0,$20=0,$200=0,$201=0,$202=0,$203=0,$204=0,$205=0;var $206=0,$207=0,$208=0,$209=0,$21=0,$210=0,$211=0,$212=0,$213=0,$214=0,$215=0,$216=0,$217=0,$218=0,$219=0,$22=0,$220=0,$221=0,$222=0,$223=0;var $224=0,$225=0,$226=0,$227=0,$228=0,$229=0,$23=0,$230=0,$231=0,$232=0,$233=0,$234=0,$235=0,$236=0,$237=0,$238=0,$239=0,$24=0,$240=0,$241=0;var $242=0,$243=0,$244=0,$245=0,$246=0,$247=0,$248=0,$249=0,$25=0,$250=0,$251=0,$252=0,$253=0,$254=0,$255=0,$256=0,$257=0,$258=0,$259=0,$26=0;var $260=0,$261=0,$262=0,$263=0,$264=0,$265=0,$266=0,$267=0,$268=0,$269=0,$27=0,$270=0,$271=0,$272=0,$273=0,$274=0,$275=0,$276=0,$277=0,$278=0;var $279=0,$28=0,$280=0,$281=0,$282=0,$283=0,$284=0,$285=0,$286=0,$287=0,$288=0,$289=0,$29=0,$290=0,$291=0,$292=0,$293=0,$294=0,$295=0,$296=0;var $297=0,$298=0,$299=0,$3=0,$30=0,$300=0,$301=0,$302=0,$303=0,$304=0,$305=0,$306=0,$307=0,$308=0,$309=0,$31=0,$310=0,$311=0,$312=0,$313=0;var $314=0,$315=0,$316=0,$317=0,$318=0,$319=0,$32=0,$320=0,$321=0,$322=0,$323=0,$324=0,$325=0,$326=0,$327=0,$328=0,$329=0,$33=0,$330=0,$331=0;var $332=0,$333=0,$334=0,$335=0,$336=0,$337=0,$338=0,$339=0,$34=0,$340=0,$341=0,$342=0,$343=0,$344=0,$345=0,$346=0,$347=0,$348=0,$349=0,$35=0;var $350=0,$351=0,$352=0,$353=0,$354=0,$355=0,$356=0,$357=0,$358=0,$359=0,$36=0,$360=0,$361=0,$362=0,$363=0,$364=0,$365=0,$366=0,$367=0,$368=0;var $369=0,$37=0,$370=0,$371=0,$372=0,$373=0,$374=0,$375=0,$376=0,$377=0,$378=0,$379=0,$38=0,$380=0,$381=0,$382=0,$383=0,$384=0,$385=0,$386=0;var $387=0,$388=0,$389=0,$39=0,$390=0,$391=0,$392=0,$393=0,$394=0,$395=0,$396=0,$397=0,$398=0,$399=0,$4=0,$40=0,$400=0,$401=0,$402=0,$403=0;var $404=0,$405=0,$406=0,$407=0,$408=0,$41=0,$42=0,$43=0,$44=0,$45=0,$46=0,$47=0,$48=0,$49=0,$5=0,$50=0,$51=0,$52=0,$53=0,$54=0;var $55=0,$56=0,$57=0,$58=0,$59=0,$6=0,$60=0,$61=0,$62=0,$63=0,$64=0,$65=0,$66=0,$67=0,$68=0,$69=0,$7=0,$70=0,$71=0,$72=0;var $73=0,$74=0,$75=0,$76=0,$77=0,$78=0,$79=0,$8=0,$80=0,$81=0,$82=0,$83=0,$84=0,$85=0,$86=0,$87=0,$88=0,$89=0,$9=0,$90=0;var $91=0,$92=0,$93=0,$94=0,$95=0,$96=0,$97=0,$98=0,$99=0,label=0,sp=0;sp=STACKTOP;$0=HEAP32[$f>>2]|0;$1=$f+4|0;$2=HEAP32[$1>>2]|0;$3=$f+8|0;$4=HEAP32[$3>>2]|0;$5=$f+12|0;$6=HEAP32[$5>>2]|0;$7=$f+16|0;$8=HEAP32[$7>>2]|0;$9=$f+20|0;$10=HEAP32[$9>>2]|0;$11=$f+24|0;$12=HEAP32[$11>>2]|0;$13=$f+28|0;$14=HEAP32[$13>>2]|0;$15=$f+32|0;$16=HEAP32[$15>>2]|0;$17=$f+36|0;$18=HEAP32[$17>>2]|0;$19=$0<<1;$20=$2<<1;$21=$4<<1;$22=$6<<1;$23=$8<<1;$24=$10<<1;$25=$12<<1;$26=$14<<1;$27=$10*38|0;$28=$12*19|0;$29=$14*38|0;$30=$16*19|0;$31=$18*38|0;$32=($0|0)<0;$33=$32<<31>>31;$34=___muldi3($0|0,$33|0,$0|0,$33|0)|0;$35=tempRet0;$36=($19|0)<0;$37=$36<<31>>31;$38=($2|0)<0;$39=$38<<31>>31;$40=___muldi3($19|0,$37|0,$2|0,$39|0)|0;$41=tempRet0;$42=($4|0)<0;$43=$42<<31>>31;$44=___muldi3($4|0,$43|0,$19|0,$37|0)|0;$45=tempRet0;$46=($6|0)<0;$47=$46<<31>>31;$48=___muldi3($6|0,$47|0,$19|0,$37|0)|0;$49=tempRet0;$50=($8|0)<0;$51=$50<<31>>31;$52=___muldi3($8|0,$51|0,$19|0,$37|0)|0;$53=tempRet0;$54=($10|0)<0;$55=$54<<31>>31;$56=___muldi3($10|0,$55|0,$19|0,$37|0)|0;$57=tempRet0;$58=($12|0)<0;$59=$58<<31>>31;$60=___muldi3($12|0,$59|0,$19|0,$37|0)|0;$61=tempRet0;$62=($14|0)<0;$63=$62<<31>>31;$64=___muldi3($14|0,$63|0,$19|0,$37|0)|0;$65=tempRet0;$66=($16|0)<0;$67=$66<<31>>31;$68=___muldi3($16|0,$67|0,$19|0,$37|0)|0;$69=tempRet0;$70=($18|0)<0;$71=$70<<31>>31;$72=___muldi3($18|0,$71|0,$19|0,$37|0)|0;$73=tempRet0;$74=($20|0)<0;$75=$74<<31>>31;$76=___muldi3($20|0,$75|0,$2|0,$39|0)|0;$77=tempRet0;$78=___muldi3($20|0,$75|0,$4|0,$43|0)|0;$79=tempRet0;$80=($22|0)<0;$81=$80<<31>>31;$82=___muldi3($22|0,$81|0,$20|0,$75|0)|0;$83=tempRet0;$84=___muldi3($8|0,$51|0,$20|0,$75|0)|0;$85=tempRet0;$86=($24|0)<0;$87=$86<<31>>31;$88=___muldi3($24|0,$87|0,$20|0,$75|0)|0;$89=tempRet0;$90=___muldi3($12|0,$59|0,$20|0,$75|0)|0;$91=tempRet0;$92=($26|0)<0;$93=$92<<31>>31;$94=___muldi3($26|0,$93|0,$20|0,$75|0)|0;$95=tempRet0;$96=___muldi3($16|0,$67|0,$20|0,$75|0)|0;$97=tempRet0;$98=($31|0)<0;$99=$98<<31>>31;$100=___muldi3($31|0,$99|0,$20|0,$75|0)|0;$101=tempRet0;$102=___muldi3($4|0,$43|0,$4|0,$43|0)|0;$103=tempRet0;$104=($21|0)<0;$105=$104<<31>>31;$106=___muldi3($21|0,$105|0,$6|0,$47|0)|0;$107=tempRet0;$108=___muldi3($8|0,$51|0,$21|0,$105|0)|0;$109=tempRet0;$110=___muldi3($10|0,$55|0,$21|0,$105|0)|0;$111=tempRet0;$112=___muldi3($12|0,$59|0,$21|0,$105|0)|0;$113=tempRet0;$114=___muldi3($14|0,$63|0,$21|0,$105|0)|0;$115=tempRet0;$116=($30|0)<0;$117=$116<<31>>31;$118=___muldi3($30|0,$117|0,$21|0,$105|0)|0;$119=tempRet0;$120=___muldi3($31|0,$99|0,$4|0,$43|0)|0;$121=tempRet0;$122=___muldi3($22|0,$81|0,$6|0,$47|0)|0;$123=tempRet0;$124=___muldi3($22|0,$81|0,$8|0,$51|0)|0;$125=tempRet0;$126=___muldi3($24|0,$87|0,$22|0,$81|0)|0;$127=tempRet0;$128=___muldi3($12|0,$59|0,$22|0,$81|0)|0;$129=tempRet0;$130=($29|0)<0;$131=$130<<31>>31;$132=___muldi3($29|0,$131|0,$22|0,$81|0)|0;$133=tempRet0;$134=___muldi3($30|0,$117|0,$22|0,$81|0)|0;$135=tempRet0;$136=___muldi3($31|0,$99|0,$22|0,$81|0)|0;$137=tempRet0;$138=___muldi3($8|0,$51|0,$8|0,$51|0)|0;$139=tempRet0;$140=($23|0)<0;$141=$140<<31>>31;$142=___muldi3($23|0,$141|0,$10|0,$55|0)|0;$143=tempRet0;$144=($28|0)<0;$145=$144<<31>>31;$146=___muldi3($28|0,$145|0,$23|0,$141|0)|0;$147=tempRet0;$148=___muldi3($29|0,$131|0,$8|0,$51|0)|0;$149=tempRet0;$150=___muldi3($30|0,$117|0,$23|0,$141|0)|0;$151=tempRet0;$152=___muldi3($31|0,$99|0,$8|0,$51|0)|0;$153=tempRet0;$154=($27|0)<0;$155=$154<<31>>31;$156=___muldi3($27|0,$155|0,$10|0,$55|0)|0;$157=tempRet0;$158=___muldi3($28|0,$145|0,$24|0,$87|0)|0;$159=tempRet0;$160=___muldi3($29|0,$131|0,$24|0,$87|0)|0;$161=tempRet0;$162=___muldi3($30|0,$117|0,$24|0,$87|0)|0;$163=tempRet0;$164=___muldi3($31|0,$99|0,$24|0,$87|0)|0;$165=tempRet0;$166=___muldi3($28|0,$145|0,$12|0,$59|0)|0;$167=tempRet0;$168=___muldi3($29|0,$131|0,$12|0,$59|0)|0;$169=tempRet0;$170=($25|0)<0;$171=$170<<31>>31;$172=___muldi3($30|0,$117|0,$25|0,$171|0)|0;$173=tempRet0;$174=___muldi3($31|0,$99|0,$12|0,$59|0)|0;$175=tempRet0;$176=___muldi3($29|0,$131|0,$14|0,$63|0)|0;$177=tempRet0;$178=___muldi3($30|0,$117|0,$26|0,$93|0)|0;$179=tempRet0;$180=___muldi3($31|0,$99|0,$26|0,$93|0)|0;$181=tempRet0;$182=___muldi3($30|0,$117|0,$16|0,$67|0)|0;$183=tempRet0;$184=___muldi3($31|0,$99|0,$16|0,$67|0)|0;$185=tempRet0;$186=___muldi3($31|0,$99|0,$18|0,$71|0)|0;$187=tempRet0;$188=_i64Add($156|0,$157|0,$34|0,$35|0)|0;$189=tempRet0;$190=_i64Add($188|0,$189|0,$146|0,$147|0)|0;$191=tempRet0;$192=_i64Add($190|0,$191|0,$132|0,$133|0)|0;$193=tempRet0;$194=_i64Add($192|0,$193|0,$118|0,$119|0)|0;$195=tempRet0;$196=_i64Add($194|0,$195|0,$100|0,$101|0)|0;$197=tempRet0;$198=_i64Add($44|0,$45|0,$76|0,$77|0)|0;$199=tempRet0;$200=_i64Add($48|0,$49|0,$78|0,$79|0)|0;$201=tempRet0;$202=_i64Add($82|0,$83|0,$102|0,$103|0)|0;$203=tempRet0;$204=_i64Add($202|0,$203|0,$52|0,$53|0)|0;$205=tempRet0;$206=_i64Add($204|0,$205|0,$176|0,$177|0)|0;$207=tempRet0;$208=_i64Add($206|0,$207|0,$172|0,$173|0)|0;$209=tempRet0;$210=_i64Add($208|0,$209|0,$164|0,$165|0)|0;$211=tempRet0;$212=_i64Add($196|0,$197|0,33554432,0)|0;$213=tempRet0;$214=_bitshift64Ashr($212|0,$213|0,26)|0;$215=tempRet0;$216=_i64Add($158|0,$159|0,$40|0,$41|0)|0;$217=tempRet0;$218=_i64Add($216|0,$217|0,$148|0,$149|0)|0;$219=tempRet0;$220=_i64Add($218|0,$219|0,$134|0,$135|0)|0;$221=tempRet0;$222=_i64Add($220|0,$221|0,$120|0,$121|0)|0;$223=tempRet0;$224=_i64Add($222|0,$223|0,$214|0,$215|0)|0;$225=tempRet0;$226=_bitshift64Shl($214|0,$215|0,26)|0;$227=tempRet0;$228=_i64Subtract($196|0,$197|0,$226|0,$227|0)|0;$229=tempRet0;$230=_i64Add($210|0,$211|0,33554432,0)|0;$231=tempRet0;$232=_bitshift64Ashr($230|0,$231|0,26)|0;$233=tempRet0;$234=_i64Add($84|0,$85|0,$106|0,$107|0)|0;$235=tempRet0;$236=_i64Add($234|0,$235|0,$56|0,$57|0)|0;$237=tempRet0;$238=_i64Add($236|0,$237|0,$178|0,$179|0)|0;$239=tempRet0;$240=_i64Add($238|0,$239|0,$174|0,$175|0)|0;$241=tempRet0;$242=_i64Add($240|0,$241|0,$232|0,$233|0)|0;$243=tempRet0;$244=_bitshift64Shl($232|0,$233|0,26)|0;$245=tempRet0;$246=_i64Subtract($210|0,$211|0,$244|0,$245|0)|0;$247=tempRet0;$248=_i64Add($224|0,$225|0,16777216,0)|0;$249=tempRet0;$250=_bitshift64Ashr($248|0,$249|0,25)|0;$251=tempRet0;$252=_i64Add($198|0,$199|0,$166|0,$167|0)|0;$253=tempRet0;$254=_i64Add($252|0,$253|0,$160|0,$161|0)|0;$255=tempRet0;$256=_i64Add($254|0,$255|0,$150|0,$151|0)|0;$257=tempRet0;$258=_i64Add($256|0,$257|0,$136|0,$137|0)|0;$259=tempRet0;$260=_i64Add($258|0,$259|0,$250|0,$251|0)|0;$261=tempRet0;$262=_bitshift64Shl($250|0,$251|0,25)|0;$263=tempRet0;$264=_i64Subtract($224|0,$225|0,$262|0,$263|0)|0;$265=tempRet0;$266=_i64Add($242|0,$243|0,16777216,0)|0;$267=tempRet0;$268=_bitshift64Ashr($266|0,$267|0,25)|0;$269=tempRet0;$270=_i64Add($122|0,$123|0,$108|0,$109|0)|0;$271=tempRet0;$272=_i64Add($270|0,$271|0,$88|0,$89|0)|0;$273=tempRet0;$274=_i64Add($272|0,$273|0,$60|0,$61|0)|0;$275=tempRet0;$276=_i64Add($274|0,$275|0,$182|0,$183|0)|0;$277=tempRet0;$278=_i64Add($276|0,$277|0,$180|0,$181|0)|0;$279=tempRet0;$280=_i64Add($278|0,$279|0,$268|0,$269|0)|0;$281=tempRet0;$282=_bitshift64Shl($268|0,$269|0,25)|0;$283=tempRet0;$284=_i64Subtract($242|0,$243|0,$282|0,$283|0)|0;$285=tempRet0;$286=_i64Add($260|0,$261|0,33554432,0)|0;$287=tempRet0;$288=_bitshift64Ashr($286|0,$287|0,26)|0;$289=tempRet0;$290=_i64Add($200|0,$201|0,$168|0,$169|0)|0;$291=tempRet0;$292=_i64Add($290|0,$291|0,$162|0,$163|0)|0;$293=tempRet0;$294=_i64Add($292|0,$293|0,$152|0,$153|0)|0;$295=tempRet0;$296=_i64Add($294|0,$295|0,$288|0,$289|0)|0;$297=tempRet0;$298=_bitshift64Shl($288|0,$289|0,26)|0;$299=tempRet0;$300=_i64Subtract($260|0,$261|0,$298|0,$299|0)|0;$301=tempRet0;$302=_i64Add($280|0,$281|0,33554432,0)|0;$303=tempRet0;$304=_bitshift64Ashr($302|0,$303|0,26)|0;$305=tempRet0;$306=_i64Add($110|0,$111|0,$124|0,$125|0)|0;$307=tempRet0;$308=_i64Add($306|0,$307|0,$90|0,$91|0)|0;$309=tempRet0;$310=_i64Add($308|0,$309|0,$64|0,$65|0)|0;$311=tempRet0;$312=_i64Add($310|0,$311|0,$184|0,$185|0)|0;$313=tempRet0;$314=_i64Add($312|0,$313|0,$304|0,$305|0)|0;$315=tempRet0;$316=_bitshift64Shl($304|0,$305|0,26)|0;$317=tempRet0;$318=_i64Subtract($280|0,$281|0,$316|0,$317|0)|0;$319=tempRet0;$320=_i64Add($296|0,$297|0,16777216,0)|0;$321=tempRet0;$322=_bitshift64Ashr($320|0,$321|0,25)|0;$323=tempRet0;$324=_i64Add($322|0,$323|0,$246|0,$247|0)|0;$325=tempRet0;$326=_bitshift64Shl($322|0,$323|0,25)|0;$327=tempRet0;$328=_i64Subtract($296|0,$297|0,$326|0,$327|0)|0;$329=tempRet0;$330=_i64Add($314|0,$315|0,16777216,0)|0;$331=tempRet0;$332=_bitshift64Ashr($330|0,$331|0,25)|0;$333=tempRet0;$334=_i64Add($112|0,$113|0,$138|0,$139|0)|0;$335=tempRet0;$336=_i64Add($334|0,$335|0,$126|0,$127|0)|0;$337=tempRet0;$338=_i64Add($336|0,$337|0,$94|0,$95|0)|0;$339=tempRet0;$340=_i64Add($338|0,$339|0,$68|0,$69|0)|0;$341=tempRet0;$342=_i64Add($340|0,$341|0,$186|0,$187|0)|0;$343=tempRet0;$344=_i64Add($342|0,$343|0,$332|0,$333|0)|0;$345=tempRet0;$346=_bitshift64Shl($332|0,$333|0,25)|0;$347=tempRet0;$348=_i64Subtract($314|0,$315|0,$346|0,$347|0)|0;$349=tempRet0;$350=_i64Add($324|0,$325|0,33554432,0)|0;$351=tempRet0;$352=_bitshift64Ashr($350|0,$351|0,26)|0;$353=tempRet0;$354=_i64Add($284|0,$285|0,$352|0,$353|0)|0;$355=tempRet0;$356=_bitshift64Shl($352|0,$353|0,26)|0;$357=tempRet0;$358=_i64Subtract($324|0,$325|0,$356|0,$357|0)|0;$359=tempRet0;$360=_i64Add($344|0,$345|0,33554432,0)|0;$361=tempRet0;$362=_bitshift64Ashr($360|0,$361|0,26)|0;$363=tempRet0;$364=_i64Add($128|0,$129|0,$142|0,$143|0)|0;$365=tempRet0;$366=_i64Add($364|0,$365|0,$114|0,$115|0)|0;$367=tempRet0;$368=_i64Add($366|0,$367|0,$96|0,$97|0)|0;$369=tempRet0;$370=_i64Add($368|0,$369|0,$72|0,$73|0)|0;$371=tempRet0;$372=_i64Add($370|0,$371|0,$362|0,$363|0)|0;$373=tempRet0;$374=_bitshift64Shl($362|0,$363|0,26)|0;$375=tempRet0;$376=_i64Subtract($344|0,$345|0,$374|0,$375|0)|0;$377=tempRet0;$378=_i64Add($372|0,$373|0,16777216,0)|0;$379=tempRet0;$380=_bitshift64Ashr($378|0,$379|0,25)|0;$381=tempRet0;$382=___muldi3($380|0,$381|0,19,0)|0;$383=tempRet0;$384=_i64Add($382|0,$383|0,$228|0,$229|0)|0;$385=tempRet0;$386=_bitshift64Shl($380|0,$381|0,25)|0;$387=tempRet0;$388=_i64Subtract($372|0,$373|0,$386|0,$387|0)|0;$389=tempRet0;$390=_i64Add($384|0,$385|0,33554432,0)|0;$391=tempRet0;$392=_bitshift64Ashr($390|0,$391|0,26)|0;$393=tempRet0;$394=_i64Add($264|0,$265|0,$392|0,$393|0)|0;$395=tempRet0;$396=_bitshift64Shl($392|0,$393|0,26)|0;$397=tempRet0;$398=_i64Subtract($384|0,$385|0,$396|0,$397|0)|0;$399=tempRet0;HEAP32[$h>>2]=$398;$400=$h+4|0;HEAP32[$400>>2]=$394;$401=$h+8|0;HEAP32[$401>>2]=$300;$402=$h+12|0;HEAP32[$402>>2]=$328;$403=$h+16|0;HEAP32[$403>>2]=$358;$404=$h+20|0;HEAP32[$404>>2]=$354;$405=$h+24|0;HEAP32[$405>>2]=$318;$406=$h+28|0;HEAP32[$406>>2]=$348;$407=$h+32|0;HEAP32[$407>>2]=$376;$408=$h+36|0;HEAP32[$408>>2]=$388;STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_fe_sq2($h,$f){$h=$h|0;$f=$f|0;var $0=0,$1=0,$10=0,$100=0,$101=0,$102=0,$103=0,$104=0,$105=0,$106=0,$107=0,$108=0,$109=0,$11=0,$110=0,$111=0,$112=0,$113=0,$114=0,$115=0;var $116=0,$117=0,$118=0,$119=0,$12=0,$120=0,$121=0,$122=0,$123=0,$124=0,$125=0,$126=0,$127=0,$128=0,$129=0,$13=0,$130=0,$131=0,$132=0,$133=0;var $134=0,$135=0,$136=0,$137=0,$138=0,$139=0,$14=0,$140=0,$141=0,$142=0,$143=0,$144=0,$145=0,$146=0,$147=0,$148=0,$149=0,$15=0,$150=0,$151=0;var $152=0,$153=0,$154=0,$155=0,$156=0,$157=0,$158=0,$159=0,$16=0,$160=0,$161=0,$162=0,$163=0,$164=0,$165=0,$166=0,$167=0,$168=0,$169=0,$17=0;var $170=0,$171=0,$172=0,$173=0,$174=0,$175=0,$176=0,$177=0,$178=0,$179=0,$18=0,$180=0,$181=0,$182=0,$183=0,$184=0,$185=0,$186=0,$187=0,$188=0;var $189=0,$19=0,$190=0,$191=0,$192=0,$193=0,$194=0,$195=0,$196=0,$197=0,$198=0,$199=0,$2=0,$20=0,$200=0,$201=0,$202=0,$203=0,$204=0,$205=0;var $206=0,$207=0,$208=0,$209=0,$21=0,$210=0,$211=0,$212=0,$213=0,$214=0,$215=0,$216=0,$217=0,$218=0,$219=0,$22=0,$220=0,$221=0,$222=0,$223=0;var $224=0,$225=0,$226=0,$227=0,$228=0,$229=0,$23=0,$230=0,$231=0,$232=0,$233=0,$234=0,$235=0,$236=0,$237=0,$238=0,$239=0,$24=0,$240=0,$241=0;var $242=0,$243=0,$244=0,$245=0,$246=0,$247=0,$248=0,$249=0,$25=0,$250=0,$251=0,$252=0,$253=0,$254=0,$255=0,$256=0,$257=0,$258=0,$259=0,$26=0;var $260=0,$261=0,$262=0,$263=0,$264=0,$265=0,$266=0,$267=0,$268=0,$269=0,$27=0,$270=0,$271=0,$272=0,$273=0,$274=0,$275=0,$276=0,$277=0,$278=0;var $279=0,$28=0,$280=0,$281=0,$282=0,$283=0,$284=0,$285=0,$286=0,$287=0,$288=0,$289=0,$29=0,$290=0,$291=0,$292=0,$293=0,$294=0,$295=0,$296=0;var $297=0,$298=0,$299=0,$3=0,$30=0,$300=0,$301=0,$302=0,$303=0,$304=0,$305=0,$306=0,$307=0,$308=0,$309=0,$31=0,$310=0,$311=0,$312=0,$313=0;var $314=0,$315=0,$316=0,$317=0,$318=0,$319=0,$32=0,$320=0,$321=0,$322=0,$323=0,$324=0,$325=0,$326=0,$327=0,$328=0,$329=0,$33=0,$330=0,$331=0;var $332=0,$333=0,$334=0,$335=0,$336=0,$337=0,$338=0,$339=0,$34=0,$340=0,$341=0,$342=0,$343=0,$344=0,$345=0,$346=0,$347=0,$348=0,$349=0,$35=0;var $350=0,$351=0,$352=0,$353=0,$354=0,$355=0,$356=0,$357=0,$358=0,$359=0,$36=0,$360=0,$361=0,$362=0,$363=0,$364=0,$365=0,$366=0,$367=0,$368=0;var $369=0,$37=0,$370=0,$371=0,$372=0,$373=0,$374=0,$375=0,$376=0,$377=0,$378=0,$379=0,$38=0,$380=0,$381=0,$382=0,$383=0,$384=0,$385=0,$386=0;var $387=0,$388=0,$389=0,$39=0,$390=0,$391=0,$392=0,$393=0,$394=0,$395=0,$396=0,$397=0,$398=0,$399=0,$4=0,$40=0,$400=0,$401=0,$402=0,$403=0;var $404=0,$405=0,$406=0,$407=0,$408=0,$409=0,$41=0,$410=0,$411=0,$412=0,$413=0,$414=0,$415=0,$416=0,$417=0,$418=0,$419=0,$42=0,$420=0,$421=0;var $422=0,$423=0,$424=0,$425=0,$426=0,$427=0,$428=0,$43=0,$44=0,$45=0,$46=0,$47=0,$48=0,$49=0,$5=0,$50=0,$51=0,$52=0,$53=0,$54=0;var $55=0,$56=0,$57=0,$58=0,$59=0,$6=0,$60=0,$61=0,$62=0,$63=0,$64=0,$65=0,$66=0,$67=0,$68=0,$69=0,$7=0,$70=0,$71=0,$72=0;var $73=0,$74=0,$75=0,$76=0,$77=0,$78=0,$79=0,$8=0,$80=0,$81=0,$82=0,$83=0,$84=0,$85=0,$86=0,$87=0,$88=0,$89=0,$9=0,$90=0;var $91=0,$92=0,$93=0,$94=0,$95=0,$96=0,$97=0,$98=0,$99=0,label=0,sp=0;sp=STACKTOP;$0=HEAP32[$f>>2]|0;$1=$f+4|0;$2=HEAP32[$1>>2]|0;$3=$f+8|0;$4=HEAP32[$3>>2]|0;$5=$f+12|0;$6=HEAP32[$5>>2]|0;$7=$f+16|0;$8=HEAP32[$7>>2]|0;$9=$f+20|0;$10=HEAP32[$9>>2]|0;$11=$f+24|0;$12=HEAP32[$11>>2]|0;$13=$f+28|0;$14=HEAP32[$13>>2]|0;$15=$f+32|0;$16=HEAP32[$15>>2]|0;$17=$f+36|0;$18=HEAP32[$17>>2]|0;$19=$0<<1;$20=$2<<1;$21=$4<<1;$22=$6<<1;$23=$8<<1;$24=$10<<1;$25=$12<<1;$26=$14<<1;$27=$10*38|0;$28=$12*19|0;$29=$14*38|0;$30=$16*19|0;$31=$18*38|0;$32=($0|0)<0;$33=$32<<31>>31;$34=___muldi3($0|0,$33|0,$0|0,$33|0)|0;$35=tempRet0;$36=($19|0)<0;$37=$36<<31>>31;$38=($2|0)<0;$39=$38<<31>>31;$40=___muldi3($19|0,$37|0,$2|0,$39|0)|0;$41=tempRet0;$42=($4|0)<0;$43=$42<<31>>31;$44=___muldi3($4|0,$43|0,$19|0,$37|0)|0;$45=tempRet0;$46=($6|0)<0;$47=$46<<31>>31;$48=___muldi3($6|0,$47|0,$19|0,$37|0)|0;$49=tempRet0;$50=($8|0)<0;$51=$50<<31>>31;$52=___muldi3($8|0,$51|0,$19|0,$37|0)|0;$53=tempRet0;$54=($10|0)<0;$55=$54<<31>>31;$56=___muldi3($10|0,$55|0,$19|0,$37|0)|0;$57=tempRet0;$58=($12|0)<0;$59=$58<<31>>31;$60=___muldi3($12|0,$59|0,$19|0,$37|0)|0;$61=tempRet0;$62=($14|0)<0;$63=$62<<31>>31;$64=___muldi3($14|0,$63|0,$19|0,$37|0)|0;$65=tempRet0;$66=($16|0)<0;$67=$66<<31>>31;$68=___muldi3($16|0,$67|0,$19|0,$37|0)|0;$69=tempRet0;$70=($18|0)<0;$71=$70<<31>>31;$72=___muldi3($18|0,$71|0,$19|0,$37|0)|0;$73=tempRet0;$74=($20|0)<0;$75=$74<<31>>31;$76=___muldi3($20|0,$75|0,$2|0,$39|0)|0;$77=tempRet0;$78=___muldi3($20|0,$75|0,$4|0,$43|0)|0;$79=tempRet0;$80=($22|0)<0;$81=$80<<31>>31;$82=___muldi3($22|0,$81|0,$20|0,$75|0)|0;$83=tempRet0;$84=___muldi3($8|0,$51|0,$20|0,$75|0)|0;$85=tempRet0;$86=($24|0)<0;$87=$86<<31>>31;$88=___muldi3($24|0,$87|0,$20|0,$75|0)|0;$89=tempRet0;$90=___muldi3($12|0,$59|0,$20|0,$75|0)|0;$91=tempRet0;$92=($26|0)<0;$93=$92<<31>>31;$94=___muldi3($26|0,$93|0,$20|0,$75|0)|0;$95=tempRet0;$96=___muldi3($16|0,$67|0,$20|0,$75|0)|0;$97=tempRet0;$98=($31|0)<0;$99=$98<<31>>31;$100=___muldi3($31|0,$99|0,$20|0,$75|0)|0;$101=tempRet0;$102=___muldi3($4|0,$43|0,$4|0,$43|0)|0;$103=tempRet0;$104=($21|0)<0;$105=$104<<31>>31;$106=___muldi3($21|0,$105|0,$6|0,$47|0)|0;$107=tempRet0;$108=___muldi3($8|0,$51|0,$21|0,$105|0)|0;$109=tempRet0;$110=___muldi3($10|0,$55|0,$21|0,$105|0)|0;$111=tempRet0;$112=___muldi3($12|0,$59|0,$21|0,$105|0)|0;$113=tempRet0;$114=___muldi3($14|0,$63|0,$21|0,$105|0)|0;$115=tempRet0;$116=($30|0)<0;$117=$116<<31>>31;$118=___muldi3($30|0,$117|0,$21|0,$105|0)|0;$119=tempRet0;$120=___muldi3($31|0,$99|0,$4|0,$43|0)|0;$121=tempRet0;$122=___muldi3($22|0,$81|0,$6|0,$47|0)|0;$123=tempRet0;$124=___muldi3($22|0,$81|0,$8|0,$51|0)|0;$125=tempRet0;$126=___muldi3($24|0,$87|0,$22|0,$81|0)|0;$127=tempRet0;$128=___muldi3($12|0,$59|0,$22|0,$81|0)|0;$129=tempRet0;$130=($29|0)<0;$131=$130<<31>>31;$132=___muldi3($29|0,$131|0,$22|0,$81|0)|0;$133=tempRet0;$134=___muldi3($30|0,$117|0,$22|0,$81|0)|0;$135=tempRet0;$136=___muldi3($31|0,$99|0,$22|0,$81|0)|0;$137=tempRet0;$138=___muldi3($8|0,$51|0,$8|0,$51|0)|0;$139=tempRet0;$140=($23|0)<0;$141=$140<<31>>31;$142=___muldi3($23|0,$141|0,$10|0,$55|0)|0;$143=tempRet0;$144=($28|0)<0;$145=$144<<31>>31;$146=___muldi3($28|0,$145|0,$23|0,$141|0)|0;$147=tempRet0;$148=___muldi3($29|0,$131|0,$8|0,$51|0)|0;$149=tempRet0;$150=___muldi3($30|0,$117|0,$23|0,$141|0)|0;$151=tempRet0;$152=___muldi3($31|0,$99|0,$8|0,$51|0)|0;$153=tempRet0;$154=($27|0)<0;$155=$154<<31>>31;$156=___muldi3($27|0,$155|0,$10|0,$55|0)|0;$157=tempRet0;$158=___muldi3($28|0,$145|0,$24|0,$87|0)|0;$159=tempRet0;$160=___muldi3($29|0,$131|0,$24|0,$87|0)|0;$161=tempRet0;$162=___muldi3($30|0,$117|0,$24|0,$87|0)|0;$163=tempRet0;$164=___muldi3($31|0,$99|0,$24|0,$87|0)|0;$165=tempRet0;$166=___muldi3($28|0,$145|0,$12|0,$59|0)|0;$167=tempRet0;$168=___muldi3($29|0,$131|0,$12|0,$59|0)|0;$169=tempRet0;$170=($25|0)<0;$171=$170<<31>>31;$172=___muldi3($30|0,$117|0,$25|0,$171|0)|0;$173=tempRet0;$174=___muldi3($31|0,$99|0,$12|0,$59|0)|0;$175=tempRet0;$176=___muldi3($29|0,$131|0,$14|0,$63|0)|0;$177=tempRet0;$178=___muldi3($30|0,$117|0,$26|0,$93|0)|0;$179=tempRet0;$180=___muldi3($31|0,$99|0,$26|0,$93|0)|0;$181=tempRet0;$182=___muldi3($30|0,$117|0,$16|0,$67|0)|0;$183=tempRet0;$184=___muldi3($31|0,$99|0,$16|0,$67|0)|0;$185=tempRet0;$186=___muldi3($31|0,$99|0,$18|0,$71|0)|0;$187=tempRet0;$188=_i64Add($156|0,$157|0,$34|0,$35|0)|0;$189=tempRet0;$190=_i64Add($188|0,$189|0,$146|0,$147|0)|0;$191=tempRet0;$192=_i64Add($190|0,$191|0,$132|0,$133|0)|0;$193=tempRet0;$194=_i64Add($192|0,$193|0,$118|0,$119|0)|0;$195=tempRet0;$196=_i64Add($194|0,$195|0,$100|0,$101|0)|0;$197=tempRet0;$198=_i64Add($158|0,$159|0,$40|0,$41|0)|0;$199=tempRet0;$200=_i64Add($198|0,$199|0,$148|0,$149|0)|0;$201=tempRet0;$202=_i64Add($200|0,$201|0,$134|0,$135|0)|0;$203=tempRet0;$204=_i64Add($202|0,$203|0,$120|0,$121|0)|0;$205=tempRet0;$206=_i64Add($44|0,$45|0,$76|0,$77|0)|0;$207=tempRet0;$208=_i64Add($206|0,$207|0,$166|0,$167|0)|0;$209=tempRet0;$210=_i64Add($208|0,$209|0,$160|0,$161|0)|0;$211=tempRet0;$212=_i64Add($210|0,$211|0,$150|0,$151|0)|0;$213=tempRet0;$214=_i64Add($212|0,$213|0,$136|0,$137|0)|0;$215=tempRet0;$216=_i64Add($48|0,$49|0,$78|0,$79|0)|0;$217=tempRet0;$218=_i64Add($216|0,$217|0,$168|0,$169|0)|0;$219=tempRet0;$220=_i64Add($218|0,$219|0,$162|0,$163|0)|0;$221=tempRet0;$222=_i64Add($220|0,$221|0,$152|0,$153|0)|0;$223=tempRet0;$224=_i64Add($82|0,$83|0,$102|0,$103|0)|0;$225=tempRet0;$226=_i64Add($224|0,$225|0,$52|0,$53|0)|0;$227=tempRet0;$228=_i64Add($226|0,$227|0,$176|0,$177|0)|0;$229=tempRet0;$230=_i64Add($228|0,$229|0,$172|0,$173|0)|0;$231=tempRet0;$232=_i64Add($230|0,$231|0,$164|0,$165|0)|0;$233=tempRet0;$234=_i64Add($84|0,$85|0,$106|0,$107|0)|0;$235=tempRet0;$236=_i64Add($234|0,$235|0,$56|0,$57|0)|0;$237=tempRet0;$238=_i64Add($236|0,$237|0,$178|0,$179|0)|0;$239=tempRet0;$240=_i64Add($238|0,$239|0,$174|0,$175|0)|0;$241=tempRet0;$242=_i64Add($122|0,$123|0,$108|0,$109|0)|0;$243=tempRet0;$244=_i64Add($242|0,$243|0,$88|0,$89|0)|0;$245=tempRet0;$246=_i64Add($244|0,$245|0,$60|0,$61|0)|0;$247=tempRet0;$248=_i64Add($246|0,$247|0,$182|0,$183|0)|0;$249=tempRet0;$250=_i64Add($248|0,$249|0,$180|0,$181|0)|0;$251=tempRet0;$252=_i64Add($110|0,$111|0,$124|0,$125|0)|0;$253=tempRet0;$254=_i64Add($252|0,$253|0,$90|0,$91|0)|0;$255=tempRet0;$256=_i64Add($254|0,$255|0,$64|0,$65|0)|0;$257=tempRet0;$258=_i64Add($256|0,$257|0,$184|0,$185|0)|0;$259=tempRet0;$260=_i64Add($112|0,$113|0,$138|0,$139|0)|0;$261=tempRet0;$262=_i64Add($260|0,$261|0,$126|0,$127|0)|0;$263=tempRet0;$264=_i64Add($262|0,$263|0,$94|0,$95|0)|0;$265=tempRet0;$266=_i64Add($264|0,$265|0,$68|0,$69|0)|0;$267=tempRet0;$268=_i64Add($266|0,$267|0,$186|0,$187|0)|0;$269=tempRet0;$270=_i64Add($128|0,$129|0,$142|0,$143|0)|0;$271=tempRet0;$272=_i64Add($270|0,$271|0,$114|0,$115|0)|0;$273=tempRet0;$274=_i64Add($272|0,$273|0,$96|0,$97|0)|0;$275=tempRet0;$276=_i64Add($274|0,$275|0,$72|0,$73|0)|0;$277=tempRet0;$278=_bitshift64Shl($196|0,$197|0,1)|0;$279=tempRet0;$280=_bitshift64Shl($204|0,$205|0,1)|0;$281=tempRet0;$282=_bitshift64Shl($214|0,$215|0,1)|0;$283=tempRet0;$284=_bitshift64Shl($222|0,$223|0,1)|0;$285=tempRet0;$286=_bitshift64Shl($232|0,$233|0,1)|0;$287=tempRet0;$288=_bitshift64Shl($240|0,$241|0,1)|0;$289=tempRet0;$290=_bitshift64Shl($250|0,$251|0,1)|0;$291=tempRet0;$292=_bitshift64Shl($258|0,$259|0,1)|0;$293=tempRet0;$294=_bitshift64Shl($268|0,$269|0,1)|0;$295=tempRet0;$296=_bitshift64Shl($276|0,$277|0,1)|0;$297=tempRet0;$298=_i64Add($278|0,$279|0,33554432,0)|0;$299=tempRet0;$300=_bitshift64Ashr($298|0,$299|0,26)|0;$301=tempRet0;$302=_i64Add($300|0,$301|0,$280|0,$281|0)|0;$303=tempRet0;$304=_bitshift64Shl($300|0,$301|0,26)|0;$305=tempRet0;$306=_i64Subtract($278|0,$279|0,$304|0,$305|0)|0;$307=tempRet0;$308=_i64Add($286|0,$287|0,33554432,0)|0;$309=tempRet0;$310=_bitshift64Ashr($308|0,$309|0,26)|0;$311=tempRet0;$312=_i64Add($310|0,$311|0,$288|0,$289|0)|0;$313=tempRet0;$314=_bitshift64Shl($310|0,$311|0,26)|0;$315=tempRet0;$316=_i64Subtract($286|0,$287|0,$314|0,$315|0)|0;$317=tempRet0;$318=_i64Add($302|0,$303|0,16777216,0)|0;$319=tempRet0;$320=_bitshift64Ashr($318|0,$319|0,25)|0;$321=tempRet0;$322=_i64Add($320|0,$321|0,$282|0,$283|0)|0;$323=tempRet0;$324=_bitshift64Shl($320|0,$321|0,25)|0;$325=tempRet0;$326=_i64Subtract($302|0,$303|0,$324|0,$325|0)|0;$327=tempRet0;$328=_i64Add($312|0,$313|0,16777216,0)|0;$329=tempRet0;$330=_bitshift64Ashr($328|0,$329|0,25)|0;$331=tempRet0;$332=_i64Add($330|0,$331|0,$290|0,$291|0)|0;$333=tempRet0;$334=_bitshift64Shl($330|0,$331|0,25)|0;$335=tempRet0;$336=_i64Subtract($312|0,$313|0,$334|0,$335|0)|0;$337=tempRet0;$338=_i64Add($322|0,$323|0,33554432,0)|0;$339=tempRet0;$340=_bitshift64Ashr($338|0,$339|0,26)|0;$341=tempRet0;$342=_i64Add($340|0,$341|0,$284|0,$285|0)|0;$343=tempRet0;$344=_bitshift64Shl($340|0,$341|0,26)|0;$345=tempRet0;$346=_i64Subtract($322|0,$323|0,$344|0,$345|0)|0;$347=tempRet0;$348=_i64Add($332|0,$333|0,33554432,0)|0;$349=tempRet0;$350=_bitshift64Ashr($348|0,$349|0,26)|0;$351=tempRet0;$352=_i64Add($350|0,$351|0,$292|0,$293|0)|0;$353=tempRet0;$354=_bitshift64Shl($350|0,$351|0,26)|0;$355=tempRet0;$356=_i64Subtract($332|0,$333|0,$354|0,$355|0)|0;$357=tempRet0;$358=_i64Add($342|0,$343|0,16777216,0)|0;$359=tempRet0;$360=_bitshift64Ashr($358|0,$359|0,25)|0;$361=tempRet0;$362=_i64Add($360|0,$361|0,$316|0,$317|0)|0;$363=tempRet0;$364=_bitshift64Shl($360|0,$361|0,25)|0;$365=tempRet0;$366=_i64Subtract($342|0,$343|0,$364|0,$365|0)|0;$367=tempRet0;$368=_i64Add($352|0,$353|0,16777216,0)|0;$369=tempRet0;$370=_bitshift64Ashr($368|0,$369|0,25)|0;$371=tempRet0;$372=_i64Add($370|0,$371|0,$294|0,$295|0)|0;$373=tempRet0;$374=_bitshift64Shl($370|0,$371|0,25)|0;$375=tempRet0;$376=_i64Subtract($352|0,$353|0,$374|0,$375|0)|0;$377=tempRet0;$378=_i64Add($362|0,$363|0,33554432,0)|0;$379=tempRet0;$380=_bitshift64Ashr($378|0,$379|0,26)|0;$381=tempRet0;$382=_i64Add($336|0,$337|0,$380|0,$381|0)|0;$383=tempRet0;$384=_bitshift64Shl($380|0,$381|0,26)|0;$385=tempRet0;$386=_i64Subtract($362|0,$363|0,$384|0,$385|0)|0;$387=tempRet0;$388=_i64Add($372|0,$373|0,33554432,0)|0;$389=tempRet0;$390=_bitshift64Ashr($388|0,$389|0,26)|0;$391=tempRet0;$392=_i64Add($390|0,$391|0,$296|0,$297|0)|0;$393=tempRet0;$394=_bitshift64Shl($390|0,$391|0,26)|0;$395=tempRet0;$396=_i64Subtract($372|0,$373|0,$394|0,$395|0)|0;$397=tempRet0;$398=_i64Add($392|0,$393|0,16777216,0)|0;$399=tempRet0;$400=_bitshift64Ashr($398|0,$399|0,25)|0;$401=tempRet0;$402=___muldi3($400|0,$401|0,19,0)|0;$403=tempRet0;$404=_i64Add($402|0,$403|0,$306|0,$307|0)|0;$405=tempRet0;$406=_bitshift64Shl($400|0,$401|0,25)|0;$407=tempRet0;$408=_i64Subtract($392|0,$393|0,$406|0,$407|0)|0;$409=tempRet0;$410=_i64Add($404|0,$405|0,33554432,0)|0;$411=tempRet0;$412=_bitshift64Ashr($410|0,$411|0,26)|0;$413=tempRet0;$414=_i64Add($326|0,$327|0,$412|0,$413|0)|0;$415=tempRet0;$416=_bitshift64Shl($412|0,$413|0,26)|0;$417=tempRet0;$418=_i64Subtract($404|0,$405|0,$416|0,$417|0)|0;$419=tempRet0;HEAP32[$h>>2]=$418;$420=$h+4|0;HEAP32[$420>>2]=$414;$421=$h+8|0;HEAP32[$421>>2]=$346;$422=$h+12|0;HEAP32[$422>>2]=$366;$423=$h+16|0;HEAP32[$423>>2]=$386;$424=$h+20|0;HEAP32[$424>>2]=$382;$425=$h+24|0;HEAP32[$425>>2]=$356;$426=$h+28|0;HEAP32[$426>>2]=$376;$427=$h+32|0;HEAP32[$427>>2]=$396;$428=$h+36|0;HEAP32[$428>>2]=$408;STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_fe_sub($h,$f,$g){$h=$h|0;$f=$f|0;$g=$g|0;var $0=0,$1=0,$10=0,$11=0,$12=0,$13=0,$14=0,$15=0,$16=0,$17=0,$18=0,$19=0,$2=0,$20=0,$21=0,$22=0,$23=0,$24=0,$25=0,$26=0;var $27=0,$28=0,$29=0,$3=0,$30=0,$31=0,$32=0,$33=0,$34=0,$35=0,$36=0,$37=0,$38=0,$39=0,$4=0,$40=0,$41=0,$42=0,$43=0,$44=0;var $45=0,$46=0,$47=0,$48=0,$49=0,$5=0,$50=0,$51=0,$52=0,$53=0,$54=0,$55=0,$56=0,$6=0,$7=0,$8=0,$9=0,label=0,sp=0;sp=STACKTOP;$0=HEAP32[$f>>2]|0;$1=$f+4|0;$2=HEAP32[$1>>2]|0;$3=$f+8|0;$4=HEAP32[$3>>2]|0;$5=$f+12|0;$6=HEAP32[$5>>2]|0;$7=$f+16|0;$8=HEAP32[$7>>2]|0;$9=$f+20|0;$10=HEAP32[$9>>2]|0;$11=$f+24|0;$12=HEAP32[$11>>2]|0;$13=$f+28|0;$14=HEAP32[$13>>2]|0;$15=$f+32|0;$16=HEAP32[$15>>2]|0;$17=$f+36|0;$18=HEAP32[$17>>2]|0;$19=HEAP32[$g>>2]|0;$20=$g+4|0;$21=HEAP32[$20>>2]|0;$22=$g+8|0;$23=HEAP32[$22>>2]|0;$24=$g+12|0;$25=HEAP32[$24>>2]|0;$26=$g+16|0;$27=HEAP32[$26>>2]|0;$28=$g+20|0;$29=HEAP32[$28>>2]|0;$30=$g+24|0;$31=HEAP32[$30>>2]|0;$32=$g+28|0;$33=HEAP32[$32>>2]|0;$34=$g+32|0;$35=HEAP32[$34>>2]|0;$36=$g+36|0;$37=HEAP32[$36>>2]|0;$38=$0-$19|0;$39=$2-$21|0;$40=$4-$23|0;$41=$6-$25|0;$42=$8-$27|0;$43=$10-$29|0;$44=$12-$31|0;$45=$14-$33|0;$46=$16-$35|0;$47=$18-$37|0;HEAP32[$h>>2]=$38;$48=$h+4|0;HEAP32[$48>>2]=$39;$49=$h+8|0;HEAP32[$49>>2]=$40;$50=$h+12|0;HEAP32[$50>>2]=$41;$51=$h+16|0;HEAP32[$51>>2]=$42;$52=$h+20|0;HEAP32[$52>>2]=$43;$53=$h+24|0;HEAP32[$53>>2]=$44;$54=$h+28|0;HEAP32[$54>>2]=$45;$55=$h+32|0;HEAP32[$55>>2]=$46;$56=$h+36|0;HEAP32[$56>>2]=$47;STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_fe_tobytes($s,$h){$s=$s|0;$h=$h|0;var $0=0,$1=0,$10=0,$100=0,$101=0,$102=0,$103=0,$104=0,$105=0,$106=0,$107=0,$108=0,$109=0,$11=0,$110=0,$111=0,$112=0,$113=0,$114=0,$115=0;var $116=0,$117=0,$118=0,$119=0,$12=0,$120=0,$121=0,$122=0,$123=0,$124=0,$125=0,$126=0,$127=0,$128=0,$129=0,$13=0,$130=0,$131=0,$132=0,$133=0;var $134=0,$135=0,$136=0,$137=0,$138=0,$139=0,$14=0,$140=0,$141=0,$142=0,$143=0,$144=0,$145=0,$146=0,$147=0,$148=0,$149=0,$15=0,$150=0,$151=0;var $152=0,$153=0,$154=0,$155=0,$156=0,$157=0,$158=0,$159=0,$16=0,$160=0,$161=0,$162=0,$163=0,$164=0,$165=0,$166=0,$167=0,$168=0,$169=0,$17=0;var $170=0,$171=0,$172=0,$173=0,$174=0,$175=0,$176=0,$177=0,$178=0,$179=0,$18=0,$180=0,$181=0,$182=0,$183=0,$184=0,$185=0,$186=0,$187=0,$188=0;var $189=0,$19=0,$2=0,$20=0,$21=0,$22=0,$23=0,$24=0,$25=0,$26=0,$27=0,$28=0,$29=0,$3=0,$30=0,$31=0,$32=0,$33=0,$34=0,$35=0;var $36=0,$37=0,$38=0,$39=0,$4=0,$40=0,$41=0,$42=0,$43=0,$44=0,$45=0,$46=0,$47=0,$48=0,$49=0,$5=0,$50=0,$51=0,$52=0,$53=0;var $54=0,$55=0,$56=0,$57=0,$58=0,$59=0,$6=0,$60=0,$61=0,$62=0,$63=0,$64=0,$65=0,$66=0,$67=0,$68=0,$69=0,$7=0,$70=0,$71=0;var $72=0,$73=0,$74=0,$75=0,$76=0,$77=0,$78=0,$79=0,$8=0,$80=0,$81=0,$82=0,$83=0,$84=0,$85=0,$86=0,$87=0,$88=0,$89=0,$9=0;var $90=0,$91=0,$92=0,$93=0,$94=0,$95=0,$96=0,$97=0,$98=0,$99=0,label=0,sp=0;sp=STACKTOP;$0=HEAP32[$h>>2]|0;$1=$h+4|0;$2=HEAP32[$1>>2]|0;$3=$h+8|0;$4=HEAP32[$3>>2]|0;$5=$h+12|0;$6=HEAP32[$5>>2]|0;$7=$h+16|0;$8=HEAP32[$7>>2]|0;$9=$h+20|0;$10=HEAP32[$9>>2]|0;$11=$h+24|0;$12=HEAP32[$11>>2]|0;$13=$h+28|0;$14=HEAP32[$13>>2]|0;$15=$h+32|0;$16=HEAP32[$15>>2]|0;$17=$h+36|0;$18=HEAP32[$17>>2]|0;$19=$18*19|0;$20=$19+16777216|0;$21=$20>>25;$22=$21+$0|0;$23=$22>>26;$24=$23+$2|0;$25=$24>>25;$26=$25+$4|0;$27=$26>>26;$28=$27+$6|0;$29=$28>>25;$30=$29+$8|0;$31=$30>>26;$32=$31+$10|0;$33=$32>>25;$34=$33+$12|0;$35=$34>>26;$36=$35+$14|0;$37=$36>>25;$38=$37+$16|0;$39=$38>>26;$40=$39+$18|0;$41=$40>>25;$42=$41*19|0;$43=$42+$0|0;$44=$43>>26;$45=$44+$2|0;$46=$44<<26;$47=$43-$46|0;$48=$45>>25;$49=$48+$4|0;$50=$48<<25;$51=$45-$50|0;$52=$49>>26;$53=$52+$6|0;$54=$52<<26;$55=$49-$54|0;$56=$53>>25;$57=$56+$8|0;$58=$56<<25;$59=$53-$58|0;$60=$57>>26;$61=$60+$10|0;$62=$60<<26;$63=$57-$62|0;$64=$61>>25;$65=$64+$12|0;$66=$64<<25;$67=$61-$66|0;$68=$65>>26;$69=$68+$14|0;$70=$68<<26;$71=$65-$70|0;$72=$69>>25;$73=$72+$16|0;$74=$72<<25;$75=$69-$74|0;$76=$73>>26;$77=$76+$18|0;$78=$76<<26;$79=$73-$78|0;$80=$77&33554431;$81=$47&255;HEAP8[$s>>0]=$81;$82=$47>>>8;$83=$82&255;$84=$s+1|0;HEAP8[$84>>0]=$83;$85=$47>>>16;$86=$85&255;$87=$s+2|0;HEAP8[$87>>0]=$86;$88=$47>>>24;$89=$51<<2;$90=$89|$88;$91=$90&255;$92=$s+3|0;HEAP8[$92>>0]=$91;$93=$51>>>6;$94=$93&255;$95=$s+4|0;HEAP8[$95>>0]=$94;$96=$51>>>14;$97=$96&255;$98=$s+5|0;HEAP8[$98>>0]=$97;$99=$51>>>22;$100=$55<<3;$101=$100|$99;$102=$101&255;$103=$s+6|0;HEAP8[$103>>0]=$102;$104=$55>>>5;$105=$104&255;$106=$s+7|0;HEAP8[$106>>0]=$105;$107=$55>>>13;$108=$107&255;$109=$s+8|0;HEAP8[$109>>0]=$108;$110=$55>>>21;$111=$59<<5;$112=$111|$110;$113=$112&255;$114=$s+9|0;HEAP8[$114>>0]=$113;$115=$59>>>3;$116=$115&255;$117=$s+10|0;HEAP8[$117>>0]=$116;$118=$59>>>11;$119=$118&255;$120=$s+11|0;HEAP8[$120>>0]=$119;$121=$59>>>19;$122=$63<<6;$123=$122|$121;$124=$123&255;$125=$s+12|0;HEAP8[$125>>0]=$124;$126=$63>>>2;$127=$126&255;$128=$s+13|0;HEAP8[$128>>0]=$127;$129=$63>>>10;$130=$129&255;$131=$s+14|0;HEAP8[$131>>0]=$130;$132=$63>>>18;$133=$132&255;$134=$s+15|0;HEAP8[$134>>0]=$133;$135=$67&255;$136=$s+16|0;HEAP8[$136>>0]=$135;$137=$67>>>8;$138=$137&255;$139=$s+17|0;HEAP8[$139>>0]=$138;$140=$67>>>16;$141=$140&255;$142=$s+18|0;HEAP8[$142>>0]=$141;$143=$67>>>24;$144=$71<<1;$145=$144|$143;$146=$145&255;$147=$s+19|0;HEAP8[$147>>0]=$146;$148=$71>>>7;$149=$148&255;$150=$s+20|0;HEAP8[$150>>0]=$149;$151=$71>>>15;$152=$151&255;$153=$s+21|0;HEAP8[$153>>0]=$152;$154=$71>>>23;$155=$75<<3;$156=$155|$154;$157=$156&255;$158=$s+22|0;HEAP8[$158>>0]=$157;$159=$75>>>5;$160=$159&255;$161=$s+23|0;HEAP8[$161>>0]=$160;$162=$75>>>13;$163=$162&255;$164=$s+24|0;HEAP8[$164>>0]=$163;$165=$75>>>21;$166=$79<<4;$167=$166|$165;$168=$167&255;$169=$s+25|0;HEAP8[$169>>0]=$168;$170=$79>>>4;$171=$170&255;$172=$s+26|0;HEAP8[$172>>0]=$171;$173=$79>>>12;$174=$173&255;$175=$s+27|0;HEAP8[$175>>0]=$174;$176=$79>>>20;$177=$80<<6;$178=$176|$177;$179=$178&255;$180=$s+28|0;HEAP8[$180>>0]=$179;$181=$77>>>2;$182=$181&255;$183=$s+29|0;HEAP8[$183>>0]=$182;$184=$77>>>10;$185=$184&255;$186=$s+30|0;HEAP8[$186>>0]=$185;$187=$80>>>18;$188=$187&255;$189=$s+31|0;HEAP8[$189>>0]=$188;STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_ge_add($r,$p,$q){$r=$r|0;$p=$p|0;$q=$q|0;var $0=0,$1=0,$2=0,$3=0,$4=0,$5=0,$6=0,$7=0,$8=0,$t0=0,label=0,sp=0;sp=STACKTOP;STACKTOP=STACKTOP+48|0;$t0=sp;$0=$p+40|0;_crypto_sign_ed25519_ref10_fe_add($r,$0,$p);$1=$r+40|0;_crypto_sign_ed25519_ref10_fe_sub($1,$0,$p);$2=$r+80|0;_crypto_sign_ed25519_ref10_fe_mul($2,$r,$q);$3=$q+40|0;_crypto_sign_ed25519_ref10_fe_mul($1,$1,$3);$4=$r+120|0;$5=$q+120|0;$6=$p+120|0;_crypto_sign_ed25519_ref10_fe_mul($4,$5,$6);$7=$p+80|0;$8=$q+80|0;_crypto_sign_ed25519_ref10_fe_mul($r,$7,$8);_crypto_sign_ed25519_ref10_fe_add($t0,$r,$r);_crypto_sign_ed25519_ref10_fe_sub($r,$2,$1);_crypto_sign_ed25519_ref10_fe_add($1,$2,$1);_crypto_sign_ed25519_ref10_fe_add($2,$t0,$4);_crypto_sign_ed25519_ref10_fe_sub($4,$t0,$4);STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_ge_double_scalarmult_vartime($r,$a,$A,$b){$r=$r|0;$a=$a|0;$A=$A|0;$b=$b|0;var $0=0,$1=0,$10=0,$11=0,$12=0,$13=0,$14=0,$15=0,$16=0,$17=0,$18=0,$19=0,$2=0,$20=0,$21=0,$22=0,$23=0,$24=0,$25=0,$26=0;var $27=0,$28=0,$29=0,$3=0,$30=0,$31=0,$32=0,$33=0,$34=0,$35=0,$36=0,$37=0,$38=0,$39=0,$4=0,$40=0,$41=0,$5=0,$6=0,$7=0;var $8=0,$9=0,$A2=0,$Ai=0,$aslide=0,$bslide=0,$i$0$lcssa=0,$i$02=0,$i$11=0,$t=0,$u=0,label=0,sp=0;sp=STACKTOP;STACKTOP=STACKTOP+2272|0;$aslide=sp+2016|0;$bslide=sp+1760|0;$Ai=sp+480|0;$t=sp+320|0;$u=sp+160|0;$A2=sp;_slide($aslide,$a);_slide($bslide,$b);_crypto_sign_ed25519_ref10_ge_p3_to_cached($Ai,$A);_crypto_sign_ed25519_ref10_ge_p3_dbl($t,$A);_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($A2,$t);_crypto_sign_ed25519_ref10_ge_add($t,$A2,$Ai);_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($u,$t);$0=$Ai+160|0;_crypto_sign_ed25519_ref10_ge_p3_to_cached($0,$u);_crypto_sign_ed25519_ref10_ge_add($t,$A2,$0);_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($u,$t);$1=$Ai+320|0;_crypto_sign_ed25519_ref10_ge_p3_to_cached($1,$u);_crypto_sign_ed25519_ref10_ge_add($t,$A2,$1);_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($u,$t);$2=$Ai+480|0;_crypto_sign_ed25519_ref10_ge_p3_to_cached($2,$u);_crypto_sign_ed25519_ref10_ge_add($t,$A2,$2);_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($u,$t);$3=$Ai+640|0;_crypto_sign_ed25519_ref10_ge_p3_to_cached($3,$u);_crypto_sign_ed25519_ref10_ge_add($t,$A2,$3);_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($u,$t);$4=$Ai+800|0;_crypto_sign_ed25519_ref10_ge_p3_to_cached($4,$u);_crypto_sign_ed25519_ref10_ge_add($t,$A2,$4);_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($u,$t);$5=$Ai+960|0;_crypto_sign_ed25519_ref10_ge_p3_to_cached($5,$u);_crypto_sign_ed25519_ref10_ge_add($t,$A2,$5);_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($u,$t);$6=$Ai+1120|0;_crypto_sign_ed25519_ref10_ge_p3_to_cached($6,$u);_crypto_sign_ed25519_ref10_ge_p2_0($r);$i$02=255;while(1){$8=$aslide+$i$02|0;$9=HEAP8[$8>>0]|0;$10=$9<<24>>24==0;if(!$10){$i$0$lcssa=$i$02;break}$11=$bslide+$i$02|0;$12=HEAP8[$11>>0]|0;$13=$12<<24>>24==0;$14=$i$02+-1|0;if(!$13){$i$0$lcssa=$i$02;break}$7=($i$02|0)>0;if($7){$i$02=$14}else{$i$0$lcssa=$14;break}}$15=($i$0$lcssa|0)>-1;if($15){$i$11=$i$0$lcssa}else{STACKTOP=sp;return}while(1){_crypto_sign_ed25519_ref10_ge_p2_dbl($t,$r);$16=$aslide+$i$11|0;$17=HEAP8[$16>>0]|0;$18=$17<<24>>24>0;if($18){_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($u,$t);$19=HEAP8[$16>>0]|0;$20=$19<<24>>24;$21=($20|0)/2&-1;$22=$Ai+($21*160|0)|0;_crypto_sign_ed25519_ref10_ge_add($t,$u,$22)}else{$23=$17<<24>>24<0;if($23){_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($u,$t);$24=HEAP8[$16>>0]|0;$25=$24<<24>>24;$26=($25|0)/-2&-1;$27=$Ai+($26*160|0)|0;_crypto_sign_ed25519_ref10_ge_sub($t,$u,$27)}}$28=$bslide+$i$11|0;$29=HEAP8[$28>>0]|0;$30=$29<<24>>24>0;if($30){_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($u,$t);$31=HEAP8[$28>>0]|0;$32=$31<<24>>24;$33=($32|0)/2&-1;$34=40+($33*120|0)|0;_crypto_sign_ed25519_ref10_ge_madd($t,$u,$34)}else{$35=$29<<24>>24<0;if($35){_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($u,$t);$36=HEAP8[$28>>0]|0;$37=$36<<24>>24;$38=($37|0)/-2&-1;$39=40+($38*120|0)|0;_crypto_sign_ed25519_ref10_ge_msub($t,$u,$39)}}_crypto_sign_ed25519_ref10_ge_p1p1_to_p2($r,$t);$40=$i$11+-1|0;$41=($i$11|0)>0;if($41){$i$11=$40}else{break}}STACKTOP=sp;return}function _slide($r,$a){$r=$r|0;$a=$a|0;var $0=0,$1=0,$10=0,$11=0,$12=0,$13=0,$14=0,$15=0,$16=0,$17=0,$18=0,$19=0,$2=0,$20=0,$21=0,$22=0,$23=0,$24=0,$25=0,$26=0;var $27=0,$28=0,$29=0,$3=0,$30=0,$31=0,$32=0,$33=0,$34=0,$35=0,$36=0,$4=0,$5=0,$6=0,$7=0,$8=0,$9=0,$b$03=0,$exitcond=0,$exitcond10=0;var $i$08=0,$i$15=0,$k$01=0,label=0,sp=0;sp=STACKTOP;$i$08=0;while(1){$0=$i$08>>3;$1=$a+$0|0;$2=HEAP8[$1>>0]|0;$3=$2&255;$4=$i$08&7;$5=$3>>>$4;$6=$5&1;$7=$6&255;$8=$r+$i$08|0;HEAP8[$8>>0]=$7;$9=$i$08+1|0;$exitcond10=($9|0)==256;if($exitcond10){$i$15=0;break}else{$i$08=$9}}while(1){$10=$r+$i$15|0;$11=HEAP8[$10>>0]|0;$12=$11<<24>>24==0;L5:do{if(!$12){$b$03=1;while(1){$13=$b$03+$i$15|0;$14=($13|0)<256;if(!$14){break L5}$15=$r+$13|0;$16=HEAP8[$15>>0]|0;$17=$16<<24>>24==0;L9:do{if(!$17){$18=HEAP8[$10>>0]|0;$19=$18<<24>>24;$20=$16<<24>>24;$21=$20<<$b$03;$22=$19+$21|0;$23=($22|0)<16;if($23){$24=$22&255;HEAP8[$10>>0]=$24;HEAP8[$15>>0]=0;break}$25=$19-$21|0;$26=($25|0)>-16;if(!$26){break L5}$27=$25&255;HEAP8[$10>>0]=$27;$28=($13|0)<256;if($28){$k$01=$13;while(1){$29=$r+$k$01|0;$30=HEAP8[$29>>0]|0;$31=$30<<24>>24==0;if($31){break}HEAP8[$29>>0]=0;$32=$k$01+1|0;$33=($32|0)<256;if($33){$k$01=$32}else{break L9}}HEAP8[$29>>0]=1}}}while(0);$34=$b$03+1|0;$35=($34|0)<7;if($35){$b$03=$34}else{break}}}}while(0);$36=$i$15+1|0;$exitcond=($36|0)==256;if($exitcond){break}else{$i$15=$36}}STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_ge_frombytes_negate_vartime($h,$s){$h=$h|0;$s=$s|0;var $$0=0,$0=0,$1=0,$10=0,$11=0,$12=0,$2=0,$3=0,$4=0,$5=0,$6=0,$7=0,$8=0,$9=0,$check=0,$u=0,$v=0,$v3=0,$vxx=0,label=0;var sp=0;sp=STACKTOP;STACKTOP=STACKTOP+208|0;$u=sp+160|0;$v=sp+120|0;$v3=sp+80|0;$vxx=sp+40|0;$check=sp;$0=$h+40|0;_crypto_sign_ed25519_ref10_fe_frombytes($0,$s);$1=$h+80|0;_crypto_sign_ed25519_ref10_fe_1($1);_crypto_sign_ed25519_ref10_fe_sq($u,$0);_crypto_sign_ed25519_ref10_fe_mul($v,$u,1000);_crypto_sign_ed25519_ref10_fe_sub($u,$u,$1);_crypto_sign_ed25519_ref10_fe_add($v,$v,$1);_crypto_sign_ed25519_ref10_fe_sq($v3,$v);_crypto_sign_ed25519_ref10_fe_mul($v3,$v3,$v);_crypto_sign_ed25519_ref10_fe_sq($h,$v3);_crypto_sign_ed25519_ref10_fe_mul($h,$h,$v);_crypto_sign_ed25519_ref10_fe_mul($h,$h,$u);_crypto_sign_ed25519_ref10_fe_pow22523($h,$h);_crypto_sign_ed25519_ref10_fe_mul($h,$h,$v3);_crypto_sign_ed25519_ref10_fe_mul($h,$h,$u);_crypto_sign_ed25519_ref10_fe_sq($vxx,$h);_crypto_sign_ed25519_ref10_fe_mul($vxx,$vxx,$v);_crypto_sign_ed25519_ref10_fe_sub($check,$vxx,$u);$2=_crypto_sign_ed25519_ref10_fe_isnonzero($check)|0;$3=($2|0)==0;do{if(!$3){_crypto_sign_ed25519_ref10_fe_add($check,$vxx,$u);$4=_crypto_sign_ed25519_ref10_fe_isnonzero($check)|0;$5=($4|0)==0;if($5){_crypto_sign_ed25519_ref10_fe_mul($h,$h,1040);break}else{$$0=-1;STACKTOP=sp;return $$0|0}}}while(0);$6=_crypto_sign_ed25519_ref10_fe_isnegative($h)|0;$7=$s+31|0;$8=HEAP8[$7>>0]|0;$9=$8&255;$10=$9>>>7;$11=($6|0)==($10|0);if($11){_crypto_sign_ed25519_ref10_fe_neg($h,$h)}$12=$h+120|0;_crypto_sign_ed25519_ref10_fe_mul($12,$h,$0);$$0=0;STACKTOP=sp;return $$0|0}function _crypto_sign_ed25519_ref10_ge_madd($r,$p,$q){$r=$r|0;$p=$p|0;$q=$q|0;var $0=0,$1=0,$2=0,$3=0,$4=0,$5=0,$6=0,$7=0,$t0=0,label=0,sp=0;sp=STACKTOP;STACKTOP=STACKTOP+48|0;$t0=sp;$0=$p+40|0;_crypto_sign_ed25519_ref10_fe_add($r,$0,$p);$1=$r+40|0;_crypto_sign_ed25519_ref10_fe_sub($1,$0,$p);$2=$r+80|0;_crypto_sign_ed25519_ref10_fe_mul($2,$r,$q);$3=$q+40|0;_crypto_sign_ed25519_ref10_fe_mul($1,$1,$3);$4=$r+120|0;$5=$q+80|0;$6=$p+120|0;_crypto_sign_ed25519_ref10_fe_mul($4,$5,$6);$7=$p+80|0;_crypto_sign_ed25519_ref10_fe_add($t0,$7,$7);_crypto_sign_ed25519_ref10_fe_sub($r,$2,$1);_crypto_sign_ed25519_ref10_fe_add($1,$2,$1);_crypto_sign_ed25519_ref10_fe_add($2,$t0,$4);_crypto_sign_ed25519_ref10_fe_sub($4,$t0,$4);STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_ge_msub($r,$p,$q){$r=$r|0;$p=$p|0;$q=$q|0;var $0=0,$1=0,$2=0,$3=0,$4=0,$5=0,$6=0,$7=0,$t0=0,label=0,sp=0;sp=STACKTOP;STACKTOP=STACKTOP+48|0;$t0=sp;$0=$p+40|0;_crypto_sign_ed25519_ref10_fe_add($r,$0,$p);$1=$r+40|0;_crypto_sign_ed25519_ref10_fe_sub($1,$0,$p);$2=$r+80|0;$3=$q+40|0;_crypto_sign_ed25519_ref10_fe_mul($2,$r,$3);_crypto_sign_ed25519_ref10_fe_mul($1,$1,$q);$4=$r+120|0;$5=$q+80|0;$6=$p+120|0;_crypto_sign_ed25519_ref10_fe_mul($4,$5,$6);$7=$p+80|0;_crypto_sign_ed25519_ref10_fe_add($t0,$7,$7);_crypto_sign_ed25519_ref10_fe_sub($r,$2,$1);_crypto_sign_ed25519_ref10_fe_add($1,$2,$1);_crypto_sign_ed25519_ref10_fe_sub($2,$t0,$4);_crypto_sign_ed25519_ref10_fe_add($4,$t0,$4);STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_ge_p1p1_to_p2($r,$p){$r=$r|0;$p=$p|0;var $0=0,$1=0,$2=0,$3=0,$4=0,label=0,sp=0;sp=STACKTOP;$0=$p+120|0;_crypto_sign_ed25519_ref10_fe_mul($r,$p,$0);$1=$r+40|0;$2=$p+40|0;$3=$p+80|0;_crypto_sign_ed25519_ref10_fe_mul($1,$2,$3);$4=$r+80|0;_crypto_sign_ed25519_ref10_fe_mul($4,$3,$0);STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_ge_p1p1_to_p3($r,$p){$r=$r|0;$p=$p|0;var $0=0,$1=0,$2=0,$3=0,$4=0,$5=0,label=0,sp=0;sp=STACKTOP;$0=$p+120|0;_crypto_sign_ed25519_ref10_fe_mul($r,$p,$0);$1=$r+40|0;$2=$p+40|0;$3=$p+80|0;_crypto_sign_ed25519_ref10_fe_mul($1,$2,$3);$4=$r+80|0;_crypto_sign_ed25519_ref10_fe_mul($4,$3,$0);$5=$r+120|0;_crypto_sign_ed25519_ref10_fe_mul($5,$p,$2);STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_ge_p2_0($h){$h=$h|0;var $0=0,$1=0,label=0,sp=0;sp=STACKTOP;_crypto_sign_ed25519_ref10_fe_0($h);$0=$h+40|0;_crypto_sign_ed25519_ref10_fe_1($0);$1=$h+80|0;_crypto_sign_ed25519_ref10_fe_1($1);STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_ge_p2_dbl($r,$p){$r=$r|0;$p=$p|0;var $0=0,$1=0,$2=0,$3=0,$4=0,$t0=0,label=0,sp=0;sp=STACKTOP;STACKTOP=STACKTOP+48|0;$t0=sp;_crypto_sign_ed25519_ref10_fe_sq($r,$p);$0=$r+80|0;$1=$p+40|0;_crypto_sign_ed25519_ref10_fe_sq($0,$1);$2=$r+120|0;$3=$p+80|0;_crypto_sign_ed25519_ref10_fe_sq2($2,$3);$4=$r+40|0;_crypto_sign_ed25519_ref10_fe_add($4,$p,$1);_crypto_sign_ed25519_ref10_fe_sq($t0,$4);_crypto_sign_ed25519_ref10_fe_add($4,$0,$r);_crypto_sign_ed25519_ref10_fe_sub($0,$0,$r);_crypto_sign_ed25519_ref10_fe_sub($r,$t0,$4);_crypto_sign_ed25519_ref10_fe_sub($2,$2,$0);STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_ge_p3_0($h){$h=$h|0;var $0=0,$1=0,$2=0,label=0,sp=0;sp=STACKTOP;_crypto_sign_ed25519_ref10_fe_0($h);$0=$h+40|0;_crypto_sign_ed25519_ref10_fe_1($0);$1=$h+80|0;_crypto_sign_ed25519_ref10_fe_1($1);$2=$h+120|0;_crypto_sign_ed25519_ref10_fe_0($2);STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_ge_p3_dbl($r,$p){$r=$r|0;$p=$p|0;var $q=0,label=0,sp=0;sp=STACKTOP;STACKTOP=STACKTOP+128|0;$q=sp;_crypto_sign_ed25519_ref10_ge_p3_to_p2($q,$p);_crypto_sign_ed25519_ref10_ge_p2_dbl($r,$q);STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_ge_p3_to_cached($r,$p){$r=$r|0;$p=$p|0;var $0=0,$1=0,$2=0,$3=0,$4=0,$5=0,label=0,sp=0;sp=STACKTOP;$0=$p+40|0;_crypto_sign_ed25519_ref10_fe_add($r,$0,$p);$1=$r+40|0;_crypto_sign_ed25519_ref10_fe_sub($1,$0,$p);$2=$r+80|0;$3=$p+80|0;_crypto_sign_ed25519_ref10_fe_copy($2,$3);$4=$r+120|0;$5=$p+120|0;_crypto_sign_ed25519_ref10_fe_mul($4,$5,1080);STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_ge_p3_to_p2($r,$p){$r=$r|0;$p=$p|0;var $0=0,$1=0,$2=0,$3=0,label=0,sp=0;sp=STACKTOP;_crypto_sign_ed25519_ref10_fe_copy($r,$p);$0=$r+40|0;$1=$p+40|0;_crypto_sign_ed25519_ref10_fe_copy($0,$1);$2=$r+80|0;$3=$p+80|0;_crypto_sign_ed25519_ref10_fe_copy($2,$3);STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_ge_p3_tobytes($s,$h){$s=$s|0;$h=$h|0;var $0=0,$1=0,$2=0,$3=0,$4=0,$5=0,$6=0,$7=0,$8=0,$recip=0,$x=0,$y=0,label=0,sp=0;sp=STACKTOP;STACKTOP=STACKTOP+128|0;$recip=sp+80|0;$x=sp+40|0;$y=sp;$0=$h+80|0;_crypto_sign_ed25519_ref10_fe_invert($recip,$0);_crypto_sign_ed25519_ref10_fe_mul($x,$h,$recip);$1=$h+40|0;_crypto_sign_ed25519_ref10_fe_mul($y,$1,$recip);_crypto_sign_ed25519_ref10_fe_tobytes($s,$y);$2=_crypto_sign_ed25519_ref10_fe_isnegative($x)|0;$3=$2<<7;$4=$s+31|0;$5=HEAP8[$4>>0]|0;$6=$5&255;$7=$6^$3;$8=$7&255;HEAP8[$4>>0]=$8;STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_ge_precomp_0($h){$h=$h|0;var $0=0,$1=0,label=0,sp=0;sp=STACKTOP;_crypto_sign_ed25519_ref10_fe_1($h);$0=$h+40|0;_crypto_sign_ed25519_ref10_fe_1($0);$1=$h+80|0;_crypto_sign_ed25519_ref10_fe_0($1);STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_ge_scalarmult_base($h,$a){$h=$h|0;$a=$a|0;var $0=0,$1=0,$10=0,$11=0,$12=0,$13=0,$14=0,$15=0,$16=0,$17=0,$18=0,$19=0,$2=0,$20=0,$21=0,$22=0,$23=0,$24=0,$25=0,$26=0;var $27=0,$28=0,$29=0,$3=0,$30=0,$31=0,$32=0,$33=0,$34=0,$35=0,$4=0,$5=0,$6=0,$7=0,$8=0,$9=0,$carry$04=0,$e=0,$exitcond=0,$exitcond7=0;var $i$06=0,$i$15=0,$i$23=0,$i$32=0,$r=0,$s=0,$sext=0,$sext1=0,$t=0,label=0,sp=0;sp=STACKTOP;STACKTOP=STACKTOP+464|0;$e=sp+400|0;$r=sp+240|0;$s=sp+120|0;$t=sp;$i$06=0;while(1){$0=$a+$i$06|0;$1=HEAP8[$0>>0]|0;$2=$1&255;$3=$2&15;$4=$3&255;$5=$i$06<<1;$6=$e+$5|0;HEAP8[$6>>0]=$4;$7=HEAP8[$0>>0]|0;$8=($7&255)>>>4;$9=$5|1;$10=$e+$9|0;HEAP8[$10>>0]=$8;$11=$i$06+1|0;$exitcond7=($11|0)==32;if($exitcond7){$carry$04=0;$i$15=0;break}else{$i$06=$11}}while(1){$12=$e+$i$15|0;$13=HEAP8[$12>>0]|0;$14=$13&255;$15=$14+$carry$04|0;$sext=$15<<24;$sext1=$sext+134217728|0;$16=$sext1>>28;$17=$16<<4;$18=$15-$17|0;$19=$18&255;HEAP8[$12>>0]=$19;$20=$i$15+1|0;$exitcond=($20|0)==63;if($exitcond){break}else{$carry$04=$16;$i$15=$20}}$21=$e+63|0;$22=HEAP8[$21>>0]|0;$23=$22&255;$24=$23+$16|0;$25=$24&255;HEAP8[$21>>0]=$25;_crypto_sign_ed25519_ref10_ge_p3_0($h);$i$23=1;while(1){$26=($i$23|0)/2&-1;$27=$e+$i$23|0;$28=HEAP8[$27>>0]|0;_select($t,$26,$28);_crypto_sign_ed25519_ref10_ge_madd($r,$h,$t);_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($h,$r);$29=$i$23+2|0;$30=($29|0)<64;if($30){$i$23=$29}else{break}}_crypto_sign_ed25519_ref10_ge_p3_dbl($r,$h);_crypto_sign_ed25519_ref10_ge_p1p1_to_p2($s,$r);_crypto_sign_ed25519_ref10_ge_p2_dbl($r,$s);_crypto_sign_ed25519_ref10_ge_p1p1_to_p2($s,$r);_crypto_sign_ed25519_ref10_ge_p2_dbl($r,$s);_crypto_sign_ed25519_ref10_ge_p1p1_to_p2($s,$r);_crypto_sign_ed25519_ref10_ge_p2_dbl($r,$s);_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($h,$r);$i$32=0;while(1){$31=($i$32|0)/2&-1;$32=$e+$i$32|0;$33=HEAP8[$32>>0]|0;_select($t,$31,$33);_crypto_sign_ed25519_ref10_ge_madd($r,$h,$t);_crypto_sign_ed25519_ref10_ge_p1p1_to_p3($h,$r);$34=$i$32+2|0;$35=($34|0)<64;if($35){$i$32=$34}else{break}}STACKTOP=sp;return}function _select($t,$pos,$b){$t=$t|0;$pos=$pos|0;$b=$b|0;var $0=0,$1=0,$10=0,$11=0,$12=0,$13=0,$14=0,$15=0,$16=0,$17=0,$18=0,$19=0,$2=0,$20=0,$21=0,$22=0,$23=0,$24=0,$25=0,$26=0;var $27=0,$3=0,$4=0,$5=0,$6=0,$7=0,$8=0,$9=0,$minust=0,label=0,sp=0;sp=STACKTOP;STACKTOP=STACKTOP+128|0;$minust=sp;$0=_negative($b)|0;$1=$b<<24>>24;$2=$0&255;$3=0-$2|0;$4=$1&$3;$5=$4<<1;$6=$1-$5|0;$7=$6&255;_crypto_sign_ed25519_ref10_ge_precomp_0($t);$8=1120+($pos*960|0)|0;$9=_equal($7,1)|0;_cmov($t,$8,$9);$10=(1120+($pos*960|0)|0)+120|0;$11=_equal($7,2)|0;_cmov($t,$10,$11);$12=(1120+($pos*960|0)|0)+240|0;$13=_equal($7,3)|0;_cmov($t,$12,$13);$14=(1120+($pos*960|0)|0)+360|0;$15=_equal($7,4)|0;_cmov($t,$14,$15);$16=(1120+($pos*960|0)|0)+480|0;$17=_equal($7,5)|0;_cmov($t,$16,$17);$18=(1120+($pos*960|0)|0)+600|0;$19=_equal($7,6)|0;_cmov($t,$18,$19);$20=(1120+($pos*960|0)|0)+720|0;$21=_equal($7,7)|0;_cmov($t,$20,$21);$22=(1120+($pos*960|0)|0)+840|0;$23=_equal($7,8)|0;_cmov($t,$22,$23);$24=$t+40|0;_crypto_sign_ed25519_ref10_fe_copy($minust,$24);$25=$minust+40|0;_crypto_sign_ed25519_ref10_fe_copy($25,$t);$26=$minust+80|0;$27=$t+80|0;_crypto_sign_ed25519_ref10_fe_neg($26,$27);_cmov($t,$minust,$0);STACKTOP=sp;return}function _negative($b){$b=$b|0;var $0=0,$1=0,$2=0,$3=0,$4=0,$5=0,label=0,sp=0;sp=STACKTOP;$0=$b<<24>>24;$1=($0|0)<0;$2=$1<<31>>31;$3=_bitshift64Lshr($0|0,$2|0,63)|0;$4=tempRet0;$5=$3&255;STACKTOP=sp;return $5|0}function _equal($b,$c){$b=$b|0;$c=$c|0;var $0=0,$1=0,$2=0,$3=0,$4=0,label=0,sp=0;sp=STACKTOP;$0=$c^$b;$1=$0&255;$2=$1+-1|0;$3=$2>>>31;$4=$3&255;STACKTOP=sp;return $4|0}function _cmov($t,$u,$b){$t=$t|0;$u=$u|0;$b=$b|0;var $0=0,$1=0,$2=0,$3=0,$4=0,label=0,sp=0;sp=STACKTOP;$0=$b&255;_crypto_sign_ed25519_ref10_fe_cmov($t,$u,$0);$1=$t+40|0;$2=$u+40|0;_crypto_sign_ed25519_ref10_fe_cmov($1,$2,$0);$3=$t+80|0;$4=$u+80|0;_crypto_sign_ed25519_ref10_fe_cmov($3,$4,$0);STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_ge_sub($r,$p,$q){$r=$r|0;$p=$p|0;$q=$q|0;var $0=0,$1=0,$2=0,$3=0,$4=0,$5=0,$6=0,$7=0,$8=0,$t0=0,label=0,sp=0;sp=STACKTOP;STACKTOP=STACKTOP+48|0;$t0=sp;$0=$p+40|0;_crypto_sign_ed25519_ref10_fe_add($r,$0,$p);$1=$r+40|0;_crypto_sign_ed25519_ref10_fe_sub($1,$0,$p);$2=$r+80|0;$3=$q+40|0;_crypto_sign_ed25519_ref10_fe_mul($2,$r,$3);_crypto_sign_ed25519_ref10_fe_mul($1,$1,$q);$4=$r+120|0;$5=$q+120|0;$6=$p+120|0;_crypto_sign_ed25519_ref10_fe_mul($4,$5,$6);$7=$p+80|0;$8=$q+80|0;_crypto_sign_ed25519_ref10_fe_mul($r,$7,$8);_crypto_sign_ed25519_ref10_fe_add($t0,$r,$r);_crypto_sign_ed25519_ref10_fe_sub($r,$2,$1);_crypto_sign_ed25519_ref10_fe_add($1,$2,$1);_crypto_sign_ed25519_ref10_fe_sub($2,$t0,$4);_crypto_sign_ed25519_ref10_fe_add($4,$t0,$4);STACKTOP=sp;return}function _crypto_sign_ed25519_ref10_ge_tobytes($s,$h){$s=$s|0;$h=$h|0;var $0=0,$1=0,$2=0,$3=0,$4=0,$5=0,$6=0,$7=0,$8=0,$recip=0,$x=0,$y=0,label=0,sp=0;sp=STACKTOP;STACKTOP=STACKTOP+128|0;$recip=sp+80|0;$x=sp+40|0;$y=sp;$0=$h+80|0;_crypto_sign_ed25519_ref10_fe_invert($recip,$0);_crypto_sign_ed25519_ref10_fe_mul($x,$h,$recip);$1=$h+40|0;_crypto_sign_ed25519_ref10_fe_mul($y,$1,$recip);_crypto_sign_ed25519_ref10_fe_tobytes($s,$y);$2=_crypto_sign_ed25519_ref10_fe_isnegative($x)|0;$3=$2<<7;$4=$s+31|0;$5=HEAP8[$4>>0]|0;$6=$5&255;$7=$6^$3;$8=$7&255;HEAP8[$4>>0]=$8;STACKTOP=sp;return}function _crypto_sign_edwards25519sha512batch_ref10_open($m,$mlen,$sm,$0,$1,$pk){$m=$m|0;$mlen=$mlen|0;$sm=$sm|0;$0=$0|0;$1=$1|0;$pk=$pk|0;var $$0=0,$$sum=0,$10=0,$11=0,$12=0,$13=0,$14=0,$15=0,$16=0,$17=0,$18=0,$19=0,$2=0,$20=0,$21=0,$22=0,$23=0,$24=0,$25=0,$26=0;var $27=0,$3=0,$4=0,$5=0,$6=0,$7=0,$8=0,$9=0,$A=0,$R=0,$h=0,$pkcopy1=0,$rcheck=0,$rcopy=0,$scopy=0,dest=0,label=0,sp=0,src=0,stop=0;sp=STACKTOP;STACKTOP=STACKTOP+480|0;$pkcopy1=sp+440|0;$rcopy=sp+408|0;$scopy=sp+376|0;$h=sp+312|0;$rcheck=sp+280|0;$A=sp+120|0;$R=sp;$2=$1>>>0<0;$3=$0>>>0<64;$4=($1|0)==0;$5=$4&$3;$6=$2|$5;if(!$6){$7=$sm+63|0;$8=HEAP8[$7>>0]|0;$9=($8&255)>31;if(!$9){$10=_crypto_sign_ed25519_ref10_ge_frombytes_negate_vartime($A,$pk)|0;$11=($10|0)==0;if($11){dest=$pkcopy1+0|0;src=$pk+0|0;stop=dest+32|0;do{HEAP8[dest>>0]=HEAP8[src>>0]|0;dest=dest+1|0;src=src+1|0}while((dest|0)<(stop|0));dest=$rcopy+0|0;src=$sm+0|0;stop=dest+32|0;do{HEAP8[dest>>0]=HEAP8[src>>0]|0;dest=dest+1|0;src=src+1|0}while((dest|0)<(stop|0));$12=$sm+32|0;dest=$scopy+0|0;src=$12+0|0;stop=dest+32|0;do{HEAP8[dest>>0]=HEAP8[src>>0]|0;dest=dest+1|0;src=src+1|0}while((dest|0)<(stop|0));_memmove($m|0,$sm|0,$0|0)|0;$13=$m+32|0;dest=$13+0|0;src=$pkcopy1+0|0;stop=dest+32|0;do{HEAP8[dest>>0]=HEAP8[src>>0]|0;dest=dest+1|0;src=src+1|0}while((dest|0)<(stop|0));_crypto_hash_sha512_ref($h,$m,$0,$1)|0;_crypto_sign_ed25519_ref10_sc_reduce($h);_crypto_sign_ed25519_ref10_ge_double_scalarmult_vartime($R,$h,$A,$scopy);_crypto_sign_ed25519_ref10_ge_tobytes($rcheck,$R);$14=_crypto_verify_32_ref($rcheck,$rcopy)|0;$15=($14|0)==0;if($15){$16=$m+64|0;$17=_i64Add($0|0,$1|0,-64,-1)|0;$18=tempRet0;_memmove($m|0,$16|0,$17|0)|0;$$sum=$0+-64|0;$19=$m+$$sum|0;dest=$19+0|0;stop=dest+64|0;do{HEAP8[dest>>0]=0|0;dest=dest+1|0}while((dest|0)<(stop|0));$20=$mlen;$21=$20;HEAP32[$21>>2]=$17;$22=$20+4|0;$23=$22;HEAP32[$23>>2]=$18;$$0=0;STACKTOP=sp;return $$0|0}}}}$24=$mlen;$25=$24;HEAP32[$25>>2]=-1;$26=$24+4|0;$27=$26;HEAP32[$27>>2]=-1;_memset($m|0,0,$0|0)|0;$$0=-1;STACKTOP=sp;return $$0|0}function _crypto_sign_ed25519_ref10_sc_muladd($s,$a,$b,$c){$s=$s|0;$a=$a|0;$b=$b|0;$c=$c|0;var $0=0,$1=0,$10=0,$100=0,$1000=0,$1001=0,$1002=0,$1003=0,$1004=0,$1005=0,$1006=0,$1007=0,$1008=0,$1009=0,$101=0,$1010=0,$1011=0,$1012=0,$1013=0,$1014=0;var $1015=0,$1016=0,$1017=0,$1018=0,$1019=0,$102=0,$1020=0,$1021=0,$1022=0,$1023=0,$1024=0,$1025=0,$1026=0,$1027=0,$1028=0,$1029=0,$103=0,$1030=0,$1031=0,$1032=0;var $1033=0,$1034=0,$1035=0,$1036=0,$1037=0,$1038=0,$1039=0,$104=0,$1040=0,$1041=0,$1042=0,$1043=0,$1044=0,$1045=0,$1046=0,$1047=0,$1048=0,$1049=0,$105=0,$1050=0;var $1051=0,$1052=0,$1053=0,$1054=0,$1055=0,$1056=0,$1057=0,$1058=0,$1059=0,$106=0,$1060=0,$1061=0,$1062=0,$1063=0,$1064=0,$1065=0,$1066=0,$1067=0,$1068=0,$1069=0;var $107=0,$1070=0,$1071=0,$1072=0,$1073=0,$1074=0,$1075=0,$1076=0,$1077=0,$1078=0,$1079=0,$108=0,$1080=0,$1081=0,$1082=0,$1083=0,$1084=0,$1085=0,$1086=0,$1087=0;var $1088=0,$1089=0,$109=0,$1090=0,$1091=0,$1092=0,$1093=0,$1094=0,$1095=0,$1096=0,$1097=0,$1098=0,$1099=0,$11=0,$110=0,$1100=0,$1101=0,$1102=0,$1103=0,$1104=0;var $1105=0,$1106=0,$1107=0,$1108=0,$1109=0,$111=0,$1110=0,$1111=0,$1112=0,$1113=0,$1114=0,$1115=0,$1116=0,$1117=0,$1118=0,$1119=0,$112=0,$1120=0,$1121=0,$1122=0;var $1123=0,$1124=0,$1125=0,$1126=0,$1127=0,$1128=0,$1129=0,$113=0,$1130=0,$1131=0,$1132=0,$1133=0,$1134=0,$1135=0,$1136=0,$1137=0,$1138=0,$1139=0,$114=0,$1140=0;var $1141=0,$1142=0,$1143=0,$1144=0,$1145=0,$1146=0,$1147=0,$1148=0,$1149=0,$115=0,$1150=0,$1151=0,$1152=0,$1153=0,$1154=0,$1155=0,$1156=0,$1157=0,$1158=0,$1159=0;var $116=0,$1160=0,$1161=0,$1162=0,$1163=0,$1164=0,$1165=0,$1166=0,$1167=0,$1168=0,$1169=0,$117=0,$1170=0,$1171=0,$1172=0,$1173=0,$1174=0,$1175=0,$1176=0,$1177=0;var $1178=0,$1179=0,$118=0,$1180=0,$1181=0,$1182=0,$1183=0,$1184=0,$1185=0,$1186=0,$1187=0,$1188=0,$1189=0,$119=0,$1190=0,$1191=0,$1192=0,$1193=0,$1194=0,$1195=0;var $1196=0,$1197=0,$1198=0,$1199=0,$12=0,$120=0,$1200=0,$1201=0,$1202=0,$1203=0,$1204=0,$1205=0,$1206=0,$1207=0,$1208=0,$1209=0,$121=0,$1210=0,$1211=0,$1212=0;var $1213=0,$1214=0,$1215=0,$1216=0,$1217=0,$1218=0,$1219=0,$122=0,$1220=0,$1221=0,$1222=0,$1223=0,$1224=0,$1225=0,$1226=0,$1227=0,$1228=0,$1229=0,$123=0,$1230=0;var $1231=0,$1232=0,$1233=0,$1234=0,$1235=0,$1236=0,$1237=0,$1238=0,$1239=0,$124=0,$1240=0,$1241=0,$1242=0,$1243=0,$1244=0,$1245=0,$1246=0,$1247=0,$1248=0,$1249=0;var $125=0,$1250=0,$1251=0,$1252=0,$1253=0,$1254=0,$1255=0,$1256=0,$1257=0,$1258=0,$1259=0,$126=0,$1260=0,$1261=0,$1262=0,$1263=0,$1264=0,$1265=0,$1266=0,$1267=0;var $1268=0,$1269=0,$127=0,$1270=0,$1271=0,$1272=0,$1273=0,$1274=0,$1275=0,$1276=0,$1277=0,$1278=0,$1279=0,$128=0,$1280=0,$1281=0,$1282=0,$1283=0,$1284=0,$1285=0;var $1286=0,$1287=0,$1288=0,$1289=0,$129=0,$1290=0,$1291=0,$1292=0,$1293=0,$1294=0,$1295=0,$1296=0,$1297=0,$1298=0,$1299=0,$13=0,$130=0,$1300=0,$1301=0,$1302=0;var $1303=0,$1304=0,$1305=0,$1306=0,$1307=0,$1308=0,$1309=0,$131=0,$1310=0,$1311=0,$1312=0,$1313=0,$1314=0,$1315=0,$1316=0,$1317=0,$1318=0,$1319=0,$132=0,$1320=0;var $1321=0,$1322=0,$1323=0,$1324=0,$1325=0,$1326=0,$1327=0,$1328=0,$1329=0,$133=0,$1330=0,$1331=0,$1332=0,$1333=0,$1334=0,$1335=0,$1336=0,$1337=0,$1338=0,$1339=0;var $134=0,$1340=0,$1341=0,$1342=0,$1343=0,$1344=0,$1345=0,$1346=0,$1347=0,$1348=0,$1349=0,$135=0,$1350=0,$1351=0,$1352=0,$1353=0,$1354=0,$1355=0,$1356=0,$1357=0;var $1358=0,$1359=0,$136=0,$1360=0,$1361=0,$1362=0,$1363=0,$1364=0,$1365=0,$1366=0,$1367=0,$1368=0,$1369=0,$137=0,$1370=0,$1371=0,$1372=0,$1373=0,$1374=0,$1375=0;var $1376=0,$1377=0,$1378=0,$1379=0,$138=0,$1380=0,$1381=0,$1382=0,$1383=0,$1384=0,$1385=0,$1386=0,$1387=0,$1388=0,$1389=0,$139=0,$1390=0,$1391=0,$1392=0,$1393=0;var $1394=0,$1395=0,$1396=0,$1397=0,$1398=0,$1399=0,$14=0,$140=0,$1400=0,$1401=0,$1402=0,$1403=0,$1404=0,$1405=0,$1406=0,$1407=0,$1408=0,$1409=0,$141=0,$1410=0;var $1411=0,$1412=0,$1413=0,$1414=0,$1415=0,$1416=0,$1417=0,$1418=0,$1419=0,$142=0,$1420=0,$1421=0,$1422=0,$1423=0,$1424=0,$1425=0,$1426=0,$1427=0,$1428=0,$1429=0;var $143=0,$1430=0,$1431=0,$1432=0,$1433=0,$1434=0,$1435=0,$1436=0,$1437=0,$1438=0,$1439=0,$144=0,$1440=0,$1441=0,$1442=0,$1443=0,$1444=0,$1445=0,$1446=0,$1447=0;var $1448=0,$1449=0,$145=0,$1450=0,$1451=0,$1452=0,$1453=0,$1454=0,$1455=0,$1456=0,$1457=0,$1458=0,$1459=0,$146=0,$1460=0,$1461=0,$1462=0,$1463=0,$1464=0,$1465=0;var $1466=0,$1467=0,$1468=0,$1469=0,$147=0,$1470=0,$1471=0,$1472=0,$1473=0,$1474=0,$1475=0,$1476=0,$1477=0,$1478=0,$1479=0,$148=0,$1480=0,$1481=0,$1482=0,$1483=0;var $1484=0,$1485=0,$1486=0,$1487=0,$1488=0,$1489=0,$149=0,$1490=0,$1491=0,$1492=0,$1493=0,$1494=0,$1495=0,$1496=0,$1497=0,$1498=0,$1499=0,$15=0,$150=0,$1500=0;var $1501=0,$1502=0,$1503=0,$1504=0,$1505=0,$1506=0,$1507=0,$1508=0,$1509=0,$151=0,$1510=0,$1511=0,$1512=0,$1513=0,$1514=0,$1515=0,$1516=0,$1517=0,$1518=0,$1519=0;var $152=0,$1520=0,$1521=0,$1522=0,$1523=0,$1524=0,$1525=0,$1526=0,$1527=0,$1528=0,$1529=0,$153=0,$1530=0,$1531=0,$1532=0,$1533=0,$1534=0,$1535=0,$1536=0,$1537=0;var $1538=0,$1539=0,$154=0,$1540=0,$1541=0,$1542=0,$1543=0,$1544=0,$1545=0,$1546=0,$1547=0,$1548=0,$1549=0,$155=0,$1550=0,$1551=0,$1552=0,$1553=0,$1554=0,$1555=0;var $1556=0,$1557=0,$1558=0,$1559=0,$156=0,$1560=0,$1561=0,$1562=0,$1563=0,$1564=0,$1565=0,$1566=0,$1567=0,$1568=0,$1569=0,$157=0,$1570=0,$1571=0,$1572=0,$1573=0;var $1574=0,$1575=0,$1576=0,$1577=0,$1578=0,$1579=0,$158=0,$1580=0,$1581=0,$1582=0,$1583=0,$1584=0,$1585=0,$1586=0,$1587=0,$1588=0,$1589=0,$159=0,$1590=0,$1591=0;var $1592=0,$1593=0,$1594=0,$1595=0,$1596=0,$1597=0,$1598=0,$1599=0,$16=0,$160=0,$1600=0,$1601=0,$1602=0,$1603=0,$1604=0,$1605=0,$1606=0,$1607=0,$1608=0,$1609=0;var $161=0,$1610=0,$1611=0,$1612=0,$1613=0,$1614=0,$1615=0,$1616=0,$1617=0,$1618=0,$1619=0,$162=0,$1620=0,$1621=0,$1622=0,$1623=0,$1624=0,$1625=0,$1626=0,$1627=0;var $1628=0,$1629=0,$163=0,$1630=0,$1631=0,$1632=0,$1633=0,$1634=0,$1635=0,$1636=0,$1637=0,$1638=0,$1639=0,$164=0,$1640=0,$1641=0,$1642=0,$1643=0,$1644=0,$1645=0;var $1646=0,$1647=0,$1648=0,$1649=0,$165=0,$1650=0,$1651=0,$1652=0,$1653=0,$1654=0,$1655=0,$1656=0,$1657=0,$1658=0,$1659=0,$166=0,$1660=0,$1661=0,$1662=0,$1663=0;var $1664=0,$1665=0,$1666=0,$1667=0,$1668=0,$1669=0,$167=0,$1670=0,$1671=0,$1672=0,$1673=0,$1674=0,$1675=0,$1676=0,$1677=0,$1678=0,$1679=0,$168=0,$1680=0,$1681=0;var $1682=0,$1683=0,$1684=0,$1685=0,$1686=0,$1687=0,$1688=0,$1689=0,$169=0,$1690=0,$1691=0,$1692=0,$1693=0,$1694=0,$1695=0,$1696=0,$1697=0,$1698=0,$1699=0,$17=0;var $170=0,$1700=0,$1701=0,$1702=0,$1703=0,$1704=0,$1705=0,$1706=0,$1707=0,$1708=0,$1709=0,$171=0,$1710=0,$1711=0,$1712=0,$1713=0,$1714=0,$1715=0,$1716=0,$1717=0;var $1718=0,$1719=0,$172=0,$1720=0,$1721=0,$1722=0,$1723=0,$1724=0,$1725=0,$1726=0,$1727=0,$1728=0,$1729=0,$173=0,$1730=0,$1731=0,$1732=0,$1733=0,$1734=0,$1735=0;var $1736=0,$1737=0,$1738=0,$1739=0,$174=0,$1740=0,$1741=0,$1742=0,$1743=0,$1744=0,$1745=0,$1746=0,$1747=0,$1748=0,$1749=0,$175=0,$1750=0,$1751=0,$1752=0,$1753=0;var $1754=0,$1755=0,$1756=0,$1757=0,$1758=0,$1759=0,$176=0,$1760=0,$1761=0,$1762=0,$1763=0,$1764=0,$1765=0,$1766=0,$1767=0,$1768=0,$1769=0,$177=0,$1770=0,$1771=0;var $1772=0,$1773=0,$1774=0,$1775=0,$1776=0,$1777=0,$1778=0,$1779=0,$178=0,$1780=0,$1781=0,$1782=0,$1783=0,$1784=0,$1785=0,$1786=0,$1787=0,$1788=0,$1789=0,$179=0;var $1790=0,$1791=0,$1792=0,$1793=0,$1794=0,$1795=0,$1796=0,$1797=0,$1798=0,$1799=0,$18=0,$180=0,$1800=0,$1801=0,$1802=0,$1803=0,$1804=0,$1805=0,$1806=0,$1807=0;var $1808=0,$1809=0,$181=0,$1810=0,$1811=0,$1812=0,$1813=0,$1814=0,$1815=0,$1816=0,$1817=0,$1818=0,$1819=0,$182=0,$1820=0,$1821=0,$1822=0,$1823=0,$1824=0,$1825=0;var $1826=0,$1827=0,$1828=0,$1829=0,$183=0,$1830=0,$1831=0,$1832=0,$1833=0,$1834=0,$1835=0,$1836=0,$1837=0,$1838=0,$1839=0,$184=0,$1840=0,$1841=0,$1842=0,$1843=0;var $1844=0,$1845=0,$1846=0,$1847=0,$1848=0,$1849=0,$185=0,$1850=0,$1851=0,$1852=0,$1853=0,$1854=0,$1855=0,$1856=0,$1857=0,$1858=0,$1859=0,$186=0,$1860=0,$1861=0;var $1862=0,$1863=0,$1864=0,$1865=0,$1866=0,$1867=0,$1868=0,$1869=0,$187=0,$1870=0,$1871=0,$1872=0,$1873=0,$1874=0,$1875=0,$1876=0,$1877=0,$1878=0,$188=0,$189=0;var $19=0,$190=0,$191=0,$192=0,$193=0,$194=0,$195=0,$196=0,$197=0,$198=0,$199=0,$2=0,$20=0,$200=0,$201=0,$202=0,$203=0,$204=0,$205=0,$206=0;var $207=0,$208=0,$209=0,$21=0,$210=0,$211=0,$212=0,$213=0,$214=0,$215=0,$216=0,$217=0,$218=0,$219=0,$22=0,$220=0,$221=0,$222=0,$223=0,$224=0;var $225=0,$226=0,$227=0,$228=0,$229=0,$23=0,$230=0,$231=0,$232=0,$233=0,$234=0,$235=0,$236=0,$237=0,$238=0,$239=0,$24=0,$240=0,$241=0,$242=0;var $243=0,$244=0,$245=0,$246=0,$247=0,$248=0,$249=0,$25=0,$250=0,$251=0,$252=0,$253=0,$254=0,$255=0,$256=0,$257=0,$258=0,$259=0,$26=0,$260=0;var $261=0,$262=0,$263=0,$264=0,$265=0,$266=0,$267=0,$268=0,$269=0,$27=0,$270=0,$271=0,$272=0,$273=0,$274=0,$275=0,$276=0,$277=0,$278=0,$279=0;var $28=0,$280=0,$281=0,$282=0,$283=0,$284=0,$285=0,$286=0,$287=0,$288=0,$289=0,$29=0,$290=0,$291=0,$292=0,$293=0,$294=0,$295=0,$296=0,$297=0;var $298=0,$299=0,$3=0,$30=0,$300=0,$301=0,$302=0,$303=0,$304=0,$305=0,$306=0,$307=0,$308=0,$309=0,$31=0,$310=0,$311=0,$312=0,$313=0,$314=0;var $315=0,$316=0,$317=0,$318=0,$319=0,$32=0,$320=0,$321=0,$322=0,$323=0,$324=0,$325=0,$326=0,$327=0,$328=0,$329=0,$33=0,$330=0,$331=0,$332=0;var $333=0,$334=0,$335=0,$336=0,$337=0,$338=0,$339=0,$34=0,$340=0,$341=0,$342=0,$343=0,$344=0,$345=0,$346=0,$347=0,$348=0,$349=0,$35=0,$350=0;var $351=0,$352=0,$353=0,$354=0,$355=0,$356=0,$357=0,$358=0,$359=0,$36=0,$360=0,$361=0,$362=0,$363=0,$364=0,$365=0,$366=0,$367=0,$368=0,$369=0;var $37=0,$370=0,$371=0,$372=0,$373=0,$374=0,$375=0,$376=0,$377=0,$378=0,$379=0,$38=0,$380=0,$381=0,$382=0,$383=0,$384=0,$385=0,$386=0,$387=0;var $388=0,$389=0,$39=0,$390=0,$391=0,$392=0,$393=0,$394=0,$395=0,$396=0,$397=0,$398=0,$399=0,$4=0,$40=0,$400=0,$401=0,$402=0,$403=0,$404=0;var $405=0,$406=0,$407=0,$408=0,$409=0,$41=0,$410=0,$411=0,$412=0,$413=0,$414=0,$415=0,$416=0,$417=0,$418=0,$419=0,$42=0,$420=0,$421=0,$422=0;var $423=0,$424=0,$425=0,$426=0,$427=0,$428=0,$429=0,$43=0,$430=0,$431=0,$432=0,$433=0,$434=0,$435=0,$436=0,$437=0,$438=0,$439=0,$44=0,$440=0;var $441=0,$442=0,$443=0,$444=0,$445=0,$446=0,$447=0,$448=0,$449=0,$45=0,$450=0,$451=0,$452=0,$453=0,$454=0,$455=0,$456=0,$457=0,$458=0,$459=0;var $46=0,$460=0,$461=0,$462=0,$463=0,$464=0,$465=0,$466=0,$467=0,$468=0,$469=0,$47=0,$470=0,$471=0,$472=0,$473=0,$474=0,$475=0,$476=0,$477=0;var $478=0,$479=0,$48=0,$480=0,$481=0,$482=0,$483=0,$484=0,$485=0,$486=0,$487=0,$488=0,$489=0,$49=0,$490=0,$491=0,$492=0,$493=0,$494=0,$495=0;var $496=0,$497=0,$498=0,$499=0,$5=0,$50=0,$500=0,$501=0,$502=0,$503=0,$504=0,$505=0,$506=0,$507=0,$508=0,$509=0,$51=0,$510=0,$511=0,$512=0;var $513=0,$514=0,$515=0,$516=0,$517=0,$518=0,$519=0,$52=0,$520=0,$521=0,$522=0,$523=0,$524=0,$525=0,$526=0,$527=0,$528=0,$529=0,$53=0,$530=0;var $531=0,$532=0,$533=0,$534=0,$535=0,$536=0,$537=0,$538=0,$539=0,$54=0,$540=0,$541=0,$542=0,$543=0,$544=0,$545=0,$546=0,$547=0,$548=0,$549=0;var $55=0,$550=0,$551=0,$552=0,$553=0,$554=0,$555=0,$556=0,$557=0,$558=0,$559=0,$56=0,$560=0,$561=0,$562=0,$563=0,$564=0,$565=0,$566=0,$567=0;var $568=0,$569=0,$57=0,$570=0,$571=0,$572=0,$573=0,$574=0,$575=0,$576=0,$577=0,$578=0,$579=0,$58=0,$580=0,$581=0,$582=0,$583=0,$584=0,$585=0;var $586=0,$587=0,$588=0,$589=0,$59=0,$590=0,$591=0,$592=0,$593=0,$594=0,$595=0,$596=0,$597=0,$598=0,$599=0,$6=0,$60=0,$600=0,$601=0,$602=0;var $603=0,$604=0,$605=0,$606=0,$607=0,$608=0,$609=0,$61=0,$610=0,$611=0,$612=0,$613=0,$614=0,$615=0,$616=0,$617=0,$618=0,$619=0,$62=0,$620=0;var $621=0,$622=0,$623=0,$624=0,$625=0,$626=0,$627=0,$628=0,$629=0,$63=0,$630=0,$631=0,$632=0,$633=0,$634=0,$635=0,$636=0,$637=0,$638=0,$639=0;var $64=0,$640=0,$641=0,$642=0,$643=0,$644=0,$645=0,$646=0,$647=0,$648=0,$649=0,$65=0,$650=0,$651=0,$652=0,$653=0,$654=0,$655=0,$656=0,$657=0;var $658=0,$659=0,$66=0,$660=0,$661=0,$662=0,$663=0,$664=0,$665=0,$666=0,$667=0,$668=0,$669=0,$67=0,$670=0,$671=0,$672=0,$673=0,$674=0,$675=0;var $676=0,$677=0,$678=0,$679=0,$68=0,$680=0,$681=0,$682=0,$683=0,$684=0,$685=0,$686=0,$687=0,$688=0,$689=0,$69=0,$690=0,$691=0,$692=0,$693=0;var $694=0,$695=0,$696=0,$697=0,$698=0,$699=0,$7=0,$70=0,$700=0,$701=0,$702=0,$703=0,$704=0,$705=0,$706=0,$707=0,$708=0,$709=0,$71=0,$710=0;var $711=0,$712=0,$713=0,$714=0,$715=0,$716=0,$717=0,$718=0,$719=0,$72=0,$720=0,$721=0,$722=0,$723=0,$724=0,$725=0,$726=0,$727=0,$728=0,$729=0;var $73=0,$730=0,$731=0,$732=0,$733=0,$734=0,$735=0,$736=0,$737=0,$738=0,$739=0,$74=0,$740=0,$741=0,$742=0,$743=0,$744=0,$745=0,$746=0,$747=0;var $748=0,$749=0,$75=0,$750=0,$751=0,$752=0,$753=0,$754=0,$755=0,$756=0,$757=0,$758=0,$759=0,$76=0,$760=0,$761=0,$762=0,$763=0,$764=0,$765=0;var $766=0,$767=0,$768=0,$769=0,$77=0,$770=0,$771=0,$772=0,$773=0,$774=0,$775=0,$776=0,$777=0,$778=0,$779=0,$78=0,$780=0,$781=0,$782=0,$783=0;var $784=0,$785=0,$786=0,$787=0,$788=0,$789=0,$79=0,$790=0,$791=0,$792=0,$793=0,$794=0,$795=0,$796=0,$797=0,$798=0,$799=0,$8=0,$80=0,$800=0;var $801=0,$802=0,$803=0,$804=0,$805=0,$806=0,$807=0,$808=0,$809=0,$81=0,$810=0,$811=0,$812=0,$813=0,$814=0,$815=0,$816=0,$817=0,$818=0,$819=0;var $82=0,$820=0,$821=0,$822=0,$823=0,$824=0,$825=0,$826=0,$827=0,$828=0,$829=0,$83=0,$830=0,$831=0,$832=0,$833=0,$834=0,$835=0,$836=0,$837=0;var $838=0,$839=0,$84=0,$840=0,$841=0,$842=0,$843=0,$844=0,$845=0,$846=0,$847=0,$848=0,$849=0,$85=0,$850=0,$851=0,$852=0,$853=0,$854=0,$855=0;var $856=0,$857=0,$858=0,$859=0,$86=0,$860=0,$861=0,$862=0,$863=0,$864=0,$865=0,$866=0,$867=0,$868=0,$869=0,$87=0,$870=0,$871=0,$872=0,$873=0;var $874=0,$875=0,$876=0,$877=0,$878=0,$879=0,$88=0,$880=0,$881=0,$882=0,$883=0,$884=0,$885=0,$886=0,$887=0,$888=0,$889=0,$89=0,$890=0,$891=0;var $892=0,$893=0,$894=0,$895=0,$896=0,$897=0,$898=0,$899=0,$9=0,$90=0,$900=0,$901=0,$902=0,$903=0,$904=0,$905=0,$906=0,$907=0,$908=0,$909=0;var $91=0,$910=0,$911=0,$912=0,$913=0,$914=0,$915=0,$916=0,$917=0,$918=0,$919=0,$92=0,$920=0,$921=0,$922=0,$923=0,$924=0,$925=0,$926=0,$927=0;var $928=0,$929=0,$93=0,$930=0,$931=0,$932=0,$933=0,$934=0,$935=0,$936=0,$937=0,$938=0,$939=0,$94=0,$940=0,$941=0,$942=0,$943=0,$944=0,$945=0;var $946=0,$947=0,$948=0,$949=0,$95=0,$950=0,$951=0,$952=0,$953=0,$954=0,$955=0,$956=0,$957=0,$958=0,$959=0,$96=0,$960=0,$961=0,$962=0,$963=0;var $964=0,$965=0,$966=0,$967=0,$968=0,$969=0,$97=0,$970=0,$971=0,$972=0,$973=0,$974=0,$975=0,$976=0,$977=0,$978=0,$979=0,$98=0,$980=0,$981=0;var $982=0,$983=0,$984=0,$985=0,$986=0,$987=0,$988=0,$989=0,$99=0,$990=0,$991=0,$992=0,$993=0,$994=0,$995=0,$996=0,$997=0,$998=0,$999=0,label=0;var sp=0;sp=STACKTOP;$0=_load_347($a)|0;$1=tempRet0;$2=$0&2097151;$3=$a+2|0;$4=_load_448($3)|0;$5=tempRet0;$6=_bitshift64Lshr($4|0,$5|0,5)|0;$7=tempRet0;$8=$6&2097151;$9=$a+5|0;$10=_load_347($9)|0;$11=tempRet0;$12=_bitshift64Lshr($10|0,$11|0,2)|0;$13=tempRet0;$14=$12&2097151;$15=$a+7|0;$16=_load_448($15)|0;$17=tempRet0;$18=_bitshift64Lshr($16|0,$17|0,7)|0;$19=tempRet0;$20=$18&2097151;$21=$a+10|0;$22=_load_448($21)|0;$23=tempRet0;$24=_bitshift64Lshr($22|0,$23|0,4)|0;$25=tempRet0;$26=$24&2097151;$27=$a+13|0;$28=_load_347($27)|0;$29=tempRet0;$30=_bitshift64Lshr($28|0,$29|0,1)|0;$31=tempRet0;$32=$30&2097151;$33=$a+15|0;$34=_load_448($33)|0;$35=tempRet0;$36=_bitshift64Lshr($34|0,$35|0,6)|0;$37=tempRet0;$38=$36&2097151;$39=$a+18|0;$40=_load_347($39)|0;$41=tempRet0;$42=_bitshift64Lshr($40|0,$41|0,3)|0;$43=tempRet0;$44=$42&2097151;$45=$a+21|0;$46=_load_347($45)|0;$47=tempRet0;$48=$46&2097151;$49=$a+23|0;$50=_load_448($49)|0;$51=tempRet0;$52=_bitshift64Lshr($50|0,$51|0,5)|0;$53=tempRet0;$54=$52&2097151;$55=$a+26|0;$56=_load_347($55)|0;$57=tempRet0;$58=_bitshift64Lshr($56|0,$57|0,2)|0;$59=tempRet0;$60=$58&2097151;$61=$a+28|0;$62=_load_448($61)|0;$63=tempRet0;$64=_bitshift64Lshr($62|0,$63|0,7)|0;$65=tempRet0;$66=_load_347($b)|0;$67=tempRet0;$68=$66&2097151;$69=$b+2|0;$70=_load_448($69)|0;$71=tempRet0;$72=_bitshift64Lshr($70|0,$71|0,5)|0;$73=tempRet0;$74=$72&2097151;$75=$b+5|0;$76=_load_347($75)|0;$77=tempRet0;$78=_bitshift64Lshr($76|0,$77|0,2)|0;$79=tempRet0;$80=$78&2097151;$81=$b+7|0;$82=_load_448($81)|0;$83=tempRet0;$84=_bitshift64Lshr($82|0,$83|0,7)|0;$85=tempRet0;$86=$84&2097151;$87=$b+10|0;$88=_load_448($87)|0;$89=tempRet0;$90=_bitshift64Lshr($88|0,$89|0,4)|0;$91=tempRet0;$92=$90&2097151;$93=$b+13|0;$94=_load_347($93)|0;$95=tempRet0;$96=_bitshift64Lshr($94|0,$95|0,1)|0;$97=tempRet0;$98=$96&2097151;$99=$b+15|0;$100=_load_448($99)|0;$101=tempRet0;$102=_bitshift64Lshr($100|0,$101|0,6)|0;$103=tempRet0;$104=$102&2097151;$105=$b+18|0;$106=_load_347($105)|0;$107=tempRet0;$108=_bitshift64Lshr($106|0,$107|0,3)|0;$109=tempRet0;$110=$108&2097151;$111=$b+21|0;$112=_load_347($111)|0;$113=tempRet0;$114=$112&2097151;$115=$b+23|0;$116=_load_448($115)|0;$117=tempRet0;$118=_bitshift64Lshr($116|0,$117|0,5)|0;$119=tempRet0;$120=$118&2097151;$121=$b+26|0;$122=_load_347($121)|0;$123=tempRet0;$124=_bitshift64Lshr($122|0,$123|0,2)|0;$125=tempRet0;$126=$124&2097151;$127=$b+28|0;$128=_load_448($127)|0;$129=tempRet0;$130=_bitshift64Lshr($128|0,$129|0,7)|0;$131=tempRet0;$132=_load_347($c)|0;$133=tempRet0;$134=$132&2097151;$135=$c+2|0;$136=_load_448($135)|0;$137=tempRet0;$138=_bitshift64Lshr($136|0,$137|0,5)|0;$139=tempRet0;$140=$138&2097151;$141=$c+5|0;$142=_load_347($141)|0;$143=tempRet0;$144=_bitshift64Lshr($142|0,$143|0,2)|0;$145=tempRet0;$146=$144&2097151;$147=$c+7|0;$148=_load_448($147)|0;$149=tempRet0;$150=_bitshift64Lshr($148|0,$149|0,7)|0;$151=tempRet0;$152=$150&2097151;$153=$c+10|0;$154=_load_448($153)|0;$155=tempRet0;$156=_bitshift64Lshr($154|0,$155|0,4)|0;$157=tempRet0;$158=$156&2097151;$159=$c+13|0;$160=_load_347($159)|0;$161=tempRet0;$162=_bitshift64Lshr($160|0,$161|0,1)|0;$163=tempRet0;$164=$162&2097151;$165=$c+15|0;$166=_load_448($165)|0;$167=tempRet0;$168=_bitshift64Lshr($166|0,$167|0,6)|0;$169=tempRet0;$170=$168&2097151;$171=$c+18|0;$172=_load_347($171)|0;$173=tempRet0;$174=_bitshift64Lshr($172|0,$173|0,3)|0;$175=tempRet0;$176=$174&2097151;$177=$c+21|0;$178=_load_347($177)|0;$179=tempRet0;$180=$178&2097151;$181=$c+23|0;$182=_load_448($181)|0;$183=tempRet0;$184=_bitshift64Lshr($182|0,$183|0,5)|0;$185=tempRet0;$186=$184&2097151;$187=$c+26|0;$188=_load_347($187)|0;$189=tempRet0;$190=_bitshift64Lshr($188|0,$189|0,2)|0;$191=tempRet0;$192=$190&2097151;$193=$c+28|0;$194=_load_448($193)|0;$195=tempRet0;$196=_bitshift64Lshr($194|0,$195|0,7)|0;$197=tempRet0;$198=___muldi3($68|0,0,$2|0,0)|0;$199=tempRet0;$200=_i64Add($134|0,0,$198|0,$199|0)|0;$201=tempRet0;$202=___muldi3($74|0,0,$2|0,0)|0;$203=tempRet0;$204=___muldi3($68|0,0,$8|0,0)|0;$205=tempRet0;$206=___muldi3($80|0,0,$2|0,0)|0;$207=tempRet0;$208=___muldi3($74|0,0,$8|0,0)|0;$209=tempRet0;$210=___muldi3($68|0,0,$14|0,0)|0;$211=tempRet0;$212=_i64Add($208|0,$209|0,$210|0,$211|0)|0;$213=tempRet0;$214=_i64Add($212|0,$213|0,$206|0,$207|0)|0;$215=tempRet0;$216=_i64Add($214|0,$215|0,$146|0,0)|0;$217=tempRet0;$218=___muldi3($86|0,0,$2|0,0)|0;$219=tempRet0;$220=___muldi3($80|0,0,$8|0,0)|0;$221=tempRet0;$222=___muldi3($74|0,0,$14|0,0)|0;$223=tempRet0;$224=___muldi3($68|0,0,$20|0,0)|0;$225=tempRet0;$226=___muldi3($92|0,0,$2|0,0)|0;$227=tempRet0;$228=___muldi3($86|0,0,$8|0,0)|0;$229=tempRet0;$230=___muldi3($80|0,0,$14|0,0)|0;$231=tempRet0;$232=___muldi3($74|0,0,$20|0,0)|0;$233=tempRet0;$234=___muldi3($68|0,0,$26|0,0)|0;$235=tempRet0;$236=_i64Add($232|0,$233|0,$234|0,$235|0)|0;$237=tempRet0;$238=_i64Add($236|0,$237|0,$230|0,$231|0)|0;$239=tempRet0;$240=_i64Add($238|0,$239|0,$228|0,$229|0)|0;$241=tempRet0;$242=_i64Add($240|0,$241|0,$226|0,$227|0)|0;$243=tempRet0;$244=_i64Add($242|0,$243|0,$158|0,0)|0;$245=tempRet0;$246=___muldi3($98|0,0,$2|0,0)|0;$247=tempRet0;$248=___muldi3($92|0,0,$8|0,0)|0;$249=tempRet0;$250=___muldi3($86|0,0,$14|0,0)|0;$251=tempRet0;$252=___muldi3($80|0,0,$20|0,0)|0;$253=tempRet0;$254=___muldi3($74|0,0,$26|0,0)|0;$255=tempRet0;$256=___muldi3($68|0,0,$32|0,0)|0;$257=tempRet0;$258=___muldi3($104|0,0,$2|0,0)|0;$259=tempRet0;$260=___muldi3($98|0,0,$8|0,0)|0;$261=tempRet0;$262=___muldi3($92|0,0,$14|0,0)|0;$263=tempRet0;$264=___muldi3($86|0,0,$20|0,0)|0;$265=tempRet0;$266=___muldi3($80|0,0,$26|0,0)|0;$267=tempRet0;$268=___muldi3($74|0,0,$32|0,0)|0;$269=tempRet0;$270=___muldi3($68|0,0,$38|0,0)|0;$271=tempRet0;$272=_i64Add($268|0,$269|0,$270|0,$271|0)|0;$273=tempRet0;$274=_i64Add($272|0,$273|0,$266|0,$267|0)|0;$275=tempRet0;$276=_i64Add($274|0,$275|0,$264|0,$265|0)|0;$277=tempRet0;$278=_i64Add($276|0,$277|0,$262|0,$263|0)|0;$279=tempRet0;$280=_i64Add($278|0,$279|0,$260|0,$261|0)|0;$281=tempRet0;$282=_i64Add($280|0,$281|0,$258|0,$259|0)|0;$283=tempRet0;$284=_i64Add($282|0,$283|0,$170|0,0)|0;$285=tempRet0;$286=___muldi3($110|0,0,$2|0,0)|0;$287=tempRet0;$288=___muldi3($104|0,0,$8|0,0)|0;$289=tempRet0;$290=___muldi3($98|0,0,$14|0,0)|0;$291=tempRet0;$292=___muldi3($92|0,0,$20|0,0)|0;$293=tempRet0;$294=___muldi3($86|0,0,$26|0,0)|0;$295=tempRet0;$296=___muldi3($80|0,0,$32|0,0)|0;$297=tempRet0;$298=___muldi3($74|0,0,$38|0,0)|0;$299=tempRet0;$300=___muldi3($68|0,0,$44|0,0)|0;$301=tempRet0;$302=___muldi3($114|0,0,$2|0,0)|0;$303=tempRet0;$304=___muldi3($110|0,0,$8|0,0)|0;$305=tempRet0;$306=___muldi3($104|0,0,$14|0,0)|0;$307=tempRet0;$308=___muldi3($98|0,0,$20|0,0)|0;$309=tempRet0;$310=___muldi3($92|0,0,$26|0,0)|0;$311=tempRet0;$312=___muldi3($86|0,0,$32|0,0)|0;$313=tempRet0;$314=___muldi3($80|0,0,$38|0,0)|0;$315=tempRet0;$316=___muldi3($74|0,0,$44|0,0)|0;$317=tempRet0;$318=___muldi3($68|0,0,$48|0,0)|0;$319=tempRet0;$320=_i64Add($316|0,$317|0,$318|0,$319|0)|0;$321=tempRet0;$322=_i64Add($320|0,$321|0,$314|0,$315|0)|0;$323=tempRet0;$324=_i64Add($322|0,$323|0,$312|0,$313|0)|0;$325=tempRet0;$326=_i64Add($324|0,$325|0,$310|0,$311|0)|0;$327=tempRet0;$328=_i64Add($326|0,$327|0,$308|0,$309|0)|0;$329=tempRet0;$330=_i64Add($328|0,$329|0,$306|0,$307|0)|0;$331=tempRet0;$332=_i64Add($330|0,$331|0,$302|0,$303|0)|0;$333=tempRet0;$334=_i64Add($332|0,$333|0,$304|0,$305|0)|0;$335=tempRet0;$336=_i64Add($334|0,$335|0,$180|0,0)|0;$337=tempRet0;$338=___muldi3($120|0,0,$2|0,0)|0;$339=tempRet0;$340=___muldi3($114|0,0,$8|0,0)|0;$341=tempRet0;$342=___muldi3($110|0,0,$14|0,0)|0;$343=tempRet0;$344=___muldi3($104|0,0,$20|0,0)|0;$345=tempRet0;$346=___muldi3($98|0,0,$26|0,0)|0;$347=tempRet0;$348=___muldi3($92|0,0,$32|0,0)|0;$349=tempRet0;$350=___muldi3($86|0,0,$38|0,0)|0;$351=tempRet0;$352=___muldi3($80|0,0,$44|0,0)|0;$353=tempRet0;$354=___muldi3($74|0,0,$48|0,0)|0;$355=tempRet0;$356=___muldi3($68|0,0,$54|0,0)|0;$357=tempRet0;$358=___muldi3($126|0,0,$2|0,0)|0;$359=tempRet0;$360=___muldi3($120|0,0,$8|0,0)|0;$361=tempRet0;$362=___muldi3($114|0,0,$14|0,0)|0;$363=tempRet0;$364=___muldi3($110|0,0,$20|0,0)|0;$365=tempRet0;$366=___muldi3($104|0,0,$26|0,0)|0;$367=tempRet0;$368=___muldi3($98|0,0,$32|0,0)|0;$369=tempRet0;$370=___muldi3($92|0,0,$38|0,0)|0;$371=tempRet0;$372=___muldi3($86|0,0,$44|0,0)|0;$373=tempRet0;$374=___muldi3($80|0,0,$48|0,0)|0;$375=tempRet0;$376=___muldi3($74|0,0,$54|0,0)|0;$377=tempRet0;$378=___muldi3($68|0,0,$60|0,0)|0;$379=tempRet0;$380=_i64Add($376|0,$377|0,$378|0,$379|0)|0;$381=tempRet0;$382=_i64Add($380|0,$381|0,$374|0,$375|0)|0;$383=tempRet0;$384=_i64Add($382|0,$383|0,$372|0,$373|0)|0;$385=tempRet0;$386=_i64Add($384|0,$385|0,$370|0,$371|0)|0;$387=tempRet0;$388=_i64Add($386|0,$387|0,$368|0,$369|0)|0;$389=tempRet0;$390=_i64Add($388|0,$389|0,$366|0,$367|0)|0;$391=tempRet0;$392=_i64Add($390|0,$391|0,$362|0,$363|0)|0;$393=tempRet0;$394=_i64Add($392|0,$393|0,$364|0,$365|0)|0;$395=tempRet0;$396=_i64Add($394|0,$395|0,$360|0,$361|0)|0;$397=tempRet0;$398=_i64Add($396|0,$397|0,$358|0,$359|0)|0;$399=tempRet0;$400=_i64Add($398|0,$399|0,$192|0,0)|0;$401=tempRet0;$402=___muldi3($130|0,$131|0,$2|0,0)|0;$403=tempRet0;$404=___muldi3($126|0,0,$8|0,0)|0;$405=tempRet0;$406=___muldi3($120|0,0,$14|0,0)|0;$407=tempRet0;$408=___muldi3($114|0,0,$20|0,0)|0;$409=tempRet0;$410=___muldi3($110|0,0,$26|0,0)|0;$411=tempRet0;$412=___muldi3($104|0,0,$32|0,0)|0;$413=tempRet0;$414=___muldi3($98|0,0,$38|0,0)|0;$415=tempRet0;$416=___muldi3($92|0,0,$44|0,0)|0;$417=tempRet0;$418=___muldi3($86|0,0,$48|0,0)|0;$419=tempRet0;$420=___muldi3($80|0,0,$54|0,0)|0;$421=tempRet0;$422=___muldi3($74|0,0,$60|0,0)|0;$423=tempRet0;$424=___muldi3($68|0,0,$64|0,$65|0)|0;$425=tempRet0;$426=___muldi3($130|0,$131|0,$8|0,0)|0;$427=tempRet0;$428=___muldi3($126|0,0,$14|0,0)|0;$429=tempRet0;$430=___muldi3($120|0,0,$20|0,0)|0;$431=tempRet0;$432=___muldi3($114|0,0,$26|0,0)|0;$433=tempRet0;$434=___muldi3($110|0,0,$32|0,0)|0;$435=tempRet0;$436=___muldi3($104|0,0,$38|0,0)|0;$437=tempRet0;$438=___muldi3($98|0,0,$44|0,0)|0;$439=tempRet0;$440=___muldi3($92|0,0,$48|0,0)|0;$441=tempRet0;$442=___muldi3($86|0,0,$54|0,0)|0;$443=tempRet0;$444=___muldi3($80|0,0,$60|0,0)|0;$445=tempRet0;$446=___muldi3($74|0,0,$64|0,$65|0)|0;$447=tempRet0;$448=_i64Add($444|0,$445|0,$446|0,$447|0)|0;$449=tempRet0;$450=_i64Add($448|0,$449|0,$442|0,$443|0)|0;$451=tempRet0;$452=_i64Add($450|0,$451|0,$440|0,$441|0)|0;$453=tempRet0;$454=_i64Add($452|0,$453|0,$438|0,$439|0)|0;$455=tempRet0;$456=_i64Add($454|0,$455|0,$436|0,$437|0)|0;$457=tempRet0;$458=_i64Add($456|0,$457|0,$432|0,$433|0)|0;$459=tempRet0;$460=_i64Add($458|0,$459|0,$434|0,$435|0)|0;$461=tempRet0;$462=_i64Add($460|0,$461|0,$430|0,$431|0)|0;$463=tempRet0;$464=_i64Add($462|0,$463|0,$428|0,$429|0)|0;$465=tempRet0;$466=_i64Add($464|0,$465|0,$426|0,$427|0)|0;$467=tempRet0;$468=___muldi3($130|0,$131|0,$14|0,0)|0;$469=tempRet0;$470=___muldi3($126|0,0,$20|0,0)|0;$471=tempRet0;$472=___muldi3($120|0,0,$26|0,0)|0;$473=tempRet0;$474=___muldi3($114|0,0,$32|0,0)|0;$475=tempRet0;$476=___muldi3($110|0,0,$38|0,0)|0;$477=tempRet0;$478=___muldi3($104|0,0,$44|0,0)|0;$479=tempRet0;$480=___muldi3($98|0,0,$48|0,0)|0;$481=tempRet0;$482=___muldi3($92|0,0,$54|0,0)|0;$483=tempRet0;$484=___muldi3($86|0,0,$60|0,0)|0;$485=tempRet0;$486=___muldi3($80|0,0,$64|0,$65|0)|0;$487=tempRet0;$488=___muldi3($130|0,$131|0,$20|0,0)|0;$489=tempRet0;$490=___muldi3($126|0,0,$26|0,0)|0;$491=tempRet0;$492=___muldi3($120|0,0,$32|0,0)|0;$493=tempRet0;$494=___muldi3($114|0,0,$38|0,0)|0;$495=tempRet0;$496=___muldi3($110|0,0,$44|0,0)|0;$497=tempRet0;$498=___muldi3($104|0,0,$48|0,0)|0;$499=tempRet0;$500=___muldi3($98|0,0,$54|0,0)|0;$501=tempRet0;$502=___muldi3($92|0,0,$60|0,0)|0;$503=tempRet0;$504=___muldi3($86|0,0,$64|0,$65|0)|0;$505=tempRet0;$506=_i64Add($502|0,$503|0,$504|0,$505|0)|0;$507=tempRet0;$508=_i64Add($506|0,$507|0,$500|0,$501|0)|0;$509=tempRet0;$510=_i64Add($508|0,$509|0,$498|0,$499|0)|0;$511=tempRet0;$512=_i64Add($510|0,$511|0,$494|0,$495|0)|0;$513=tempRet0;$514=_i64Add($512|0,$513|0,$496|0,$497|0)|0;$515=tempRet0;$516=_i64Add($514|0,$515|0,$492|0,$493|0)|0;$517=tempRet0;$518=_i64Add($516|0,$517|0,$490|0,$491|0)|0;$519=tempRet0;$520=_i64Add($518|0,$519|0,$488|0,$489|0)|0;$521=tempRet0;$522=___muldi3($130|0,$131|0,$26|0,0)|0;$523=tempRet0;$524=___muldi3($126|0,0,$32|0,0)|0;$525=tempRet0;$526=___muldi3($120|0,0,$38|0,0)|0;$527=tempRet0;$528=___muldi3($114|0,0,$44|0,0)|0;$529=tempRet0;$530=___muldi3($110|0,0,$48|0,0)|0;$531=tempRet0;$532=___muldi3($104|0,0,$54|0,0)|0;$533=tempRet0;$534=___muldi3($98|0,0,$60|0,0)|0;$535=tempRet0;$536=___muldi3($92|0,0,$64|0,$65|0)|0;$537=tempRet0;$538=___muldi3($130|0,$131|0,$32|0,0)|0;$539=tempRet0;$540=___muldi3($126|0,0,$38|0,0)|0;$541=tempRet0;$542=___muldi3($120|0,0,$44|0,0)|0;$543=tempRet0;$544=___muldi3($114|0,0,$48|0,0)|0;$545=tempRet0;$546=___muldi3($110|0,0,$54|0,0)|0;$547=tempRet0;$548=___muldi3($104|0,0,$60|0,0)|0;$549=tempRet0;$550=___muldi3($98|0,0,$64|0,$65|0)|0;$551=tempRet0;$552=_i64Add($548|0,$549|0,$550|0,$551|0)|0;$553=tempRet0;$554=_i64Add($552|0,$553|0,$544|0,$545|0)|0;$555=tempRet0;$556=_i64Add($554|0,$555|0,$546|0,$547|0)|0;$557=tempRet0;$558=_i64Add($556|0,$557|0,$542|0,$543|0)|0;$559=tempRet0;$560=_i64Add($558|0,$559|0,$540|0,$541|0)|0;$561=tempRet0;$562=_i64Add($560|0,$561|0,$538|0,$539|0)|0;$563=tempRet0;$564=___muldi3($130|0,$131|0,$38|0,0)|0;$565=tempRet0;$566=___muldi3($126|0,0,$44|0,0)|0;$567=tempRet0;$568=___muldi3($120|0,0,$48|0,0)|0;$569=tempRet0;$570=___muldi3($114|0,0,$54|0,0)|0;$571=tempRet0;$572=___muldi3($110|0,0,$60|0,0)|0;$573=tempRet0;$574=___muldi3($104|0,0,$64|0,$65|0)|0;$575=tempRet0;$576=___muldi3($130|0,$131|0,$44|0,0)|0;$577=tempRet0;$578=___muldi3($126|0,0,$48|0,0)|0;$579=tempRet0;$580=___muldi3($120|0,0,$54|0,0)|0;$581=tempRet0;$582=___muldi3($114|0,0,$60|0,0)|0;$583=tempRet0;$584=___muldi3($110|0,0,$64|0,$65|0)|0;$585=tempRet0;$586=_i64Add($584|0,$585|0,$582|0,$583|0)|0;$587=tempRet0;$588=_i64Add($586|0,$587|0,$580|0,$581|0)|0;$589=tempRet0;$590=_i64Add($588|0,$589|0,$578|0,$579|0)|0;$591=tempRet0;$592=_i64Add($590|0,$591|0,$576|0,$577|0)|0;$593=tempRet0;$594=___muldi3($130|0,$131|0,$48|0,0)|0;$595=tempRet0;$596=___muldi3($126|0,0,$54|0,0)|0;$597=tempRet0;$598=___muldi3($120|0,0,$60|0,0)|0;$599=tempRet0;$600=___muldi3($114|0,0,$64|0,$65|0)|0;$601=tempRet0;$602=___muldi3($130|0,$131|0,$54|0,0)|0;$603=tempRet0;$604=___muldi3($126|0,0,$60|0,0)|0;$605=tempRet0;$606=___muldi3($120|0,0,$64|0,$65|0)|0;$607=tempRet0;$608=_i64Add($604|0,$605|0,$606|0,$607|0)|0;$609=tempRet0;$610=_i64Add($608|0,$609|0,$602|0,$603|0)|0;$611=tempRet0;$612=___muldi3($130|0,$131|0,$60|0,0)|0;$613=tempRet0;$614=___muldi3($126|0,0,$64|0,$65|0)|0;$615=tempRet0;$616=_i64Add($612|0,$613|0,$614|0,$615|0)|0;$617=tempRet0;$618=___muldi3($130|0,$131|0,$64|0,$65|0)|0;$619=tempRet0;$620=_i64Add($200|0,$201|0,1048576,0)|0;$621=tempRet0;$622=_bitshift64Lshr($620|0,$621|0,21)|0;$623=tempRet0;$624=_i64Add($202|0,$203|0,$204|0,$205|0)|0;$625=tempRet0;$626=_i64Add($624|0,$625|0,$140|0,0)|0;$627=tempRet0;$628=_i64Add($626|0,$627|0,$622|0,$623|0)|0;$629=tempRet0;$630=_bitshift64Shl($622|0,$623|0,21)|0;$631=tempRet0;$632=_i64Subtract($200|0,$201|0,$630|0,$631|0)|0;$633=tempRet0;$634=_i64Add($216|0,$217|0,1048576,0)|0;$635=tempRet0;$636=_bitshift64Lshr($634|0,$635|0,21)|0;$637=tempRet0;$638=_i64Add($222|0,$223|0,$224|0,$225|0)|0;$639=tempRet0;$640=_i64Add($638|0,$639|0,$220|0,$221|0)|0;$641=tempRet0;$642=_i64Add($640|0,$641|0,$218|0,$219|0)|0;$643=tempRet0;$644=_i64Add($642|0,$643|0,$152|0,0)|0;$645=tempRet0;$646=_i64Add($644|0,$645|0,$636|0,$637|0)|0;$647=tempRet0;$648=_bitshift64Shl($636|0,$637|0,21)|0;$649=tempRet0;$650=_i64Add($244|0,$245|0,1048576,0)|0;$651=tempRet0;$652=_bitshift64Ashr($650|0,$651|0,21)|0;$653=tempRet0;$654=_i64Add($254|0,$255|0,$256|0,$257|0)|0;$655=tempRet0;$656=_i64Add($654|0,$655|0,$252|0,$253|0)|0;$657=tempRet0;$658=_i64Add($656|0,$657|0,$250|0,$251|0)|0;$659=tempRet0;$660=_i64Add($658|0,$659|0,$248|0,$249|0)|0;$661=tempRet0;$662=_i64Add($660|0,$661|0,$246|0,$247|0)|0;$663=tempRet0;$664=_i64Add($662|0,$663|0,$164|0,0)|0;$665=tempRet0;$666=_i64Add($664|0,$665|0,$652|0,$653|0)|0;$667=tempRet0;$668=_bitshift64Shl($652|0,$653|0,21)|0;$669=tempRet0;$670=_i64Subtract($244|0,$245|0,$668|0,$669|0)|0;$671=tempRet0;$672=_i64Add($284|0,$285|0,1048576,0)|0;$673=tempRet0;$674=_bitshift64Ashr($672|0,$673|0,21)|0;$675=tempRet0;$676=_i64Add($298|0,$299|0,$300|0,$301|0)|0;$677=tempRet0;$678=_i64Add($676|0,$677|0,$296|0,$297|0)|0;$679=tempRet0;$680=_i64Add($678|0,$679|0,$294|0,$295|0)|0;$681=tempRet0;$682=_i64Add($680|0,$681|0,$292|0,$293|0)|0;$683=tempRet0;$684=_i64Add($682|0,$683|0,$290|0,$291|0)|0;$685=tempRet0;$686=_i64Add($684|0,$685|0,$288|0,$289|0)|0;$687=tempRet0;$688=_i64Add($686|0,$687|0,$286|0,$287|0)|0;$689=tempRet0;$690=_i64Add($688|0,$689|0,$176|0,0)|0;$691=tempRet0;$692=_i64Add($690|0,$691|0,$674|0,$675|0)|0;$693=tempRet0;$694=_bitshift64Shl($674|0,$675|0,21)|0;$695=tempRet0;$696=_i64Add($336|0,$337|0,1048576,0)|0;$697=tempRet0;$698=_bitshift64Ashr($696|0,$697|0,21)|0;$699=tempRet0;$700=_i64Add($354|0,$355|0,$356|0,$357|0)|0;$701=tempRet0;$702=_i64Add($700|0,$701|0,$352|0,$353|0)|0;$703=tempRet0;$704=_i64Add($702|0,$703|0,$350|0,$351|0)|0;$705=tempRet0;$706=_i64Add($704|0,$705|0,$348|0,$349|0)|0;$707=tempRet0;$708=_i64Add($706|0,$707|0,$346|0,$347|0)|0;$709=tempRet0;$710=_i64Add($708|0,$709|0,$344|0,$345|0)|0;$711=tempRet0;$712=_i64Add($710|0,$711|0,$340|0,$341|0)|0;$713=tempRet0;$714=_i64Add($712|0,$713|0,$342|0,$343|0)|0;$715=tempRet0;$716=_i64Add($714|0,$715|0,$338|0,$339|0)|0;$717=tempRet0;$718=_i64Add($716|0,$717|0,$186|0,0)|0;$719=tempRet0;$720=_i64Add($718|0,$719|0,$698|0,$699|0)|0;$721=tempRet0;$722=_bitshift64Shl($698|0,$699|0,21)|0;$723=tempRet0;$724=_i64Add($400|0,$401|0,1048576,0)|0;$725=tempRet0;$726=_bitshift64Ashr($724|0,$725|0,21)|0;$727=tempRet0;$728=_i64Add($422|0,$423|0,$424|0,$425|0)|0;$729=tempRet0;$730=_i64Add($728|0,$729|0,$420|0,$421|0)|0;$731=tempRet0;$732=_i64Add($730|0,$731|0,$418|0,$419|0)|0;$733=tempRet0;$734=_i64Add($732|0,$733|0,$416|0,$417|0)|0;$735=tempRet0;$736=_i64Add($734|0,$735|0,$414|0,$415|0)|0;$737=tempRet0;$738=_i64Add($736|0,$737|0,$412|0,$413|0)|0;$739=tempRet0;$740=_i64Add($738|0,$739|0,$408|0,$409|0)|0;$741=tempRet0;$742=_i64Add($740|0,$741|0,$410|0,$411|0)|0;$743=tempRet0;$744=_i64Add($742|0,$743|0,$406|0,$407|0)|0;$745=tempRet0;$746=_i64Add($744|0,$745|0,$402|0,$403|0)|0;$747=tempRet0;$748=_i64Add($746|0,$747|0,$404|0,$405|0)|0;$749=tempRet0;$750=_i64Add($748|0,$749|0,$196|0,$197|0)|0;$751=tempRet0;$752=_i64Add($750|0,$751|0,$726|0,$727|0)|0;$753=tempRet0;$754=_bitshift64Shl($726|0,$727|0,21)|0;$755=tempRet0;$756=_i64Add($466|0,$467|0,1048576,0)|0;$757=tempRet0;$758=_bitshift64Ashr($756|0,$757|0,21)|0;$759=tempRet0;$760=_i64Add($484|0,$485|0,$486|0,$487|0)|0;$761=tempRet0;$762=_i64Add($760|0,$761|0,$482|0,$483|0)|0;$763=tempRet0;$764=_i64Add($762|0,$763|0,$480|0,$481|0)|0;$765=tempRet0;$766=_i64Add($764|0,$765|0,$478|0,$479|0)|0;$767=tempRet0;$768=_i64Add($766|0,$767|0,$474|0,$475|0)|0;$769=tempRet0;$770=_i64Add($768|0,$769|0,$476|0,$477|0)|0;$771=tempRet0;$772=_i64Add($770|0,$771|0,$472|0,$473|0)|0;$773=tempRet0;$774=_i64Add($772|0,$773|0,$470|0,$471|0)|0;$775=tempRet0;$776=_i64Add($774|0,$775|0,$468|0,$469|0)|0;$777=tempRet0;$778=_i64Add($776|0,$777|0,$758|0,$759|0)|0;$779=tempRet0;$780=_bitshift64Shl($758|0,$759|0,21)|0;$781=tempRet0;$782=_i64Add($520|0,$521|0,1048576,0)|0;$783=tempRet0;$784=_bitshift64Ashr($782|0,$783|0,21)|0;$785=tempRet0;$786=_i64Add($534|0,$535|0,$536|0,$537|0)|0;$787=tempRet0;$788=_i64Add($786|0,$787|0,$532|0,$533|0)|0;$789=tempRet0;$790=_i64Add($788|0,$789|0,$528|0,$529|0)|0;$791=tempRet0;$792=_i64Add($790|0,$791|0,$530|0,$531|0)|0;$793=tempRet0;$794=_i64Add($792|0,$793|0,$526|0,$527|0)|0;$795=tempRet0;$796=_i64Add($794|0,$795|0,$524|0,$525|0)|0;$797=tempRet0;$798=_i64Add($796|0,$797|0,$522|0,$523|0)|0;$799=tempRet0;$800=_i64Add($798|0,$799|0,$784|0,$785|0)|0;$801=tempRet0;$802=_bitshift64Shl($784|0,$785|0,21)|0;$803=tempRet0;$804=_i64Add($562|0,$563|0,1048576,0)|0;$805=tempRet0;$806=_bitshift64Ashr($804|0,$805|0,21)|0;$807=tempRet0;$808=_i64Add($570|0,$571|0,$574|0,$575|0)|0;$809=tempRet0;$810=_i64Add($808|0,$809|0,$572|0,$573|0)|0;$811=tempRet0;$812=_i64Add($810|0,$811|0,$568|0,$569|0)|0;$813=tempRet0;$814=_i64Add($812|0,$813|0,$566|0,$567|0)|0;$815=tempRet0;$816=_i64Add($814|0,$815|0,$564|0,$565|0)|0;$817=tempRet0;$818=_i64Add($816|0,$817|0,$806|0,$807|0)|0;$819=tempRet0;$820=_bitshift64Shl($806|0,$807|0,21)|0;$821=tempRet0;$822=_i64Add($592|0,$593|0,1048576,0)|0;$823=tempRet0;$824=_bitshift64Ashr($822|0,$823|0,21)|0;$825=tempRet0;$826=_i64Add($598|0,$599|0,$600|0,$601|0)|0;$827=tempRet0;$828=_i64Add($826|0,$827|0,$596|0,$597|0)|0;$829=tempRet0;$830=_i64Add($828|0,$829|0,$594|0,$595|0)|0;$831=tempRet0;$832=_i64Add($830|0,$831|0,$824|0,$825|0)|0;$833=tempRet0;$834=_bitshift64Shl($824|0,$825|0,21)|0;$835=tempRet0;$836=_i64Subtract($592|0,$593|0,$834|0,$835|0)|0;$837=tempRet0;$838=_i64Add($610|0,$611|0,1048576,0)|0;$839=tempRet0;$840=_bitshift64Lshr($838|0,$839|0,21)|0;$841=tempRet0;$842=_i64Add($616|0,$617|0,$840|0,$841|0)|0;$843=tempRet0;$844=_bitshift64Shl($840|0,$841|0,21)|0;$845=tempRet0;$846=_i64Subtract($610|0,$611|0,$844|0,$845|0)|0;$847=tempRet0;$848=_i64Add($618|0,$619|0,1048576,0)|0;$849=tempRet0;$850=_bitshift64Lshr($848|0,$849|0,21)|0;$851=tempRet0;$852=_bitshift64Shl($850|0,$851|0,21)|0;$853=tempRet0;$854=_i64Subtract($618|0,$619|0,$852|0,$853|0)|0;$855=tempRet0;$856=_i64Add($628|0,$629|0,1048576,0)|0;$857=tempRet0;$858=_bitshift64Lshr($856|0,$857|0,21)|0;$859=tempRet0;$860=_bitshift64Shl($858|0,$859|0,21)|0;$861=tempRet0;$862=_i64Subtract($628|0,$629|0,$860|0,$861|0)|0;$863=tempRet0;$864=_i64Add($646|0,$647|0,1048576,0)|0;$865=tempRet0;$866=_bitshift64Ashr($864|0,$865|0,21)|0;$867=tempRet0;$868=_i64Add($670|0,$671|0,$866|0,$867|0)|0;$869=tempRet0;$870=_bitshift64Shl($866|0,$867|0,21)|0;$871=tempRet0;$872=_i64Subtract($646|0,$647|0,$870|0,$871|0)|0;$873=tempRet0;$874=_i64Add($666|0,$667|0,1048576,0)|0;$875=tempRet0;$876=_bitshift64Ashr($874|0,$875|0,21)|0;$877=tempRet0;$878=_bitshift64Shl($876|0,$877|0,21)|0;$879=tempRet0;$880=_i64Subtract($666|0,$667|0,$878|0,$879|0)|0;$881=tempRet0;$882=_i64Add($692|0,$693|0,1048576,0)|0;$883=tempRet0;$884=_bitshift64Ashr($882|0,$883|0,21)|0;$885=tempRet0;$886=_bitshift64Shl($884|0,$885|0,21)|0;$887=tempRet0;$888=_i64Add($720|0,$721|0,1048576,0)|0;$889=tempRet0;$890=_bitshift64Ashr($888|0,$889|0,21)|0;$891=tempRet0;$892=_bitshift64Shl($890|0,$891|0,21)|0;$893=tempRet0;$894=_i64Add($752|0,$753|0,1048576,0)|0;$895=tempRet0;$896=_bitshift64Ashr($894|0,$895|0,21)|0;$897=tempRet0;$898=_bitshift64Shl($896|0,$897|0,21)|0;$899=tempRet0;$900=_i64Add($778|0,$779|0,1048576,0)|0;$901=tempRet0;$902=_bitshift64Ashr($900|0,$901|0,21)|0;$903=tempRet0;$904=_bitshift64Shl($902|0,$903|0,21)|0;$905=tempRet0;$906=_i64Add($800|0,$801|0,1048576,0)|0;$907=tempRet0;$908=_bitshift64Ashr($906|0,$907|0,21)|0;$909=tempRet0;$910=_bitshift64Shl($908|0,$909|0,21)|0;$911=tempRet0;$912=_i64Add($818|0,$819|0,1048576,0)|0;$913=tempRet0;$914=_bitshift64Ashr($912|0,$913|0,21)|0;$915=tempRet0;$916=_i64Add($914|0,$915|0,$836|0,$837|0)|0;$917=tempRet0;$918=_bitshift64Shl($914|0,$915|0,21)|0;$919=tempRet0;$920=_i64Subtract($818|0,$819|0,$918|0,$919|0)|0;$921=tempRet0;$922=_i64Add($832|0,$833|0,1048576,0)|0;$923=tempRet0;$924=_bitshift64Ashr($922|0,$923|0,21)|0;$925=tempRet0;$926=_i64Add($924|0,$925|0,$846|0,$847|0)|0;$927=tempRet0;$928=_bitshift64Shl($924|0,$925|0,21)|0;$929=tempRet0;$930=_i64Subtract($832|0,$833|0,$928|0,$929|0)|0;$931=tempRet0;$932=_i64Add($842|0,$843|0,1048576,0)|0;$933=tempRet0;$934=_bitshift64Lshr($932|0,$933|0,21)|0;$935=tempRet0;$936=_i64Add($934|0,$935|0,$854|0,$855|0)|0;$937=tempRet0;$938=_bitshift64Shl($934|0,$935|0,21)|0;$939=tempRet0;$940=_i64Subtract($842|0,$843|0,$938|0,$939|0)|0;$941=tempRet0;$942=___muldi3($850|0,$851|0,666643,0)|0;$943=tempRet0;$944=___muldi3($850|0,$851|0,470296,0)|0;$945=tempRet0;$946=___muldi3($850|0,$851|0,654183,0)|0;$947=tempRet0;$948=___muldi3($850|0,$851|0,-997805,-1)|0;$949=tempRet0;$950=___muldi3($850|0,$851|0,136657,0)|0;$951=tempRet0;$952=___muldi3($850|0,$851|0,-683901,-1)|0;$953=tempRet0;$954=_i64Add($952|0,$953|0,$562|0,$563|0)|0;$955=tempRet0;$956=_i64Subtract($954|0,$955|0,$820|0,$821|0)|0;$957=tempRet0;$958=_i64Add($956|0,$957|0,$908|0,$909|0)|0;$959=tempRet0;$960=___muldi3($936|0,$937|0,666643,0)|0;$961=tempRet0;$962=___muldi3($936|0,$937|0,470296,0)|0;$963=tempRet0;$964=___muldi3($936|0,$937|0,654183,0)|0;$965=tempRet0;$966=___muldi3($936|0,$937|0,-997805,-1)|0;$967=tempRet0;$968=___muldi3($936|0,$937|0,136657,0)|0;$969=tempRet0;$970=___muldi3($936|0,$937|0,-683901,-1)|0;$971=tempRet0;$972=___muldi3($940|0,$941|0,666643,0)|0;$973=tempRet0;$974=___muldi3($940|0,$941|0,470296,0)|0;$975=tempRet0;$976=___muldi3($940|0,$941|0,654183,0)|0;$977=tempRet0;$978=___muldi3($940|0,$941|0,-997805,-1)|0;$979=tempRet0;$980=___muldi3($940|0,$941|0,136657,0)|0;$981=tempRet0;$982=___muldi3($940|0,$941|0,-683901,-1)|0;$983=tempRet0;$984=_i64Add($948|0,$949|0,$520|0,$521|0)|0;$985=tempRet0;$986=_i64Subtract($984|0,$985|0,$802|0,$803|0)|0;$987=tempRet0;$988=_i64Add($986|0,$987|0,$902|0,$903|0)|0;$989=tempRet0;$990=_i64Add($988|0,$989|0,$968|0,$969|0)|0;$991=tempRet0;$992=_i64Add($990|0,$991|0,$982|0,$983|0)|0;$993=tempRet0;$994=___muldi3($926|0,$927|0,666643,0)|0;$995=tempRet0;$996=___muldi3($926|0,$927|0,470296,0)|0;$997=tempRet0;$998=___muldi3($926|0,$927|0,654183,0)|0;$999=tempRet0;$1000=___muldi3($926|0,$927|0,-997805,-1)|0;$1001=tempRet0;$1002=___muldi3($926|0,$927|0,136657,0)|0;$1003=tempRet0;$1004=___muldi3($926|0,$927|0,-683901,-1)|0;$1005=tempRet0;$1006=___muldi3($930|0,$931|0,666643,0)|0;$1007=tempRet0;$1008=___muldi3($930|0,$931|0,470296,0)|0;$1009=tempRet0;$1010=___muldi3($930|0,$931|0,654183,0)|0;$1011=tempRet0;$1012=___muldi3($930|0,$931|0,-997805,-1)|0;$1013=tempRet0;$1014=___muldi3($930|0,$931|0,136657,0)|0;$1015=tempRet0;$1016=___muldi3($930|0,$931|0,-683901,-1)|0;$1017=tempRet0;$1018=_i64Add($944|0,$945|0,$466|0,$467|0)|0;$1019=tempRet0;$1020=_i64Subtract($1018|0,$1019|0,$780|0,$781|0)|0;$1021=tempRet0;$1022=_i64Add($1020|0,$1021|0,$964|0,$965|0)|0;$1023=tempRet0;$1024=_i64Add($1022|0,$1023|0,$1002|0,$1003|0)|0;$1025=tempRet0;$1026=_i64Add($1024|0,$1025|0,$978|0,$979|0)|0;$1027=tempRet0;$1028=_i64Add($1026|0,$1027|0,$1016|0,$1017|0)|0;$1029=tempRet0;$1030=_i64Add($1028|0,$1029|0,$896|0,$897|0)|0;$1031=tempRet0;$1032=___muldi3($916|0,$917|0,666643,0)|0;$1033=tempRet0;$1034=_i64Add($1032|0,$1033|0,$284|0,$285|0)|0;$1035=tempRet0;$1036=_i64Subtract($1034|0,$1035|0,$694|0,$695|0)|0;$1037=tempRet0;$1038=_i64Add($1036|0,$1037|0,$876|0,$877|0)|0;$1039=tempRet0;$1040=___muldi3($916|0,$917|0,470296,0)|0;$1041=tempRet0;$1042=___muldi3($916|0,$917|0,654183,0)|0;$1043=tempRet0;$1044=_i64Add($994|0,$995|0,$336|0,$337|0)|0;$1045=tempRet0;$1046=_i64Add($1044|0,$1045|0,$1042|0,$1043|0)|0;$1047=tempRet0;$1048=_i64Add($1046|0,$1047|0,$1008|0,$1009|0)|0;$1049=tempRet0;$1050=_i64Subtract($1048|0,$1049|0,$722|0,$723|0)|0;$1051=tempRet0;$1052=_i64Add($1050|0,$1051|0,$884|0,$885|0)|0;$1053=tempRet0;$1054=___muldi3($916|0,$917|0,-997805,-1)|0;$1055=tempRet0;$1056=___muldi3($916|0,$917|0,136657,0)|0;$1057=tempRet0;$1058=_i64Add($998|0,$999|0,$960|0,$961|0)|0;$1059=tempRet0;$1060=_i64Add($1058|0,$1059|0,$1056|0,$1057|0)|0;$1061=tempRet0;$1062=_i64Add($1060|0,$1061|0,$974|0,$975|0)|0;$1063=tempRet0;$1064=_i64Add($1062|0,$1063|0,$1012|0,$1013|0)|0;$1065=tempRet0;$1066=_i64Add($1064|0,$1065|0,$400|0,$401|0)|0;$1067=tempRet0;$1068=_i64Add($1066|0,$1067|0,$890|0,$891|0)|0;$1069=tempRet0;$1070=_i64Subtract($1068|0,$1069|0,$754|0,$755|0)|0;$1071=tempRet0;$1072=___muldi3($916|0,$917|0,-683901,-1)|0;$1073=tempRet0;$1074=_i64Add($1038|0,$1039|0,1048576,0)|0;$1075=tempRet0;$1076=_bitshift64Ashr($1074|0,$1075|0,21)|0;$1077=tempRet0;$1078=_i64Add($1006|0,$1007|0,$1040|0,$1041|0)|0;$1079=tempRet0;$1080=_i64Add($1078|0,$1079|0,$692|0,$693|0)|0;$1081=tempRet0;$1082=_i64Subtract($1080|0,$1081|0,$886|0,$887|0)|0;$1083=tempRet0;$1084=_i64Add($1082|0,$1083|0,$1076|0,$1077|0)|0;$1085=tempRet0;$1086=_bitshift64Shl($1076|0,$1077|0,21)|0;$1087=tempRet0;$1088=_i64Add($1052|0,$1053|0,1048576,0)|0;$1089=tempRet0;$1090=_bitshift64Ashr($1088|0,$1089|0,21)|0;$1091=tempRet0;$1092=_i64Add($1054|0,$1055|0,$996|0,$997|0)|0;$1093=tempRet0;$1094=_i64Add($1092|0,$1093|0,$972|0,$973|0)|0;$1095=tempRet0;$1096=_i64Add($1094|0,$1095|0,$1010|0,$1011|0)|0;$1097=tempRet0;$1098=_i64Add($1096|0,$1097|0,$720|0,$721|0)|0;$1099=tempRet0;$1100=_i64Subtract($1098|0,$1099|0,$892|0,$893|0)|0;$1101=tempRet0;$1102=_i64Add($1100|0,$1101|0,$1090|0,$1091|0)|0;$1103=tempRet0;$1104=_bitshift64Shl($1090|0,$1091|0,21)|0;$1105=tempRet0;$1106=_i64Add($1070|0,$1071|0,1048576,0)|0;$1107=tempRet0;$1108=_bitshift64Ashr($1106|0,$1107|0,21)|0;$1109=tempRet0;$1110=_i64Add($962|0,$963|0,$942|0,$943|0)|0;$1111=tempRet0;$1112=_i64Add($1110|0,$1111|0,$1000|0,$1001|0)|0;$1113=tempRet0;$1114=_i64Add($1112|0,$1113|0,$1072|0,$1073|0)|0;$1115=tempRet0;$1116=_i64Add($1114|0,$1115|0,$976|0,$977|0)|0;$1117=tempRet0;$1118=_i64Add($1116|0,$1117|0,$1014|0,$1015|0)|0;$1119=tempRet0;$1120=_i64Add($1118|0,$1119|0,$752|0,$753|0)|0;$1121=tempRet0;$1122=_i64Subtract($1120|0,$1121|0,$898|0,$899|0)|0;$1123=tempRet0;$1124=_i64Add($1122|0,$1123|0,$1108|0,$1109|0)|0;$1125=tempRet0;$1126=_bitshift64Shl($1108|0,$1109|0,21)|0;$1127=tempRet0;$1128=_i64Add($1030|0,$1031|0,1048576,0)|0;$1129=tempRet0;$1130=_bitshift64Ashr($1128|0,$1129|0,21)|0;$1131=tempRet0;$1132=_i64Add($778|0,$779|0,$946|0,$947|0)|0;$1133=tempRet0;$1134=_i64Subtract($1132|0,$1133|0,$904|0,$905|0)|0;$1135=tempRet0;$1136=_i64Add($1134|0,$1135|0,$966|0,$967|0)|0;$1137=tempRet0;$1138=_i64Add($1136|0,$1137|0,$1004|0,$1005|0)|0;$1139=tempRet0;$1140=_i64Add($1138|0,$1139|0,$980|0,$981|0)|0;$1141=tempRet0;$1142=_i64Add($1140|0,$1141|0,$1130|0,$1131|0)|0;$1143=tempRet0;$1144=_bitshift64Shl($1130|0,$1131|0,21)|0;$1145=tempRet0;$1146=_i64Subtract($1030|0,$1031|0,$1144|0,$1145|0)|0;$1147=tempRet0;$1148=_i64Add($992|0,$993|0,1048576,0)|0;$1149=tempRet0;$1150=_bitshift64Ashr($1148|0,$1149|0,21)|0;$1151=tempRet0;$1152=_i64Add($800|0,$801|0,$950|0,$951|0)|0;$1153=tempRet0;$1154=_i64Subtract($1152|0,$1153|0,$910|0,$911|0)|0;$1155=tempRet0;$1156=_i64Add($1154|0,$1155|0,$970|0,$971|0)|0;$1157=tempRet0;$1158=_i64Add($1156|0,$1157|0,$1150|0,$1151|0)|0;$1159=tempRet0;$1160=_bitshift64Shl($1150|0,$1151|0,21)|0;$1161=tempRet0;$1162=_i64Subtract($992|0,$993|0,$1160|0,$1161|0)|0;$1163=tempRet0;$1164=_i64Add($958|0,$959|0,1048576,0)|0;$1165=tempRet0;$1166=_bitshift64Ashr($1164|0,$1165|0,21)|0;$1167=tempRet0;$1168=_i64Add($1166|0,$1167|0,$920|0,$921|0)|0;$1169=tempRet0;$1170=_bitshift64Shl($1166|0,$1167|0,21)|0;$1171=tempRet0;$1172=_i64Subtract($958|0,$959|0,$1170|0,$1171|0)|0;$1173=tempRet0;$1174=_i64Add($1084|0,$1085|0,1048576,0)|0;$1175=tempRet0;$1176=_bitshift64Ashr($1174|0,$1175|0,21)|0;$1177=tempRet0;$1178=_bitshift64Shl($1176|0,$1177|0,21)|0;$1179=tempRet0;$1180=_i64Add($1102|0,$1103|0,1048576,0)|0;$1181=tempRet0;$1182=_bitshift64Ashr($1180|0,$1181|0,21)|0;$1183=tempRet0;$1184=_bitshift64Shl($1182|0,$1183|0,21)|0;$1185=tempRet0;$1186=_i64Add($1124|0,$1125|0,1048576,0)|0;$1187=tempRet0;$1188=_bitshift64Ashr($1186|0,$1187|0,21)|0;$1189=tempRet0;$1190=_i64Add($1146|0,$1147|0,$1188|0,$1189|0)|0;$1191=tempRet0;$1192=_bitshift64Shl($1188|0,$1189|0,21)|0;$1193=tempRet0;$1194=_i64Subtract($1124|0,$1125|0,$1192|0,$1193|0)|0;$1195=tempRet0;$1196=_i64Add($1142|0,$1143|0,1048576,0)|0;$1197=tempRet0;$1198=_bitshift64Ashr($1196|0,$1197|0,21)|0;$1199=tempRet0;$1200=_i64Add($1198|0,$1199|0,$1162|0,$1163|0)|0;$1201=tempRet0;$1202=_bitshift64Shl($1198|0,$1199|0,21)|0;$1203=tempRet0;$1204=_i64Subtract($1142|0,$1143|0,$1202|0,$1203|0)|0;$1205=tempRet0;$1206=_i64Add($1158|0,$1159|0,1048576,0)|0;$1207=tempRet0;$1208=_bitshift64Ashr($1206|0,$1207|0,21)|0;$1209=tempRet0;$1210=_i64Add($1208|0,$1209|0,$1172|0,$1173|0)|0;$1211=tempRet0;$1212=_bitshift64Shl($1208|0,$1209|0,21)|0;$1213=tempRet0;$1214=_i64Subtract($1158|0,$1159|0,$1212|0,$1213|0)|0;$1215=tempRet0;$1216=___muldi3($1168|0,$1169|0,666643,0)|0;$1217=tempRet0;$1218=_i64Add($880|0,$881|0,$1216|0,$1217|0)|0;$1219=tempRet0;$1220=___muldi3($1168|0,$1169|0,470296,0)|0;$1221=tempRet0;$1222=___muldi3($1168|0,$1169|0,654183,0)|0;$1223=tempRet0;$1224=___muldi3($1168|0,$1169|0,-997805,-1)|0;$1225=tempRet0;$1226=___muldi3($1168|0,$1169|0,136657,0)|0;$1227=tempRet0;$1228=___muldi3($1168|0,$1169|0,-683901,-1)|0;$1229=tempRet0;$1230=_i64Add($1070|0,$1071|0,$1228|0,$1229|0)|0;$1231=tempRet0;$1232=_i64Subtract($1230|0,$1231|0,$1126|0,$1127|0)|0;$1233=tempRet0;$1234=_i64Add($1232|0,$1233|0,$1182|0,$1183|0)|0;$1235=tempRet0;$1236=___muldi3($1210|0,$1211|0,666643,0)|0;$1237=tempRet0;$1238=_i64Add($868|0,$869|0,$1236|0,$1237|0)|0;$1239=tempRet0;$1240=___muldi3($1210|0,$1211|0,470296,0)|0;$1241=tempRet0;$1242=_i64Add($1218|0,$1219|0,$1240|0,$1241|0)|0;$1243=tempRet0;$1244=___muldi3($1210|0,$1211|0,654183,0)|0;$1245=tempRet0;$1246=___muldi3($1210|0,$1211|0,-997805,-1)|0;$1247=tempRet0;$1248=___muldi3($1210|0,$1211|0,136657,0)|0;$1249=tempRet0;$1250=___muldi3($1210|0,$1211|0,-683901,-1)|0;$1251=tempRet0;$1252=___muldi3($1214|0,$1215|0,666643,0)|0;$1253=tempRet0;$1254=_i64Add($872|0,$873|0,$1252|0,$1253|0)|0;$1255=tempRet0;$1256=___muldi3($1214|0,$1215|0,470296,0)|0;$1257=tempRet0;$1258=_i64Add($1238|0,$1239|0,$1256|0,$1257|0)|0;$1259=tempRet0;$1260=___muldi3($1214|0,$1215|0,654183,0)|0;$1261=tempRet0;$1262=_i64Add($1242|0,$1243|0,$1260|0,$1261|0)|0;$1263=tempRet0;$1264=___muldi3($1214|0,$1215|0,-997805,-1)|0;$1265=tempRet0;$1266=___muldi3($1214|0,$1215|0,136657,0)|0;$1267=tempRet0;$1268=___muldi3($1214|0,$1215|0,-683901,-1)|0;$1269=tempRet0;$1270=_i64Add($1052|0,$1053|0,$1224|0,$1225|0)|0;$1271=tempRet0;$1272=_i64Subtract($1270|0,$1271|0,$1104|0,$1105|0)|0;$1273=tempRet0;$1274=_i64Add($1272|0,$1273|0,$1176|0,$1177|0)|0;$1275=tempRet0;$1276=_i64Add($1274|0,$1275|0,$1248|0,$1249|0)|0;$1277=tempRet0;$1278=_i64Add($1276|0,$1277|0,$1268|0,$1269|0)|0;$1279=tempRet0;$1280=___muldi3($1200|0,$1201|0,666643,0)|0;$1281=tempRet0;$1282=___muldi3($1200|0,$1201|0,470296,0)|0;$1283=tempRet0;$1284=___muldi3($1200|0,$1201|0,654183,0)|0;$1285=tempRet0;$1286=___muldi3($1200|0,$1201|0,-997805,-1)|0;$1287=tempRet0;$1288=___muldi3($1200|0,$1201|0,136657,0)|0;$1289=tempRet0;$1290=___muldi3($1200|0,$1201|0,-683901,-1)|0;$1291=tempRet0;$1292=___muldi3($1204|0,$1205|0,666643,0)|0;$1293=tempRet0;$1294=___muldi3($1204|0,$1205|0,470296,0)|0;$1295=tempRet0;$1296=___muldi3($1204|0,$1205|0,654183,0)|0;$1297=tempRet0;$1298=___muldi3($1204|0,$1205|0,-997805,-1)|0;$1299=tempRet0;$1300=___muldi3($1204|0,$1205|0,136657,0)|0;$1301=tempRet0;$1302=___muldi3($1204|0,$1205|0,-683901,-1)|0;$1303=tempRet0;$1304=_i64Add($1038|0,$1039|0,$1220|0,$1221|0)|0;$1305=tempRet0;$1306=_i64Subtract($1304|0,$1305|0,$1086|0,$1087|0)|0;$1307=tempRet0;$1308=_i64Add($1306|0,$1307|0,$1244|0,$1245|0)|0;$1309=tempRet0;$1310=_i64Add($1308|0,$1309|0,$1264|0,$1265|0)|0;$1311=tempRet0;$1312=_i64Add($1310|0,$1311|0,$1288|0,$1289|0)|0;$1313=tempRet0;$1314=_i64Add($1312|0,$1313|0,$1302|0,$1303|0)|0;$1315=tempRet0;$1316=___muldi3($1190|0,$1191|0,666643,0)|0;$1317=tempRet0;$1318=_i64Add($1316|0,$1317|0,$632|0,$633|0)|0;$1319=tempRet0;$1320=___muldi3($1190|0,$1191|0,470296,0)|0;$1321=tempRet0;$1322=___muldi3($1190|0,$1191|0,654183,0)|0;$1323=tempRet0;$1324=_i64Add($858|0,$859|0,$216|0,$217|0)|0;$1325=tempRet0;$1326=_i64Subtract($1324|0,$1325|0,$648|0,$649|0)|0;$1327=tempRet0;$1328=_i64Add($1326|0,$1327|0,$1322|0,$1323|0)|0;$1329=tempRet0;$1330=_i64Add($1328|0,$1329|0,$1280|0,$1281|0)|0;$1331=tempRet0;$1332=_i64Add($1330|0,$1331|0,$1294|0,$1295|0)|0;$1333=tempRet0;$1334=___muldi3($1190|0,$1191|0,-997805,-1)|0;$1335=tempRet0;$1336=___muldi3($1190|0,$1191|0,136657,0)|0;$1337=tempRet0;$1338=_i64Add($1258|0,$1259|0,$1336|0,$1337|0)|0;$1339=tempRet0;$1340=_i64Add($1338|0,$1339|0,$1284|0,$1285|0)|0;$1341=tempRet0;$1342=_i64Add($1340|0,$1341|0,$1298|0,$1299|0)|0;$1343=tempRet0;$1344=___muldi3($1190|0,$1191|0,-683901,-1)|0;$1345=tempRet0;$1346=_i64Add($1318|0,$1319|0,1048576,0)|0;$1347=tempRet0;$1348=_bitshift64Ashr($1346|0,$1347|0,21)|0;$1349=tempRet0;$1350=_i64Add($862|0,$863|0,$1320|0,$1321|0)|0;$1351=tempRet0;$1352=_i64Add($1350|0,$1351|0,$1292|0,$1293|0)|0;$1353=tempRet0;$1354=_i64Add($1352|0,$1353|0,$1348|0,$1349|0)|0;$1355=tempRet0;$1356=_bitshift64Shl($1348|0,$1349|0,21)|0;$1357=tempRet0;$1358=_i64Subtract($1318|0,$1319|0,$1356|0,$1357|0)|0;$1359=tempRet0;$1360=_i64Add($1332|0,$1333|0,1048576,0)|0;$1361=tempRet0;$1362=_bitshift64Ashr($1360|0,$1361|0,21)|0;$1363=tempRet0;$1364=_i64Add($1254|0,$1255|0,$1334|0,$1335|0)|0;$1365=tempRet0;$1366=_i64Add($1364|0,$1365|0,$1282|0,$1283|0)|0;$1367=tempRet0;$1368=_i64Add($1366|0,$1367|0,$1296|0,$1297|0)|0;$1369=tempRet0;$1370=_i64Add($1368|0,$1369|0,$1362|0,$1363|0)|0;$1371=tempRet0;$1372=_bitshift64Shl($1362|0,$1363|0,21)|0;$1373=tempRet0;$1374=_i64Add($1342|0,$1343|0,1048576,0)|0;$1375=tempRet0;$1376=_bitshift64Ashr($1374|0,$1375|0,21)|0;$1377=tempRet0;$1378=_i64Add($1262|0,$1263|0,$1344|0,$1345|0)|0;$1379=tempRet0;$1380=_i64Add($1378|0,$1379|0,$1286|0,$1287|0)|0;$1381=tempRet0;$1382=_i64Add($1380|0,$1381|0,$1300|0,$1301|0)|0;$1383=tempRet0;$1384=_i64Add($1382|0,$1383|0,$1376|0,$1377|0)|0;$1385=tempRet0;$1386=_bitshift64Shl($1376|0,$1377|0,21)|0;$1387=tempRet0;$1388=_i64Add($1314|0,$1315|0,1048576,0)|0;$1389=tempRet0;$1390=_bitshift64Ashr($1388|0,$1389|0,21)|0;$1391=tempRet0;$1392=_i64Add($1084|0,$1085|0,$1222|0,$1223|0)|0;$1393=tempRet0;$1394=_i64Add($1392|0,$1393|0,$1246|0,$1247|0)|0;$1395=tempRet0;$1396=_i64Subtract($1394|0,$1395|0,$1178|0,$1179|0)|0;$1397=tempRet0;$1398=_i64Add($1396|0,$1397|0,$1266|0,$1267|0)|0;$1399=tempRet0;$1400=_i64Add($1398|0,$1399|0,$1290|0,$1291|0)|0;$1401=tempRet0;$1402=_i64Add($1400|0,$1401|0,$1390|0,$1391|0)|0;$1403=tempRet0;$1404=_bitshift64Shl($1390|0,$1391|0,21)|0;$1405=tempRet0;$1406=_i64Subtract($1314|0,$1315|0,$1404|0,$1405|0)|0;$1407=tempRet0;$1408=_i64Add($1278|0,$1279|0,1048576,0)|0;$1409=tempRet0;$1410=_bitshift64Ashr($1408|0,$1409|0,21)|0;$1411=tempRet0;$1412=_i64Add($1102|0,$1103|0,$1226|0,$1227|0)|0;$1413=tempRet0;$1414=_i64Add($1412|0,$1413|0,$1250|0,$1251|0)|0;$1415=tempRet0;$1416=_i64Subtract($1414|0,$1415|0,$1184|0,$1185|0)|0;$1417=tempRet0;$1418=_i64Add($1416|0,$1417|0,$1410|0,$1411|0)|0;$1419=tempRet0;$1420=_bitshift64Shl($1410|0,$1411|0,21)|0;$1421=tempRet0;$1422=_i64Subtract($1278|0,$1279|0,$1420|0,$1421|0)|0;$1423=tempRet0;$1424=_i64Add($1234|0,$1235|0,1048576,0)|0;$1425=tempRet0;$1426=_bitshift64Ashr($1424|0,$1425|0,21)|0;$1427=tempRet0;$1428=_i64Add($1194|0,$1195|0,$1426|0,$1427|0)|0;$1429=tempRet0;$1430=_bitshift64Shl($1426|0,$1427|0,21)|0;$1431=tempRet0;$1432=_i64Subtract($1234|0,$1235|0,$1430|0,$1431|0)|0;$1433=tempRet0;$1434=_i64Add($1354|0,$1355|0,1048576,0)|0;$1435=tempRet0;$1436=_bitshift64Ashr($1434|0,$1435|0,21)|0;$1437=tempRet0;$1438=_bitshift64Shl($1436|0,$1437|0,21)|0;$1439=tempRet0;$1440=_i64Add($1370|0,$1371|0,1048576,0)|0;$1441=tempRet0;$1442=_bitshift64Ashr($1440|0,$1441|0,21)|0;$1443=tempRet0;$1444=_bitshift64Shl($1442|0,$1443|0,21)|0;$1445=tempRet0;$1446=_i64Add($1384|0,$1385|0,1048576,0)|0;$1447=tempRet0;$1448=_bitshift64Ashr($1446|0,$1447|0,21)|0;$1449=tempRet0;$1450=_i64Add($1406|0,$1407|0,$1448|0,$1449|0)|0;$1451=tempRet0;$1452=_bitshift64Shl($1448|0,$1449|0,21)|0;$1453=tempRet0;$1454=_i64Add($1402|0,$1403|0,1048576,0)|0;$1455=tempRet0;$1456=_bitshift64Ashr($1454|0,$1455|0,21)|0;$1457=tempRet0;$1458=_i64Add($1422|0,$1423|0,$1456|0,$1457|0)|0;$1459=tempRet0;$1460=_bitshift64Shl($1456|0,$1457|0,21)|0;$1461=tempRet0;$1462=_i64Subtract($1402|0,$1403|0,$1460|0,$1461|0)|0;$1463=tempRet0;$1464=_i64Add($1418|0,$1419|0,1048576,0)|0;$1465=tempRet0;$1466=_bitshift64Ashr($1464|0,$1465|0,21)|0;$1467=tempRet0;$1468=_i64Add($1432|0,$1433|0,$1466|0,$1467|0)|0;$1469=tempRet0;$1470=_bitshift64Shl($1466|0,$1467|0,21)|0;$1471=tempRet0;$1472=_i64Subtract($1418|0,$1419|0,$1470|0,$1471|0)|0;$1473=tempRet0;$1474=_i64Add($1428|0,$1429|0,1048576,0)|0;$1475=tempRet0;$1476=_bitshift64Ashr($1474|0,$1475|0,21)|0;$1477=tempRet0;$1478=_bitshift64Shl($1476|0,$1477|0,21)|0;$1479=tempRet0;$1480=_i64Subtract($1428|0,$1429|0,$1478|0,$1479|0)|0;$1481=tempRet0;$1482=___muldi3($1476|0,$1477|0,666643,0)|0;$1483=tempRet0;$1484=_i64Add($1358|0,$1359|0,$1482|0,$1483|0)|0;$1485=tempRet0;$1486=___muldi3($1476|0,$1477|0,470296,0)|0;$1487=tempRet0;$1488=___muldi3($1476|0,$1477|0,654183,0)|0;$1489=tempRet0;$1490=___muldi3($1476|0,$1477|0,-997805,-1)|0;$1491=tempRet0;$1492=___muldi3($1476|0,$1477|0,136657,0)|0;$1493=tempRet0;$1494=___muldi3($1476|0,$1477|0,-683901,-1)|0;$1495=tempRet0;$1496=_bitshift64Ashr($1484|0,$1485|0,21)|0;$1497=tempRet0;$1498=_i64Add($1486|0,$1487|0,$1354|0,$1355|0)|0;$1499=tempRet0;$1500=_i64Subtract($1498|0,$1499|0,$1438|0,$1439|0)|0;$1501=tempRet0;$1502=_i64Add($1500|0,$1501|0,$1496|0,$1497|0)|0;$1503=tempRet0;$1504=_bitshift64Shl($1496|0,$1497|0,21)|0;$1505=tempRet0;$1506=_i64Subtract($1484|0,$1485|0,$1504|0,$1505|0)|0;$1507=tempRet0;$1508=_bitshift64Ashr($1502|0,$1503|0,21)|0;$1509=tempRet0;$1510=_i64Add($1488|0,$1489|0,$1332|0,$1333|0)|0;$1511=tempRet0;$1512=_i64Subtract($1510|0,$1511|0,$1372|0,$1373|0)|0;$1513=tempRet0;$1514=_i64Add($1512|0,$1513|0,$1436|0,$1437|0)|0;$1515=tempRet0;$1516=_i64Add($1514|0,$1515|0,$1508|0,$1509|0)|0;$1517=tempRet0;$1518=_bitshift64Shl($1508|0,$1509|0,21)|0;$1519=tempRet0;$1520=_i64Subtract($1502|0,$1503|0,$1518|0,$1519|0)|0;$1521=tempRet0;$1522=_bitshift64Ashr($1516|0,$1517|0,21)|0;$1523=tempRet0;$1524=_i64Add($1370|0,$1371|0,$1490|0,$1491|0)|0;$1525=tempRet0;$1526=_i64Subtract($1524|0,$1525|0,$1444|0,$1445|0)|0;$1527=tempRet0;$1528=_i64Add($1526|0,$1527|0,$1522|0,$1523|0)|0;$1529=tempRet0;$1530=_bitshift64Shl($1522|0,$1523|0,21)|0;$1531=tempRet0;$1532=_i64Subtract($1516|0,$1517|0,$1530|0,$1531|0)|0;$1533=tempRet0;$1534=_bitshift64Ashr($1528|0,$1529|0,21)|0;$1535=tempRet0;$1536=_i64Add($1492|0,$1493|0,$1342|0,$1343|0)|0;$1537=tempRet0;$1538=_i64Subtract($1536|0,$1537|0,$1386|0,$1387|0)|0;$1539=tempRet0;$1540=_i64Add($1538|0,$1539|0,$1442|0,$1443|0)|0;$1541=tempRet0;$1542=_i64Add($1540|0,$1541|0,$1534|0,$1535|0)|0;$1543=tempRet0;$1544=_bitshift64Shl($1534|0,$1535|0,21)|0;$1545=tempRet0;$1546=_i64Subtract($1528|0,$1529|0,$1544|0,$1545|0)|0;$1547=tempRet0;$1548=_bitshift64Ashr($1542|0,$1543|0,21)|0;$1549=tempRet0;$1550=_i64Add($1384|0,$1385|0,$1494|0,$1495|0)|0;$1551=tempRet0;$1552=_i64Subtract($1550|0,$1551|0,$1452|0,$1453|0)|0;$1553=tempRet0;$1554=_i64Add($1552|0,$1553|0,$1548|0,$1549|0)|0;$1555=tempRet0;$1556=_bitshift64Shl($1548|0,$1549|0,21)|0;$1557=tempRet0;$1558=_i64Subtract($1542|0,$1543|0,$1556|0,$1557|0)|0;$1559=tempRet0;$1560=_bitshift64Ashr($1554|0,$1555|0,21)|0;$1561=tempRet0;$1562=_i64Add($1450|0,$1451|0,$1560|0,$1561|0)|0;$1563=tempRet0;$1564=_bitshift64Shl($1560|0,$1561|0,21)|0;$1565=tempRet0;$1566=_i64Subtract($1554|0,$1555|0,$1564|0,$1565|0)|0;$1567=tempRet0;$1568=_bitshift64Ashr($1562|0,$1563|0,21)|0;$1569=tempRet0;$1570=_i64Add($1568|0,$1569|0,$1462|0,$1463|0)|0;$1571=tempRet0;$1572=_bitshift64Shl($1568|0,$1569|0,21)|0;$1573=tempRet0;$1574=_i64Subtract($1562|0,$1563|0,$1572|0,$1573|0)|0;$1575=tempRet0;$1576=_bitshift64Ashr($1570|0,$1571|0,21)|0;$1577=tempRet0;$1578=_i64Add($1458|0,$1459|0,$1576|0,$1577|0)|0;$1579=tempRet0;$1580=_bitshift64Shl($1576|0,$1577|0,21)|0;$1581=tempRet0;$1582=_i64Subtract($1570|0,$1571|0,$1580|0,$1581|0)|0;$1583=tempRet0;$1584=_bitshift64Ashr($1578|0,$1579|0,21)|0;$1585=tempRet0;$1586=_i64Add($1584|0,$1585|0,$1472|0,$1473|0)|0;$1587=tempRet0;$1588=_bitshift64Shl($1584|0,$1585|0,21)|0;$1589=tempRet0;$1590=_i64Subtract($1578|0,$1579|0,$1588|0,$1589|0)|0;$1591=tempRet0;$1592=_bitshift64Ashr($1586|0,$1587|0,21)|0;$1593=tempRet0;$1594=_i64Add($1468|0,$1469|0,$1592|0,$1593|0)|0;$1595=tempRet0;$1596=_bitshift64Shl($1592|0,$1593|0,21)|0;$1597=tempRet0;$1598=_i64Subtract($1586|0,$1587|0,$1596|0,$1597|0)|0;$1599=tempRet0;$1600=_bitshift64Ashr($1594|0,$1595|0,21)|0;$1601=tempRet0;$1602=_i64Add($1600|0,$1601|0,$1480|0,$1481|0)|0;$1603=tempRet0;$1604=_bitshift64Shl($1600|0,$1601|0,21)|0;$1605=tempRet0;$1606=_i64Subtract($1594|0,$1595|0,$1604|0,$1605|0)|0;$1607=tempRet0;$1608=_bitshift64Ashr($1602|0,$1603|0,21)|0;$1609=tempRet0;$1610=_bitshift64Shl($1608|0,$1609|0,21)|0;$1611=tempRet0;$1612=_i64Subtract($1602|0,$1603|0,$1610|0,$1611|0)|0;$1613=tempRet0;$1614=___muldi3($1608|0,$1609|0,666643,0)|0;$1615=tempRet0;$1616=_i64Add($1614|0,$1615|0,$1506|0,$1507|0)|0;$1617=tempRet0;$1618=___muldi3($1608|0,$1609|0,470296,0)|0;$1619=tempRet0;$1620=_i64Add($1520|0,$1521|0,$1618|0,$1619|0)|0;$1621=tempRet0;$1622=___muldi3($1608|0,$1609|0,654183,0)|0;$1623=tempRet0;$1624=_i64Add($1532|0,$1533|0,$1622|0,$1623|0)|0;$1625=tempRet0;$1626=___muldi3($1608|0,$1609|0,-997805,-1)|0;$1627=tempRet0;$1628=_i64Add($1546|0,$1547|0,$1626|0,$1627|0)|0;$1629=tempRet0;$1630=___muldi3($1608|0,$1609|0,136657,0)|0;$1631=tempRet0;$1632=_i64Add($1558|0,$1559|0,$1630|0,$1631|0)|0;$1633=tempRet0;$1634=___muldi3($1608|0,$1609|0,-683901,-1)|0;$1635=tempRet0;$1636=_i64Add($1566|0,$1567|0,$1634|0,$1635|0)|0;$1637=tempRet0;$1638=_bitshift64Ashr($1616|0,$1617|0,21)|0;$1639=tempRet0;$1640=_i64Add($1620|0,$1621|0,$1638|0,$1639|0)|0;$1641=tempRet0;$1642=_bitshift64Shl($1638|0,$1639|0,21)|0;$1643=tempRet0;$1644=_i64Subtract($1616|0,$1617|0,$1642|0,$1643|0)|0;$1645=tempRet0;$1646=_bitshift64Ashr($1640|0,$1641|0,21)|0;$1647=tempRet0;$1648=_i64Add($1624|0,$1625|0,$1646|0,$1647|0)|0;$1649=tempRet0;$1650=_bitshift64Shl($1646|0,$1647|0,21)|0;$1651=tempRet0;$1652=_i64Subtract($1640|0,$1641|0,$1650|0,$1651|0)|0;$1653=tempRet0;$1654=_bitshift64Ashr($1648|0,$1649|0,21)|0;$1655=tempRet0;$1656=_i64Add($1628|0,$1629|0,$1654|0,$1655|0)|0;$1657=tempRet0;$1658=_bitshift64Shl($1654|0,$1655|0,21)|0;$1659=tempRet0;$1660=_i64Subtract($1648|0,$1649|0,$1658|0,$1659|0)|0;$1661=tempRet0;$1662=_bitshift64Ashr($1656|0,$1657|0,21)|0;$1663=tempRet0;$1664=_i64Add($1632|0,$1633|0,$1662|0,$1663|0)|0;$1665=tempRet0;$1666=_bitshift64Shl($1662|0,$1663|0,21)|0;$1667=tempRet0;$1668=_i64Subtract($1656|0,$1657|0,$1666|0,$1667|0)|0;$1669=tempRet0;$1670=_bitshift64Ashr($1664|0,$1665|0,21)|0;$1671=tempRet0;$1672=_i64Add($1636|0,$1637|0,$1670|0,$1671|0)|0;$1673=tempRet0;$1674=_bitshift64Shl($1670|0,$1671|0,21)|0;$1675=tempRet0;$1676=_i64Subtract($1664|0,$1665|0,$1674|0,$1675|0)|0;$1677=tempRet0;$1678=_bitshift64Ashr($1672|0,$1673|0,21)|0;$1679=tempRet0;$1680=_i64Add($1678|0,$1679|0,$1574|0,$1575|0)|0;$1681=tempRet0;$1682=_bitshift64Shl($1678|0,$1679|0,21)|0;$1683=tempRet0;$1684=_i64Subtract($1672|0,$1673|0,$1682|0,$1683|0)|0;$1685=tempRet0;$1686=_bitshift64Ashr($1680|0,$1681|0,21)|0;$1687=tempRet0;$1688=_i64Add($1686|0,$1687|0,$1582|0,$1583|0)|0;$1689=tempRet0;$1690=_bitshift64Shl($1686|0,$1687|0,21)|0;$1691=tempRet0;$1692=_i64Subtract($1680|0,$1681|0,$1690|0,$1691|0)|0;$1693=tempRet0;$1694=_bitshift64Ashr($1688|0,$1689|0,21)|0;$1695=tempRet0;$1696=_i64Add($1694|0,$1695|0,$1590|0,$1591|0)|0;$1697=tempRet0;$1698=_bitshift64Shl($1694|0,$1695|0,21)|0;$1699=tempRet0;$1700=_i64Subtract($1688|0,$1689|0,$1698|0,$1699|0)|0;$1701=tempRet0;$1702=_bitshift64Ashr($1696|0,$1697|0,21)|0;$1703=tempRet0;$1704=_i64Add($1702|0,$1703|0,$1598|0,$1599|0)|0;$1705=tempRet0;$1706=_bitshift64Shl($1702|0,$1703|0,21)|0;$1707=tempRet0;$1708=_i64Subtract($1696|0,$1697|0,$1706|0,$1707|0)|0;$1709=tempRet0;$1710=_bitshift64Ashr($1704|0,$1705|0,21)|0;$1711=tempRet0;$1712=_i64Add($1710|0,$1711|0,$1606|0,$1607|0)|0;$1713=tempRet0;$1714=_bitshift64Shl($1710|0,$1711|0,21)|0;$1715=tempRet0;$1716=_i64Subtract($1704|0,$1705|0,$1714|0,$1715|0)|0;$1717=tempRet0;$1718=_bitshift64Ashr($1712|0,$1713|0,21)|0;$1719=tempRet0;$1720=_i64Add($1718|0,$1719|0,$1612|0,$1613|0)|0;$1721=tempRet0;$1722=_bitshift64Shl($1718|0,$1719|0,21)|0;$1723=tempRet0;$1724=_i64Subtract($1712|0,$1713|0,$1722|0,$1723|0)|0;$1725=tempRet0;$1726=$1644&255;HEAP8[$s>>0]=$1726;$1727=_bitshift64Lshr($1644|0,$1645|0,8)|0;$1728=tempRet0;$1729=$1727&255;$1730=$s+1|0;HEAP8[$1730>>0]=$1729;$1731=_bitshift64Lshr($1644|0,$1645|0,16)|0;$1732=tempRet0;$1733=_bitshift64Shl($1652|0,$1653|0,5)|0;$1734=tempRet0;$1735=$1733|$1731;$1734|$1732;$1736=$1735&255;$1737=$s+2|0;HEAP8[$1737>>0]=$1736;$1738=_bitshift64Lshr($1652|0,$1653|0,3)|0;$1739=tempRet0;$1740=$1738&255;$1741=$s+3|0;HEAP8[$1741>>0]=$1740;$1742=_bitshift64Lshr($1652|0,$1653|0,11)|0;$1743=tempRet0;$1744=$1742&255;$1745=$s+4|0;HEAP8[$1745>>0]=$1744;$1746=_bitshift64Lshr($1652|0,$1653|0,19)|0;$1747=tempRet0;$1748=_bitshift64Shl($1660|0,$1661|0,2)|0;$1749=tempRet0;$1750=$1748|$1746;$1749|$1747;$1751=$1750&255;$1752=$s+5|0;HEAP8[$1752>>0]=$1751;$1753=_bitshift64Lshr($1660|0,$1661|0,6)|0;$1754=tempRet0;$1755=$1753&255;$1756=$s+6|0;HEAP8[$1756>>0]=$1755;$1757=_bitshift64Lshr($1660|0,$1661|0,14)|0;$1758=tempRet0;$1759=_bitshift64Shl($1668|0,$1669|0,7)|0;$1760=tempRet0;$1761=$1759|$1757;$1760|$1758;$1762=$1761&255;$1763=$s+7|0;HEAP8[$1763>>0]=$1762;$1764=_bitshift64Lshr($1668|0,$1669|0,1)|0;$1765=tempRet0;$1766=$1764&255;$1767=$s+8|0;HEAP8[$1767>>0]=$1766;$1768=_bitshift64Lshr($1668|0,$1669|0,9)|0;$1769=tempRet0;$1770=$1768&255;$1771=$s+9|0;HEAP8[$1771>>0]=$1770;$1772=_bitshift64Lshr($1668|0,$1669|0,17)|0;$1773=tempRet0;$1774=_bitshift64Shl($1676|0,$1677|0,4)|0;$1775=tempRet0;$1776=$1774|$1772;$1775|$1773;$1777=$1776&255;$1778=$s+10|0;HEAP8[$1778>>0]=$1777;$1779=_bitshift64Lshr($1676|0,$1677|0,4)|0;$1780=tempRet0;$1781=$1779&255;$1782=$s+11|0;HEAP8[$1782>>0]=$1781;$1783=_bitshift64Lshr($1676|0,$1677|0,12)|0;$1784=tempRet0;$1785=$1783&255;$1786=$s+12|0;HEAP8[$1786>>0]=$1785;$1787=_bitshift64Lshr($1676|0,$1677|0,20)|0;$1788=tempRet0;$1789=_bitshift64Shl($1684|0,$1685|0,1)|0;$1790=tempRet0;$1791=$1789|$1787;$1790|$1788;$1792=$1791&255;$1793=$s+13|0;HEAP8[$1793>>0]=$1792;$1794=_bitshift64Lshr($1684|0,$1685|0,7)|0;$1795=tempRet0;$1796=$1794&255;$1797=$s+14|0;HEAP8[$1797>>0]=$1796;$1798=_bitshift64Lshr($1684|0,$1685|0,15)|0;$1799=tempRet0;$1800=_bitshift64Shl($1692|0,$1693|0,6)|0;$1801=tempRet0;$1802=$1800|$1798;$1801|$1799;$1803=$1802&255;$1804=$s+15|0;HEAP8[$1804>>0]=$1803;$1805=_bitshift64Lshr($1692|0,$1693|0,2)|0;$1806=tempRet0;$1807=$1805&255;$1808=$s+16|0;HEAP8[$1808>>0]=$1807;$1809=_bitshift64Lshr($1692|0,$1693|0,10)|0;$1810=tempRet0;$1811=$1809&255;$1812=$s+17|0;HEAP8[$1812>>0]=$1811;$1813=_bitshift64Lshr($1692|0,$1693|0,18)|0;$1814=tempRet0;$1815=_bitshift64Shl($1700|0,$1701|0,3)|0;$1816=tempRet0;$1817=$1815|$1813;$1816|$1814;$1818=$1817&255;$1819=$s+18|0;HEAP8[$1819>>0]=$1818;$1820=_bitshift64Lshr($1700|0,$1701|0,5)|0;$1821=tempRet0;$1822=$1820&255;$1823=$s+19|0;HEAP8[$1823>>0]=$1822;$1824=_bitshift64Lshr($1700|0,$1701|0,13)|0;$1825=tempRet0;$1826=$1824&255;$1827=$s+20|0;HEAP8[$1827>>0]=$1826;$1828=$1708&255;$1829=$s+21|0;HEAP8[$1829>>0]=$1828;$1830=_bitshift64Lshr($1708|0,$1709|0,8)|0;$1831=tempRet0;$1832=$1830&255;$1833=$s+22|0;HEAP8[$1833>>0]=$1832;$1834=_bitshift64Lshr($1708|0,$1709|0,16)|0;$1835=tempRet0;$1836=_bitshift64Shl($1716|0,$1717|0,5)|0;$1837=tempRet0;$1838=$1836|$1834;$1837|$1835;$1839=$1838&255;$1840=$s+23|0;HEAP8[$1840>>0]=$1839;$1841=_bitshift64Lshr($1716|0,$1717|0,3)|0;$1842=tempRet0;$1843=$1841&255;$1844=$s+24|0;HEAP8[$1844>>0]=$1843;$1845=_bitshift64Lshr($1716|0,$1717|0,11)|0;$1846=tempRet0;$1847=$1845&255;$1848=$s+25|0;HEAP8[$1848>>0]=$1847;$1849=_bitshift64Lshr($1716|0,$1717|0,19)|0;$1850=tempRet0;$1851=_bitshift64Shl($1724|0,$1725|0,2)|0;$1852=tempRet0;$1853=$1851|$1849;$1852|$1850;$1854=$1853&255;$1855=$s+26|0;HEAP8[$1855>>0]=$1854;$1856=_bitshift64Lshr($1724|0,$1725|0,6)|0;$1857=tempRet0;$1858=$1856&255;$1859=$s+27|0;HEAP8[$1859>>0]=$1858;$1860=_bitshift64Lshr($1724|0,$1725|0,14)|0;$1861=tempRet0;$1862=_bitshift64Shl($1720|0,$1721|0,7)|0;$1863=tempRet0;$1864=$1860|$1862;$1861|$1863;$1865=$1864&255;$1866=$s+28|0;HEAP8[$1866>>0]=$1865;$1867=_bitshift64Lshr($1720|0,$1721|0,1)|0;$1868=tempRet0;$1869=$1867&255;$1870=$s+29|0;HEAP8[$1870>>0]=$1869;$1871=_bitshift64Lshr($1720|0,$1721|0,9)|0;$1872=tempRet0;$1873=$1871&255;$1874=$s+30|0;HEAP8[$1874>>0]=$1873;$1875=_bitshift64Lshr($1720|0,$1721|0,17)|0;$1876=tempRet0;$1877=$1875&255;$1878=$s+31|0;HEAP8[$1878>>0]=$1877;STACKTOP=sp;return}function _load_347($in){$in=$in|0;var $0=0,$1=0,$10=0,$11=0,$12=0,$13=0,$14=0,$2=0,$3=0,$4=0,$5=0,$6=0,$7=0,$8=0,$9=0,label=0,sp=0;sp=STACKTOP;$0=HEAP8[$in>>0]|0;$1=$0&255;$2=$in+1|0;$3=HEAP8[$2>>0]|0;$4=$3&255;$5=_bitshift64Shl($4|0,0,8)|0;$6=tempRet0;$7=$5|$1;$8=$in+2|0;$9=HEAP8[$8>>0]|0;$10=$9&255;$11=_bitshift64Shl($10|0,0,16)|0;$12=tempRet0;$13=$7|$11;$14=$6|$12;tempRet0=$14;STACKTOP=sp;return $13|0}function _load_448($in){$in=$in|0;var $0=0,$1=0,$10=0,$11=0,$12=0,$13=0,$14=0,$15=0,$16=0,$17=0,$18=0,$19=0,$2=0,$20=0,$21=0,$3=0,$4=0,$5=0,$6=0,$7=0;var $8=0,$9=0,label=0,sp=0;sp=STACKTOP;$0=HEAP8[$in>>0]|0;$1=$0&255;$2=$in+1|0;$3=HEAP8[$2>>0]|0;$4=$3&255;$5=_bitshift64Shl($4|0,0,8)|0;$6=tempRet0;$7=$5|$1;$8=$in+2|0;$9=HEAP8[$8>>0]|0;$10=$9&255;$11=_bitshift64Shl($10|0,0,16)|0;$12=tempRet0;$13=$7|$11;$14=$6|$12;$15=$in+3|0;$16=HEAP8[$15>>0]|0;$17=$16&255;$18=_bitshift64Shl($17|0,0,24)|0;$19=tempRet0;$20=$13|$18;$21=$14|$19;tempRet0=$21;STACKTOP=sp;return $20|0}function _crypto_sign_ed25519_ref10_sc_reduce($s){$s=$s|0;var $0=0,$1=0,$10=0,$100=0,$1000=0,$1001=0,$1002=0,$1003=0,$1004=0,$1005=0,$1006=0,$1007=0,$1008=0,$1009=0,$101=0,$1010=0,$1011=0,$1012=0,$1013=0,$1014=0;var $1015=0,$1016=0,$1017=0,$1018=0,$1019=0,$102=0,$1020=0,$1021=0,$1022=0,$103=0,$104=0,$105=0,$106=0,$107=0,$108=0,$109=0,$11=0,$110=0,$111=0,$112=0;var $113=0,$114=0,$115=0,$116=0,$117=0,$118=0,$119=0,$12=0,$120=0,$121=0,$122=0,$123=0,$124=0,$125=0,$126=0,$127=0,$128=0,$129=0,$13=0,$130=0;var $131=0,$132=0,$133=0,$134=0,$135=0,$136=0,$137=0,$138=0,$139=0,$14=0,$140=0,$141=0,$142=0,$143=0,$144=0,$145=0,$146=0,$147=0,$148=0,$149=0;var $15=0,$150=0,$151=0,$152=0,$153=0,$154=0,$155=0,$156=0,$157=0,$158=0,$159=0,$16=0,$160=0,$161=0,$162=0,$163=0,$164=0,$165=0,$166=0,$167=0;var $168=0,$169=0,$17=0,$170=0,$171=0,$172=0,$173=0,$174=0,$175=0,$176=0,$177=0,$178=0,$179=0,$18=0,$180=0,$181=0,$182=0,$183=0,$184=0,$185=0;var $186=0,$187=0,$188=0,$189=0,$19=0,$190=0,$191=0,$192=0,$193=0,$194=0,$195=0,$196=0,$197=0,$198=0,$199=0,$2=0,$20=0,$200=0,$201=0,$202=0;var $203=0,$204=0,$205=0,$206=0,$207=0,$208=0,$209=0,$21=0,$210=0,$211=0,$212=0,$213=0,$214=0,$215=0,$216=0,$217=0,$218=0,$219=0,$22=0,$220=0;var $221=0,$222=0,$223=0,$224=0,$225=0,$226=0,$227=0,$228=0,$229=0,$23=0,$230=0,$231=0,$232=0,$233=0,$234=0,$235=0,$236=0,$237=0,$238=0,$239=0;var $24=0,$240=0,$241=0,$242=0,$243=0,$244=0,$245=0,$246=0,$247=0,$248=0,$249=0,$25=0,$250=0,$251=0,$252=0,$253=0,$254=0,$255=0,$256=0,$257=0;var $258=0,$259=0,$26=0,$260=0,$261=0,$262=0,$263=0,$264=0,$265=0,$266=0,$267=0,$268=0,$269=0,$27=0,$270=0,$271=0,$272=0,$273=0,$274=0,$275=0;var $276=0,$277=0,$278=0,$279=0,$28=0,$280=0,$281=0,$282=0,$283=0,$284=0,$285=0,$286=0,$287=0,$288=0,$289=0,$29=0,$290=0,$291=0,$292=0,$293=0;var $294=0,$295=0,$296=0,$297=0,$298=0,$299=0,$3=0,$30=0,$300=0,$301=0,$302=0,$303=0,$304=0,$305=0,$306=0,$307=0,$308=0,$309=0,$31=0,$310=0;var $311=0,$312=0,$313=0,$314=0,$315=0,$316=0,$317=0,$318=0,$319=0,$32=0,$320=0,$321=0,$322=0,$323=0,$324=0,$325=0,$326=0,$327=0,$328=0,$329=0;var $33=0,$330=0,$331=0,$332=0,$333=0,$334=0,$335=0,$336=0,$337=0,$338=0,$339=0,$34=0,$340=0,$341=0,$342=0,$343=0,$344=0,$345=0,$346=0,$347=0;var $348=0,$349=0,$35=0,$350=0,$351=0,$352=0,$353=0,$354=0,$355=0,$356=0,$357=0,$358=0,$359=0,$36=0,$360=0,$361=0,$362=0,$363=0,$364=0,$365=0;var $366=0,$367=0,$368=0,$369=0,$37=0,$370=0,$371=0,$372=0,$373=0,$374=0,$375=0,$376=0,$377=0,$378=0,$379=0,$38=0,$380=0,$381=0,$382=0,$383=0;var $384=0,$385=0,$386=0,$387=0,$388=0,$389=0,$39=0,$390=0,$391=0,$392=0,$393=0,$394=0,$395=0,$396=0,$397=0,$398=0,$399=0,$4=0,$40=0,$400=0;var $401=0,$402=0,$403=0,$404=0,$405=0,$406=0,$407=0,$408=0,$409=0,$41=0,$410=0,$411=0,$412=0,$413=0,$414=0,$415=0,$416=0,$417=0,$418=0,$419=0;var $42=0,$420=0,$421=0,$422=0,$423=0,$424=0,$425=0,$426=0,$427=0,$428=0,$429=0,$43=0,$430=0,$431=0,$432=0,$433=0,$434=0,$435=0,$436=0,$437=0;var $438=0,$439=0,$44=0,$440=0,$441=0,$442=0,$443=0,$444=0,$445=0,$446=0,$447=0,$448=0,$449=0,$45=0,$450=0,$451=0,$452=0,$453=0,$454=0,$455=0;var $456=0,$457=0,$458=0,$459=0,$46=0,$460=0,$461=0,$462=0,$463=0,$464=0,$465=0,$466=0,$467=0,$468=0,$469=0,$47=0,$470=0,$471=0,$472=0,$473=0;var $474=0,$475=0,$476=0,$477=0,$478=0,$479=0,$48=0,$480=0,$481=0,$482=0,$483=0,$484=0,$485=0,$486=0,$487=0,$488=0,$489=0,$49=0,$490=0,$491=0;var $492=0,$493=0,$494=0,$495=0,$496=0,$497=0,$498=0,$499=0,$5=0,$50=0,$500=0,$501=0,$502=0,$503=0,$504=0,$505=0,$506=0,$507=0,$508=0,$509=0;var $51=0,$510=0,$511=0,$512=0,$513=0,$514=0,$515=0,$516=0,$517=0,$518=0,$519=0,$52=0,$520=0,$521=0,$522=0,$523=0,$524=0,$525=0,$526=0,$527=0;var $528=0,$529=0,$53=0,$530=0,$531=0,$532=0,$533=0,$534=0,$535=0,$536=0,$537=0,$538=0,$539=0,$54=0,$540=0,$541=0,$542=0,$543=0,$544=0,$545=0;var $546=0,$547=0,$548=0,$549=0,$55=0,$550=0,$551=0,$552=0,$553=0,$554=0,$555=0,$556=0,$557=0,$558=0,$559=0,$56=0,$560=0,$561=0,$562=0,$563=0;var $564=0,$565=0,$566=0,$567=0,$568=0,$569=0,$57=0,$570=0,$571=0,$572=0,$573=0,$574=0,$575=0,$576=0,$577=0,$578=0,$579=0,$58=0,$580=0,$581=0;var $582=0,$583=0,$584=0,$585=0,$586=0,$587=0,$588=0,$589=0,$59=0,$590=0,$591=0,$592=0,$593=0,$594=0,$595=0,$596=0,$597=0,$598=0,$599=0,$6=0;var $60=0,$600=0,$601=0,$602=0,$603=0,$604=0,$605=0,$606=0,$607=0,$608=0,$609=0,$61=0,$610=0,$611=0,$612=0,$613=0,$614=0,$615=0,$616=0,$617=0;var $618=0,$619=0,$62=0,$620=0,$621=0,$622=0,$623=0,$624=0,$625=0,$626=0,$627=0,$628=0,$629=0,$63=0,$630=0,$631=0,$632=0,$633=0,$634=0,$635=0;var $636=0,$637=0,$638=0,$639=0,$64=0,$640=0,$641=0,$642=0,$643=0,$644=0,$645=0,$646=0,$647=0,$648=0,$649=0,$65=0,$650=0,$651=0,$652=0,$653=0;var $654=0,$655=0,$656=0,$657=0,$658=0,$659=0,$66=0,$660=0,$661=0,$662=0,$663=0,$664=0,$665=0,$666=0,$667=0,$668=0,$669=0,$67=0,$670=0,$671=0;var $672=0,$673=0,$674=0,$675=0,$676=0,$677=0,$678=0,$679=0,$68=0,$680=0,$681=0,$682=0,$683=0,$684=0,$685=0,$686=0,$687=0,$688=0,$689=0,$69=0;var $690=0,$691=0,$692=0,$693=0,$694=0,$695=0,$696=0,$697=0,$698=0,$699=0,$7=0,$70=0,$700=0,$701=0,$702=0,$703=0,$704=0,$705=0,$706=0,$707=0;var $708=0,$709=0,$71=0,$710=0,$711=0,$712=0,$713=0,$714=0,$715=0,$716=0,$717=0,$718=0,$719=0,$72=0,$720=0,$721=0,$722=0,$723=0,$724=0,$725=0;var $726=0,$727=0,$728=0,$729=0,$73=0,$730=0,$731=0,$732=0,$733=0,$734=0,$735=0,$736=0,$737=0,$738=0,$739=0,$74=0,$740=0,$741=0,$742=0,$743=0;var $744=0,$745=0,$746=0,$747=0,$748=0,$749=0,$75=0,$750=0,$751=0,$752=0,$753=0,$754=0,$755=0,$756=0,$757=0,$758=0,$759=0,$76=0,$760=0,$761=0;var $762=0,$763=0,$764=0,$765=0,$766=0,$767=0,$768=0,$769=0,$77=0,$770=0,$771=0,$772=0,$773=0,$774=0,$775=0,$776=0,$777=0,$778=0,$779=0,$78=0;var $780=0,$781=0,$782=0,$783=0,$784=0,$785=0,$786=0,$787=0,$788=0,$789=0,$79=0,$790=0,$791=0,$792=0,$793=0,$794=0,$795=0,$796=0,$797=0,$798=0;var $799=0,$8=0,$80=0,$800=0,$801=0,$802=0,$803=0,$804=0,$805=0,$806=0,$807=0,$808=0,$809=0,$81=0,$810=0,$811=0,$812=0,$813=0,$814=0,$815=0;var $816=0,$817=0,$818=0,$819=0,$82=0,$820=0,$821=0,$822=0,$823=0,$824=0,$825=0,$826=0,$827=0,$828=0,$829=0,$83=0,$830=0,$831=0,$832=0,$833=0;var $834=0,$835=0,$836=0,$837=0,$838=0,$839=0,$84=0,$840=0,$841=0,$842=0,$843=0,$844=0,$845=0,$846=0,$847=0,$848=0,$849=0,$85=0,$850=0,$851=0;var $852=0,$853=0,$854=0,$855=0,$856=0,$857=0,$858=0,$859=0,$86=0,$860=0,$861=0,$862=0,$863=0,$864=0,$865=0,$866=0,$867=0,$868=0,$869=0,$87=0;var $870=0,$871=0,$872=0,$873=0,$874=0,$875=0,$876=0,$877=0,$878=0,$879=0,$88=0,$880=0,$881=0,$882=0,$883=0,$884=0,$885=0,$886=0,$887=0,$888=0;var $889=0,$89=0,$890=0,$891=0,$892=0,$893=0,$894=0,$895=0,$896=0,$897=0,$898=0,$899=0,$9=0,$90=0,$900=0,$901=0,$902=0,$903=0,$904=0,$905=0;var $906=0,$907=0,$908=0,$909=0,$91=0,$910=0,$911=0,$912=0,$913=0,$914=0,$915=0,$916=0,$917=0,$918=0,$919=0,$92=0,$920=0,$921=0,$922=0,$923=0;var $924=0,$925=0,$926=0,$927=0,$928=0,$929=0,$93=0,$930=0,$931=0,$932=0,$933=0,$934=0,$935=0,$936=0,$937=0,$938=0,$939=0,$94=0,$940=0,$941=0;var $942=0,$943=0,$944=0,$945=0,$946=0,$947=0,$948=0,$949=0,$95=0,$950=0,$951=0,$952=0,$953=0,$954=0,$955=0,$956=0,$957=0,$958=0,$959=0,$96=0;var $960=0,$961=0,$962=0,$963=0,$964=0,$965=0,$966=0,$967=0,$968=0,$969=0,$97=0,$970=0,$971=0,$972=0,$973=0,$974=0,$975=0,$976=0,$977=0,$978=0;var $979=0,$98=0,$980=0,$981=0,$982=0,$983=0,$984=0,$985=0,$986=0,$987=0,$988=0,$989=0,$99=0,$990=0,$991=0,$992=0,$993=0,$994=0,$995=0,$996=0;var $997=0,$998=0,$999=0,label=0,sp=0;sp=STACKTOP;$0=_load_351($s)|0;$1=tempRet0;$2=$0&2097151;$3=$s+2|0;$4=_load_452($3)|0;$5=tempRet0;$6=_bitshift64Lshr($4|0,$5|0,5)|0;$7=tempRet0;$8=$6&2097151;$9=$s+5|0;$10=_load_351($9)|0;$11=tempRet0;$12=_bitshift64Lshr($10|0,$11|0,2)|0;$13=tempRet0;$14=$12&2097151;$15=$s+7|0;$16=_load_452($15)|0;$17=tempRet0;$18=_bitshift64Lshr($16|0,$17|0,7)|0;$19=tempRet0;$20=$18&2097151;$21=$s+10|0;$22=_load_452($21)|0;$23=tempRet0;$24=_bitshift64Lshr($22|0,$23|0,4)|0;$25=tempRet0;$26=$24&2097151;$27=$s+13|0;$28=_load_351($27)|0;$29=tempRet0;$30=_bitshift64Lshr($28|0,$29|0,1)|0;$31=tempRet0;$32=$30&2097151;$33=$s+15|0;$34=_load_452($33)|0;$35=tempRet0;$36=_bitshift64Lshr($34|0,$35|0,6)|0;$37=tempRet0;$38=$36&2097151;$39=$s+18|0;$40=_load_351($39)|0;$41=tempRet0;$42=_bitshift64Lshr($40|0,$41|0,3)|0;$43=tempRet0;$44=$42&2097151;$45=$s+21|0;$46=_load_351($45)|0;$47=tempRet0;$48=$46&2097151;$49=$s+23|0;$50=_load_452($49)|0;$51=tempRet0;$52=_bitshift64Lshr($50|0,$51|0,5)|0;$53=tempRet0;$54=$52&2097151;$55=$s+26|0;$56=_load_351($55)|0;$57=tempRet0;$58=_bitshift64Lshr($56|0,$57|0,2)|0;$59=tempRet0;$60=$58&2097151;$61=$s+28|0;$62=_load_452($61)|0;$63=tempRet0;$64=_bitshift64Lshr($62|0,$63|0,7)|0;$65=tempRet0;$66=$64&2097151;$67=$s+31|0;$68=_load_452($67)|0;$69=tempRet0;$70=_bitshift64Lshr($68|0,$69|0,4)|0;$71=tempRet0;$72=$70&2097151;$73=$s+34|0;$74=_load_351($73)|0;$75=tempRet0;$76=_bitshift64Lshr($74|0,$75|0,1)|0;$77=tempRet0;$78=$76&2097151;$79=$s+36|0;$80=_load_452($79)|0;$81=tempRet0;$82=_bitshift64Lshr($80|0,$81|0,6)|0;$83=tempRet0;$84=$82&2097151;$85=$s+39|0;$86=_load_351($85)|0;$87=tempRet0;$88=_bitshift64Lshr($86|0,$87|0,3)|0;$89=tempRet0;$90=$88&2097151;$91=$s+42|0;$92=_load_351($91)|0;$93=tempRet0;$94=$92&2097151;$95=$s+44|0;$96=_load_452($95)|0;$97=tempRet0;$98=_bitshift64Lshr($96|0,$97|0,5)|0;$99=tempRet0;$100=$98&2097151;$101=$s+47|0;$102=_load_351($101)|0;$103=tempRet0;$104=_bitshift64Lshr($102|0,$103|0,2)|0;$105=tempRet0;$106=$104&2097151;$107=$s+49|0;$108=_load_452($107)|0;$109=tempRet0;$110=_bitshift64Lshr($108|0,$109|0,7)|0;$111=tempRet0;$112=$110&2097151;$113=$s+52|0;$114=_load_452($113)|0;$115=tempRet0;$116=_bitshift64Lshr($114|0,$115|0,4)|0;$117=tempRet0;$118=$116&2097151;$119=$s+55|0;$120=_load_351($119)|0;$121=tempRet0;$122=_bitshift64Lshr($120|0,$121|0,1)|0;$123=tempRet0;$124=$122&2097151;$125=$s+57|0;$126=_load_452($125)|0;$127=tempRet0;$128=_bitshift64Lshr($126|0,$127|0,6)|0;$129=tempRet0;$130=$128&2097151;$131=$s+60|0;$132=_load_452($131)|0;$133=tempRet0;$134=_bitshift64Lshr($132|0,$133|0,3)|0;$135=tempRet0;$136=___muldi3($134|0,$135|0,666643,0)|0;$137=tempRet0;$138=___muldi3($134|0,$135|0,470296,0)|0;$139=tempRet0;$140=___muldi3($134|0,$135|0,654183,0)|0;$141=tempRet0;$142=___muldi3($134|0,$135|0,-997805,-1)|0;$143=tempRet0;$144=___muldi3($134|0,$135|0,136657,0)|0;$145=tempRet0;$146=_i64Add($144|0,$145|0,$90|0,0)|0;$147=tempRet0;$148=___muldi3($134|0,$135|0,-683901,-1)|0;$149=tempRet0;$150=_i64Add($148|0,$149|0,$94|0,0)|0;$151=tempRet0;$152=___muldi3($130|0,0,666643,0)|0;$153=tempRet0;$154=___muldi3($130|0,0,470296,0)|0;$155=tempRet0;$156=___muldi3($130|0,0,654183,0)|0;$157=tempRet0;$158=___muldi3($130|0,0,-997805,-1)|0;$159=tempRet0;$160=___muldi3($130|0,0,136657,0)|0;$161=tempRet0;$162=___muldi3($130|0,0,-683901,-1)|0;$163=tempRet0;$164=_i64Add($146|0,$147|0,$162|0,$163|0)|0;$165=tempRet0;$166=___muldi3($124|0,0,666643,0)|0;$167=tempRet0;$168=___muldi3($124|0,0,470296,0)|0;$169=tempRet0;$170=___muldi3($124|0,0,654183,0)|0;$171=tempRet0;$172=___muldi3($124|0,0,-997805,-1)|0;$173=tempRet0;$174=___muldi3($124|0,0,136657,0)|0;$175=tempRet0;$176=___muldi3($124|0,0,-683901,-1)|0;$177=tempRet0;$178=_i64Add($176|0,$177|0,$84|0,0)|0;$179=tempRet0;$180=_i64Add($178|0,$179|0,$142|0,$143|0)|0;$181=tempRet0;$182=_i64Add($180|0,$181|0,$160|0,$161|0)|0;$183=tempRet0;$184=___muldi3($118|0,0,666643,0)|0;$185=tempRet0;$186=___muldi3($118|0,0,470296,0)|0;$187=tempRet0;$188=___muldi3($118|0,0,654183,0)|0;$189=tempRet0;$190=___muldi3($118|0,0,-997805,-1)|0;$191=tempRet0;$192=___muldi3($118|0,0,136657,0)|0;$193=tempRet0;$194=___muldi3($118|0,0,-683901,-1)|0;$195=tempRet0;$196=___muldi3($112|0,0,666643,0)|0;$197=tempRet0;$198=___muldi3($112|0,0,470296,0)|0;$199=tempRet0;$200=___muldi3($112|0,0,654183,0)|0;$201=tempRet0;$202=___muldi3($112|0,0,-997805,-1)|0;$203=tempRet0;$204=___muldi3($112|0,0,136657,0)|0;$205=tempRet0;$206=___muldi3($112|0,0,-683901,-1)|0;$207=tempRet0;$208=_i64Add($206|0,$207|0,$72|0,0)|0;$209=tempRet0;$210=_i64Add($208|0,$209|0,$192|0,$193|0)|0;$211=tempRet0;$212=_i64Add($210|0,$211|0,$172|0,$173|0)|0;$213=tempRet0;$214=_i64Add($212|0,$213|0,$138|0,$139|0)|0;$215=tempRet0;$216=_i64Add($214|0,$215|0,$156|0,$157|0)|0;$217=tempRet0;$218=___muldi3($106|0,0,666643,0)|0;$219=tempRet0;$220=_i64Add($218|0,$219|0,$38|0,0)|0;$221=tempRet0;$222=___muldi3($106|0,0,470296,0)|0;$223=tempRet0;$224=___muldi3($106|0,0,654183,0)|0;$225=tempRet0;$226=_i64Add($224|0,$225|0,$48|0,0)|0;$227=tempRet0;$228=_i64Add($226|0,$227|0,$198|0,$199|0)|0;$229=tempRet0;$230=_i64Add($228|0,$229|0,$184|0,$185|0)|0;$231=tempRet0;$232=___muldi3($106|0,0,-997805,-1)|0;$233=tempRet0;$234=___muldi3($106|0,0,136657,0)|0;$235=tempRet0;$236=_i64Add($234|0,$235|0,$60|0,0)|0;$237=tempRet0;$238=_i64Add($236|0,$237|0,$202|0,$203|0)|0;$239=tempRet0;$240=_i64Add($238|0,$239|0,$188|0,$189|0)|0;$241=tempRet0;$242=_i64Add($240|0,$241|0,$168|0,$169|0)|0;$243=tempRet0;$244=_i64Add($242|0,$243|0,$152|0,$153|0)|0;$245=tempRet0;$246=___muldi3($106|0,0,-683901,-1)|0;$247=tempRet0;$248=_i64Add($220|0,$221|0,1048576,0)|0;$249=tempRet0;$250=_bitshift64Lshr($248|0,$249|0,21)|0;$251=tempRet0;$252=_i64Add($222|0,$223|0,$44|0,0)|0;$253=tempRet0;$254=_i64Add($252|0,$253|0,$196|0,$197|0)|0;$255=tempRet0;$256=_i64Add($254|0,$255|0,$250|0,$251|0)|0;$257=tempRet0;$258=_bitshift64Shl($250|0,$251|0,21)|0;$259=tempRet0;$260=_i64Subtract($220|0,$221|0,$258|0,$259|0)|0;$261=tempRet0;$262=_i64Add($230|0,$231|0,1048576,0)|0;$263=tempRet0;$264=_bitshift64Lshr($262|0,$263|0,21)|0;$265=tempRet0;$266=_i64Add($232|0,$233|0,$54|0,0)|0;$267=tempRet0;$268=_i64Add($266|0,$267|0,$200|0,$201|0)|0;$269=tempRet0;$270=_i64Add($268|0,$269|0,$186|0,$187|0)|0;$271=tempRet0;$272=_i64Add($270|0,$271|0,$166|0,$167|0)|0;$273=tempRet0;$274=_i64Add($272|0,$273|0,$264|0,$265|0)|0;$275=tempRet0;$276=_bitshift64Shl($264|0,$265|0,21)|0;$277=tempRet0;$278=_i64Subtract($230|0,$231|0,$276|0,$277|0)|0;$279=tempRet0;$280=_i64Add($244|0,$245|0,1048576,0)|0;$281=tempRet0;$282=_bitshift64Ashr($280|0,$281|0,21)|0;$283=tempRet0;$284=_i64Add($246|0,$247|0,$66|0,0)|0;$285=tempRet0;$286=_i64Add($284|0,$285|0,$204|0,$205|0)|0;$287=tempRet0;$288=_i64Add($286|0,$287|0,$190|0,$191|0)|0;$289=tempRet0;$290=_i64Add($288|0,$289|0,$170|0,$171|0)|0;$291=tempRet0;$292=_i64Add($290|0,$291|0,$136|0,$137|0)|0;$293=tempRet0;$294=_i64Add($292|0,$293|0,$154|0,$155|0)|0;$295=tempRet0;$296=_i64Add($294|0,$295|0,$282|0,$283|0)|0;$297=tempRet0;$298=_bitshift64Shl($282|0,$283|0,21)|0;$299=tempRet0;$300=_i64Subtract($244|0,$245|0,$298|0,$299|0)|0;$301=tempRet0;$302=_i64Add($216|0,$217|0,1048576,0)|0;$303=tempRet0;$304=_bitshift64Ashr($302|0,$303|0,21)|0;$305=tempRet0;$306=_i64Add($194|0,$195|0,$78|0,0)|0;$307=tempRet0;$308=_i64Add($306|0,$307|0,$174|0,$175|0)|0;$309=tempRet0;$310=_i64Add($308|0,$309|0,$140|0,$141|0)|0;$311=tempRet0;$312=_i64Add($310|0,$311|0,$158|0,$159|0)|0;$313=tempRet0;$314=_i64Add($312|0,$313|0,$304|0,$305|0)|0;$315=tempRet0;$316=_bitshift64Shl($304|0,$305|0,21)|0;$317=tempRet0;$318=_i64Subtract($216|0,$217|0,$316|0,$317|0)|0;$319=tempRet0;$320=_i64Add($182|0,$183|0,1048576,0)|0;$321=tempRet0;$322=_bitshift64Ashr($320|0,$321|0,21)|0;$323=tempRet0;$324=_i64Add($164|0,$165|0,$322|0,$323|0)|0;$325=tempRet0;$326=_bitshift64Shl($322|0,$323|0,21)|0;$327=tempRet0;$328=_i64Subtract($182|0,$183|0,$326|0,$327|0)|0;$329=tempRet0;$330=_i64Add($150|0,$151|0,1048576,0)|0;$331=tempRet0;$332=_bitshift64Ashr($330|0,$331|0,21)|0;$333=tempRet0;$334=_i64Add($332|0,$333|0,$100|0,0)|0;$335=tempRet0;$336=_bitshift64Shl($332|0,$333|0,21)|0;$337=tempRet0;$338=_i64Subtract($150|0,$151|0,$336|0,$337|0)|0;$339=tempRet0;$340=_i64Add($256|0,$257|0,1048576,0)|0;$341=tempRet0;$342=_bitshift64Lshr($340|0,$341|0,21)|0;$343=tempRet0;$344=_i64Add($278|0,$279|0,$342|0,$343|0)|0;$345=tempRet0;$346=_bitshift64Shl($342|0,$343|0,21)|0;$347=tempRet0;$348=_i64Subtract($256|0,$257|0,$346|0,$347|0)|0;$349=tempRet0;$350=_i64Add($274|0,$275|0,1048576,0)|0;$351=tempRet0;$352=_bitshift64Ashr($350|0,$351|0,21)|0;$353=tempRet0;$354=_i64Add($300|0,$301|0,$352|0,$353|0)|0;$355=tempRet0;$356=_bitshift64Shl($352|0,$353|0,21)|0;$357=tempRet0;$358=_i64Subtract($274|0,$275|0,$356|0,$357|0)|0;$359=tempRet0;$360=_i64Add($296|0,$297|0,1048576,0)|0;$361=tempRet0;$362=_bitshift64Ashr($360|0,$361|0,21)|0;$363=tempRet0;$364=_i64Add($318|0,$319|0,$362|0,$363|0)|0;$365=tempRet0;$366=_bitshift64Shl($362|0,$363|0,21)|0;$367=tempRet0;$368=_i64Subtract($296|0,$297|0,$366|0,$367|0)|0;$369=tempRet0;$370=_i64Add($314|0,$315|0,1048576,0)|0;$371=tempRet0;$372=_bitshift64Ashr($370|0,$371|0,21)|0;$373=tempRet0;$374=_i64Add($372|0,$373|0,$328|0,$329|0)|0;$375=tempRet0;$376=_bitshift64Shl($372|0,$373|0,21)|0;$377=tempRet0;$378=_i64Subtract($314|0,$315|0,$376|0,$377|0)|0;$379=tempRet0;$380=_i64Add($324|0,$325|0,1048576,0)|0;$381=tempRet0;$382=_bitshift64Ashr($380|0,$381|0,21)|0;$383=tempRet0;$384=_i64Add($382|0,$383|0,$338|0,$339|0)|0;$385=tempRet0;$386=_bitshift64Shl($382|0,$383|0,21)|0;$387=tempRet0;$388=_i64Subtract($324|0,$325|0,$386|0,$387|0)|0;$389=tempRet0;$390=___muldi3($334|0,$335|0,666643,0)|0;$391=tempRet0;$392=_i64Add($390|0,$391|0,$32|0,0)|0;$393=tempRet0;$394=___muldi3($334|0,$335|0,470296,0)|0;$395=tempRet0;$396=_i64Add($260|0,$261|0,$394|0,$395|0)|0;$397=tempRet0;$398=___muldi3($334|0,$335|0,654183,0)|0;$399=tempRet0;$400=_i64Add($348|0,$349|0,$398|0,$399|0)|0;$401=tempRet0;$402=___muldi3($334|0,$335|0,-997805,-1)|0;$403=tempRet0;$404=_i64Add($344|0,$345|0,$402|0,$403|0)|0;$405=tempRet0;$406=___muldi3($334|0,$335|0,136657,0)|0;$407=tempRet0;$408=_i64Add($358|0,$359|0,$406|0,$407|0)|0;$409=tempRet0;$410=___muldi3($334|0,$335|0,-683901,-1)|0;$411=tempRet0;$412=_i64Add($354|0,$355|0,$410|0,$411|0)|0;$413=tempRet0;$414=___muldi3($384|0,$385|0,666643,0)|0;$415=tempRet0;$416=___muldi3($384|0,$385|0,470296,0)|0;$417=tempRet0;$418=___muldi3($384|0,$385|0,654183,0)|0;$419=tempRet0;$420=_i64Add($396|0,$397|0,$418|0,$419|0)|0;$421=tempRet0;$422=___muldi3($384|0,$385|0,-997805,-1)|0;$423=tempRet0;$424=_i64Add($400|0,$401|0,$422|0,$423|0)|0;$425=tempRet0;$426=___muldi3($384|0,$385|0,136657,0)|0;$427=tempRet0;$428=_i64Add($404|0,$405|0,$426|0,$427|0)|0;$429=tempRet0;$430=___muldi3($384|0,$385|0,-683901,-1)|0;$431=tempRet0;$432=_i64Add($408|0,$409|0,$430|0,$431|0)|0;$433=tempRet0;$434=___muldi3($388|0,$389|0,666643,0)|0;$435=tempRet0;$436=___muldi3($388|0,$389|0,470296,0)|0;$437=tempRet0;$438=___muldi3($388|0,$389|0,654183,0)|0;$439=tempRet0;$440=___muldi3($388|0,$389|0,-997805,-1)|0;$441=tempRet0;$442=___muldi3($388|0,$389|0,136657,0)|0;$443=tempRet0;$444=___muldi3($388|0,$389|0,-683901,-1)|0;$445=tempRet0;$446=_i64Add($428|0,$429|0,$444|0,$445|0)|0;$447=tempRet0;$448=___muldi3($374|0,$375|0,666643,0)|0;$449=tempRet0;$450=___muldi3($374|0,$375|0,470296,0)|0;$451=tempRet0;$452=___muldi3($374|0,$375|0,654183,0)|0;$453=tempRet0;$454=___muldi3($374|0,$375|0,-997805,-1)|0;$455=tempRet0;$456=___muldi3($374|0,$375|0,136657,0)|0;$457=tempRet0;$458=___muldi3($374|0,$375|0,-683901,-1)|0;$459=tempRet0;$460=___muldi3($378|0,$379|0,666643,0)|0;$461=tempRet0;$462=___muldi3($378|0,$379|0,470296,0)|0;$463=tempRet0;$464=___muldi3($378|0,$379|0,654183,0)|0;$465=tempRet0;$466=___muldi3($378|0,$379|0,-997805,-1)|0;$467=tempRet0;$468=___muldi3($378|0,$379|0,136657,0)|0;$469=tempRet0;$470=___muldi3($378|0,$379|0,-683901,-1)|0;$471=tempRet0;$472=_i64Add($420|0,$421|0,$456|0,$457|0)|0;$473=tempRet0;$474=_i64Add($472|0,$473|0,$440|0,$441|0)|0;$475=tempRet0;$476=_i64Add($474|0,$475|0,$470|0,$471|0)|0;$477=tempRet0;$478=___muldi3($364|0,$365|0,666643,0)|0;$479=tempRet0;$480=_i64Add($478|0,$479|0,$2|0,0)|0;$481=tempRet0;$482=___muldi3($364|0,$365|0,470296,0)|0;$483=tempRet0;$484=___muldi3($364|0,$365|0,654183,0)|0;$485=tempRet0;$486=_i64Add($484|0,$485|0,$14|0,0)|0;$487=tempRet0;$488=_i64Add($486|0,$487|0,$448|0,$449|0)|0;$489=tempRet0;$490=_i64Add($488|0,$489|0,$462|0,$463|0)|0;$491=tempRet0;$492=___muldi3($364|0,$365|0,-997805,-1)|0;$493=tempRet0;$494=___muldi3($364|0,$365|0,136657,0)|0;$495=tempRet0;$496=_i64Add($494|0,$495|0,$26|0,0)|0;$497=tempRet0;$498=_i64Add($496|0,$497|0,$414|0,$415|0)|0;$499=tempRet0;$500=_i64Add($498|0,$499|0,$452|0,$453|0)|0;$501=tempRet0;$502=_i64Add($500|0,$501|0,$436|0,$437|0)|0;$503=tempRet0;$504=_i64Add($502|0,$503|0,$466|0,$467|0)|0;$505=tempRet0;$506=___muldi3($364|0,$365|0,-683901,-1)|0;$507=tempRet0;$508=_i64Add($480|0,$481|0,1048576,0)|0;$509=tempRet0;$510=_bitshift64Ashr($508|0,$509|0,21)|0;$511=tempRet0;$512=_i64Add($482|0,$483|0,$8|0,0)|0;$513=tempRet0;$514=_i64Add($512|0,$513|0,$460|0,$461|0)|0;$515=tempRet0;$516=_i64Add($514|0,$515|0,$510|0,$511|0)|0;$517=tempRet0;$518=_bitshift64Shl($510|0,$511|0,21)|0;$519=tempRet0;$520=_i64Subtract($480|0,$481|0,$518|0,$519|0)|0;$521=tempRet0;$522=_i64Add($490|0,$491|0,1048576,0)|0;$523=tempRet0;$524=_bitshift64Ashr($522|0,$523|0,21)|0;$525=tempRet0;$526=_i64Add($492|0,$493|0,$20|0,0)|0;$527=tempRet0;$528=_i64Add($526|0,$527|0,$450|0,$451|0)|0;$529=tempRet0;$530=_i64Add($528|0,$529|0,$434|0,$435|0)|0;$531=tempRet0;$532=_i64Add($530|0,$531|0,$464|0,$465|0)|0;$533=tempRet0;$534=_i64Add($532|0,$533|0,$524|0,$525|0)|0;$535=tempRet0;$536=_bitshift64Shl($524|0,$525|0,21)|0;$537=tempRet0;$538=_i64Add($504|0,$505|0,1048576,0)|0;$539=tempRet0;$540=_bitshift64Ashr($538|0,$539|0,21)|0;$541=tempRet0;$542=_i64Add($392|0,$393|0,$506|0,$507|0)|0;$543=tempRet0;$544=_i64Add($542|0,$543|0,$416|0,$417|0)|0;$545=tempRet0;$546=_i64Add($544|0,$545|0,$454|0,$455|0)|0;$547=tempRet0;$548=_i64Add($546|0,$547|0,$438|0,$439|0)|0;$549=tempRet0;$550=_i64Add($548|0,$549|0,$468|0,$469|0)|0;$551=tempRet0;$552=_i64Add($550|0,$551|0,$540|0,$541|0)|0;$553=tempRet0;$554=_bitshift64Shl($540|0,$541|0,21)|0;$555=tempRet0;$556=_i64Add($476|0,$477|0,1048576,0)|0;$557=tempRet0;$558=_bitshift64Ashr($556|0,$557|0,21)|0;$559=tempRet0;$560=_i64Add($424|0,$425|0,$458|0,$459|0)|0;$561=tempRet0;$562=_i64Add($560|0,$561|0,$442|0,$443|0)|0;$563=tempRet0;$564=_i64Add($562|0,$563|0,$558|0,$559|0)|0;$565=tempRet0;$566=_bitshift64Shl($558|0,$559|0,21)|0;$567=tempRet0;$568=_i64Subtract($476|0,$477|0,$566|0,$567|0)|0;$569=tempRet0;$570=_i64Add($446|0,$447|0,1048576,0)|0;$571=tempRet0;$572=_bitshift64Ashr($570|0,$571|0,21)|0;$573=tempRet0;$574=_i64Add($432|0,$433|0,$572|0,$573|0)|0;$575=tempRet0;$576=_bitshift64Shl($572|0,$573|0,21)|0;$577=tempRet0;$578=_i64Subtract($446|0,$447|0,$576|0,$577|0)|0;$579=tempRet0;$580=_i64Add($412|0,$413|0,1048576,0)|0;$581=tempRet0;$582=_bitshift64Ashr($580|0,$581|0,21)|0;$583=tempRet0;$584=_i64Add($582|0,$583|0,$368|0,$369|0)|0;$585=tempRet0;$586=_bitshift64Shl($582|0,$583|0,21)|0;$587=tempRet0;$588=_i64Subtract($412|0,$413|0,$586|0,$587|0)|0;$589=tempRet0;$590=_i64Add($516|0,$517|0,1048576,0)|0;$591=tempRet0;$592=_bitshift64Ashr($590|0,$591|0,21)|0;$593=tempRet0;$594=_bitshift64Shl($592|0,$593|0,21)|0;$595=tempRet0;$596=_i64Add($534|0,$535|0,1048576,0)|0;$597=tempRet0;$598=_bitshift64Ashr($596|0,$597|0,21)|0;$599=tempRet0;$600=_bitshift64Shl($598|0,$599|0,21)|0;$601=tempRet0;$602=_i64Add($552|0,$553|0,1048576,0)|0;$603=tempRet0;$604=_bitshift64Ashr($602|0,$603|0,21)|0;$605=tempRet0;$606=_i64Add($568|0,$569|0,$604|0,$605|0)|0;$607=tempRet0;$608=_bitshift64Shl($604|0,$605|0,21)|0;$609=tempRet0;$610=_i64Add($564|0,$565|0,1048576,0)|0;$611=tempRet0;$612=_bitshift64Ashr($610|0,$611|0,21)|0;$613=tempRet0;$614=_i64Add($578|0,$579|0,$612|0,$613|0)|0;$615=tempRet0;$616=_bitshift64Shl($612|0,$613|0,21)|0;$617=tempRet0;$618=_i64Subtract($564|0,$565|0,$616|0,$617|0)|0;$619=tempRet0;$620=_i64Add($574|0,$575|0,1048576,0)|0;$621=tempRet0;$622=_bitshift64Ashr($620|0,$621|0,21)|0;$623=tempRet0;$624=_i64Add($588|0,$589|0,$622|0,$623|0)|0;$625=tempRet0;$626=_bitshift64Shl($622|0,$623|0,21)|0;$627=tempRet0;$628=_i64Subtract($574|0,$575|0,$626|0,$627|0)|0;$629=tempRet0;$630=_i64Add($584|0,$585|0,1048576,0)|0;$631=tempRet0;$632=_bitshift64Ashr($630|0,$631|0,21)|0;$633=tempRet0;$634=_bitshift64Shl($632|0,$633|0,21)|0;$635=tempRet0;$636=_i64Subtract($584|0,$585|0,$634|0,$635|0)|0;$637=tempRet0;$638=___muldi3($632|0,$633|0,666643,0)|0;$639=tempRet0;$640=_i64Add($520|0,$521|0,$638|0,$639|0)|0;$641=tempRet0;$642=___muldi3($632|0,$633|0,470296,0)|0;$643=tempRet0;$644=___muldi3($632|0,$633|0,654183,0)|0;$645=tempRet0;$646=___muldi3($632|0,$633|0,-997805,-1)|0;$647=tempRet0;$648=___muldi3($632|0,$633|0,136657,0)|0;$649=tempRet0;$650=___muldi3($632|0,$633|0,-683901,-1)|0;$651=tempRet0;$652=_bitshift64Ashr($640|0,$641|0,21)|0;$653=tempRet0;$654=_i64Add($642|0,$643|0,$516|0,$517|0)|0;$655=tempRet0;$656=_i64Subtract($654|0,$655|0,$594|0,$595|0)|0;$657=tempRet0;$658=_i64Add($656|0,$657|0,$652|0,$653|0)|0;$659=tempRet0;$660=_bitshift64Shl($652|0,$653|0,21)|0;$661=tempRet0;$662=_i64Subtract($640|0,$641|0,$660|0,$661|0)|0;$663=tempRet0;$664=_bitshift64Ashr($658|0,$659|0,21)|0;$665=tempRet0;$666=_i64Add($644|0,$645|0,$490|0,$491|0)|0;$667=tempRet0;$668=_i64Subtract($666|0,$667|0,$536|0,$537|0)|0;$669=tempRet0;$670=_i64Add($668|0,$669|0,$592|0,$593|0)|0;$671=tempRet0;$672=_i64Add($670|0,$671|0,$664|0,$665|0)|0;$673=tempRet0;$674=_bitshift64Shl($664|0,$665|0,21)|0;$675=tempRet0;$676=_i64Subtract($658|0,$659|0,$674|0,$675|0)|0;$677=tempRet0;$678=_bitshift64Ashr($672|0,$673|0,21)|0;$679=tempRet0;$680=_i64Add($534|0,$535|0,$646|0,$647|0)|0;$681=tempRet0;$682=_i64Subtract($680|0,$681|0,$600|0,$601|0)|0;$683=tempRet0;$684=_i64Add($682|0,$683|0,$678|0,$679|0)|0;$685=tempRet0;$686=_bitshift64Shl($678|0,$679|0,21)|0;$687=tempRet0;$688=_i64Subtract($672|0,$673|0,$686|0,$687|0)|0;$689=tempRet0;$690=_bitshift64Ashr($684|0,$685|0,21)|0;$691=tempRet0;$692=_i64Add($648|0,$649|0,$504|0,$505|0)|0;$693=tempRet0;$694=_i64Subtract($692|0,$693|0,$554|0,$555|0)|0;$695=tempRet0;$696=_i64Add($694|0,$695|0,$598|0,$599|0)|0;$697=tempRet0;$698=_i64Add($696|0,$697|0,$690|0,$691|0)|0;$699=tempRet0;$700=_bitshift64Shl($690|0,$691|0,21)|0;$701=tempRet0;$702=_i64Subtract($684|0,$685|0,$700|0,$701|0)|0;$703=tempRet0;$704=_bitshift64Ashr($698|0,$699|0,21)|0;$705=tempRet0;$706=_i64Add($552|0,$553|0,$650|0,$651|0)|0;$707=tempRet0;$708=_i64Subtract($706|0,$707|0,$608|0,$609|0)|0;$709=tempRet0;$710=_i64Add($708|0,$709|0,$704|0,$705|0)|0;$711=tempRet0;$712=_bitshift64Shl($704|0,$705|0,21)|0;$713=tempRet0;$714=_i64Subtract($698|0,$699|0,$712|0,$713|0)|0;$715=tempRet0;$716=_bitshift64Ashr($710|0,$711|0,21)|0;$717=tempRet0;$718=_i64Add($606|0,$607|0,$716|0,$717|0)|0;$719=tempRet0;$720=_bitshift64Shl($716|0,$717|0,21)|0;$721=tempRet0;$722=_i64Subtract($710|0,$711|0,$720|0,$721|0)|0;$723=tempRet0;$724=_bitshift64Ashr($718|0,$719|0,21)|0;$725=tempRet0;$726=_i64Add($724|0,$725|0,$618|0,$619|0)|0;$727=tempRet0;$728=_bitshift64Shl($724|0,$725|0,21)|0;$729=tempRet0;$730=_i64Subtract($718|0,$719|0,$728|0,$729|0)|0;$731=tempRet0;$732=_bitshift64Ashr($726|0,$727|0,21)|0;$733=tempRet0;$734=_i64Add($614|0,$615|0,$732|0,$733|0)|0;$735=tempRet0;$736=_bitshift64Shl($732|0,$733|0,21)|0;$737=tempRet0;$738=_i64Subtract($726|0,$727|0,$736|0,$737|0)|0;$739=tempRet0;$740=_bitshift64Ashr($734|0,$735|0,21)|0;$741=tempRet0;$742=_i64Add($740|0,$741|0,$628|0,$629|0)|0;$743=tempRet0;$744=_bitshift64Shl($740|0,$741|0,21)|0;$745=tempRet0;$746=_i64Subtract($734|0,$735|0,$744|0,$745|0)|0;$747=tempRet0;$748=_bitshift64Ashr($742|0,$743|0,21)|0;$749=tempRet0;$750=_i64Add($624|0,$625|0,$748|0,$749|0)|0;$751=tempRet0;$752=_bitshift64Shl($748|0,$749|0,21)|0;$753=tempRet0;$754=_i64Subtract($742|0,$743|0,$752|0,$753|0)|0;$755=tempRet0;$756=_bitshift64Ashr($750|0,$751|0,21)|0;$757=tempRet0;$758=_i64Add($756|0,$757|0,$636|0,$637|0)|0;$759=tempRet0;$760=_bitshift64Shl($756|0,$757|0,21)|0;$761=tempRet0;$762=_i64Subtract($750|0,$751|0,$760|0,$761|0)|0;$763=tempRet0;$764=_bitshift64Ashr($758|0,$759|0,21)|0;$765=tempRet0;$766=_bitshift64Shl($764|0,$765|0,21)|0;$767=tempRet0;$768=_i64Subtract($758|0,$759|0,$766|0,$767|0)|0;$769=tempRet0;$770=___muldi3($764|0,$765|0,666643,0)|0;$771=tempRet0;$772=_i64Add($770|0,$771|0,$662|0,$663|0)|0;$773=tempRet0;$774=___muldi3($764|0,$765|0,470296,0)|0;$775=tempRet0;$776=_i64Add($676|0,$677|0,$774|0,$775|0)|0;$777=tempRet0;$778=___muldi3($764|0,$765|0,654183,0)|0;$779=tempRet0;$780=_i64Add($688|0,$689|0,$778|0,$779|0)|0;$781=tempRet0;$782=___muldi3($764|0,$765|0,-997805,-1)|0;$783=tempRet0;$784=_i64Add($702|0,$703|0,$782|0,$783|0)|0;$785=tempRet0;$786=___muldi3($764|0,$765|0,136657,0)|0;$787=tempRet0;$788=_i64Add($714|0,$715|0,$786|0,$787|0)|0;$789=tempRet0;$790=___muldi3($764|0,$765|0,-683901,-1)|0;$791=tempRet0;$792=_i64Add($722|0,$723|0,$790|0,$791|0)|0;$793=tempRet0;$794=_bitshift64Ashr($772|0,$773|0,21)|0;$795=tempRet0;$796=_i64Add($776|0,$777|0,$794|0,$795|0)|0;$797=tempRet0;$798=_bitshift64Shl($794|0,$795|0,21)|0;$799=tempRet0;$800=_i64Subtract($772|0,$773|0,$798|0,$799|0)|0;$801=tempRet0;$802=_bitshift64Ashr($796|0,$797|0,21)|0;$803=tempRet0;$804=_i64Add($780|0,$781|0,$802|0,$803|0)|0;$805=tempRet0;$806=_bitshift64Shl($802|0,$803|0,21)|0;$807=tempRet0;$808=_i64Subtract($796|0,$797|0,$806|0,$807|0)|0;$809=tempRet0;$810=_bitshift64Ashr($804|0,$805|0,21)|0;$811=tempRet0;$812=_i64Add($784|0,$785|0,$810|0,$811|0)|0;$813=tempRet0;$814=_bitshift64Shl($810|0,$811|0,21)|0;$815=tempRet0;$816=_i64Subtract($804|0,$805|0,$814|0,$815|0)|0;$817=tempRet0;$818=_bitshift64Ashr($812|0,$813|0,21)|0;$819=tempRet0;$820=_i64Add($788|0,$789|0,$818|0,$819|0)|0;$821=tempRet0;$822=_bitshift64Shl($818|0,$819|0,21)|0;$823=tempRet0;$824=_i64Subtract($812|0,$813|0,$822|0,$823|0)|0;$825=tempRet0;$826=_bitshift64Ashr($820|0,$821|0,21)|0;$827=tempRet0;$828=_i64Add($792|0,$793|0,$826|0,$827|0)|0;$829=tempRet0;$830=_bitshift64Shl($826|0,$827|0,21)|0;$831=tempRet0;$832=_i64Subtract($820|0,$821|0,$830|0,$831|0)|0;$833=tempRet0;$834=_bitshift64Ashr($828|0,$829|0,21)|0;$835=tempRet0;$836=_i64Add($834|0,$835|0,$730|0,$731|0)|0;$837=tempRet0;$838=_bitshift64Shl($834|0,$835|0,21)|0;$839=tempRet0;$840=_i64Subtract($828|0,$829|0,$838|0,$839|0)|0;$841=tempRet0;$842=_bitshift64Ashr($836|0,$837|0,21)|0;$843=tempRet0;$844=_i64Add($842|0,$843|0,$738|0,$739|0)|0;$845=tempRet0;$846=_bitshift64Shl($842|0,$843|0,21)|0;$847=tempRet0;$848=_i64Subtract($836|0,$837|0,$846|0,$847|0)|0;$849=tempRet0;$850=_bitshift64Ashr($844|0,$845|0,21)|0;$851=tempRet0;$852=_i64Add($850|0,$851|0,$746|0,$747|0)|0;$853=tempRet0;$854=_bitshift64Shl($850|0,$851|0,21)|0;$855=tempRet0;$856=_i64Subtract($844|0,$845|0,$854|0,$855|0)|0;$857=tempRet0;$858=_bitshift64Ashr($852|0,$853|0,21)|0;$859=tempRet0;$860=_i64Add($858|0,$859|0,$754|0,$755|0)|0;$861=tempRet0;$862=_bitshift64Shl($858|0,$859|0,21)|0;$863=tempRet0;$864=_i64Subtract($852|0,$853|0,$862|0,$863|0)|0;$865=tempRet0;$866=_bitshift64Ashr($860|0,$861|0,21)|0;$867=tempRet0;$868=_i64Add($866|0,$867|0,$762|0,$763|0)|0;$869=tempRet0;$870=_bitshift64Shl($866|0,$867|0,21)|0;$871=tempRet0;$872=_i64Subtract($860|0,$861|0,$870|0,$871|0)|0;$873=tempRet0;$874=_bitshift64Ashr($868|0,$869|0,21)|0;$875=tempRet0;$876=_i64Add($874|0,$875|0,$768|0,$769|0)|0;$877=tempRet0;$878=_bitshift64Shl($874|0,$875|0,21)|0;$879=tempRet0;$880=_i64Subtract($868|0,$869|0,$878|0,$879|0)|0;$881=tempRet0;$882=$800&255;HEAP8[$s>>0]=$882;$883=_bitshift64Lshr($800|0,$801|0,8)|0;$884=tempRet0;$885=$883&255;$886=$s+1|0;HEAP8[$886>>0]=$885;$887=_bitshift64Lshr($800|0,$801|0,16)|0;$888=tempRet0;$889=_bitshift64Shl($808|0,$809|0,5)|0;$890=tempRet0;$891=$889|$887;$890|$888;$892=$891&255;HEAP8[$3>>0]=$892;$893=_bitshift64Lshr($808|0,$809|0,3)|0;$894=tempRet0;$895=$893&255;$896=$s+3|0;HEAP8[$896>>0]=$895;$897=_bitshift64Lshr($808|0,$809|0,11)|0;$898=tempRet0;$899=$897&255;$900=$s+4|0;HEAP8[$900>>0]=$899;$901=_bitshift64Lshr($808|0,$809|0,19)|0;$902=tempRet0;$903=_bitshift64Shl($816|0,$817|0,2)|0;$904=tempRet0;$905=$903|$901;$904|$902;$906=$905&255;HEAP8[$9>>0]=$906;$907=_bitshift64Lshr($816|0,$817|0,6)|0;$908=tempRet0;$909=$907&255;$910=$s+6|0;HEAP8[$910>>0]=$909;$911=_bitshift64Lshr($816|0,$817|0,14)|0;$912=tempRet0;$913=_bitshift64Shl($824|0,$825|0,7)|0;$914=tempRet0;$915=$913|$911;$914|$912;$916=$915&255;HEAP8[$15>>0]=$916;$917=_bitshift64Lshr($824|0,$825|0,1)|0;$918=tempRet0;$919=$917&255;$920=$s+8|0;HEAP8[$920>>0]=$919;$921=_bitshift64Lshr($824|0,$825|0,9)|0;$922=tempRet0;$923=$921&255;$924=$s+9|0;HEAP8[$924>>0]=$923;$925=_bitshift64Lshr($824|0,$825|0,17)|0;$926=tempRet0;$927=_bitshift64Shl($832|0,$833|0,4)|0;$928=tempRet0;$929=$927|$925;$928|$926;$930=$929&255;HEAP8[$21>>0]=$930;$931=_bitshift64Lshr($832|0,$833|0,4)|0;$932=tempRet0;$933=$931&255;$934=$s+11|0;HEAP8[$934>>0]=$933;$935=_bitshift64Lshr($832|0,$833|0,12)|0;$936=tempRet0;$937=$935&255;$938=$s+12|0;HEAP8[$938>>0]=$937;$939=_bitshift64Lshr($832|0,$833|0,20)|0;$940=tempRet0;$941=_bitshift64Shl($840|0,$841|0,1)|0;$942=tempRet0;$943=$941|$939;$942|$940;$944=$943&255;HEAP8[$27>>0]=$944;$945=_bitshift64Lshr($840|0,$841|0,7)|0;$946=tempRet0;$947=$945&255;$948=$s+14|0;HEAP8[$948>>0]=$947;$949=_bitshift64Lshr($840|0,$841|0,15)|0;$950=tempRet0;$951=_bitshift64Shl($848|0,$849|0,6)|0;$952=tempRet0;$953=$951|$949;$952|$950;$954=$953&255;HEAP8[$33>>0]=$954;$955=_bitshift64Lshr($848|0,$849|0,2)|0;$956=tempRet0;$957=$955&255;$958=$s+16|0;HEAP8[$958>>0]=$957;$959=_bitshift64Lshr($848|0,$849|0,10)|0;$960=tempRet0;$961=$959&255;$962=$s+17|0;HEAP8[$962>>0]=$961;$963=_bitshift64Lshr($848|0,$849|0,18)|0;$964=tempRet0;$965=_bitshift64Shl($856|0,$857|0,3)|0;$966=tempRet0;$967=$965|$963;$966|$964;$968=$967&255;HEAP8[$39>>0]=$968;$969=_bitshift64Lshr($856|0,$857|0,5)|0;$970=tempRet0;$971=$969&255;$972=$s+19|0;HEAP8[$972>>0]=$971;$973=_bitshift64Lshr($856|0,$857|0,13)|0;$974=tempRet0;$975=$973&255;$976=$s+20|0;HEAP8[$976>>0]=$975;$977=$864&255;HEAP8[$45>>0]=$977;$978=_bitshift64Lshr($864|0,$865|0,8)|0;$979=tempRet0;$980=$978&255;$981=$s+22|0;HEAP8[$981>>0]=$980;$982=_bitshift64Lshr($864|0,$865|0,16)|0;$983=tempRet0;$984=_bitshift64Shl($872|0,$873|0,5)|0;$985=tempRet0;$986=$984|$982;$985|$983;$987=$986&255;HEAP8[$49>>0]=$987;$988=_bitshift64Lshr($872|0,$873|0,3)|0;$989=tempRet0;$990=$988&255;$991=$s+24|0;HEAP8[$991>>0]=$990;$992=_bitshift64Lshr($872|0,$873|0,11)|0;$993=tempRet0;$994=$992&255;$995=$s+25|0;HEAP8[$995>>0]=$994;$996=_bitshift64Lshr($872|0,$873|0,19)|0;$997=tempRet0;$998=_bitshift64Shl($880|0,$881|0,2)|0;$999=tempRet0;$1000=$998|$996;$999|$997;$1001=$1000&255;HEAP8[$55>>0]=$1001;$1002=_bitshift64Lshr($880|0,$881|0,6)|0;$1003=tempRet0;$1004=$1002&255;$1005=$s+27|0;HEAP8[$1005>>0]=$1004;$1006=_bitshift64Lshr($880|0,$881|0,14)|0;$1007=tempRet0;$1008=_bitshift64Shl($876|0,$877|0,7)|0;$1009=tempRet0;$1010=$1006|$1008;$1007|$1009;$1011=$1010&255;HEAP8[$61>>0]=$1011;$1012=_bitshift64Lshr($876|0,$877|0,1)|0;$1013=tempRet0;$1014=$1012&255;$1015=$s+29|0;HEAP8[$1015>>0]=$1014;$1016=_bitshift64Lshr($876|0,$877|0,9)|0;$1017=tempRet0;$1018=$1016&255;$1019=$s+30|0;HEAP8[$1019>>0]=$1018;$1020=_bitshift64Lshr($876|0,$877|0,17)|0;$1021=tempRet0;$1022=$1020&255;HEAP8[$67>>0]=$1022;STACKTOP=sp;return}function _load_351($in){$in=$in|0;var $0=0,$1=0,$10=0,$11=0,$12=0,$13=0,$14=0,$2=0,$3=0,$4=0,$5=0,$6=0,$7=0,$8=0,$9=0,label=0,sp=0;sp=STACKTOP;$0=HEAP8[$in>>0]|0;$1=$0&255;$2=$in+1|0;$3=HEAP8[$2>>0]|0;$4=$3&255;$5=_bitshift64Shl($4|0,0,8)|0;$6=tempRet0;$7=$5|$1;$8=$in+2|0;$9=HEAP8[$8>>0]|0;$10=$9&255;$11=_bitshift64Shl($10|0,0,16)|0;$12=tempRet0;$13=$7|$11;$14=$6|$12;tempRet0=$14;STACKTOP=sp;return $13|0}function _load_452($in){$in=$in|0;var $0=0,$1=0,$10=0,$11=0,$12=0,$13=0,$14=0,$15=0,$16=0,$17=0,$18=0,$19=0,$2=0,$20=0,$21=0,$3=0,$4=0,$5=0,$6=0,$7=0;var $8=0,$9=0,label=0,sp=0;sp=STACKTOP;$0=HEAP8[$in>>0]|0;$1=$0&255;$2=$in+1|0;$3=HEAP8[$2>>0]|0;$4=$3&255;$5=_bitshift64Shl($4|0,0,8)|0;$6=tempRet0;$7=$5|$1;$8=$in+2|0;$9=HEAP8[$8>>0]|0;$10=$9&255;$11=_bitshift64Shl($10|0,0,16)|0;$12=tempRet0;$13=$7|$11;$14=$6|$12;$15=$in+3|0;$16=HEAP8[$15>>0]|0;$17=$16&255;$18=_bitshift64Shl($17|0,0,24)|0;$19=tempRet0;$20=$13|$18;$21=$14|$19;tempRet0=$21;STACKTOP=sp;return $20|0}function _sph_sha512_init($cc){$cc=$cc|0;var $0=0,$1=0,$2=0,$3=0,$4=0,$5=0,dest=0,label=0,sp=0,src=0,stop=0;sp=STACKTOP;$0=$cc+128|0;dest=$0+0|0;src=31840+0|0;stop=dest+64|0;do{HEAP32[dest>>2]=HEAP32[src>>2]|0;dest=dest+4|0;src=src+4|0}while((dest|0)<(stop|0));$1=$cc+192|0;$2=$1;$3=$2;HEAP32[$3>>2]=0;$4=$2+4|0;$5=$4;HEAP32[$5>>2]=0;STACKTOP=sp;return}function _sph_sha384($cc,$data,$len){$cc=$cc|0;$data=$data|0;$len=$len|0;var $$01$=0,$$012=0,$$03=0,$0=0,$1=0,$10=0,$11=0,$12=0,$13=0,$14=0,$15=0,$16=0,$17=0,$18=0,$19=0,$2=0,$20=0,$21=0,$22=0,$23=0;var $24=0,$25=0,$26=0,$27=0,$28=0,$29=0,$3=0,$4=0,$5=0,$6=0,$7=0,$8=0,$9=0,$current$04=0,$current$1=0,label=0,sp=0;sp=STACKTOP;$0=$cc+192|0;$1=($len|0)==0;if($1){STACKTOP=sp;return}$2=$0;$3=$2;$4=HEAP32[$3>>2]|0;$5=$2+4|0;$6=$5;$7=HEAP32[$6>>2]|0;$8=$4&127;$9=$cc+128|0;$$012=$len;$$03=$data;$current$04=$8;while(1){$10=128-$current$04|0;$11=$10>>>0>$$012>>>0;$$01$=$11?$$012:$10;$12=$cc+$current$04|0;_memcpy($12|0,$$03|0,$$01$|0)|0;$13=$$03+$$01$|0;$14=$$01$+$current$04|0;$15=$$012-$$01$|0;$16=($14|0)==128;if($16){_sha3_round($cc,$9);$current$1=0}else{$current$1=$14}$17=$0;$18=$17;$19=HEAP32[$18>>2]|0;$20=$17+4|0;$21=$20;$22=HEAP32[$21>>2]|0;$23=_i64Add($19|0,$22|0,$$01$|0,0)|0;$24=tempRet0;$25=$0;$26=$25;HEAP32[$26>>2]=$23;$27=$25+4|0;$28=$27;HEAP32[$28>>2]=$24;$29=($$012|0)==($$01$|0);if($29){break}else{$$012=$15;$$03=$13;$current$04=$current$1}}STACKTOP=sp;return}function _sph_sha512_close($cc,$dst){$cc=$cc|0;$dst=$dst|0;var label=0,sp=0;sp=STACKTOP;_sha384_close($cc,$dst,8);_sph_sha512_init($cc);STACKTOP=sp;return}function _sha3_round($data,$r){$data=$data|0;$r=$r|0;var $0=0,$1=0,$10=0,$100=0,$101=0,$102=0,$103=0,$104=0,$105=0,$106=0,$107=0,$108=0,$109=0,$11=0,$110=0,$111=0,$112=0,$113=0,$114=0,$115=0;var $116=0,$117=0,$118=0,$119=0,$12=0,$120=0,$121=0,$122=0,$123=0,$124=0,$125=0,$126=0,$127=0,$128=0,$129=0,$13=0,$130=0,$131=0,$132=0,$133=0;var $134=0,$135=0,$136=0,$137=0,$138=0,$139=0,$14=0,$140=0,$141=0,$142=0,$143=0,$144=0,$145=0,$146=0,$147=0,$148=0,$149=0,$15=0,$150=0,$151=0;var $152=0,$153=0,$154=0,$155=0,$156=0,$157=0,$158=0,$159=0,$16=0,$160=0,$161=0,$162=0,$163=0,$164=0,$165=0,$166=0,$167=0,$168=0,$169=0,$17=0;var $170=0,$171=0,$172=0,$173=0,$174=0,$175=0,$176=0,$177=0,$178=0,$179=0,$18=0,$180=0,$181=0,$182=0,$183=0,$184=0,$185=0,$186=0,$187=0,$188=0;var $189=0,$19=0,$190=0,$191=0,$192=0,$193=0,$194=0,$195=0,$196=0,$197=0,$198=0,$199=0,$2=0,$20=0,$200=0,$201=0,$202=0,$203=0,$204=0,$205=0;var $206=0,$207=0,$208=0,$209=0,$21=0,$210=0,$211=0,$212=0,$213=0,$214=0,$215=0,$216=0,$217=0,$218=0,$219=0,$22=0,$220=0,$221=0,$222=0,$223=0;var $224=0,$225=0,$226=0,$227=0,$228=0,$229=0,$23=0,$230=0,$231=0,$232=0,$233=0,$234=0,$235=0,$236=0,$237=0,$238=0,$239=0,$24=0,$240=0,$241=0;var $242=0,$243=0,$244=0,$245=0,$246=0,$247=0,$248=0,$249=0,$25=0,$250=0,$251=0,$252=0,$253=0,$254=0,$255=0,$256=0,$257=0,$258=0,$259=0,$26=0;var $260=0,$261=0,$262=0,$263=0,$264=0,$265=0,$266=0,$267=0,$268=0,$269=0,$27=0,$270=0,$271=0,$272=0,$273=0,$274=0,$275=0,$276=0,$277=0,$278=0;var $279=0,$28=0,$280=0,$281=0,$282=0,$283=0,$284=0,$285=0,$286=0,$287=0,$288=0,$289=0,$29=0,$290=0,$291=0,$292=0,$293=0,$294=0,$295=0,$296=0;var $297=0,$298=0,$299=0,$3=0,$30=0,$300=0,$301=0,$302=0,$303=0,$304=0,$305=0,$306=0,$307=0,$308=0,$309=0,$31=0,$310=0,$311=0,$312=0,$313=0;var $314=0,$315=0,$316=0,$317=0,$318=0,$319=0,$32=0,$320=0,$321=0,$322=0,$323=0,$324=0,$325=0,$326=0,$327=0,$328=0,$329=0,$33=0,$330=0,$331=0;var $332=0,$333=0,$334=0,$335=0,$336=0,$337=0,$338=0,$339=0,$34=0,$340=0,$341=0,$342=0,$343=0,$344=0,$345=0,$346=0,$347=0,$348=0,$349=0,$35=0;var $350=0,$351=0,$352=0,$353=0,$354=0,$355=0,$356=0,$357=0,$358=0,$359=0,$36=0,$360=0,$361=0,$362=0,$363=0,$364=0,$365=0,$366=0,$367=0,$368=0;var $369=0,$37=0,$370=0,$371=0,$372=0,$373=0,$374=0,$375=0,$376=0,$377=0,$378=0,$379=0,$38=0,$380=0,$381=0,$382=0,$383=0,$384=0,$385=0,$386=0;var $387=0,$388=0,$389=0,$39=0,$390=0,$391=0,$392=0,$393=0,$394=0,$395=0,$396=0,$397=0,$398=0,$399=0,$4=0,$40=0,$400=0,$401=0,$402=0,$403=0;var $404=0,$405=0,$406=0,$407=0,$408=0,$409=0,$41=0,$410=0,$411=0,$412=0,$413=0,$414=0,$415=0,$416=0,$417=0,$418=0,$419=0,$42=0,$420=0,$421=0;var $422=0,$423=0,$424=0,$425=0,$426=0,$427=0,$428=0,$429=0,$43=0,$430=0,$431=0,$432=0,$433=0,$434=0,$435=0,$436=0,$437=0,$438=0,$439=0,$44=0;var $440=0,$441=0,$442=0,$443=0,$444=0,$445=0,$446=0,$447=0,$448=0,$449=0,$45=0,$450=0,$451=0,$452=0,$453=0,$454=0,$455=0,$456=0,$457=0,$458=0;var $459=0,$46=0,$460=0,$461=0,$462=0,$463=0,$464=0,$465=0,$466=0,$467=0,$468=0,$469=0,$47=0,$470=0,$471=0,$472=0,$473=0,$474=0,$475=0,$476=0;var $477=0,$478=0,$479=0,$48=0,$480=0,$481=0,$482=0,$483=0,$484=0,$485=0,$486=0,$487=0,$488=0,$489=0,$49=0,$490=0,$491=0,$492=0,$493=0,$494=0;var $495=0,$496=0,$497=0,$498=0,$499=0,$5=0,$50=0,$500=0,$501=0,$502=0,$503=0,$504=0,$505=0,$506=0,$507=0,$508=0,$509=0,$51=0,$510=0,$511=0;var $512=0,$513=0,$514=0,$515=0,$516=0,$517=0,$518=0,$519=0,$52=0,$520=0,$521=0,$522=0,$523=0,$524=0,$525=0,$526=0,$527=0,$528=0,$529=0,$53=0;var $530=0,$531=0,$532=0,$533=0,$534=0,$535=0,$536=0,$537=0,$538=0,$539=0,$54=0,$540=0,$541=0,$542=0,$543=0,$544=0,$545=0,$546=0,$547=0,$548=0;var $549=0,$55=0,$550=0,$551=0,$552=0,$553=0,$554=0,$555=0,$556=0,$557=0,$558=0,$559=0,$56=0,$560=0,$561=0,$562=0,$563=0,$564=0,$565=0,$566=0;var $567=0,$568=0,$569=0,$57=0,$570=0,$571=0,$572=0,$573=0,$574=0,$575=0,$576=0,$577=0,$578=0,$579=0,$58=0,$580=0,$581=0,$582=0,$583=0,$584=0;var $585=0,$586=0,$587=0,$588=0,$589=0,$59=0,$590=0,$591=0,$592=0,$593=0,$594=0,$595=0,$596=0,$597=0,$598=0,$599=0,$6=0,$60=0,$600=0,$601=0;var $602=0,$603=0,$604=0,$605=0,$606=0,$607=0,$608=0,$609=0,$61=0,$610=0,$611=0,$612=0,$613=0,$614=0,$615=0,$616=0,$617=0,$618=0,$619=0,$62=0;var $620=0,$621=0,$622=0,$623=0,$624=0,$625=0,$626=0,$627=0,$628=0,$629=0,$63=0,$630=0,$631=0,$632=0,$633=0,$634=0,$635=0,$636=0,$637=0,$638=0;var $639=0,$64=0,$640=0,$641=0,$642=0,$643=0,$644=0,$645=0,$646=0,$647=0,$648=0,$649=0,$65=0,$650=0,$651=0,$652=0,$653=0,$654=0,$655=0,$656=0;var $657=0,$658=0,$659=0,$66=0,$660=0,$661=0,$662=0,$663=0,$664=0,$665=0,$666=0,$667=0,$668=0,$669=0,$67=0,$670=0,$671=0,$672=0,$673=0,$674=0;var $675=0,$676=0,$677=0,$678=0,$679=0,$68=0,$680=0,$681=0,$682=0,$683=0,$684=0,$685=0,$686=0,$687=0,$688=0,$689=0,$69=0,$690=0,$691=0,$692=0;var $693=0,$694=0,$695=0,$696=0,$697=0,$698=0,$699=0,$7=0,$70=0,$700=0,$701=0,$702=0,$703=0,$704=0,$705=0,$706=0,$707=0,$708=0,$709=0,$71=0;var $710=0,$711=0,$712=0,$713=0,$714=0,$715=0,$716=0,$717=0,$718=0,$719=0,$72=0,$720=0,$721=0,$722=0,$723=0,$724=0,$725=0,$726=0,$727=0,$728=0;var $729=0,$73=0,$730=0,$731=0,$732=0,$733=0,$734=0,$735=0,$736=0,$737=0,$738=0,$739=0,$74=0,$740=0,$741=0,$742=0,$743=0,$744=0,$745=0,$746=0;var $747=0,$748=0,$749=0,$75=0,$750=0,$751=0,$752=0,$753=0,$754=0,$755=0,$756=0,$757=0,$758=0,$759=0,$76=0,$760=0,$761=0,$762=0,$763=0,$764=0;var $765=0,$766=0,$767=0,$768=0,$769=0,$77=0,$770=0,$771=0,$772=0,$773=0,$774=0,$775=0,$776=0,$777=0,$778=0,$779=0,$78=0,$780=0,$781=0,$782=0;var $783=0,$784=0,$785=0,$786=0,$787=0,$788=0,$789=0,$79=0,$790=0,$791=0,$792=0,$793=0,$794=0,$795=0,$796=0,$797=0,$798=0,$799=0,$8=0,$80=0;var $800=0,$801=0,$802=0,$803=0,$804=0,$805=0,$806=0,$807=0,$808=0,$809=0,$81=0,$810=0,$811=0,$812=0,$813=0,$814=0,$815=0,$816=0,$817=0,$818=0;var $819=0,$82=0,$820=0,$821=0,$822=0,$823=0,$824=0,$825=0,$826=0,$827=0,$828=0,$829=0,$83=0,$830=0,$831=0,$832=0,$833=0,$834=0,$835=0,$836=0;var $837=0,$838=0,$839=0,$84=0,$840=0,$841=0,$842=0,$843=0,$844=0,$845=0,$846=0,$847=0,$848=0,$849=0,$85=0,$850=0,$851=0,$852=0,$853=0,$854=0;var $855=0,$856=0,$857=0,$858=0,$859=0,$86=0,$860=0,$861=0,$862=0,$863=0,$864=0,$865=0,$866=0,$867=0,$868=0,$869=0,$87=0,$870=0,$871=0,$872=0;var $873=0,$874=0,$875=0,$876=0,$877=0,$878=0,$879=0,$88=0,$880=0,$881=0,$882=0,$883=0,$884=0,$885=0,$886=0,$887=0,$888=0,$889=0,$89=0,$890=0;var $891=0,$892=0,$893=0,$894=0,$895=0,$896=0,$897=0,$898=0,$899=0,$9=0,$90=0,$900=0,$901=0,$902=0,$903=0,$904=0,$905=0,$906=0,$907=0,$908=0;var $909=0,$91=0,$910=0,$911=0,$912=0,$913=0,$914=0,$915=0,$916=0,$917=0,$918=0,$919=0,$92=0,$920=0,$921=0,$922=0,$923=0,$924=0,$925=0,$926=0;var $927=0,$928=0,$929=0,$93=0,$930=0,$931=0,$932=0,$933=0,$934=0,$935=0,$936=0,$937=0,$938=0,$939=0,$94=0,$940=0,$941=0,$942=0,$943=0,$944=0;var $945=0,$946=0,$947=0,$948=0,$949=0,$95=0,$950=0,$951=0,$952=0,$953=0,$96=0,$97=0,$98=0,$99=0,$W=0,$exitcond=0,$exitcond19=0,$i$011=0,$i$110=0,$i$29=0;var label=0,sp=0;sp=STACKTOP;STACKTOP=STACKTOP+640|0;$W=sp;$i$011=0;while(1){$0=$i$011<<3;$1=$data+$0|0;$2=_sph_dec64be_aligned($1)|0;$3=tempRet0;$4=$W+($i$011<<3)|0;$5=$4;$6=$5;HEAP32[$6>>2]=$2;$7=$5+4|0;$8=$7;HEAP32[$8>>2]=$3;$9=$i$011+1|0;$exitcond19=($9|0)==16;if($exitcond19){$i$110=16;break}else{$i$011=$9}}while(1){$10=$i$110+-2|0;$11=$W+($10<<3)|0;$12=$11;$13=$12;$14=HEAP32[$13>>2]|0;$15=$12+4|0;$16=$15;$17=HEAP32[$16>>2]|0;$18=_bitshift64Shl($14|0,$17|0,45)|0;$19=tempRet0;$20=_bitshift64Lshr($14|0,$17|0,19)|0;$21=tempRet0;$22=$18|$20;$23=$19|$21;$24=_bitshift64Shl($14|0,$17|0,3)|0;$25=tempRet0;$26=_bitshift64Lshr($14|0,$17|0,61)|0;$27=tempRet0;$28=$24|$26;$29=$25|$27;$30=_bitshift64Lshr($14|0,$17|0,6)|0;$31=tempRet0;$32=$28^$30;$33=$29^$31;$34=$32^$22;$35=$33^$23;$36=$i$110+-7|0;$37=$W+($36<<3)|0;$38=$37;$39=$38;$40=HEAP32[$39>>2]|0;$41=$38+4|0;$42=$41;$43=HEAP32[$42>>2]|0;$44=$i$110+-15|0;$45=$W+($44<<3)|0;$46=$45;$47=$46;$48=HEAP32[$47>>2]|0;$49=$46+4|0;$50=$49;$51=HEAP32[$50>>2]|0;$52=_bitshift64Shl($48|0,$51|0,63)|0;$53=tempRet0;$54=_bitshift64Lshr($48|0,$51|0,1)|0;$55=tempRet0;$56=$52|$54;$57=$53|$55;$58=_bitshift64Shl($48|0,$51|0,56)|0;$59=tempRet0;$60=_bitshift64Lshr($48|0,$51|0,8)|0;$61=tempRet0;$62=$58|$60;$63=$59|$61;$64=_bitshift64Lshr($48|0,$51|0,7)|0;$65=tempRet0;$66=$62^$64;$67=$63^$65;$68=$66^$56;$69=$67^$57;$70=$i$110+-16|0;$71=$W+($70<<3)|0;$72=$71;$73=$72;$74=HEAP32[$73>>2]|0;$75=$72+4|0;$76=$75;$77=HEAP32[$76>>2]|0;$78=_i64Add($74|0,$77|0,$40|0,$43|0)|0;$79=tempRet0;$80=_i64Add($78|0,$79|0,$34|0,$35|0)|0;$81=tempRet0;$82=_i64Add($80|0,$81|0,$68|0,$69|0)|0;$83=tempRet0;$84=$W+($i$110<<3)|0;$85=$84;$86=$85;HEAP32[$86>>2]=$82;$87=$85+4|0;$88=$87;HEAP32[$88>>2]=$83;$89=$i$110+1|0;$exitcond=($89|0)==80;if($exitcond){break}else{$i$110=$89}}$90=$r;$91=$90;$92=HEAP32[$91>>2]|0;$93=$90+4|0;$94=$93;$95=HEAP32[$94>>2]|0;$96=$r+8|0;$97=$96;$98=$97;$99=HEAP32[$98>>2]|0;$100=$97+4|0;$101=$100;$102=HEAP32[$101>>2]|0;$103=$r+16|0;$104=$103;$105=$104;$106=HEAP32[$105>>2]|0;$107=$104+4|0;$108=$107;$109=HEAP32[$108>>2]|0;$110=$r+24|0;$111=$110;$112=$111;$113=HEAP32[$112>>2]|0;$114=$111+4|0;$115=$114;$116=HEAP32[$115>>2]|0;$117=$r+32|0;$118=$117;$119=$118;$120=HEAP32[$119>>2]|0;$121=$118+4|0;$122=$121;$123=HEAP32[$122>>2]|0;$124=$r+40|0;$125=$124;$126=$125;$127=HEAP32[$126>>2]|0;$128=$125+4|0;$129=$128;$130=HEAP32[$129>>2]|0;$131=$r+48|0;$132=$131;$133=$132;$134=HEAP32[$133>>2]|0;$135=$132+4|0;$136=$135;$137=HEAP32[$136>>2]|0;$138=$r+56|0;$139=$138;$140=$139;$141=HEAP32[$140>>2]|0;$142=$139+4|0;$143=$142;$144=HEAP32[$143>>2]|0;$145=$120;$146=$123;$170=$134;$171=$127;$173=$137;$174=$130;$193=$141;$194=$144;$203=$92;$204=$95;$228=$99;$230=$102;$234=$106;$236=$109;$241=$113;$242=$116;$i$29=0;while(1){$147=_bitshift64Shl($145|0,$146|0,50)|0;$148=tempRet0;$149=_bitshift64Lshr($145|0,$146|0,14)|0;$150=tempRet0;$151=$147|$149;$152=$148|$150;$153=_bitshift64Shl($145|0,$146|0,46)|0;$154=tempRet0;$155=_bitshift64Lshr($145|0,$146|0,18)|0;$156=tempRet0;$157=$153|$155;$158=$154|$156;$159=$151^$157;$160=$152^$158;$161=_bitshift64Shl($145|0,$146|0,23)|0;$162=tempRet0;$163=_bitshift64Lshr($145|0,$146|0,41)|0;$164=tempRet0;$165=$161|$163;$166=$162|$164;$167=$159^$165;$168=$160^$166;$169=$171^$170;$172=$174^$173;$175=$169&$145;$176=$172&$146;$177=$175^$170;$178=$176^$173;$179=31904+($i$29<<3)|0;$180=$179;$181=$180;$182=HEAP32[$181>>2]|0;$183=$180+4|0;$184=$183;$185=HEAP32[$184>>2]|0;$186=$W+($i$29<<3)|0;$187=$186;$188=$187;$189=HEAP32[$188>>2]|0;$190=$187+4|0;$191=$190;$192=HEAP32[$191>>2]|0;$195=_i64Add($177|0,$178|0,$193|0,$194|0)|0;$196=tempRet0;$197=_i64Add($195|0,$196|0,$167|0,$168|0)|0;$198=tempRet0;$199=_i64Add($197|0,$198|0,$182|0,$185|0)|0;$200=tempRet0;$201=_i64Add($199|0,$200|0,$189|0,$192|0)|0;$202=tempRet0;$205=_bitshift64Shl($203|0,$204|0,36)|0;$206=tempRet0;$207=_bitshift64Lshr($203|0,$204|0,28)|0;$208=tempRet0;$209=$205|$207;$210=$206|$208;$211=_bitshift64Shl($203|0,$204|0,30)|0;$212=tempRet0;$213=_bitshift64Lshr($203|0,$204|0,34)|0;$214=tempRet0;$215=$211|$213;$216=$212|$214;$217=$209^$215;$218=$210^$216;$219=_bitshift64Shl($203|0,$204|0,25)|0;$220=tempRet0;$221=_bitshift64Lshr($203|0,$204|0,39)|0;$222=tempRet0;$223=$219|$221;$224=$220|$222;$225=$217^$223;$226=$218^$224;$227=$203&$228;$229=$204&$230;$231=$203|$228;$232=$204|$230;$233=$231&$234;$235=$232&$236;$237=$233|$227;$238=$235|$229;$239=_i64Add($225|0,$226|0,$237|0,$238|0)|0;$240=tempRet0;$243=_i64Add($201|0,$202|0,$241|0,$242|0)|0;$244=tempRet0;$245=_i64Add($239|0,$240|0,$201|0,$202|0)|0;$246=tempRet0;$247=_bitshift64Shl($243|0,$244|0,50)|0;$248=tempRet0;$249=_bitshift64Lshr($243|0,$244|0,14)|0;$250=tempRet0;$251=$247|$249;$252=$248|$250;$253=_bitshift64Shl($243|0,$244|0,46)|0;$254=tempRet0;$255=_bitshift64Lshr($243|0,$244|0,18)|0;$256=tempRet0;$257=$253|$255;$258=$254|$256;$259=$251^$257;$260=$252^$258;$261=_bitshift64Shl($243|0,$244|0,23)|0;$262=tempRet0;$263=_bitshift64Lshr($243|0,$244|0,41)|0;$264=tempRet0;$265=$261|$263;$266=$262|$264;$267=$259^$265;$268=$260^$266;$269=$145^$171;$270=$146^$174;$271=$243&$269;$272=$244&$270;$273=$271^$171;$274=$272^$174;$275=$i$29|1;$276=31904+($275<<3)|0;$277=$276;$278=$277;$279=HEAP32[$278>>2]|0;$280=$277+4|0;$281=$280;$282=HEAP32[$281>>2]|0;$283=$W+($275<<3)|0;$284=$283;$285=$284;$286=HEAP32[$285>>2]|0;$287=$284+4|0;$288=$287;$289=HEAP32[$288>>2]|0;$290=_i64Add($279|0,$282|0,$170|0,$173|0)|0;$291=tempRet0;$292=_i64Add($290|0,$291|0,$286|0,$289|0)|0;$293=tempRet0;$294=_i64Add($292|0,$293|0,$273|0,$274|0)|0;$295=tempRet0;$296=_i64Add($294|0,$295|0,$267|0,$268|0)|0;$297=tempRet0;$298=_bitshift64Shl($245|0,$246|0,36)|0;$299=tempRet0;$300=_bitshift64Lshr($245|0,$246|0,28)|0;$301=tempRet0;$302=$298|$300;$303=$299|$301;$304=_bitshift64Shl($245|0,$246|0,30)|0;$305=tempRet0;$306=_bitshift64Lshr($245|0,$246|0,34)|0;$307=tempRet0;$308=$304|$306;$309=$305|$307;$310=$302^$308;$311=$303^$309;$312=_bitshift64Shl($245|0,$246|0,25)|0;$313=tempRet0;$314=_bitshift64Lshr($245|0,$246|0,39)|0;$315=tempRet0;$316=$312|$314;$317=$313|$315;$318=$310^$316;$319=$311^$317;$320=$245&$203;$321=$246&$204;$322=$245|$203;$323=$246|$204;$324=$322&$228;$325=$323&$230;$326=$324|$320;$327=$325|$321;$328=_i64Add($318|0,$319|0,$326|0,$327|0)|0;$329=tempRet0;$330=_i64Add($296|0,$297|0,$234|0,$236|0)|0;$331=tempRet0;$332=_i64Add($328|0,$329|0,$296|0,$297|0)|0;$333=tempRet0;$334=_bitshift64Shl($330|0,$331|0,50)|0;$335=tempRet0;$336=_bitshift64Lshr($330|0,$331|0,14)|0;$337=tempRet0;$338=$334|$336;$339=$335|$337;$340=_bitshift64Shl($330|0,$331|0,46)|0;$341=tempRet0;$342=_bitshift64Lshr($330|0,$331|0,18)|0;$343=tempRet0;$344=$340|$342;$345=$341|$343;$346=$338^$344;$347=$339^$345;$348=_bitshift64Shl($330|0,$331|0,23)|0;$349=tempRet0;$350=_bitshift64Lshr($330|0,$331|0,41)|0;$351=tempRet0;$352=$348|$350;$353=$349|$351;$354=$346^$352;$355=$347^$353;$356=$243^$145;$357=$244^$146;$358=$330&$356;$359=$331&$357;$360=$358^$145;$361=$359^$146;$362=$i$29|2;$363=31904+($362<<3)|0;$364=$363;$365=$364;$366=HEAP32[$365>>2]|0;$367=$364+4|0;$368=$367;$369=HEAP32[$368>>2]|0;$370=$W+($362<<3)|0;$371=$370;$372=$371;$373=HEAP32[$372>>2]|0;$374=$371+4|0;$375=$374;$376=HEAP32[$375>>2]|0;$377=_i64Add($366|0,$369|0,$171|0,$174|0)|0;$378=tempRet0;$379=_i64Add($377|0,$378|0,$373|0,$376|0)|0;$380=tempRet0;$381=_i64Add($379|0,$380|0,$360|0,$361|0)|0;$382=tempRet0;$383=_i64Add($381|0,$382|0,$354|0,$355|0)|0;$384=tempRet0;$385=_bitshift64Shl($332|0,$333|0,36)|0;$386=tempRet0;$387=_bitshift64Lshr($332|0,$333|0,28)|0;$388=tempRet0;$389=$385|$387;$390=$386|$388;$391=_bitshift64Shl($332|0,$333|0,30)|0;$392=tempRet0;$393=_bitshift64Lshr($332|0,$333|0,34)|0;$394=tempRet0;$395=$391|$393;$396=$392|$394;$397=$389^$395;$398=$390^$396;$399=_bitshift64Shl($332|0,$333|0,25)|0;$400=tempRet0;$401=_bitshift64Lshr($332|0,$333|0,39)|0;$402=tempRet0;$403=$399|$401;$404=$400|$402;$405=$397^$403;$406=$398^$404;$407=$332&$245;$408=$333&$246;$409=$332|$245;$410=$333|$246;$411=$409&$203;$412=$410&$204;$413=$411|$407;$414=$412|$408;$415=_i64Add($405|0,$406|0,$413|0,$414|0)|0;$416=tempRet0;$417=_i64Add($383|0,$384|0,$228|0,$230|0)|0;$418=tempRet0;$419=_i64Add($415|0,$416|0,$383|0,$384|0)|0;$420=tempRet0;$421=_bitshift64Shl($417|0,$418|0,50)|0;$422=tempRet0;$423=_bitshift64Lshr($417|0,$418|0,14)|0;$424=tempRet0;$425=$421|$423;$426=$422|$424;$427=_bitshift64Shl($417|0,$418|0,46)|0;$428=tempRet0;$429=_bitshift64Lshr($417|0,$418|0,18)|0;$430=tempRet0;$431=$427|$429;$432=$428|$430;$433=$425^$431;$434=$426^$432;$435=_bitshift64Shl($417|0,$418|0,23)|0;$436=tempRet0;$437=_bitshift64Lshr($417|0,$418|0,41)|0;$438=tempRet0;$439=$435|$437;$440=$436|$438;$441=$433^$439;$442=$434^$440;$443=$330^$243;$444=$331^$244;$445=$417&$443;$446=$418&$444;$447=$445^$243;$448=$446^$244;$449=$i$29|3;$450=31904+($449<<3)|0;$451=$450;$452=$451;$453=HEAP32[$452>>2]|0;$454=$451+4|0;$455=$454;$456=HEAP32[$455>>2]|0;$457=$W+($449<<3)|0;$458=$457;$459=$458;$460=HEAP32[$459>>2]|0;$461=$458+4|0;$462=$461;$463=HEAP32[$462>>2]|0;$464=_i64Add($453|0,$456|0,$145|0,$146|0)|0;$465=tempRet0;$466=_i64Add($464|0,$465|0,$460|0,$463|0)|0;$467=tempRet0;$468=_i64Add($466|0,$467|0,$447|0,$448|0)|0;$469=tempRet0;$470=_i64Add($468|0,$469|0,$441|0,$442|0)|0;$471=tempRet0;$472=_bitshift64Shl($419|0,$420|0,36)|0;$473=tempRet0;$474=_bitshift64Lshr($419|0,$420|0,28)|0;$475=tempRet0;$476=$472|$474;$477=$473|$475;$478=_bitshift64Shl($419|0,$420|0,30)|0;$479=tempRet0;$480=_bitshift64Lshr($419|0,$420|0,34)|0;$481=tempRet0;$482=$478|$480;$483=$479|$481;$484=$476^$482;$485=$477^$483;$486=_bitshift64Shl($419|0,$420|0,25)|0;$487=tempRet0;$488=_bitshift64Lshr($419|0,$420|0,39)|0;$489=tempRet0;$490=$486|$488;$491=$487|$489;$492=$484^$490;$493=$485^$491;$494=$419&$332;$495=$420&$333;$496=$419|$332;$497=$420|$333;$498=$496&$245;$499=$497&$246;$500=$498|$494;$501=$499|$495;$502=_i64Add($492|0,$493|0,$500|0,$501|0)|0;$503=tempRet0;$504=_i64Add($470|0,$471|0,$203|0,$204|0)|0;$505=tempRet0;$506=_i64Add($502|0,$503|0,$470|0,$471|0)|0;$507=tempRet0;$508=_bitshift64Shl($504|0,$505|0,50)|0;$509=tempRet0;$510=_bitshift64Lshr($504|0,$505|0,14)|0;$511=tempRet0;$512=$508|$510;$513=$509|$511;$514=_bitshift64Shl($504|0,$505|0,46)|0;$515=tempRet0;$516=_bitshift64Lshr($504|0,$505|0,18)|0;$517=tempRet0;$518=$514|$516;$519=$515|$517;$520=$512^$518;$521=$513^$519;$522=_bitshift64Shl($504|0,$505|0,23)|0;$523=tempRet0;$524=_bitshift64Lshr($504|0,$505|0,41)|0;$525=tempRet0;$526=$522|$524;$527=$523|$525;$528=$520^$526;$529=$521^$527;$530=$417^$330;$531=$418^$331;$532=$504&$530;$533=$505&$531;$534=$532^$330;$535=$533^$331;$536=$i$29|4;$537=31904+($536<<3)|0;$538=$537;$539=$538;$540=HEAP32[$539>>2]|0;$541=$538+4|0;$542=$541;$543=HEAP32[$542>>2]|0;$544=$W+($536<<3)|0;$545=$544;$546=$545;$547=HEAP32[$546>>2]|0;$548=$545+4|0;$549=$548;$550=HEAP32[$549>>2]|0;$551=_i64Add($540|0,$543|0,$243|0,$244|0)|0;$552=tempRet0;$553=_i64Add($551|0,$552|0,$547|0,$550|0)|0;$554=tempRet0;$555=_i64Add($553|0,$554|0,$534|0,$535|0)|0;$556=tempRet0;$557=_i64Add($555|0,$556|0,$528|0,$529|0)|0;$558=tempRet0;$559=_bitshift64Shl($506|0,$507|0,36)|0;$560=tempRet0;$561=_bitshift64Lshr($506|0,$507|0,28)|0;$562=tempRet0;$563=$559|$561;$564=$560|$562;$565=_bitshift64Shl($506|0,$507|0,30)|0;$566=tempRet0;$567=_bitshift64Lshr($506|0,$507|0,34)|0;$568=tempRet0;$569=$565|$567;$570=$566|$568;$571=$563^$569;$572=$564^$570;$573=_bitshift64Shl($506|0,$507|0,25)|0;$574=tempRet0;$575=_bitshift64Lshr($506|0,$507|0,39)|0;$576=tempRet0;$577=$573|$575;$578=$574|$576;$579=$571^$577;$580=$572^$578;$581=$506&$419;$582=$507&$420;$583=$506|$419;$584=$507|$420;$585=$583&$332;$586=$584&$333;$587=$585|$581;$588=$586|$582;$589=_i64Add($579|0,$580|0,$587|0,$588|0)|0;$590=tempRet0;$591=_i64Add($557|0,$558|0,$245|0,$246|0)|0;$592=tempRet0;$593=_i64Add($589|0,$590|0,$557|0,$558|0)|0;$594=tempRet0;$595=_bitshift64Shl($591|0,$592|0,50)|0;$596=tempRet0;$597=_bitshift64Lshr($591|0,$592|0,14)|0;$598=tempRet0;$599=$595|$597;$600=$596|$598;$601=_bitshift64Shl($591|0,$592|0,46)|0;$602=tempRet0;$603=_bitshift64Lshr($591|0,$592|0,18)|0;$604=tempRet0;$605=$601|$603;$606=$602|$604;$607=$599^$605;$608=$600^$606;$609=_bitshift64Shl($591|0,$592|0,23)|0;$610=tempRet0;$611=_bitshift64Lshr($591|0,$592|0,41)|0;$612=tempRet0;$613=$609|$611;$614=$610|$612;$615=$607^$613;$616=$608^$614;$617=$504^$417;$618=$505^$418;$619=$591&$617;$620=$592&$618;$621=$619^$417;$622=$620^$418;$623=$i$29|5;$624=31904+($623<<3)|0;$625=$624;$626=$625;$627=HEAP32[$626>>2]|0;$628=$625+4|0;$629=$628;$630=HEAP32[$629>>2]|0;$631=$W+($623<<3)|0;$632=$631;$633=$632;$634=HEAP32[$633>>2]|0;$635=$632+4|0;$636=$635;$637=HEAP32[$636>>2]|0;$638=_i64Add($627|0,$630|0,$330|0,$331|0)|0;$639=tempRet0;$640=_i64Add($638|0,$639|0,$634|0,$637|0)|0;$641=tempRet0;$642=_i64Add($640|0,$641|0,$621|0,$622|0)|0;$643=tempRet0;$644=_i64Add($642|0,$643|0,$615|0,$616|0)|0;$645=tempRet0;$646=_bitshift64Shl($593|0,$594|0,36)|0;$647=tempRet0;$648=_bitshift64Lshr($593|0,$594|0,28)|0;$649=tempRet0;$650=$646|$648;$651=$647|$649;$652=_bitshift64Shl($593|0,$594|0,30)|0;$653=tempRet0;$654=_bitshift64Lshr($593|0,$594|0,34)|0;$655=tempRet0;$656=$652|$654;$657=$653|$655;$658=$650^$656;$659=$651^$657;$660=_bitshift64Shl($593|0,$594|0,25)|0;$661=tempRet0;$662=_bitshift64Lshr($593|0,$594|0,39)|0;$663=tempRet0;$664=$660|$662;$665=$661|$663;$666=$658^$664;$667=$659^$665;$668=$593&$506;$669=$594&$507;$670=$593|$506;$671=$594|$507;$672=$670&$419;$673=$671&$420;$674=$672|$668;$675=$673|$669;$676=_i64Add($666|0,$667|0,$674|0,$675|0)|0;$677=tempRet0;$678=_i64Add($644|0,$645|0,$332|0,$333|0)|0;$679=tempRet0;$680=_i64Add($676|0,$677|0,$644|0,$645|0)|0;$681=tempRet0;$682=_bitshift64Shl($678|0,$679|0,50)|0;$683=tempRet0;$684=_bitshift64Lshr($678|0,$679|0,14)|0;$685=tempRet0;$686=$682|$684;$687=$683|$685;$688=_bitshift64Shl($678|0,$679|0,46)|0;$689=tempRet0;$690=_bitshift64Lshr($678|0,$679|0,18)|0;$691=tempRet0;$692=$688|$690;$693=$689|$691;$694=$686^$692;$695=$687^$693;$696=_bitshift64Shl($678|0,$679|0,23)|0;$697=tempRet0;$698=_bitshift64Lshr($678|0,$679|0,41)|0;$699=tempRet0;$700=$696|$698;$701=$697|$699;$702=$694^$700;$703=$695^$701;$704=$591^$504;$705=$592^$505;$706=$678&$704;$707=$679&$705;$708=$706^$504;$709=$707^$505;$710=$i$29|6;$711=31904+($710<<3)|0;$712=$711;$713=$712;$714=HEAP32[$713>>2]|0;$715=$712+4|0;$716=$715;$717=HEAP32[$716>>2]|0;$718=$W+($710<<3)|0;$719=$718;$720=$719;$721=HEAP32[$720>>2]|0;$722=$719+4|0;$723=$722;$724=HEAP32[$723>>2]|0;$725=_i64Add($721|0,$724|0,$714|0,$717|0)|0;$726=tempRet0;$727=_i64Add($725|0,$726|0,$417|0,$418|0)|0;$728=tempRet0;$729=_i64Add($727|0,$728|0,$708|0,$709|0)|0;$730=tempRet0;$731=_i64Add($729|0,$730|0,$702|0,$703|0)|0;$732=tempRet0;$733=_bitshift64Shl($680|0,$681|0,36)|0;$734=tempRet0;$735=_bitshift64Lshr($680|0,$681|0,28)|0;$736=tempRet0;$737=$733|$735;$738=$734|$736;$739=_bitshift64Shl($680|0,$681|0,30)|0;$740=tempRet0;$741=_bitshift64Lshr($680|0,$681|0,34)|0;$742=tempRet0;$743=$739|$741;$744=$740|$742;$745=$737^$743;$746=$738^$744;$747=_bitshift64Shl($680|0,$681|0,25)|0;$748=tempRet0;$749=_bitshift64Lshr($680|0,$681|0,39)|0;$750=tempRet0;$751=$747|$749;$752=$748|$750;$753=$745^$751;$754=$746^$752;$755=$680&$593;$756=$681&$594;$757=$680|$593;$758=$681|$594;$759=$757&$506;$760=$758&$507;$761=$759|$755;$762=$760|$756;$763=_i64Add($753|0,$754|0,$761|0,$762|0)|0;$764=tempRet0;$765=_i64Add($731|0,$732|0,$419|0,$420|0)|0;$766=tempRet0;$767=_i64Add($763|0,$764|0,$731|0,$732|0)|0;$768=tempRet0;$769=_bitshift64Shl($765|0,$766|0,50)|0;$770=tempRet0;$771=_bitshift64Lshr($765|0,$766|0,14)|0;$772=tempRet0;$773=$769|$771;$774=$770|$772;$775=_bitshift64Shl($765|0,$766|0,46)|0;$776=tempRet0;$777=_bitshift64Lshr($765|0,$766|0,18)|0;$778=tempRet0;$779=$775|$777;$780=$776|$778;$781=$773^$779;$782=$774^$780;$783=_bitshift64Shl($765|0,$766|0,23)|0;$784=tempRet0;$785=_bitshift64Lshr($765|0,$766|0,41)|0;$786=tempRet0;$787=$783|$785;$788=$784|$786;$789=$781^$787;$790=$782^$788;$791=$678^$591;$792=$679^$592;$793=$765&$791;$794=$766&$792;$795=$793^$591;$796=$794^$592;$797=$i$29|7;$798=31904+($797<<3)|0;$799=$798;$800=$799;$801=HEAP32[$800>>2]|0;$802=$799+4|0;$803=$802;$804=HEAP32[$803>>2]|0;$805=$W+($797<<3)|0;$806=$805;$807=$806;$808=HEAP32[$807>>2]|0;$809=$806+4|0;$810=$809;$811=HEAP32[$810>>2]|0;$812=_i64Add($808|0,$811|0,$801|0,$804|0)|0;$813=tempRet0;$814=_i64Add($812|0,$813|0,$504|0,$505|0)|0;$815=tempRet0;$816=_i64Add($814|0,$815|0,$795|0,$796|0)|0;$817=tempRet0;$818=_i64Add($816|0,$817|0,$789|0,$790|0)|0;$819=tempRet0;$820=_bitshift64Shl($767|0,$768|0,36)|0;$821=tempRet0;$822=_bitshift64Lshr($767|0,$768|0,28)|0;$823=tempRet0;$824=$820|$822;$825=$821|$823;$826=_bitshift64Shl($767|0,$768|0,30)|0;$827=tempRet0;$828=_bitshift64Lshr($767|0,$768|0,34)|0;$829=tempRet0;$830=$826|$828;$831=$827|$829;$832=$824^$830;$833=$825^$831;$834=_bitshift64Shl($767|0,$768|0,25)|0;$835=tempRet0;$836=_bitshift64Lshr($767|0,$768|0,39)|0;$837=tempRet0;$838=$834|$836;$839=$835|$837;$840=$832^$838;$841=$833^$839;$842=$767&$680;$843=$768&$681;$844=$767|$680;$845=$768|$681;$846=$844&$593;$847=$845&$594;$848=$846|$842;$849=$847|$843;$850=_i64Add($840|0,$841|0,$848|0,$849|0)|0;$851=tempRet0;$852=_i64Add($818|0,$819|0,$506|0,$507|0)|0;$853=tempRet0;$854=_i64Add($850|0,$851|0,$818|0,$819|0)|0;$855=tempRet0;$856=$i$29+8|0;$857=($856|0)<80;if($857){$145=$852;$146=$853;$170=$678;$171=$765;$173=$679;$174=$766;$193=$591;$194=$592;$203=$854;$204=$855;$228=$767;$230=$768;$234=$680;$236=$681;$241=$593;$242=$594;$i$29=$856}else{break}}$858=$r;$859=$858;$860=HEAP32[$859>>2]|0;$861=$858+4|0;$862=$861;$863=HEAP32[$862>>2]|0;$864=_i64Add($860|0,$863|0,$854|0,$855|0)|0;$865=tempRet0;$866=$r;$867=$866;HEAP32[$867>>2]=$864;$868=$866+4|0;$869=$868;HEAP32[$869>>2]=$865;$870=$96;$871=$870;$872=HEAP32[$871>>2]|0;$873=$870+4|0;$874=$873;$875=HEAP32[$874>>2]|0;$876=_i64Add($872|0,$875|0,$767|0,$768|0)|0;$877=tempRet0;$878=$96;$879=$878;HEAP32[$879>>2]=$876;$880=$878+4|0;$881=$880;HEAP32[$881>>2]=$877;$882=$103;$883=$882;$884=HEAP32[$883>>2]|0;$885=$882+4|0;$886=$885;$887=HEAP32[$886>>2]|0;$888=_i64Add($884|0,$887|0,$680|0,$681|0)|0;$889=tempRet0;$890=$103;$891=$890;HEAP32[$891>>2]=$888;$892=$890+4|0;$893=$892;HEAP32[$893>>2]=$889;$894=$110;$895=$894;$896=HEAP32[$895>>2]|0;$897=$894+4|0;$898=$897;$899=HEAP32[$898>>2]|0;$900=_i64Add($896|0,$899|0,$593|0,$594|0)|0;$901=tempRet0;$902=$110;$903=$902;HEAP32[$903>>2]=$900;$904=$902+4|0;$905=$904;HEAP32[$905>>2]=$901;$906=$117;$907=$906;$908=HEAP32[$907>>2]|0;$909=$906+4|0;$910=$909;$911=HEAP32[$910>>2]|0;$912=_i64Add($908|0,$911|0,$852|0,$853|0)|0;$913=tempRet0;$914=$117;$915=$914;HEAP32[$915>>2]=$912;$916=$914+4|0;$917=$916;HEAP32[$917>>2]=$913;$918=$124;$919=$918;$920=HEAP32[$919>>2]|0;$921=$918+4|0;$922=$921;$923=HEAP32[$922>>2]|0;$924=_i64Add($920|0,$923|0,$765|0,$766|0)|0;$925=tempRet0;$926=$124;$927=$926;HEAP32[$927>>2]=$924;$928=$926+4|0;$929=$928;HEAP32[$929>>2]=$925;$930=$131;$931=$930;$932=HEAP32[$931>>2]|0;$933=$930+4|0;$934=$933;$935=HEAP32[$934>>2]|0;$936=_i64Add($932|0,$935|0,$678|0,$679|0)|0;$937=tempRet0;$938=$131;$939=$938;HEAP32[$939>>2]=$936;$940=$938+4|0;$941=$940;HEAP32[$941>>2]=$937;$942=$138;$943=$942;$944=HEAP32[$943>>2]|0;$945=$942+4|0;$946=$945;$947=HEAP32[$946>>2]|0;$948=_i64Add($944|0,$947|0,$591|0,$592|0)|0;$949=tempRet0;$950=$138;$951=$950;HEAP32[$951>>2]=$948;$952=$950+4|0;$953=$952;HEAP32[$953>>2]=$949;STACKTOP=sp;return}function _sha384_close($cc,$dst,$rnum){$cc=$cc|0;$dst=$dst|0;$rnum=$rnum|0;var label=0,sp=0;sp=STACKTOP;_sha384_addbits_and_close($cc,0,0,$dst,$rnum);STACKTOP=sp;return}function _sha384_addbits_and_close($cc,$ub,$n,$dst,$rnum){$cc=$cc|0;$ub=$ub|0;$n=$n|0;$dst=$dst|0;$rnum=$rnum|0;var $0=0,$1=0,$10=0,$11=0,$12=0,$13=0,$14=0,$15=0,$16=0,$17=0,$18=0,$19=0,$2=0,$20=0,$21=0,$22=0,$23=0,$24=0,$25=0,$26=0;var $27=0,$28=0,$29=0,$3=0,$30=0,$31=0,$32=0,$33=0,$34=0,$35=0,$36=0,$37=0,$38=0,$39=0,$4=0,$40=0,$41=0,$42=0,$43=0,$44=0;var $45=0,$46=0,$47=0,$48=0,$49=0,$5=0,$50=0,$51=0,$6=0,$7=0,$8=0,$9=0,$exitcond=0,$u$01=0,dest=0,label=0,sp=0,stop=0;sp=STACKTOP;$0=$cc+192|0;$1=$0;$2=$1;$3=HEAP32[$2>>2]|0;$4=$1+4|0;$5=$4;$6=HEAP32[$5>>2]|0;$7=$3&127;$8=128>>>$n;$9=0-$8|0;$10=$9&$ub;$11=$10|$8;$12=$11&255;$13=$7+1|0;$14=$cc+$7|0;HEAP8[$14>>0]=$12;$15=$13>>>0>112;$16=$cc+$13|0;if($15){$17=$7^127;_memset($16|0,0,$17|0)|0;$18=$cc+128|0;_sha3_round($cc,$18);dest=$cc+0|0;stop=dest+112|0;do{HEAP8[dest>>0]=0|0;dest=dest+1|0}while((dest|0)<(stop|0))}else{$19=111-$7|0;_memset($16|0,0,$19|0)|0}$20=$cc+112|0;$21=$0;$22=$21;$23=HEAP32[$22>>2]|0;$24=$21+4|0;$25=$24;$26=HEAP32[$25>>2]|0;$27=_bitshift64Lshr($23|0,$26|0,61)|0;$28=tempRet0;_sph_enc64be_aligned($20,$27,$28);$29=$cc+120|0;$30=$0;$31=$30;$32=HEAP32[$31>>2]|0;$33=$30+4|0;$34=$33;$35=HEAP32[$34>>2]|0;$36=_bitshift64Shl($32|0,$35|0,3)|0;$37=tempRet0;$38=_i64Add($36|0,$37|0,$n|0,0)|0;$39=tempRet0;_sph_enc64be_aligned($29,$38,$39);$40=$cc+128|0;_sha3_round($cc,$40);$41=($rnum|0)==0;if($41){STACKTOP=sp;return}else{$u$01=0}while(1){$42=$u$01<<3;$43=$dst+$42|0;$44=$40+($u$01<<3)|0;$45=$44;$46=$45;$47=HEAP32[$46>>2]|0;$48=$45+4|0;$49=$48;$50=HEAP32[$49>>2]|0;_sph_enc64be($43,$47,$50);$51=$u$01+1|0;$exitcond=($51|0)==($rnum|0);if($exitcond){break}else{$u$01=$51}}STACKTOP=sp;return}function _sph_dec64be_aligned($src){$src=$src|0;var $0=0,$1=0,$10=0,$11=0,$12=0,$13=0,$14=0,$15=0,$16=0,$17=0,$18=0,$19=0,$2=0,$20=0,$21=0,$22=0,$23=0,$24=0,$25=0,$26=0;var $27=0,$28=0,$29=0,$3=0,$30=0,$31=0,$32=0,$33=0,$34=0,$35=0,$36=0,$37=0,$38=0,$39=0,$4=0,$40=0,$41=0,$42=0,$43=0,$44=0;var $45=0,$46=0,$5=0,$6=0,$7=0,$8=0,$9=0,label=0,sp=0;sp=STACKTOP;$0=HEAP8[$src>>0]|0;$1=$0&255;$2=_bitshift64Shl($1|0,0,56)|0;$3=tempRet0;$4=$src+1|0;$5=HEAP8[$4>>0]|0;$6=$5&255;$7=_bitshift64Shl($6|0,0,48)|0;$8=tempRet0;$9=$7|$2;$10=$8|$3;$11=$src+2|0;$12=HEAP8[$11>>0]|0;$13=$12&255;$14=_bitshift64Shl($13|0,0,40)|0;$15=tempRet0;$16=$9|$14;$17=$10|$15;$18=$src+3|0;$19=HEAP8[$18>>0]|0;$20=$19&255;$21=$17|$20;$22=$src+4|0;$23=HEAP8[$22>>0]|0;$24=$23&255;$25=_bitshift64Shl($24|0,0,24)|0;$26=tempRet0;$27=$16|$25;$28=$21|$26;$29=$src+5|0;$30=HEAP8[$29>>0]|0;$31=$30&255;$32=_bitshift64Shl($31|0,0,16)|0;$33=tempRet0;$34=$27|$32;$35=$28|$33;$36=$src+6|0;$37=HEAP8[$36>>0]|0;$38=$37&255;$39=_bitshift64Shl($38|0,0,8)|0;$40=tempRet0;$41=$34|$39;$42=$35|$40;$43=$src+7|0;$44=HEAP8[$43>>0]|0;$45=$44&255;$46=$41|$45;tempRet0=$42;STACKTOP=sp;return $46|0}function _sph_enc64be_aligned($dst,$0,$1){$dst=$dst|0;$0=$0|0;$1=$1|0;var $10=0,$11=0,$12=0,$13=0,$14=0,$15=0,$16=0,$17=0,$18=0,$19=0,$2=0,$20=0,$21=0,$22=0,$23=0,$24=0,$25=0,$26=0,$27=0,$28=0;var $3=0,$4=0,$5=0,$6=0,$7=0,$8=0,$9=0,label=0,sp=0;sp=STACKTOP;$2=_bitshift64Lshr($0|0,$1|0,56)|0;$3=tempRet0;$4=$2&255;HEAP8[$dst>>0]=$4;$5=_bitshift64Lshr($0|0,$1|0,48)|0;$6=tempRet0;$7=$5&255;$8=$dst+1|0;HEAP8[$8>>0]=$7;$9=_bitshift64Lshr($0|0,$1|0,40)|0;$10=tempRet0;$11=$9&255;$12=$dst+2|0;HEAP8[$12>>0]=$11;$13=$1&255;$14=$dst+3|0;HEAP8[$14>>0]=$13;$15=_bitshift64Lshr($0|0,$1|0,24)|0;$16=tempRet0;$17=$15&255;$18=$dst+4|0;HEAP8[$18>>0]=$17;$19=_bitshift64Lshr($0|0,$1|0,16)|0;$20=tempRet0;$21=$19&255;$22=$dst+5|0;HEAP8[$22>>0]=$21;$23=_bitshift64Lshr($0|0,$1|0,8)|0;$24=tempRet0;$25=$23&255;$26=$dst+6|0;HEAP8[$26>>0]=$25;$27=$0&255;$28=$dst+7|0;HEAP8[$28>>0]=$27;STACKTOP=sp;return}function _sph_enc64be($dst,$0,$1){$dst=$dst|0;$0=$0|0;$1=$1|0;var $10=0,$11=0,$12=0,$13=0,$14=0,$15=0,$16=0,$17=0,$18=0,$19=0,$2=0,$20=0,$21=0,$22=0,$23=0,$24=0,$25=0,$26=0,$27=0,$28=0;var $3=0,$4=0,$5=0,$6=0,$7=0,$8=0,$9=0,label=0,sp=0;sp=STACKTOP;$2=_bitshift64Lshr($0|0,$1|0,56)|0;$3=tempRet0;$4=$2&255;HEAP8[$dst>>0]=$4;$5=_bitshift64Lshr($0|0,$1|0,48)|0;$6=tempRet0;$7=$5&255;$8=$dst+1|0;HEAP8[$8>>0]=$7;$9=_bitshift64Lshr($0|0,$1|0,40)|0;$10=tempRet0;$11=$9&255;$12=$dst+2|0;HEAP8[$12>>0]=$11;$13=$1&255;$14=$dst+3|0;HEAP8[$14>>0]=$13;$15=_bitshift64Lshr($0|0,$1|0,24)|0;$16=tempRet0;$17=$15&255;$18=$dst+4|0;HEAP8[$18>>0]=$17;$19=_bitshift64Lshr($0|0,$1|0,16)|0;$20=tempRet0;$21=$19&255;$22=$dst+5|0;HEAP8[$22>>0]=$21;$23=_bitshift64Lshr($0|0,$1|0,8)|0;$24=tempRet0;$25=$23&255;$26=$dst+6|0;HEAP8[$26>>0]=$25;$27=$0&255;$28=$dst+7|0;HEAP8[$28>>0]=$27;STACKTOP=sp;return}function _malloc($bytes){$bytes=$bytes|0;var $$pre=0,$$pre$i=0,$$pre$i$i=0,$$pre$i23$i=0,$$pre$i25=0,$$pre$phi$i$iZ2D=0,$$pre$phi$i24$iZ2D=0,$$pre$phi$i26Z2D=0,$$pre$phi$iZ2D=0,$$pre$phi59$i$iZ2D=0,$$pre$phiZ2D=0,$$pre105=0,$$pre58$i$i=0,$$rsize$0$i=0,$$rsize$3$i=0,$$sum=0,$$sum$i$i=0,$$sum$i$i$i=0,$$sum$i12$i=0,$$sum$i13$i=0;var $$sum$i16$i=0,$$sum$i19$i=0,$$sum$i2338=0,$$sum$i32=0,$$sum$i39=0,$$sum1=0,$$sum1$i=0,$$sum1$i$i=0,$$sum1$i14$i=0,$$sum1$i20$i=0,$$sum1$i24=0,$$sum10=0,$$sum10$i=0,$$sum10$i$i=0,$$sum10$pre$i$i=0,$$sum102$i=0,$$sum103$i=0,$$sum104$i=0,$$sum105$i=0,$$sum106$i=0;var $$sum107$i=0,$$sum108$i=0,$$sum109$i=0,$$sum11$i=0,$$sum11$i$i=0,$$sum11$i22$i=0,$$sum110$i=0,$$sum111$i=0,$$sum1112=0,$$sum112$i=0,$$sum113$i=0,$$sum114$i=0,$$sum115$i=0,$$sum12$i=0,$$sum12$i$i=0,$$sum13$i=0,$$sum13$i$i=0,$$sum14$i$i=0,$$sum14$pre$i=0,$$sum15$i=0;var $$sum15$i$i=0,$$sum16$i=0,$$sum16$i$i=0,$$sum17$i=0,$$sum17$i$i=0,$$sum18$i=0,$$sum1819$i$i=0,$$sum2=0,$$sum2$i=0,$$sum2$i$i=0,$$sum2$i$i$i=0,$$sum2$i15$i=0,$$sum2$i17$i=0,$$sum2$i21$i=0,$$sum2$pre$i=0,$$sum20$i$i=0,$$sum21$i$i=0,$$sum22$i$i=0,$$sum23$i$i=0,$$sum24$i$i=0;var $$sum25$i$i=0,$$sum26$pre$i$i=0,$$sum27$i$i=0,$$sum28$i$i=0,$$sum29$i$i=0,$$sum3$i=0,$$sum3$i$i=0,$$sum3$i27=0,$$sum30$i$i=0,$$sum3132$i$i=0,$$sum34$i$i=0,$$sum3536$i$i=0,$$sum3738$i$i=0,$$sum39$i$i=0,$$sum4=0,$$sum4$i=0,$$sum4$i28=0,$$sum40$i$i=0,$$sum41$i$i=0,$$sum42$i$i=0;var $$sum5$i=0,$$sum5$i$i=0,$$sum56=0,$$sum6$i=0,$$sum67$i$i=0,$$sum7$i=0,$$sum8$i=0,$$sum8$pre=0,$$sum9=0,$$sum9$i=0,$$sum9$i$i=0,$$tsize$1$i=0,$$v$0$i=0,$0=0,$1=0,$10=0,$100=0,$1000=0,$1001=0,$1002=0;var $1003=0,$1004=0,$1005=0,$1006=0,$1007=0,$1008=0,$1009=0,$101=0,$1010=0,$1011=0,$1012=0,$1013=0,$1014=0,$1015=0,$1016=0,$1017=0,$1018=0,$1019=0,$102=0,$1020=0;var $1021=0,$1022=0,$1023=0,$1024=0,$1025=0,$1026=0,$1027=0,$1028=0,$1029=0,$103=0,$1030=0,$1031=0,$1032=0,$1033=0,$1034=0,$1035=0,$1036=0,$1037=0,$1038=0,$1039=0;var $104=0,$1040=0,$1041=0,$1042=0,$1043=0,$1044=0,$1045=0,$1046=0,$1047=0,$1048=0,$1049=0,$105=0,$1050=0,$1051=0,$1052=0,$1053=0,$1054=0,$1055=0,$1056=0,$1057=0;var $1058=0,$1059=0,$106=0,$1060=0,$1061=0,$1062=0,$1063=0,$1064=0,$1065=0,$1066=0,$1067=0,$1068=0,$1069=0,$107=0,$1070=0,$1071=0,$1072=0,$1073=0,$1074=0,$108=0;var $109=0,$11=0,$110=0,$111=0,$112=0,$113=0,$114=0,$115=0,$116=0,$117=0,$118=0,$119=0,$12=0,$120=0,$121=0,$122=0,$123=0,$124=0,$125=0,$126=0;var $127=0,$128=0,$129=0,$13=0,$130=0,$131=0,$132=0,$133=0,$134=0,$135=0,$136=0,$137=0,$138=0,$139=0,$14=0,$140=0,$141=0,$142=0,$143=0,$144=0;var $145=0,$146=0,$147=0,$148=0,$149=0,$15=0,$150=0,$151=0,$152=0,$153=0,$154=0,$155=0,$156=0,$157=0,$158=0,$159=0,$16=0,$160=0,$161=0,$162=0;var $163=0,$164=0,$165=0,$166=0,$167=0,$168=0,$169=0,$17=0,$170=0,$171=0,$172=0,$173=0,$174=0,$175=0,$176=0,$177=0,$178=0,$179=0,$18=0,$180=0;var $181=0,$182=0,$183=0,$184=0,$185=0,$186=0,$187=0,$188=0,$189=0,$19=0,$190=0,$191=0,$192=0,$193=0,$194=0,$195=0,$196=0,$197=0,$198=0,$199=0;var $2=0,$20=0,$200=0,$201=0,$202=0,$203=0,$204=0,$205=0,$206=0,$207=0,$208=0,$209=0,$21=0,$210=0,$211=0,$212=0,$213=0,$214=0,$215=0,$216=0;var $217=0,$218=0,$219=0,$22=0,$220=0,$221=0,$222=0,$223=0,$224=0,$225=0,$226=0,$227=0,$228=0,$229=0,$23=0,$230=0,$231=0,$232=0,$233=0,$234=0;var $235=0,$236=0,$237=0,$238=0,$239=0,$24=0,$240=0,$241=0,$242=0,$243=0,$244=0,$245=0,$246=0,$247=0,$248=0,$249=0,$25=0,$250=0,$251=0,$252=0;var $253=0,$254=0,$255=0,$256=0,$257=0,$258=0,$259=0,$26=0,$260=0,$261=0,$262=0,$263=0,$264=0,$265=0,$266=0,$267=0,$268=0,$269=0,$27=0,$270=0;var $271=0,$272=0,$273=0,$274=0,$275=0,$276=0,$277=0,$278=0,$279=0,$28=0,$280=0,$281=0,$282=0,$283=0,$284=0,$285=0,$286=0,$287=0,$288=0,$289=0;var $29=0,$290=0,$291=0,$292=0,$293=0,$294=0,$295=0,$296=0,$297=0,$298=0,$299=0,$3=0,$30=0,$300=0,$301=0,$302=0,$303=0,$304=0,$305=0,$306=0;var $307=0,$308=0,$309=0,$31=0,$310=0,$311=0,$312=0,$313=0,$314=0,$315=0,$316=0,$317=0,$318=0,$319=0,$32=0,$320=0,$321=0,$322=0,$323=0,$324=0;var $325=0,$326=0,$327=0,$328=0,$329=0,$33=0,$330=0,$331=0,$332=0,$333=0,$334=0,$335=0,$336=0,$337=0,$338=0,$339=0,$34=0,$340=0,$341=0,$342=0;var $343=0,$344=0,$345=0,$346=0,$347=0,$348=0,$349=0,$35=0,$350=0,$351=0,$352=0,$353=0,$354=0,$355=0,$356=0,$357=0,$358=0,$359=0,$36=0,$360=0;var $361=0,$362=0,$363=0,$364=0,$365=0,$366=0,$367=0,$368=0,$369=0,$37=0,$370=0,$371=0,$372=0,$373=0,$374=0,$375=0,$376=0,$377=0,$378=0,$379=0;var $38=0,$380=0,$381=0,$382=0,$383=0,$384=0,$385=0,$386=0,$387=0,$388=0,$389=0,$39=0,$390=0,$391=0,$392=0,$393=0,$394=0,$395=0,$396=0,$397=0;var $398=0,$399=0,$4=0,$40=0,$400=0,$401=0,$402=0,$403=0,$404=0,$405=0,$406=0,$407=0,$408=0,$409=0,$41=0,$410=0,$411=0,$412=0,$413=0,$414=0;var $415=0,$416=0,$417=0,$418=0,$419=0,$42=0,$420=0,$421=0,$422=0,$423=0,$424=0,$425=0,$426=0,$427=0,$428=0,$429=0,$43=0,$430=0,$431=0,$432=0;var $433=0,$434=0,$435=0,$436=0,$437=0,$438=0,$439=0,$44=0,$440=0,$441=0,$442=0,$443=0,$444=0,$445=0,$446=0,$447=0,$448=0,$449=0,$45=0,$450=0;var $451=0,$452=0,$453=0,$454=0,$455=0,$456=0,$457=0,$458=0,$459=0,$46=0,$460=0,$461=0,$462=0,$463=0,$464=0,$465=0,$466=0,$467=0,$468=0,$469=0;var $47=0,$470=0,$471=0,$472=0,$473=0,$474=0,$475=0,$476=0,$477=0,$478=0,$479=0,$48=0,$480=0,$481=0,$482=0,$483=0,$484=0,$485=0,$486=0,$487=0;var $488=0,$489=0,$49=0,$490=0,$491=0,$492=0,$493=0,$494=0,$495=0,$496=0,$497=0,$498=0,$499=0,$5=0,$50=0,$500=0,$501=0,$502=0,$503=0,$504=0;var $505=0,$506=0,$507=0,$508=0,$509=0,$51=0,$510=0,$511=0,$512=0,$513=0,$514=0,$515=0,$516=0,$517=0,$518=0,$519=0,$52=0,$520=0,$521=0,$522=0;var $523=0,$524=0,$525=0,$526=0,$527=0,$528=0,$529=0,$53=0,$530=0,$531=0,$532=0,$533=0,$534=0,$535=0,$536=0,$537=0,$538=0,$539=0,$54=0,$540=0;var $541=0,$542=0,$543=0,$544=0,$545=0,$546=0,$547=0,$548=0,$549=0,$55=0,$550=0,$551=0,$552=0,$553=0,$554=0,$555=0,$556=0,$557=0,$558=0,$559=0;var $56=0,$560=0,$561=0,$562=0,$563=0,$564=0,$565=0,$566=0,$567=0,$568=0,$569=0,$57=0,$570=0,$571=0,$572=0,$573=0,$574=0,$575=0,$576=0,$577=0;var $578=0,$579=0,$58=0,$580=0,$581=0,$582=0,$583=0,$584=0,$585=0,$586=0,$587=0,$588=0,$589=0,$59=0,$590=0,$591=0,$592=0,$593=0,$594=0,$595=0;var $596=0,$597=0,$598=0,$599=0,$6=0,$60=0,$600=0,$601=0,$602=0,$603=0,$604=0,$605=0,$606=0,$607=0,$608=0,$609=0,$61=0,$610=0,$611=0,$612=0;var $613=0,$614=0,$615=0,$616=0,$617=0,$618=0,$619=0,$62=0,$620=0,$621=0,$622=0,$623=0,$624=0,$625=0,$626=0,$627=0,$628=0,$629=0,$63=0,$630=0;var $631=0,$632=0,$633=0,$634=0,$635=0,$636=0,$637=0,$638=0,$639=0,$64=0,$640=0,$641=0,$642=0,$643=0,$644=0,$645=0,$646=0,$647=0,$648=0,$649=0;var $65=0,$650=0,$651=0,$652=0,$653=0,$654=0,$655=0,$656=0,$657=0,$658=0,$659=0,$66=0,$660=0,$661=0,$662=0,$663=0,$664=0,$665=0,$666=0,$667=0;var $668=0,$669=0,$67=0,$670=0,$671=0,$672=0,$673=0,$674=0,$675=0,$676=0,$677=0,$678=0,$679=0,$68=0,$680=0,$681=0,$682=0,$683=0,$684=0,$685=0;var $686=0,$687=0,$688=0,$689=0,$69=0,$690=0,$691=0,$692=0,$693=0,$694=0,$695=0,$696=0,$697=0,$698=0,$699=0,$7=0,$70=0,$700=0,$701=0,$702=0;var $703=0,$704=0,$705=0,$706=0,$707=0,$708=0,$709=0,$71=0,$710=0,$711=0,$712=0,$713=0,$714=0,$715=0,$716=0,$717=0,$718=0,$719=0,$72=0,$720=0;var $721=0,$722=0,$723=0,$724=0,$725=0,$726=0,$727=0,$728=0,$729=0,$73=0,$730=0,$731=0,$732=0,$733=0,$734=0,$735=0,$736=0,$737=0,$738=0,$739=0;var $74=0,$740=0,$741=0,$742=0,$743=0,$744=0,$745=0,$746=0,$747=0,$748=0,$749=0,$75=0,$750=0,$751=0,$752=0,$753=0,$754=0,$755=0,$756=0,$757=0;var $758=0,$759=0,$76=0,$760=0,$761=0,$762=0,$763=0,$764=0,$765=0,$766=0,$767=0,$768=0,$769=0,$77=0,$770=0,$771=0,$772=0,$773=0,$774=0,$775=0;var $776=0,$777=0,$778=0,$779=0,$78=0,$780=0,$781=0,$782=0,$783=0,$784=0,$785=0,$786=0,$787=0,$788=0,$789=0,$79=0,$790=0,$791=0,$792=0,$793=0;var $794=0,$795=0,$796=0,$797=0,$798=0,$799=0,$8=0,$80=0,$800=0,$801=0,$802=0,$803=0,$804=0,$805=0,$806=0,$807=0,$808=0,$809=0,$81=0,$810=0;var $811=0,$812=0,$813=0,$814=0,$815=0,$816=0,$817=0,$818=0,$819=0,$82=0,$820=0,$821=0,$822=0,$823=0,$824=0,$825=0,$826=0,$827=0,$828=0,$829=0;var $83=0,$830=0,$831=0,$832=0,$833=0,$834=0,$835=0,$836=0,$837=0,$838=0,$839=0,$84=0,$840=0,$841=0,$842=0,$843=0,$844=0,$845=0,$846=0,$847=0;var $848=0,$849=0,$85=0,$850=0,$851=0,$852=0,$853=0,$854=0,$855=0,$856=0,$857=0,$858=0,$859=0,$86=0,$860=0,$861=0,$862=0,$863=0,$864=0,$865=0;var $866=0,$867=0,$868=0,$869=0,$87=0,$870=0,$871=0,$872=0,$873=0,$874=0,$875=0,$876=0,$877=0,$878=0,$879=0,$88=0,$880=0,$881=0,$882=0,$883=0;var $884=0,$885=0,$886=0,$887=0,$888=0,$889=0,$89=0,$890=0,$891=0,$892=0,$893=0,$894=0,$895=0,$896=0,$897=0,$898=0,$899=0,$9=0,$90=0,$900=0;var $901=0,$902=0,$903=0,$904=0,$905=0,$906=0,$907=0,$908=0,$909=0,$91=0,$910=0,$911=0,$912=0,$913=0,$914=0,$915=0,$916=0,$917=0,$918=0,$919=0;var $92=0,$920=0,$921=0,$922=0,$923=0,$924=0,$925=0,$926=0,$927=0,$928=0,$929=0,$93=0,$930=0,$931=0,$932=0,$933=0,$934=0,$935=0,$936=0,$937=0;var $938=0,$939=0,$94=0,$940=0,$941=0,$942=0,$943=0,$944=0,$945=0,$946=0,$947=0,$948=0,$949=0,$95=0,$950=0,$951=0,$952=0,$953=0,$954=0,$955=0;var $956=0,$957=0,$958=0,$959=0,$96=0,$960=0,$961=0,$962=0,$963=0,$964=0,$965=0,$966=0,$967=0,$968=0,$969=0,$97=0,$970=0,$971=0,$972=0,$973=0;var $974=0,$975=0,$976=0,$977=0,$978=0,$979=0,$98=0,$980=0,$981=0,$982=0,$983=0,$984=0,$985=0,$986=0,$987=0,$988=0,$989=0,$99=0,$990=0,$991=0;var $992=0,$993=0,$994=0,$995=0,$996=0,$997=0,$998=0,$999=0,$F$0$i$i=0,$F1$0$i=0,$F4$0=0,$F4$0$i$i=0,$F5$0$i=0,$I1$0$c$i$i=0,$I1$0$i$i=0,$I7$0$i=0,$I7$0$i$i=0,$K12$027$i=0,$K2$015$i$i=0,$K8$053$i$i=0;var $R$0$i=0,$R$0$i$i=0,$R$0$i18=0,$R$1$i=0,$R$1$i$i=0,$R$1$i20=0,$RP$0$i=0,$RP$0$i$i=0,$RP$0$i17=0,$T$0$lcssa$i=0,$T$0$lcssa$i$i=0,$T$0$lcssa$i26$i=0,$T$014$i$i=0,$T$026$i=0,$T$052$i$i=0,$br$0$i=0,$br$030$i=0,$cond$i=0,$cond$i$i=0,$cond$i21=0;var $exitcond$i$i=0,$i$02$i$i=0,$idx$0$i=0,$mem$0=0,$nb$0=0,$oldfirst$0$i$i=0,$or$cond$i=0,$or$cond$i$i=0,$or$cond$i27$i=0,$or$cond$i29=0,$or$cond1$i=0,$or$cond19$i=0,$or$cond2$i=0,$or$cond24$i=0,$or$cond3$i=0,$or$cond4$i=0,$or$cond47$i=0,$or$cond5$i=0,$or$cond6$i=0,$or$cond8$i=0;var $qsize$0$i$i=0,$rsize$0$i=0,$rsize$0$i15=0,$rsize$1$i=0,$rsize$2$i=0,$rsize$3$lcssa$i=0,$rsize$331$i=0,$rst$0$i=0,$rst$1$i=0,$sizebits$0$i=0,$sp$0$i$i=0,$sp$0$i$i$i=0,$sp$073$i=0,$sp$166$i=0,$ssize$0$i=0,$ssize$1$i=0,$ssize$129$i=0,$ssize$2$i=0,$t$0$i=0,$t$0$i14=0;var $t$1$i=0,$t$2$ph$i=0,$t$2$v$3$i=0,$t$230$i=0,$tbase$245$i=0,$tsize$03141$i=0,$tsize$1$i=0,$tsize$244$i=0,$v$0$i=0,$v$0$i16=0,$v$1$i=0,$v$2$i=0,$v$3$lcssa$i=0,$v$332$i=0,label=0,sp=0;sp=STACKTOP;$0=$bytes>>>0<245;do{if($0){$1=$bytes>>>0<11;if($1){$5=16}else{$2=$bytes+11|0;$3=$2&-8;$5=$3}$4=$5>>>3;$6=HEAP32[32544>>2]|0;$7=$6>>>$4;$8=$7&3;$9=($8|0)==0;if(!$9){$10=$7&1;$11=$10^1;$12=$11+$4|0;$13=$12<<1;$14=(32544+($13<<2)|0)+40|0;$$sum10=$13+2|0;$15=(32544+($$sum10<<2)|0)+40|0;$16=HEAP32[$15>>2]|0;$17=$16+8|0;$18=HEAP32[$17>>2]|0;$19=($14|0)==($18|0);do{if($19){$20=1<<$12;$21=$20^-1;$22=$6&$21;HEAP32[32544>>2]=$22}else{$23=HEAP32[(32544+16|0)>>2]|0;$24=$18>>>0<$23>>>0;if($24){_abort()}$25=$18+12|0;$26=HEAP32[$25>>2]|0;$27=($26|0)==($16|0);if($27){HEAP32[$25>>2]=$14;HEAP32[$15>>2]=$18;break}else{_abort()}}}while(0);$28=$12<<3;$29=$28|3;$30=$16+4|0;HEAP32[$30>>2]=$29;$$sum1112=$28|4;$31=$16+$$sum1112|0;$32=HEAP32[$31>>2]|0;$33=$32|1;HEAP32[$31>>2]=$33;$mem$0=$17;STACKTOP=sp;return $mem$0|0}$34=HEAP32[(32544+8|0)>>2]|0;$35=$5>>>0>$34>>>0;if($35){$36=($7|0)==0;if(!$36){$37=$7<<$4;$38=2<<$4;$39=0-$38|0;$40=$38|$39;$41=$37&$40;$42=0-$41|0;$43=$41&$42;$44=$43+-1|0;$45=$44>>>12;$46=$45&16;$47=$44>>>$46;$48=$47>>>5;$49=$48&8;$50=$49|$46;$51=$47>>>$49;$52=$51>>>2;$53=$52&4;$54=$50|$53;$55=$51>>>$53;$56=$55>>>1;$57=$56&2;$58=$54|$57;$59=$55>>>$57;$60=$59>>>1;$61=$60&1;$62=$58|$61;$63=$59>>>$61;$64=$62+$63|0;$65=$64<<1;$66=(32544+($65<<2)|0)+40|0;$$sum4=$65+2|0;$67=(32544+($$sum4<<2)|0)+40|0;$68=HEAP32[$67>>2]|0;$69=$68+8|0;$70=HEAP32[$69>>2]|0;$71=($66|0)==($70|0);do{if($71){$72=1<<$64;$73=$72^-1;$74=$6&$73;HEAP32[32544>>2]=$74;$88=$34}else{$75=HEAP32[(32544+16|0)>>2]|0;$76=$70>>>0<$75>>>0;if($76){_abort()}$77=$70+12|0;$78=HEAP32[$77>>2]|0;$79=($78|0)==($68|0);if($79){HEAP32[$77>>2]=$66;HEAP32[$67>>2]=$70;$$pre=HEAP32[(32544+8|0)>>2]|0;$88=$$pre;break}else{_abort()}}}while(0);$80=$64<<3;$81=$80-$5|0;$82=$5|3;$83=$68+4|0;HEAP32[$83>>2]=$82;$84=$68+$5|0;$85=$81|1;$$sum56=$5|4;$86=$68+$$sum56|0;HEAP32[$86>>2]=$85;$87=$68+$80|0;HEAP32[$87>>2]=$81;$89=($88|0)==0;if(!$89){$90=HEAP32[(32544+20|0)>>2]|0;$91=$88>>>3;$92=$91<<1;$93=(32544+($92<<2)|0)+40|0;$94=HEAP32[32544>>2]|0;$95=1<<$91;$96=$94&$95;$97=($96|0)==0;if($97){$98=$94|$95;HEAP32[32544>>2]=$98;$$sum8$pre=$92+2|0;$$pre105=(32544+($$sum8$pre<<2)|0)+40|0;$$pre$phiZ2D=$$pre105;$F4$0=$93}else{$$sum9=$92+2|0;$99=(32544+($$sum9<<2)|0)+40|0;$100=HEAP32[$99>>2]|0;$101=HEAP32[(32544+16|0)>>2]|0;$102=$100>>>0<$101>>>0;if($102){_abort()}else{$$pre$phiZ2D=$99;$F4$0=$100}}HEAP32[$$pre$phiZ2D>>2]=$90;$103=$F4$0+12|0;HEAP32[$103>>2]=$90;$104=$90+8|0;HEAP32[$104>>2]=$F4$0;$105=$90+12|0;HEAP32[$105>>2]=$93}HEAP32[(32544+8|0)>>2]=$81;HEAP32[(32544+20|0)>>2]=$84;$mem$0=$69;STACKTOP=sp;return $mem$0|0}$106=HEAP32[(32544+4|0)>>2]|0;$107=($106|0)==0;if($107){$nb$0=$5}else{$108=0-$106|0;$109=$106&$108;$110=$109+-1|0;$111=$110>>>12;$112=$111&16;$113=$110>>>$112;$114=$113>>>5;$115=$114&8;$116=$115|$112;$117=$113>>>$115;$118=$117>>>2;$119=$118&4;$120=$116|$119;$121=$117>>>$119;$122=$121>>>1;$123=$122&2;$124=$120|$123;$125=$121>>>$123;$126=$125>>>1;$127=$126&1;$128=$124|$127;$129=$125>>>$127;$130=$128+$129|0;$131=(32544+($130<<2)|0)+304|0;$132=HEAP32[$131>>2]|0;$133=$132+4|0;$134=HEAP32[$133>>2]|0;$135=$134&-8;$136=$135-$5|0;$rsize$0$i=$136;$t$0$i=$132;$v$0$i=$132;while(1){$137=$t$0$i+16|0;$138=HEAP32[$137>>2]|0;$139=($138|0)==(0|0);if($139){$140=$t$0$i+20|0;$141=HEAP32[$140>>2]|0;$142=($141|0)==(0|0);if($142){break}else{$144=$141}}else{$144=$138}$143=$144+4|0;$145=HEAP32[$143>>2]|0;$146=$145&-8;$147=$146-$5|0;$148=$147>>>0<$rsize$0$i>>>0;$$rsize$0$i=$148?$147:$rsize$0$i;$$v$0$i=$148?$144:$v$0$i;$rsize$0$i=$$rsize$0$i;$t$0$i=$144;$v$0$i=$$v$0$i}$149=HEAP32[(32544+16|0)>>2]|0;$150=$v$0$i>>>0<$149>>>0;if($150){_abort()}$151=$v$0$i+$5|0;$152=$v$0$i>>>0<$151>>>0;if(!$152){_abort()}$153=$v$0$i+24|0;$154=HEAP32[$153>>2]|0;$155=$v$0$i+12|0;$156=HEAP32[$155>>2]|0;$157=($156|0)==($v$0$i|0);do{if($157){$167=$v$0$i+20|0;$168=HEAP32[$167>>2]|0;$169=($168|0)==(0|0);if($169){$170=$v$0$i+16|0;$171=HEAP32[$170>>2]|0;$172=($171|0)==(0|0);if($172){$R$1$i=0;break}else{$R$0$i=$171;$RP$0$i=$170}}else{$R$0$i=$168;$RP$0$i=$167}while(1){$173=$R$0$i+20|0;$174=HEAP32[$173>>2]|0;$175=($174|0)==(0|0);if(!$175){$R$0$i=$174;$RP$0$i=$173;continue}$176=$R$0$i+16|0;$177=HEAP32[$176>>2]|0;$178=($177|0)==(0|0);if($178){break}else{$R$0$i=$177;$RP$0$i=$176}}$179=$RP$0$i>>>0<$149>>>0;if($179){_abort()}else{HEAP32[$RP$0$i>>2]=0;$R$1$i=$R$0$i;break}}else{$158=$v$0$i+8|0;$159=HEAP32[$158>>2]|0;$160=$159>>>0<$149>>>0;if($160){_abort()}$161=$159+12|0;$162=HEAP32[$161>>2]|0;$163=($162|0)==($v$0$i|0);if(!$163){_abort()}$164=$156+8|0;$165=HEAP32[$164>>2]|0;$166=($165|0)==($v$0$i|0);if($166){HEAP32[$161>>2]=$156;HEAP32[$164>>2]=$159;$R$1$i=$156;break}else{_abort()}}}while(0);$180=($154|0)==(0|0);do{if(!$180){$181=$v$0$i+28|0;$182=HEAP32[$181>>2]|0;$183=(32544+($182<<2)|0)+304|0;$184=HEAP32[$183>>2]|0;$185=($v$0$i|0)==($184|0);if($185){HEAP32[$183>>2]=$R$1$i;$cond$i=($R$1$i|0)==(0|0);if($cond$i){$186=1<<$182;$187=$186^-1;$188=HEAP32[(32544+4|0)>>2]|0;$189=$188&$187;HEAP32[(32544+4|0)>>2]=$189;break}}else{$190=HEAP32[(32544+16|0)>>2]|0;$191=$154>>>0<$190>>>0;if($191){_abort()}$192=$154+16|0;$193=HEAP32[$192>>2]|0;$194=($193|0)==($v$0$i|0);if($194){HEAP32[$192>>2]=$R$1$i}else{$195=$154+20|0;HEAP32[$195>>2]=$R$1$i}$196=($R$1$i|0)==(0|0);if($196){break}}$197=HEAP32[(32544+16|0)>>2]|0;$198=$R$1$i>>>0<$197>>>0;if($198){_abort()}$199=$R$1$i+24|0;HEAP32[$199>>2]=$154;$200=$v$0$i+16|0;$201=HEAP32[$200>>2]|0;$202=($201|0)==(0|0);do{if(!$202){$203=$201>>>0<$197>>>0;if($203){_abort()}else{$204=$R$1$i+16|0;HEAP32[$204>>2]=$201;$205=$201+24|0;HEAP32[$205>>2]=$R$1$i;break}}}while(0);$206=$v$0$i+20|0;$207=HEAP32[$206>>2]|0;$208=($207|0)==(0|0);if(!$208){$209=HEAP32[(32544+16|0)>>2]|0;$210=$207>>>0<$209>>>0;if($210){_abort()}else{$211=$R$1$i+20|0;HEAP32[$211>>2]=$207;$212=$207+24|0;HEAP32[$212>>2]=$R$1$i;break}}}}while(0);$213=$rsize$0$i>>>0<16;if($213){$214=$rsize$0$i+$5|0;$215=$214|3;$216=$v$0$i+4|0;HEAP32[$216>>2]=$215;$$sum4$i=$214+4|0;$217=$v$0$i+$$sum4$i|0;$218=HEAP32[$217>>2]|0;$219=$218|1;HEAP32[$217>>2]=$219}else{$220=$5|3;$221=$v$0$i+4|0;HEAP32[$221>>2]=$220;$222=$rsize$0$i|1;$$sum$i39=$5|4;$223=$v$0$i+$$sum$i39|0;HEAP32[$223>>2]=$222;$$sum1$i=$rsize$0$i+$5|0;$224=$v$0$i+$$sum1$i|0;HEAP32[$224>>2]=$rsize$0$i;$225=HEAP32[(32544+8|0)>>2]|0;$226=($225|0)==0;if(!$226){$227=HEAP32[(32544+20|0)>>2]|0;$228=$225>>>3;$229=$228<<1;$230=(32544+($229<<2)|0)+40|0;$231=HEAP32[32544>>2]|0;$232=1<<$228;$233=$231&$232;$234=($233|0)==0;if($234){$235=$231|$232;HEAP32[32544>>2]=$235;$$sum2$pre$i=$229+2|0;$$pre$i=(32544+($$sum2$pre$i<<2)|0)+40|0;$$pre$phi$iZ2D=$$pre$i;$F1$0$i=$230}else{$$sum3$i=$229+2|0;$236=(32544+($$sum3$i<<2)|0)+40|0;$237=HEAP32[$236>>2]|0;$238=HEAP32[(32544+16|0)>>2]|0;$239=$237>>>0<$238>>>0;if($239){_abort()}else{$$pre$phi$iZ2D=$236;$F1$0$i=$237}}HEAP32[$$pre$phi$iZ2D>>2]=$227;$240=$F1$0$i+12|0;HEAP32[$240>>2]=$227;$241=$227+8|0;HEAP32[$241>>2]=$F1$0$i;$242=$227+12|0;HEAP32[$242>>2]=$230}HEAP32[(32544+8|0)>>2]=$rsize$0$i;HEAP32[(32544+20|0)>>2]=$151}$243=$v$0$i+8|0;$mem$0=$243;STACKTOP=sp;return $mem$0|0}}else{$nb$0=$5}}else{$244=$bytes>>>0>4294967231;if($244){$nb$0=-1}else{$245=$bytes+11|0;$246=$245&-8;$247=HEAP32[(32544+4|0)>>2]|0;$248=($247|0)==0;if($248){$nb$0=$246}else{$249=0-$246|0;$250=$245>>>8;$251=($250|0)==0;if($251){$idx$0$i=0}else{$252=$246>>>0>16777215;if($252){$idx$0$i=31}else{$253=$250+1048320|0;$254=$253>>>16;$255=$254&8;$256=$250<<$255;$257=$256+520192|0;$258=$257>>>16;$259=$258&4;$260=$259|$255;$261=$256<<$259;$262=$261+245760|0;$263=$262>>>16;$264=$263&2;$265=$260|$264;$266=14-$265|0;$267=$261<<$264;$268=$267>>>15;$269=$266+$268|0;$270=$269<<1;$271=$269+7|0;$272=$246>>>$271;$273=$272&1;$274=$273|$270;$idx$0$i=$274}}$275=(32544+($idx$0$i<<2)|0)+304|0;$276=HEAP32[$275>>2]|0;$277=($276|0)==(0|0);L126:do{if($277){$rsize$2$i=$249;$t$1$i=0;$v$2$i=0}else{$278=($idx$0$i|0)==31;if($278){$282=0}else{$279=$idx$0$i>>>1;$280=25-$279|0;$282=$280}$281=$246<<$282;$rsize$0$i15=$249;$rst$0$i=0;$sizebits$0$i=$281;$t$0$i14=$276;$v$0$i16=0;while(1){$283=$t$0$i14+4|0;$284=HEAP32[$283>>2]|0;$285=$284&-8;$286=$285-$246|0;$287=$286>>>0<$rsize$0$i15>>>0;if($287){$288=($285|0)==($246|0);if($288){$rsize$2$i=$286;$t$1$i=$t$0$i14;$v$2$i=$t$0$i14;break L126}else{$rsize$1$i=$286;$v$1$i=$t$0$i14}}else{$rsize$1$i=$rsize$0$i15;$v$1$i=$v$0$i16}$289=$t$0$i14+20|0;$290=HEAP32[$289>>2]|0;$291=$sizebits$0$i>>>31;$292=($t$0$i14+($291<<2)|0)+16|0;$293=HEAP32[$292>>2]|0;$294=($290|0)==(0|0);$295=($290|0)==($293|0);$or$cond19$i=$294|$295;$rst$1$i=$or$cond19$i?$rst$0$i:$290;$296=($293|0)==(0|0);$297=$sizebits$0$i<<1;if($296){$rsize$2$i=$rsize$1$i;$t$1$i=$rst$1$i;$v$2$i=$v$1$i;break}else{$rsize$0$i15=$rsize$1$i;$rst$0$i=$rst$1$i;$sizebits$0$i=$297;$t$0$i14=$293;$v$0$i16=$v$1$i}}}}while(0);$298=($t$1$i|0)==(0|0);$299=($v$2$i|0)==(0|0);$or$cond$i=$298&$299;if($or$cond$i){$300=2<<$idx$0$i;$301=0-$300|0;$302=$300|$301;$303=$247&$302;$304=($303|0)==0;if($304){$nb$0=$246;break}$305=0-$303|0;$306=$303&$305;$307=$306+-1|0;$308=$307>>>12;$309=$308&16;$310=$307>>>$309;$311=$310>>>5;$312=$311&8;$313=$312|$309;$314=$310>>>$312;$315=$314>>>2;$316=$315&4;$317=$313|$316;$318=$314>>>$316;$319=$318>>>1;$320=$319&2;$321=$317|$320;$322=$318>>>$320;$323=$322>>>1;$324=$323&1;$325=$321|$324;$326=$322>>>$324;$327=$325+$326|0;$328=(32544+($327<<2)|0)+304|0;$329=HEAP32[$328>>2]|0;$t$2$ph$i=$329}else{$t$2$ph$i=$t$1$i}$330=($t$2$ph$i|0)==(0|0);if($330){$rsize$3$lcssa$i=$rsize$2$i;$v$3$lcssa$i=$v$2$i}else{$rsize$331$i=$rsize$2$i;$t$230$i=$t$2$ph$i;$v$332$i=$v$2$i;while(1){$331=$t$230$i+4|0;$332=HEAP32[$331>>2]|0;$333=$332&-8;$334=$333-$246|0;$335=$334>>>0<$rsize$331$i>>>0;$$rsize$3$i=$335?$334:$rsize$331$i;$t$2$v$3$i=$335?$t$230$i:$v$332$i;$336=$t$230$i+16|0;$337=HEAP32[$336>>2]|0;$338=($337|0)==(0|0);if(!$338){$rsize$331$i=$$rsize$3$i;$t$230$i=$337;$v$332$i=$t$2$v$3$i;continue}$339=$t$230$i+20|0;$340=HEAP32[$339>>2]|0;$341=($340|0)==(0|0);if($341){$rsize$3$lcssa$i=$$rsize$3$i;$v$3$lcssa$i=$t$2$v$3$i;break}else{$rsize$331$i=$$rsize$3$i;$t$230$i=$340;$v$332$i=$t$2$v$3$i}}}$342=($v$3$lcssa$i|0)==(0|0);if($342){$nb$0=$246}else{$343=HEAP32[(32544+8|0)>>2]|0;$344=$343-$246|0;$345=$rsize$3$lcssa$i>>>0<$344>>>0;if($345){$346=HEAP32[(32544+16|0)>>2]|0;$347=$v$3$lcssa$i>>>0<$346>>>0;if($347){_abort()}$348=$v$3$lcssa$i+$246|0;$349=$v$3$lcssa$i>>>0<$348>>>0;if(!$349){_abort()}$350=$v$3$lcssa$i+24|0;$351=HEAP32[$350>>2]|0;$352=$v$3$lcssa$i+12|0;$353=HEAP32[$352>>2]|0;$354=($353|0)==($v$3$lcssa$i|0);do{if($354){$364=$v$3$lcssa$i+20|0;$365=HEAP32[$364>>2]|0;$366=($365|0)==(0|0);if($366){$367=$v$3$lcssa$i+16|0;$368=HEAP32[$367>>2]|0;$369=($368|0)==(0|0);if($369){$R$1$i20=0;break}else{$R$0$i18=$368;$RP$0$i17=$367}}else{$R$0$i18=$365;$RP$0$i17=$364}while(1){$370=$R$0$i18+20|0;$371=HEAP32[$370>>2]|0;$372=($371|0)==(0|0);if(!$372){$R$0$i18=$371;$RP$0$i17=$370;continue}$373=$R$0$i18+16|0;$374=HEAP32[$373>>2]|0;$375=($374|0)==(0|0);if($375){break}else{$R$0$i18=$374;$RP$0$i17=$373}}$376=$RP$0$i17>>>0<$346>>>0;if($376){_abort()}else{HEAP32[$RP$0$i17>>2]=0;$R$1$i20=$R$0$i18;break}}else{$355=$v$3$lcssa$i+8|0;$356=HEAP32[$355>>2]|0;$357=$356>>>0<$346>>>0;if($357){_abort()}$358=$356+12|0;$359=HEAP32[$358>>2]|0;$360=($359|0)==($v$3$lcssa$i|0);if(!$360){_abort()}$361=$353+8|0;$362=HEAP32[$361>>2]|0;$363=($362|0)==($v$3$lcssa$i|0);if($363){HEAP32[$358>>2]=$353;HEAP32[$361>>2]=$356;$R$1$i20=$353;break}else{_abort()}}}while(0);$377=($351|0)==(0|0);do{if(!$377){$378=$v$3$lcssa$i+28|0;$379=HEAP32[$378>>2]|0;$380=(32544+($379<<2)|0)+304|0;$381=HEAP32[$380>>2]|0;$382=($v$3$lcssa$i|0)==($381|0);if($382){HEAP32[$380>>2]=$R$1$i20;$cond$i21=($R$1$i20|0)==(0|0);if($cond$i21){$383=1<<$379;$384=$383^-1;$385=HEAP32[(32544+4|0)>>2]|0;$386=$385&$384;HEAP32[(32544+4|0)>>2]=$386;break}}else{$387=HEAP32[(32544+16|0)>>2]|0;$388=$351>>>0<$387>>>0;if($388){_abort()}$389=$351+16|0;$390=HEAP32[$389>>2]|0;$391=($390|0)==($v$3$lcssa$i|0);if($391){HEAP32[$389>>2]=$R$1$i20}else{$392=$351+20|0;HEAP32[$392>>2]=$R$1$i20}$393=($R$1$i20|0)==(0|0);if($393){break}}$394=HEAP32[(32544+16|0)>>2]|0;$395=$R$1$i20>>>0<$394>>>0;if($395){_abort()}$396=$R$1$i20+24|0;HEAP32[$396>>2]=$351;$397=$v$3$lcssa$i+16|0;$398=HEAP32[$397>>2]|0;$399=($398|0)==(0|0);do{if(!$399){$400=$398>>>0<$394>>>0;if($400){_abort()}else{$401=$R$1$i20+16|0;HEAP32[$401>>2]=$398;$402=$398+24|0;HEAP32[$402>>2]=$R$1$i20;break}}}while(0);$403=$v$3$lcssa$i+20|0;$404=HEAP32[$403>>2]|0;$405=($404|0)==(0|0);if(!$405){$406=HEAP32[(32544+16|0)>>2]|0;$407=$404>>>0<$406>>>0;if($407){_abort()}else{$408=$R$1$i20+20|0;HEAP32[$408>>2]=$404;$409=$404+24|0;HEAP32[$409>>2]=$R$1$i20;break}}}}while(0);$410=$rsize$3$lcssa$i>>>0<16;L204:do{if($410){$411=$rsize$3$lcssa$i+$246|0;$412=$411|3;$413=$v$3$lcssa$i+4|0;HEAP32[$413>>2]=$412;$$sum18$i=$411+4|0;$414=$v$3$lcssa$i+$$sum18$i|0;$415=HEAP32[$414>>2]|0;$416=$415|1;HEAP32[$414>>2]=$416}else{$417=$246|3;$418=$v$3$lcssa$i+4|0;HEAP32[$418>>2]=$417;$419=$rsize$3$lcssa$i|1;$$sum$i2338=$246|4;$420=$v$3$lcssa$i+$$sum$i2338|0;HEAP32[$420>>2]=$419;$$sum1$i24=$rsize$3$lcssa$i+$246|0;$421=$v$3$lcssa$i+$$sum1$i24|0;HEAP32[$421>>2]=$rsize$3$lcssa$i;$422=$rsize$3$lcssa$i>>>3;$423=$rsize$3$lcssa$i>>>0<256;if($423){$424=$422<<1;$425=(32544+($424<<2)|0)+40|0;$426=HEAP32[32544>>2]|0;$427=1<<$422;$428=$426&$427;$429=($428|0)==0;do{if($429){$430=$426|$427;HEAP32[32544>>2]=$430;$$sum14$pre$i=$424+2|0;$$pre$i25=(32544+($$sum14$pre$i<<2)|0)+40|0;$$pre$phi$i26Z2D=$$pre$i25;$F5$0$i=$425}else{$$sum17$i=$424+2|0;$431=(32544+($$sum17$i<<2)|0)+40|0;$432=HEAP32[$431>>2]|0;$433=HEAP32[(32544+16|0)>>2]|0;$434=$432>>>0<$433>>>0;if(!$434){$$pre$phi$i26Z2D=$431;$F5$0$i=$432;break}_abort()}}while(0);HEAP32[$$pre$phi$i26Z2D>>2]=$348;$435=$F5$0$i+12|0;HEAP32[$435>>2]=$348;$$sum15$i=$246+8|0;$436=$v$3$lcssa$i+$$sum15$i|0;HEAP32[$436>>2]=$F5$0$i;$$sum16$i=$246+12|0;$437=$v$3$lcssa$i+$$sum16$i|0;HEAP32[$437>>2]=$425;break}$438=$rsize$3$lcssa$i>>>8;$439=($438|0)==0;if($439){$I7$0$i=0}else{$440=$rsize$3$lcssa$i>>>0>16777215;if($440){$I7$0$i=31}else{$441=$438+1048320|0;$442=$441>>>16;$443=$442&8;$444=$438<<$443;$445=$444+520192|0;$446=$445>>>16;$447=$446&4;$448=$447|$443;$449=$444<<$447;$450=$449+245760|0;$451=$450>>>16;$452=$451&2;$453=$448|$452;$454=14-$453|0;$455=$449<<$452;$456=$455>>>15;$457=$454+$456|0;$458=$457<<1;$459=$457+7|0;$460=$rsize$3$lcssa$i>>>$459;$461=$460&1;$462=$461|$458;$I7$0$i=$462}}$463=(32544+($I7$0$i<<2)|0)+304|0;$$sum2$i=$246+28|0;$464=$v$3$lcssa$i+$$sum2$i|0;HEAP32[$464>>2]=$I7$0$i;$$sum3$i27=$246+16|0;$465=$v$3$lcssa$i+$$sum3$i27|0;$$sum4$i28=$246+20|0;$466=$v$3$lcssa$i+$$sum4$i28|0;HEAP32[$466>>2]=0;HEAP32[$465>>2]=0;$467=HEAP32[(32544+4|0)>>2]|0;$468=1<<$I7$0$i;$469=$467&$468;$470=($469|0)==0;if($470){$471=$467|$468;HEAP32[(32544+4|0)>>2]=$471;HEAP32[$463>>2]=$348;$$sum5$i=$246+24|0;$472=$v$3$lcssa$i+$$sum5$i|0;HEAP32[$472>>2]=$463;$$sum6$i=$246+12|0;$473=$v$3$lcssa$i+$$sum6$i|0;HEAP32[$473>>2]=$348;$$sum7$i=$246+8|0;$474=$v$3$lcssa$i+$$sum7$i|0;HEAP32[$474>>2]=$348;break}$475=HEAP32[$463>>2]|0;$476=($I7$0$i|0)==31;if($476){$484=0}else{$477=$I7$0$i>>>1;$478=25-$477|0;$484=$478}$479=$475+4|0;$480=HEAP32[$479>>2]|0;$481=$480&-8;$482=($481|0)==($rsize$3$lcssa$i|0);L225:do{if($482){$T$0$lcssa$i=$475}else{$483=$rsize$3$lcssa$i<<$484;$K12$027$i=$483;$T$026$i=$475;while(1){$491=$K12$027$i>>>31;$492=($T$026$i+($491<<2)|0)+16|0;$487=HEAP32[$492>>2]|0;$493=($487|0)==(0|0);if($493){break}$485=$K12$027$i<<1;$486=$487+4|0;$488=HEAP32[$486>>2]|0;$489=$488&-8;$490=($489|0)==($rsize$3$lcssa$i|0);if($490){$T$0$lcssa$i=$487;break L225}else{$K12$027$i=$485;$T$026$i=$487}}$494=HEAP32[(32544+16|0)>>2]|0;$495=$492>>>0<$494>>>0;if($495){_abort()}else{HEAP32[$492>>2]=$348;$$sum11$i=$246+24|0;$496=$v$3$lcssa$i+$$sum11$i|0;HEAP32[$496>>2]=$T$026$i;$$sum12$i=$246+12|0;$497=$v$3$lcssa$i+$$sum12$i|0;HEAP32[$497>>2]=$348;$$sum13$i=$246+8|0;$498=$v$3$lcssa$i+$$sum13$i|0;HEAP32[$498>>2]=$348;break L204}}}while(0);$499=$T$0$lcssa$i+8|0;$500=HEAP32[$499>>2]|0;$501=HEAP32[(32544+16|0)>>2]|0;$502=$T$0$lcssa$i>>>0>=$501>>>0;$503=$500>>>0>=$501>>>0;$or$cond24$i=$502&$503;if($or$cond24$i){$504=$500+12|0;HEAP32[$504>>2]=$348;HEAP32[$499>>2]=$348;$$sum8$i=$246+8|0;$505=$v$3$lcssa$i+$$sum8$i|0;HEAP32[$505>>2]=$500;$$sum9$i=$246+12|0;$506=$v$3$lcssa$i+$$sum9$i|0;HEAP32[$506>>2]=$T$0$lcssa$i;$$sum10$i=$246+24|0;$507=$v$3$lcssa$i+$$sum10$i|0;HEAP32[$507>>2]=0;break}else{_abort()}}}while(0);$508=$v$3$lcssa$i+8|0;$mem$0=$508;STACKTOP=sp;return $mem$0|0}else{$nb$0=$246}}}}}}while(0);$509=HEAP32[(32544+8|0)>>2]|0;$510=$509>>>0<$nb$0>>>0;if(!$510){$511=$509-$nb$0|0;$512=HEAP32[(32544+20|0)>>2]|0;$513=$511>>>0>15;if($513){$514=$512+$nb$0|0;HEAP32[(32544+20|0)>>2]=$514;HEAP32[(32544+8|0)>>2]=$511;$515=$511|1;$$sum2=$nb$0+4|0;$516=$512+$$sum2|0;HEAP32[$516>>2]=$515;$517=$512+$509|0;HEAP32[$517>>2]=$511;$518=$nb$0|3;$519=$512+4|0;HEAP32[$519>>2]=$518}else{HEAP32[(32544+8|0)>>2]=0;HEAP32[(32544+20|0)>>2]=0;$520=$509|3;$521=$512+4|0;HEAP32[$521>>2]=$520;$$sum1=$509+4|0;$522=$512+$$sum1|0;$523=HEAP32[$522>>2]|0;$524=$523|1;HEAP32[$522>>2]=$524}$525=$512+8|0;$mem$0=$525;STACKTOP=sp;return $mem$0|0}$526=HEAP32[(32544+12|0)>>2]|0;$527=$526>>>0>$nb$0>>>0;if($527){$528=$526-$nb$0|0;HEAP32[(32544+12|0)>>2]=$528;$529=HEAP32[(32544+24|0)>>2]|0;$530=$529+$nb$0|0;HEAP32[(32544+24|0)>>2]=$530;$531=$528|1;$$sum=$nb$0+4|0;$532=$529+$$sum|0;HEAP32[$532>>2]=$531;$533=$nb$0|3;$534=$529+4|0;HEAP32[$534>>2]=$533;$535=$529+8|0;$mem$0=$535;STACKTOP=sp;return $mem$0|0}$536=HEAP32[33016>>2]|0;$537=($536|0)==0;do{if($537){$538=_sysconf(30)|0;$539=$538+-1|0;$540=$539&$538;$541=($540|0)==0;if($541){HEAP32[(33016+8|0)>>2]=$538;HEAP32[(33016+4|0)>>2]=$538;HEAP32[(33016+12|0)>>2]=-1;HEAP32[(33016+16|0)>>2]=-1;HEAP32[(33016+20|0)>>2]=0;HEAP32[(32544+444|0)>>2]=0;$542=_time(0|0)|0;$543=$542&-16;$544=$543^1431655768;HEAP32[33016>>2]=$544;break}else{_abort()}}}while(0);$545=$nb$0+48|0;$546=HEAP32[(33016+8|0)>>2]|0;$547=$nb$0+47|0;$548=$546+$547|0;$549=0-$546|0;$550=$548&$549;$551=$550>>>0>$nb$0>>>0;if(!$551){$mem$0=0;STACKTOP=sp;return $mem$0|0}$552=HEAP32[(32544+440|0)>>2]|0;$553=($552|0)==0;if(!$553){$554=HEAP32[(32544+432|0)>>2]|0;$555=$554+$550|0;$556=$555>>>0<=$554>>>0;$557=$555>>>0>$552>>>0;$or$cond1$i=$556|$557;if($or$cond1$i){$mem$0=0;STACKTOP=sp;return $mem$0|0}}$558=HEAP32[(32544+444|0)>>2]|0;$559=$558&4;$560=($559|0)==0;L266:do{if($560){$561=HEAP32[(32544+24|0)>>2]|0;$562=($561|0)==(0|0);L268:do{if($562){label=181}else{$sp$0$i$i=32544+448|0;while(1){$563=HEAP32[$sp$0$i$i>>2]|0;$564=$563>>>0>$561>>>0;if(!$564){$565=$sp$0$i$i+4|0;$566=HEAP32[$565>>2]|0;$567=$563+$566|0;$568=$567>>>0>$561>>>0;if($568){break}}$569=$sp$0$i$i+8|0;$570=HEAP32[$569>>2]|0;$571=($570|0)==(0|0);if($571){label=181;break L268}else{$sp$0$i$i=$570}}$572=($sp$0$i$i|0)==(0|0);if($572){label=181}else{$595=HEAP32[(32544+12|0)>>2]|0;$596=$548-$595|0;$597=$596&$549;$598=$597>>>0<2147483647;if($598){$599=_sbrk($597|0)|0;$600=HEAP32[$sp$0$i$i>>2]|0;$601=HEAP32[$565>>2]|0;$602=$600+$601|0;$603=($599|0)==($602|0);if($603){$br$0$i=$599;$ssize$1$i=$597;label=190}else{$br$030$i=$599;$ssize$129$i=$597;label=191}}else{$tsize$03141$i=0}}}}while(0);do{if((label|0)==181){$573=_sbrk(0)|0;$574=($573|0)==(-1|0);if($574){$tsize$03141$i=0}else{$575=$573;$576=HEAP32[(33016+4|0)>>2]|0;$577=$576+-1|0;$578=$577&$575;$579=($578|0)==0;if($579){$ssize$0$i=$550}else{$580=$577+$575|0;$581=0-$576|0;$582=$580&$581;$583=$550-$575|0;$584=$583+$582|0;$ssize$0$i=$584}$585=HEAP32[(32544+432|0)>>2]|0;$586=$585+$ssize$0$i|0;$587=$ssize$0$i>>>0>$nb$0>>>0;$588=$ssize$0$i>>>0<2147483647;$or$cond$i29=$587&$588;if($or$cond$i29){$589=HEAP32[(32544+440|0)>>2]|0;$590=($589|0)==0;if(!$590){$591=$586>>>0<=$585>>>0;$592=$586>>>0>$589>>>0;$or$cond2$i=$591|$592;if($or$cond2$i){$tsize$03141$i=0;break}}$593=_sbrk($ssize$0$i|0)|0;$594=($593|0)==($573|0);if($594){$br$0$i=$573;$ssize$1$i=$ssize$0$i;label=190}else{$br$030$i=$593;$ssize$129$i=$ssize$0$i;label=191}}else{$tsize$03141$i=0}}}}while(0);L288:do{if((label|0)==190){$604=($br$0$i|0)==(-1|0);if($604){$tsize$03141$i=$ssize$1$i}else{$tbase$245$i=$br$0$i;$tsize$244$i=$ssize$1$i;label=201;break L266}}else if((label|0)==191){$605=0-$ssize$129$i|0;$606=($br$030$i|0)!=(-1|0);$607=$ssize$129$i>>>0<2147483647;$or$cond5$i=$606&$607;$608=$545>>>0>$ssize$129$i>>>0;$or$cond4$i=$or$cond5$i&$608;do{if($or$cond4$i){$609=HEAP32[(33016+8|0)>>2]|0;$610=$547-$ssize$129$i|0;$611=$610+$609|0;$612=0-$609|0;$613=$611&$612;$614=$613>>>0<2147483647;if($614){$615=_sbrk($613|0)|0;$616=($615|0)==(-1|0);if($616){_sbrk($605|0)|0;$tsize$03141$i=0;break L288}else{$617=$613+$ssize$129$i|0;$ssize$2$i=$617;break}}else{$ssize$2$i=$ssize$129$i}}else{$ssize$2$i=$ssize$129$i}}while(0);$618=($br$030$i|0)==(-1|0);if($618){$tsize$03141$i=0}else{$tbase$245$i=$br$030$i;$tsize$244$i=$ssize$2$i;label=201;break L266}}}while(0);$619=HEAP32[(32544+444|0)>>2]|0;$620=$619|4;HEAP32[(32544+444|0)>>2]=$620;$tsize$1$i=$tsize$03141$i;label=198}else{$tsize$1$i=0;label=198}}while(0);if((label|0)==198){$621=$550>>>0<2147483647;if($621){$622=_sbrk($550|0)|0;$623=_sbrk(0)|0;$624=($622|0)!=(-1|0);$625=($623|0)!=(-1|0);$or$cond3$i=$624&$625;$626=$622>>>0<$623>>>0;$or$cond6$i=$or$cond3$i&$626;if($or$cond6$i){$627=$623;$628=$622;$629=$627-$628|0;$630=$nb$0+40|0;$631=$629>>>0>$630>>>0;$$tsize$1$i=$631?$629:$tsize$1$i;if($631){$tbase$245$i=$622;$tsize$244$i=$$tsize$1$i;label=201}}}}if((label|0)==201){$632=HEAP32[(32544+432|0)>>2]|0;$633=$632+$tsize$244$i|0;HEAP32[(32544+432|0)>>2]=$633;$634=HEAP32[(32544+436|0)>>2]|0;$635=$633>>>0>$634>>>0;if($635){HEAP32[(32544+436|0)>>2]=$633}$636=HEAP32[(32544+24|0)>>2]|0;$637=($636|0)==(0|0);L308:do{if($637){$638=HEAP32[(32544+16|0)>>2]|0;$639=($638|0)==(0|0);$640=$tbase$245$i>>>0<$638>>>0;$or$cond8$i=$639|$640;if($or$cond8$i){HEAP32[(32544+16|0)>>2]=$tbase$245$i}HEAP32[(32544+448|0)>>2]=$tbase$245$i;HEAP32[(32544+452|0)>>2]=$tsize$244$i;HEAP32[(32544+460|0)>>2]=0;$641=HEAP32[33016>>2]|0;HEAP32[(32544+36|0)>>2]=$641;HEAP32[(32544+32|0)>>2]=-1;$i$02$i$i=0;while(1){$642=$i$02$i$i<<1;$643=(32544+($642<<2)|0)+40|0;$$sum$i$i=$642+3|0;$644=(32544+($$sum$i$i<<2)|0)+40|0;HEAP32[$644>>2]=$643;$$sum1$i$i=$642+2|0;$645=(32544+($$sum1$i$i<<2)|0)+40|0;HEAP32[$645>>2]=$643;$646=$i$02$i$i+1|0;$exitcond$i$i=($646|0)==32;if($exitcond$i$i){break}else{$i$02$i$i=$646}}$647=$tsize$244$i+-40|0;$648=$tbase$245$i+8|0;$649=$648;$650=$649&7;$651=($650|0)==0;if($651){$655=0}else{$652=0-$649|0;$653=$652&7;$655=$653}$654=$tbase$245$i+$655|0;$656=$647-$655|0;HEAP32[(32544+24|0)>>2]=$654;HEAP32[(32544+12|0)>>2]=$656;$657=$656|1;$$sum$i12$i=$655+4|0;$658=$tbase$245$i+$$sum$i12$i|0;HEAP32[$658>>2]=$657;$$sum2$i$i=$tsize$244$i+-36|0;$659=$tbase$245$i+$$sum2$i$i|0;HEAP32[$659>>2]=40;$660=HEAP32[(33016+16|0)>>2]|0;HEAP32[(32544+28|0)>>2]=$660}else{$sp$073$i=32544+448|0;while(1){$661=HEAP32[$sp$073$i>>2]|0;$662=$sp$073$i+4|0;$663=HEAP32[$662>>2]|0;$664=$661+$663|0;$665=($tbase$245$i|0)==($664|0);if($665){label=213;break}$666=$sp$073$i+8|0;$667=HEAP32[$666>>2]|0;$668=($667|0)==(0|0);if($668){break}else{$sp$073$i=$667}}if((label|0)==213){$669=$sp$073$i+12|0;$670=HEAP32[$669>>2]|0;$671=$670&8;$672=($671|0)==0;if($672){$673=$636>>>0>=$661>>>0;$674=$636>>>0<$tbase$245$i>>>0;$or$cond47$i=$673&$674;if($or$cond47$i){$675=$663+$tsize$244$i|0;HEAP32[$662>>2]=$675;$676=HEAP32[(32544+12|0)>>2]|0;$677=$676+$tsize$244$i|0;$678=$636+8|0;$679=$678;$680=$679&7;$681=($680|0)==0;if($681){$685=0}else{$682=0-$679|0;$683=$682&7;$685=$683}$684=$636+$685|0;$686=$677-$685|0;HEAP32[(32544+24|0)>>2]=$684;HEAP32[(32544+12|0)>>2]=$686;$687=$686|1;$$sum$i16$i=$685+4|0;$688=$636+$$sum$i16$i|0;HEAP32[$688>>2]=$687;$$sum2$i17$i=$677+4|0;$689=$636+$$sum2$i17$i|0;HEAP32[$689>>2]=40;$690=HEAP32[(33016+16|0)>>2]|0;HEAP32[(32544+28|0)>>2]=$690;break}}}$691=HEAP32[(32544+16|0)>>2]|0;$692=$tbase$245$i>>>0<$691>>>0;if($692){HEAP32[(32544+16|0)>>2]=$tbase$245$i;$756=$tbase$245$i}else{$756=$691}$693=$tbase$245$i+$tsize$244$i|0;$sp$166$i=32544+448|0;while(1){$694=HEAP32[$sp$166$i>>2]|0;$695=($694|0)==($693|0);if($695){label=223;break}$696=$sp$166$i+8|0;$697=HEAP32[$696>>2]|0;$698=($697|0)==(0|0);if($698){break}else{$sp$166$i=$697}}if((label|0)==223){$699=$sp$166$i+12|0;$700=HEAP32[$699>>2]|0;$701=$700&8;$702=($701|0)==0;if($702){HEAP32[$sp$166$i>>2]=$tbase$245$i;$703=$sp$166$i+4|0;$704=HEAP32[$703>>2]|0;$705=$704+$tsize$244$i|0;HEAP32[$703>>2]=$705;$706=$tbase$245$i+8|0;$707=$706;$708=$707&7;$709=($708|0)==0;if($709){$713=0}else{$710=0-$707|0;$711=$710&7;$713=$711}$712=$tbase$245$i+$713|0;$$sum102$i=$tsize$244$i+8|0;$714=$tbase$245$i+$$sum102$i|0;$715=$714;$716=$715&7;$717=($716|0)==0;if($717){$720=0}else{$718=0-$715|0;$719=$718&7;$720=$719}$$sum103$i=$720+$tsize$244$i|0;$721=$tbase$245$i+$$sum103$i|0;$722=$721;$723=$712;$724=$722-$723|0;$$sum$i19$i=$713+$nb$0|0;$725=$tbase$245$i+$$sum$i19$i|0;$726=$724-$nb$0|0;$727=$nb$0|3;$$sum1$i20$i=$713+4|0;$728=$tbase$245$i+$$sum1$i20$i|0;HEAP32[$728>>2]=$727;$729=($721|0)==($636|0);L345:do{if($729){$730=HEAP32[(32544+12|0)>>2]|0;$731=$730+$726|0;HEAP32[(32544+12|0)>>2]=$731;HEAP32[(32544+24|0)>>2]=$725;$732=$731|1;$$sum42$i$i=$$sum$i19$i+4|0;$733=$tbase$245$i+$$sum42$i$i|0;HEAP32[$733>>2]=$732}else{$734=HEAP32[(32544+20|0)>>2]|0;$735=($721|0)==($734|0);if($735){$736=HEAP32[(32544+8|0)>>2]|0;$737=$736+$726|0;HEAP32[(32544+8|0)>>2]=$737;HEAP32[(32544+20|0)>>2]=$725;$738=$737|1;$$sum40$i$i=$$sum$i19$i+4|0;$739=$tbase$245$i+$$sum40$i$i|0;HEAP32[$739>>2]=$738;$$sum41$i$i=$737+$$sum$i19$i|0;$740=$tbase$245$i+$$sum41$i$i|0;HEAP32[$740>>2]=$737;break}$$sum2$i21$i=$tsize$244$i+4|0;$$sum104$i=$$sum2$i21$i+$720|0;$741=$tbase$245$i+$$sum104$i|0;$742=HEAP32[$741>>2]|0;$743=$742&3;$744=($743|0)==1;if($744){$745=$742&-8;$746=$742>>>3;$747=$742>>>0<256;L353:do{if($747){$$sum3738$i$i=$720|8;$$sum114$i=$$sum3738$i$i+$tsize$244$i|0;$748=$tbase$245$i+$$sum114$i|0;$749=HEAP32[$748>>2]|0;$$sum39$i$i=$tsize$244$i+12|0;$$sum115$i=$$sum39$i$i+$720|0;$750=$tbase$245$i+$$sum115$i|0;$751=HEAP32[$750>>2]|0;$752=$746<<1;$753=(32544+($752<<2)|0)+40|0;$754=($749|0)==($753|0);do{if(!$754){$755=$749>>>0<$756>>>0;if($755){_abort()}$757=$749+12|0;$758=HEAP32[$757>>2]|0;$759=($758|0)==($721|0);if($759){break}_abort()}}while(0);$760=($751|0)==($749|0);if($760){$761=1<<$746;$762=$761^-1;$763=HEAP32[32544>>2]|0;$764=$763&$762;HEAP32[32544>>2]=$764;break}$765=($751|0)==($753|0);do{if($765){$$pre58$i$i=$751+8|0;$$pre$phi59$i$iZ2D=$$pre58$i$i}else{$766=$751>>>0<$756>>>0;if($766){_abort()}$767=$751+8|0;$768=HEAP32[$767>>2]|0;$769=($768|0)==($721|0);if($769){$$pre$phi59$i$iZ2D=$767;break}_abort()}}while(0);$770=$749+12|0;HEAP32[$770>>2]=$751;HEAP32[$$pre$phi59$i$iZ2D>>2]=$749}else{$$sum34$i$i=$720|24;$$sum105$i=$$sum34$i$i+$tsize$244$i|0;$771=$tbase$245$i+$$sum105$i|0;$772=HEAP32[$771>>2]|0;$$sum5$i$i=$tsize$244$i+12|0;$$sum106$i=$$sum5$i$i+$720|0;$773=$tbase$245$i+$$sum106$i|0;$774=HEAP32[$773>>2]|0;$775=($774|0)==($721|0);do{if($775){$$sum67$i$i=$720|16;$$sum112$i=$$sum2$i21$i+$$sum67$i$i|0;$785=$tbase$245$i+$$sum112$i|0;$786=HEAP32[$785>>2]|0;$787=($786|0)==(0|0);if($787){$$sum113$i=$$sum67$i$i+$tsize$244$i|0;$788=$tbase$245$i+$$sum113$i|0;$789=HEAP32[$788>>2]|0;$790=($789|0)==(0|0);if($790){$R$1$i$i=0;break}else{$R$0$i$i=$789;$RP$0$i$i=$788}}else{$R$0$i$i=$786;$RP$0$i$i=$785}while(1){$791=$R$0$i$i+20|0;$792=HEAP32[$791>>2]|0;$793=($792|0)==(0|0);if(!$793){$R$0$i$i=$792;$RP$0$i$i=$791;continue}$794=$R$0$i$i+16|0;$795=HEAP32[$794>>2]|0;$796=($795|0)==(0|0);if($796){break}else{$R$0$i$i=$795;$RP$0$i$i=$794}}$797=$RP$0$i$i>>>0<$756>>>0;if($797){_abort()}else{HEAP32[$RP$0$i$i>>2]=0;$R$1$i$i=$R$0$i$i;break}}else{$$sum3536$i$i=$720|8;$$sum107$i=$$sum3536$i$i+$tsize$244$i|0;$776=$tbase$245$i+$$sum107$i|0;$777=HEAP32[$776>>2]|0;$778=$777>>>0<$756>>>0;if($778){_abort()}$779=$777+12|0;$780=HEAP32[$779>>2]|0;$781=($780|0)==($721|0);if(!$781){_abort()}$782=$774+8|0;$783=HEAP32[$782>>2]|0;$784=($783|0)==($721|0);if($784){HEAP32[$779>>2]=$774;HEAP32[$782>>2]=$777;$R$1$i$i=$774;break}else{_abort()}}}while(0);$798=($772|0)==(0|0);if($798){break}$$sum30$i$i=$tsize$244$i+28|0;$$sum108$i=$$sum30$i$i+$720|0;$799=$tbase$245$i+$$sum108$i|0;$800=HEAP32[$799>>2]|0;$801=(32544+($800<<2)|0)+304|0;$802=HEAP32[$801>>2]|0;$803=($721|0)==($802|0);do{if($803){HEAP32[$801>>2]=$R$1$i$i;$cond$i$i=($R$1$i$i|0)==(0|0);if(!$cond$i$i){break}$804=1<<$800;$805=$804^-1;$806=HEAP32[(32544+4|0)>>2]|0;$807=$806&$805;HEAP32[(32544+4|0)>>2]=$807;break L353}else{$808=HEAP32[(32544+16|0)>>2]|0;$809=$772>>>0<$808>>>0;if($809){_abort()}$810=$772+16|0;$811=HEAP32[$810>>2]|0;$812=($811|0)==($721|0);if($812){HEAP32[$810>>2]=$R$1$i$i}else{$813=$772+20|0;HEAP32[$813>>2]=$R$1$i$i}$814=($R$1$i$i|0)==(0|0);if($814){break L353}}}while(0);$815=HEAP32[(32544+16|0)>>2]|0;$816=$R$1$i$i>>>0<$815>>>0;if($816){_abort()}$817=$R$1$i$i+24|0;HEAP32[$817>>2]=$772;$$sum3132$i$i=$720|16;$$sum109$i=$$sum3132$i$i+$tsize$244$i|0;$818=$tbase$245$i+$$sum109$i|0;$819=HEAP32[$818>>2]|0;$820=($819|0)==(0|0);do{if(!$820){$821=$819>>>0<$815>>>0;if($821){_abort()}else{$822=$R$1$i$i+16|0;HEAP32[$822>>2]=$819;$823=$819+24|0;HEAP32[$823>>2]=$R$1$i$i;break}}}while(0);$$sum110$i=$$sum2$i21$i+$$sum3132$i$i|0;$824=$tbase$245$i+$$sum110$i|0;$825=HEAP32[$824>>2]|0;$826=($825|0)==(0|0);if($826){break}$827=HEAP32[(32544+16|0)>>2]|0;$828=$825>>>0<$827>>>0;if($828){_abort()}else{$829=$R$1$i$i+20|0;HEAP32[$829>>2]=$825;$830=$825+24|0;HEAP32[$830>>2]=$R$1$i$i;break}}}while(0);$$sum9$i$i=$745|$720;$$sum111$i=$$sum9$i$i+$tsize$244$i|0;$831=$tbase$245$i+$$sum111$i|0;$832=$745+$726|0;$oldfirst$0$i$i=$831;$qsize$0$i$i=$832}else{$oldfirst$0$i$i=$721;$qsize$0$i$i=$726}$833=$oldfirst$0$i$i+4|0;$834=HEAP32[$833>>2]|0;$835=$834&-2;HEAP32[$833>>2]=$835;$836=$qsize$0$i$i|1;$$sum10$i$i=$$sum$i19$i+4|0;$837=$tbase$245$i+$$sum10$i$i|0;HEAP32[$837>>2]=$836;$$sum11$i22$i=$qsize$0$i$i+$$sum$i19$i|0;$838=$tbase$245$i+$$sum11$i22$i|0;HEAP32[$838>>2]=$qsize$0$i$i;$839=$qsize$0$i$i>>>3;$840=$qsize$0$i$i>>>0<256;if($840){$841=$839<<1;$842=(32544+($841<<2)|0)+40|0;$843=HEAP32[32544>>2]|0;$844=1<<$839;$845=$843&$844;$846=($845|0)==0;do{if($846){$847=$843|$844;HEAP32[32544>>2]=$847;$$sum26$pre$i$i=$841+2|0;$$pre$i23$i=(32544+($$sum26$pre$i$i<<2)|0)+40|0;$$pre$phi$i24$iZ2D=$$pre$i23$i;$F4$0$i$i=$842}else{$$sum29$i$i=$841+2|0;$848=(32544+($$sum29$i$i<<2)|0)+40|0;$849=HEAP32[$848>>2]|0;$850=HEAP32[(32544+16|0)>>2]|0;$851=$849>>>0<$850>>>0;if(!$851){$$pre$phi$i24$iZ2D=$848;$F4$0$i$i=$849;break}_abort()}}while(0);HEAP32[$$pre$phi$i24$iZ2D>>2]=$725;$852=$F4$0$i$i+12|0;HEAP32[$852>>2]=$725;$$sum27$i$i=$$sum$i19$i+8|0;$853=$tbase$245$i+$$sum27$i$i|0;HEAP32[$853>>2]=$F4$0$i$i;$$sum28$i$i=$$sum$i19$i+12|0;$854=$tbase$245$i+$$sum28$i$i|0;HEAP32[$854>>2]=$842;break}$855=$qsize$0$i$i>>>8;$856=($855|0)==0;do{if($856){$I7$0$i$i=0}else{$857=$qsize$0$i$i>>>0>16777215;if($857){$I7$0$i$i=31;break}$858=$855+1048320|0;$859=$858>>>16;$860=$859&8;$861=$855<<$860;$862=$861+520192|0;$863=$862>>>16;$864=$863&4;$865=$864|$860;$866=$861<<$864;$867=$866+245760|0;$868=$867>>>16;$869=$868&2;$870=$865|$869;$871=14-$870|0;$872=$866<<$869;$873=$872>>>15;$874=$871+$873|0;$875=$874<<1;$876=$874+7|0;$877=$qsize$0$i$i>>>$876;$878=$877&1;$879=$878|$875;$I7$0$i$i=$879}}while(0);$880=(32544+($I7$0$i$i<<2)|0)+304|0;$$sum12$i$i=$$sum$i19$i+28|0;$881=$tbase$245$i+$$sum12$i$i|0;HEAP32[$881>>2]=$I7$0$i$i;$$sum13$i$i=$$sum$i19$i+16|0;$882=$tbase$245$i+$$sum13$i$i|0;$$sum14$i$i=$$sum$i19$i+20|0;$883=$tbase$245$i+$$sum14$i$i|0;HEAP32[$883>>2]=0;HEAP32[$882>>2]=0;$884=HEAP32[(32544+4|0)>>2]|0;$885=1<<$I7$0$i$i;$886=$884&$885;$887=($886|0)==0;if($887){$888=$884|$885;HEAP32[(32544+4|0)>>2]=$888;HEAP32[$880>>2]=$725;$$sum15$i$i=$$sum$i19$i+24|0;$889=$tbase$245$i+$$sum15$i$i|0;HEAP32[$889>>2]=$880;$$sum16$i$i=$$sum$i19$i+12|0;$890=$tbase$245$i+$$sum16$i$i|0;HEAP32[$890>>2]=$725;$$sum17$i$i=$$sum$i19$i+8|0;$891=$tbase$245$i+$$sum17$i$i|0;HEAP32[$891>>2]=$725;break}$892=HEAP32[$880>>2]|0;$893=($I7$0$i$i|0)==31;if($893){$901=0}else{$894=$I7$0$i$i>>>1;$895=25-$894|0;$901=$895}$896=$892+4|0;$897=HEAP32[$896>>2]|0;$898=$897&-8;$899=($898|0)==($qsize$0$i$i|0);L442:do{if($899){$T$0$lcssa$i26$i=$892}else{$900=$qsize$0$i$i<<$901;$K8$053$i$i=$900;$T$052$i$i=$892;while(1){$908=$K8$053$i$i>>>31;$909=($T$052$i$i+($908<<2)|0)+16|0;$904=HEAP32[$909>>2]|0;$910=($904|0)==(0|0);if($910){break}$902=$K8$053$i$i<<1;$903=$904+4|0;$905=HEAP32[$903>>2]|0;$906=$905&-8;$907=($906|0)==($qsize$0$i$i|0);if($907){$T$0$lcssa$i26$i=$904;break L442}else{$K8$053$i$i=$902;$T$052$i$i=$904}}$911=HEAP32[(32544+16|0)>>2]|0;$912=$909>>>0<$911>>>0;if($912){_abort()}else{HEAP32[$909>>2]=$725;$$sum23$i$i=$$sum$i19$i+24|0;$913=$tbase$245$i+$$sum23$i$i|0;HEAP32[$913>>2]=$T$052$i$i;$$sum24$i$i=$$sum$i19$i+12|0;$914=$tbase$245$i+$$sum24$i$i|0;HEAP32[$914>>2]=$725;$$sum25$i$i=$$sum$i19$i+8|0;$915=$tbase$245$i+$$sum25$i$i|0;HEAP32[$915>>2]=$725;break L345}}}while(0);$916=$T$0$lcssa$i26$i+8|0;$917=HEAP32[$916>>2]|0;$918=HEAP32[(32544+16|0)>>2]|0;$919=$T$0$lcssa$i26$i>>>0>=$918>>>0;$920=$917>>>0>=$918>>>0;$or$cond$i27$i=$919&$920;if($or$cond$i27$i){$921=$917+12|0;HEAP32[$921>>2]=$725;HEAP32[$916>>2]=$725;$$sum20$i$i=$$sum$i19$i+8|0;$922=$tbase$245$i+$$sum20$i$i|0;HEAP32[$922>>2]=$917;$$sum21$i$i=$$sum$i19$i+12|0;$923=$tbase$245$i+$$sum21$i$i|0;HEAP32[$923>>2]=$T$0$lcssa$i26$i;$$sum22$i$i=$$sum$i19$i+24|0;$924=$tbase$245$i+$$sum22$i$i|0;HEAP32[$924>>2]=0;break}else{_abort()}}}while(0);$$sum1819$i$i=$713|8;$925=$tbase$245$i+$$sum1819$i$i|0;$mem$0=$925;STACKTOP=sp;return $mem$0|0}}$sp$0$i$i$i=32544+448|0;while(1){$926=HEAP32[$sp$0$i$i$i>>2]|0;$927=$926>>>0>$636>>>0;if(!$927){$928=$sp$0$i$i$i+4|0;$929=HEAP32[$928>>2]|0;$930=$926+$929|0;$931=$930>>>0>$636>>>0;if($931){break}}$932=$sp$0$i$i$i+8|0;$933=HEAP32[$932>>2]|0;$sp$0$i$i$i=$933}$$sum$i13$i=$929+-47|0;$$sum1$i14$i=$929+-39|0;$934=$926+$$sum1$i14$i|0;$935=$934;$936=$935&7;$937=($936|0)==0;if($937){$940=0}else{$938=0-$935|0;$939=$938&7;$940=$939}$$sum2$i15$i=$$sum$i13$i+$940|0;$941=$926+$$sum2$i15$i|0;$942=$636+16|0;$943=$941>>>0<$942>>>0;$944=$943?$636:$941;$945=$944+8|0;$946=$tsize$244$i+-40|0;$947=$tbase$245$i+8|0;$948=$947;$949=$948&7;$950=($949|0)==0;if($950){$954=0}else{$951=0-$948|0;$952=$951&7;$954=$952}$953=$tbase$245$i+$954|0;$955=$946-$954|0;HEAP32[(32544+24|0)>>2]=$953;HEAP32[(32544+12|0)>>2]=$955;$956=$955|1;$$sum$i$i$i=$954+4|0;$957=$tbase$245$i+$$sum$i$i$i|0;HEAP32[$957>>2]=$956;$$sum2$i$i$i=$tsize$244$i+-36|0;$958=$tbase$245$i+$$sum2$i$i$i|0;HEAP32[$958>>2]=40;$959=HEAP32[(33016+16|0)>>2]|0;HEAP32[(32544+28|0)>>2]=$959;$960=$944+4|0;HEAP32[$960>>2]=27;HEAP32[$945+0>>2]=HEAP32[(32544+448|0)+0>>2]|0;HEAP32[$945+4>>2]=HEAP32[(32544+448|0)+4>>2]|0;HEAP32[$945+8>>2]=HEAP32[(32544+448|0)+8>>2]|0;HEAP32[$945+12>>2]=HEAP32[(32544+448|0)+12>>2]|0;HEAP32[(32544+448|0)>>2]=$tbase$245$i;HEAP32[(32544+452|0)>>2]=$tsize$244$i;HEAP32[(32544+460|0)>>2]=0;HEAP32[(32544+456|0)>>2]=$945;$961=$944+28|0;HEAP32[$961>>2]=7;$962=$944+32|0;$963=$962>>>0<$930>>>0;if($963){$965=$961;while(1){$964=$965+4|0;HEAP32[$964>>2]=7;$966=$965+8|0;$967=$966>>>0<$930>>>0;if($967){$965=$964}else{break}}}$968=($944|0)==($636|0);if(!$968){$969=$944;$970=$636;$971=$969-$970|0;$972=$636+$971|0;$$sum3$i$i=$971+4|0;$973=$636+$$sum3$i$i|0;$974=HEAP32[$973>>2]|0;$975=$974&-2;HEAP32[$973>>2]=$975;$976=$971|1;$977=$636+4|0;HEAP32[$977>>2]=$976;HEAP32[$972>>2]=$971;$978=$971>>>3;$979=$971>>>0<256;if($979){$980=$978<<1;$981=(32544+($980<<2)|0)+40|0;$982=HEAP32[32544>>2]|0;$983=1<<$978;$984=$982&$983;$985=($984|0)==0;do{if($985){$986=$982|$983;HEAP32[32544>>2]=$986;$$sum10$pre$i$i=$980+2|0;$$pre$i$i=(32544+($$sum10$pre$i$i<<2)|0)+40|0;$$pre$phi$i$iZ2D=$$pre$i$i;$F$0$i$i=$981}else{$$sum11$i$i=$980+2|0;$987=(32544+($$sum11$i$i<<2)|0)+40|0;$988=HEAP32[$987>>2]|0;$989=HEAP32[(32544+16|0)>>2]|0;$990=$988>>>0<$989>>>0;if(!$990){$$pre$phi$i$iZ2D=$987;$F$0$i$i=$988;break}_abort()}}while(0);HEAP32[$$pre$phi$i$iZ2D>>2]=$636;$991=$F$0$i$i+12|0;HEAP32[$991>>2]=$636;$992=$636+8|0;HEAP32[$992>>2]=$F$0$i$i;$993=$636+12|0;HEAP32[$993>>2]=$981;break}$994=$971>>>8;$995=($994|0)==0;if($995){$I1$0$i$i=0}else{$996=$971>>>0>16777215;if($996){$I1$0$i$i=31}else{$997=$994+1048320|0;$998=$997>>>16;$999=$998&8;$1000=$994<<$999;$1001=$1000+520192|0;$1002=$1001>>>16;$1003=$1002&4;$1004=$1003|$999;$1005=$1000<<$1003;$1006=$1005+245760|0;$1007=$1006>>>16;$1008=$1007&2;$1009=$1004|$1008;$1010=14-$1009|0;$1011=$1005<<$1008;$1012=$1011>>>15;$1013=$1010+$1012|0;$1014=$1013<<1;$1015=$1013+7|0;$1016=$971>>>$1015;$1017=$1016&1;$1018=$1017|$1014;$I1$0$i$i=$1018}}$1019=(32544+($I1$0$i$i<<2)|0)+304|0;$1020=$636+28|0;$I1$0$c$i$i=$I1$0$i$i;HEAP32[$1020>>2]=$I1$0$c$i$i;$1021=$636+20|0;HEAP32[$1021>>2]=0;$1022=$636+16|0;HEAP32[$1022>>2]=0;$1023=HEAP32[(32544+4|0)>>2]|0;$1024=1<<$I1$0$i$i;$1025=$1023&$1024;$1026=($1025|0)==0;if($1026){$1027=$1023|$1024;HEAP32[(32544+4|0)>>2]=$1027;HEAP32[$1019>>2]=$636;$1028=$636+24|0;HEAP32[$1028>>2]=$1019;$1029=$636+12|0;HEAP32[$1029>>2]=$636;$1030=$636+8|0;HEAP32[$1030>>2]=$636;break}$1031=HEAP32[$1019>>2]|0;$1032=($I1$0$i$i|0)==31;if($1032){$1040=0}else{$1033=$I1$0$i$i>>>1;$1034=25-$1033|0;$1040=$1034}$1035=$1031+4|0;$1036=HEAP32[$1035>>2]|0;$1037=$1036&-8;$1038=($1037|0)==($971|0);L493:do{if($1038){$T$0$lcssa$i$i=$1031}else{$1039=$971<<$1040;$K2$015$i$i=$1039;$T$014$i$i=$1031;while(1){$1047=$K2$015$i$i>>>31;$1048=($T$014$i$i+($1047<<2)|0)+16|0;$1043=HEAP32[$1048>>2]|0;$1049=($1043|0)==(0|0);if($1049){break}$1041=$K2$015$i$i<<1;$1042=$1043+4|0;$1044=HEAP32[$1042>>2]|0;$1045=$1044&-8;$1046=($1045|0)==($971|0);if($1046){$T$0$lcssa$i$i=$1043;break L493}else{$K2$015$i$i=$1041;$T$014$i$i=$1043}}$1050=HEAP32[(32544+16|0)>>2]|0;$1051=$1048>>>0<$1050>>>0;if($1051){_abort()}else{HEAP32[$1048>>2]=$636;$1052=$636+24|0;HEAP32[$1052>>2]=$T$014$i$i;$1053=$636+12|0;HEAP32[$1053>>2]=$636;$1054=$636+8|0;HEAP32[$1054>>2]=$636;break L308}}}while(0);$1055=$T$0$lcssa$i$i+8|0;$1056=HEAP32[$1055>>2]|0;$1057=HEAP32[(32544+16|0)>>2]|0;$1058=$T$0$lcssa$i$i>>>0>=$1057>>>0;$1059=$1056>>>0>=$1057>>>0;$or$cond$i$i=$1058&$1059;if($or$cond$i$i){$1060=$1056+12|0;HEAP32[$1060>>2]=$636;HEAP32[$1055>>2]=$636;$1061=$636+8|0;HEAP32[$1061>>2]=$1056;$1062=$636+12|0;HEAP32[$1062>>2]=$T$0$lcssa$i$i;$1063=$636+24|0;HEAP32[$1063>>2]=0;break}else{_abort()}}}}while(0);$1064=HEAP32[(32544+12|0)>>2]|0;$1065=$1064>>>0>$nb$0>>>0;if($1065){$1066=$1064-$nb$0|0;HEAP32[(32544+12|0)>>2]=$1066;$1067=HEAP32[(32544+24|0)>>2]|0;$1068=$1067+$nb$0|0;HEAP32[(32544+24|0)>>2]=$1068;$1069=$1066|1;$$sum$i32=$nb$0+4|0;$1070=$1067+$$sum$i32|0;HEAP32[$1070>>2]=$1069;$1071=$nb$0|3;$1072=$1067+4|0;HEAP32[$1072>>2]=$1071;$1073=$1067+8|0;$mem$0=$1073;STACKTOP=sp;return $mem$0|0}}$1074=___errno_location()|0;HEAP32[$1074>>2]=12;$mem$0=0;STACKTOP=sp;return $mem$0|0}function _free($mem){$mem=$mem|0;var $$pre=0,$$pre$phi66Z2D=0,$$pre$phi68Z2D=0,$$pre$phiZ2D=0,$$pre65=0,$$pre67=0,$$sum=0,$$sum16$pre=0,$$sum17=0,$$sum18=0,$$sum19=0,$$sum2=0,$$sum20=0,$$sum2324=0,$$sum25=0,$$sum26=0,$$sum28=0,$$sum29=0,$$sum3=0,$$sum30=0;var $$sum31=0,$$sum32=0,$$sum33=0,$$sum34=0,$$sum35=0,$$sum36=0,$$sum37=0,$$sum5=0,$$sum67=0,$$sum8=0,$$sum9=0,$0=0,$1=0,$10=0,$100=0,$101=0,$102=0,$103=0,$104=0,$105=0;var $106=0,$107=0,$108=0,$109=0,$11=0,$110=0,$111=0,$112=0,$113=0,$114=0,$115=0,$116=0,$117=0,$118=0,$119=0,$12=0,$120=0,$121=0,$122=0,$123=0;var $124=0,$125=0,$126=0,$127=0,$128=0,$129=0,$13=0,$130=0,$131=0,$132=0,$133=0,$134=0,$135=0,$136=0,$137=0,$138=0,$139=0,$14=0,$140=0,$141=0;var $142=0,$143=0,$144=0,$145=0,$146=0,$147=0,$148=0,$149=0,$15=0,$150=0,$151=0,$152=0,$153=0,$154=0,$155=0,$156=0,$157=0,$158=0,$159=0,$16=0;var $160=0,$161=0,$162=0,$163=0,$164=0,$165=0,$166=0,$167=0,$168=0,$169=0,$17=0,$170=0,$171=0,$172=0,$173=0,$174=0,$175=0,$176=0,$177=0,$178=0;var $179=0,$18=0,$180=0,$181=0,$182=0,$183=0,$184=0,$185=0,$186=0,$187=0,$188=0,$189=0,$19=0,$190=0,$191=0,$192=0,$193=0,$194=0,$195=0,$196=0;var $197=0,$198=0,$199=0,$2=0,$20=0,$200=0,$201=0,$202=0,$203=0,$204=0,$205=0,$206=0,$207=0,$208=0,$209=0,$21=0,$210=0,$211=0,$212=0,$213=0;var $214=0,$215=0,$216=0,$217=0,$218=0,$219=0,$22=0,$220=0,$221=0,$222=0,$223=0,$224=0,$225=0,$226=0,$227=0,$228=0,$229=0,$23=0,$230=0,$231=0;var $232=0,$233=0,$234=0,$235=0,$236=0,$237=0,$238=0,$239=0,$24=0,$240=0,$241=0,$242=0,$243=0,$244=0,$245=0,$246=0,$247=0,$248=0,$249=0,$25=0;var $250=0,$251=0,$252=0,$253=0,$254=0,$255=0,$256=0,$257=0,$258=0,$259=0,$26=0,$260=0,$261=0,$262=0,$263=0,$264=0,$265=0,$266=0,$267=0,$268=0;var $269=0,$27=0,$270=0,$271=0,$272=0,$273=0,$274=0,$275=0,$276=0,$277=0,$278=0,$279=0,$28=0,$280=0,$281=0,$282=0,$283=0,$284=0,$285=0,$286=0;var $287=0,$288=0,$289=0,$29=0,$290=0,$291=0,$292=0,$293=0,$294=0,$295=0,$296=0,$297=0,$298=0,$299=0,$3=0,$30=0,$300=0,$301=0,$302=0,$303=0;var $304=0,$305=0,$306=0,$307=0,$308=0,$309=0,$31=0,$310=0,$311=0,$312=0,$313=0,$314=0,$315=0,$316=0,$317=0,$318=0,$319=0,$32=0,$320=0,$321=0;var $33=0,$34=0,$35=0,$36=0,$37=0,$38=0,$39=0,$4=0,$40=0,$41=0,$42=0,$43=0,$44=0,$45=0,$46=0,$47=0,$48=0,$49=0,$5=0,$50=0;var $51=0,$52=0,$53=0,$54=0,$55=0,$56=0,$57=0,$58=0,$59=0,$6=0,$60=0,$61=0,$62=0,$63=0,$64=0,$65=0,$66=0,$67=0,$68=0,$69=0;var $7=0,$70=0,$71=0,$72=0,$73=0,$74=0,$75=0,$76=0,$77=0,$78=0,$79=0,$8=0,$80=0,$81=0,$82=0,$83=0,$84=0,$85=0,$86=0,$87=0;var $88=0,$89=0,$9=0,$90=0,$91=0,$92=0,$93=0,$94=0,$95=0,$96=0,$97=0,$98=0,$99=0,$F16$0=0,$I18$0=0,$I18$0$c=0,$K19$058=0,$R$0=0,$R$1=0,$R7$0=0;var $R7$1=0,$RP$0=0,$RP9$0=0,$T$0$lcssa=0,$T$057=0,$cond=0,$cond54=0,$or$cond=0,$p$0=0,$psize$0=0,$psize$1=0,$sp$0$i=0,$sp$0$in$i=0,label=0,sp=0;sp=STACKTOP;$0=($mem|0)==(0|0);if($0){STACKTOP=sp;return}$1=$mem+-8|0;$2=HEAP32[(32544+16|0)>>2]|0;$3=$1>>>0<$2>>>0;if($3){_abort()}$4=$mem+-4|0;$5=HEAP32[$4>>2]|0;$6=$5&3;$7=($6|0)==1;if($7){_abort()}$8=$5&-8;$$sum=$8+-8|0;$9=$mem+$$sum|0;$10=$5&1;$11=($10|0)==0;do{if($11){$12=HEAP32[$1>>2]|0;$13=($6|0)==0;if($13){STACKTOP=sp;return}$$sum2=-8-$12|0;$14=$mem+$$sum2|0;$15=$12+$8|0;$16=$14>>>0<$2>>>0;if($16){_abort()}$17=HEAP32[(32544+20|0)>>2]|0;$18=($14|0)==($17|0);if($18){$$sum3=$8+-4|0;$103=$mem+$$sum3|0;$104=HEAP32[$103>>2]|0;$105=$104&3;$106=($105|0)==3;if(!$106){$p$0=$14;$psize$0=$15;break}HEAP32[(32544+8|0)>>2]=$15;$107=$104&-2;HEAP32[$103>>2]=$107;$108=$15|1;$$sum26=$$sum2+4|0;$109=$mem+$$sum26|0;HEAP32[$109>>2]=$108;HEAP32[$9>>2]=$15;STACKTOP=sp;return}$19=$12>>>3;$20=$12>>>0<256;if($20){$$sum36=$$sum2+8|0;$21=$mem+$$sum36|0;$22=HEAP32[$21>>2]|0;$$sum37=$$sum2+12|0;$23=$mem+$$sum37|0;$24=HEAP32[$23>>2]|0;$25=$19<<1;$26=(32544+($25<<2)|0)+40|0;$27=($22|0)==($26|0);if(!$27){$28=$22>>>0<$2>>>0;if($28){_abort()}$29=$22+12|0;$30=HEAP32[$29>>2]|0;$31=($30|0)==($14|0);if(!$31){_abort()}}$32=($24|0)==($22|0);if($32){$33=1<<$19;$34=$33^-1;$35=HEAP32[32544>>2]|0;$36=$35&$34;HEAP32[32544>>2]=$36;$p$0=$14;$psize$0=$15;break}$37=($24|0)==($26|0);if($37){$$pre67=$24+8|0;$$pre$phi68Z2D=$$pre67}else{$38=$24>>>0<$2>>>0;if($38){_abort()}$39=$24+8|0;$40=HEAP32[$39>>2]|0;$41=($40|0)==($14|0);if($41){$$pre$phi68Z2D=$39}else{_abort()}}$42=$22+12|0;HEAP32[$42>>2]=$24;HEAP32[$$pre$phi68Z2D>>2]=$22;$p$0=$14;$psize$0=$15;break}$$sum28=$$sum2+24|0;$43=$mem+$$sum28|0;$44=HEAP32[$43>>2]|0;$$sum29=$$sum2+12|0;$45=$mem+$$sum29|0;$46=HEAP32[$45>>2]|0;$47=($46|0)==($14|0);do{if($47){$$sum31=$$sum2+20|0;$57=$mem+$$sum31|0;$58=HEAP32[$57>>2]|0;$59=($58|0)==(0|0);if($59){$$sum30=$$sum2+16|0;$60=$mem+$$sum30|0;$61=HEAP32[$60>>2]|0;$62=($61|0)==(0|0);if($62){$R$1=0;break}else{$R$0=$61;$RP$0=$60}}else{$R$0=$58;$RP$0=$57}while(1){$63=$R$0+20|0;$64=HEAP32[$63>>2]|0;$65=($64|0)==(0|0);if(!$65){$R$0=$64;$RP$0=$63;continue}$66=$R$0+16|0;$67=HEAP32[$66>>2]|0;$68=($67|0)==(0|0);if($68){break}else{$R$0=$67;$RP$0=$66}}$69=$RP$0>>>0<$2>>>0;if($69){_abort()}else{HEAP32[$RP$0>>2]=0;$R$1=$R$0;break}}else{$$sum35=$$sum2+8|0;$48=$mem+$$sum35|0;$49=HEAP32[$48>>2]|0;$50=$49>>>0<$2>>>0;if($50){_abort()}$51=$49+12|0;$52=HEAP32[$51>>2]|0;$53=($52|0)==($14|0);if(!$53){_abort()}$54=$46+8|0;$55=HEAP32[$54>>2]|0;$56=($55|0)==($14|0);if($56){HEAP32[$51>>2]=$46;HEAP32[$54>>2]=$49;$R$1=$46;break}else{_abort()}}}while(0);$70=($44|0)==(0|0);if($70){$p$0=$14;$psize$0=$15}else{$$sum32=$$sum2+28|0;$71=$mem+$$sum32|0;$72=HEAP32[$71>>2]|0;$73=(32544+($72<<2)|0)+304|0;$74=HEAP32[$73>>2]|0;$75=($14|0)==($74|0);if($75){HEAP32[$73>>2]=$R$1;$cond=($R$1|0)==(0|0);if($cond){$76=1<<$72;$77=$76^-1;$78=HEAP32[(32544+4|0)>>2]|0;$79=$78&$77;HEAP32[(32544+4|0)>>2]=$79;$p$0=$14;$psize$0=$15;break}}else{$80=HEAP32[(32544+16|0)>>2]|0;$81=$44>>>0<$80>>>0;if($81){_abort()}$82=$44+16|0;$83=HEAP32[$82>>2]|0;$84=($83|0)==($14|0);if($84){HEAP32[$82>>2]=$R$1}else{$85=$44+20|0;HEAP32[$85>>2]=$R$1}$86=($R$1|0)==(0|0);if($86){$p$0=$14;$psize$0=$15;break}}$87=HEAP32[(32544+16|0)>>2]|0;$88=$R$1>>>0<$87>>>0;if($88){_abort()}$89=$R$1+24|0;HEAP32[$89>>2]=$44;$$sum33=$$sum2+16|0;$90=$mem+$$sum33|0;$91=HEAP32[$90>>2]|0;$92=($91|0)==(0|0);do{if(!$92){$93=$91>>>0<$87>>>0;if($93){_abort()}else{$94=$R$1+16|0;HEAP32[$94>>2]=$91;$95=$91+24|0;HEAP32[$95>>2]=$R$1;break}}}while(0);$$sum34=$$sum2+20|0;$96=$mem+$$sum34|0;$97=HEAP32[$96>>2]|0;$98=($97|0)==(0|0);if($98){$p$0=$14;$psize$0=$15}else{$99=HEAP32[(32544+16|0)>>2]|0;$100=$97>>>0<$99>>>0;if($100){_abort()}else{$101=$R$1+20|0;HEAP32[$101>>2]=$97;$102=$97+24|0;HEAP32[$102>>2]=$R$1;$p$0=$14;$psize$0=$15;break}}}}else{$p$0=$1;$psize$0=$8}}while(0);$110=$p$0>>>0<$9>>>0;if(!$110){_abort()}$$sum25=$8+-4|0;$111=$mem+$$sum25|0;$112=HEAP32[$111>>2]|0;$113=$112&1;$114=($113|0)==0;if($114){_abort()}$115=$112&2;$116=($115|0)==0;if($116){$117=HEAP32[(32544+24|0)>>2]|0;$118=($9|0)==($117|0);if($118){$119=HEAP32[(32544+12|0)>>2]|0;$120=$119+$psize$0|0;HEAP32[(32544+12|0)>>2]=$120;HEAP32[(32544+24|0)>>2]=$p$0;$121=$120|1;$122=$p$0+4|0;HEAP32[$122>>2]=$121;$123=HEAP32[(32544+20|0)>>2]|0;$124=($p$0|0)==($123|0);if(!$124){STACKTOP=sp;return}HEAP32[(32544+20|0)>>2]=0;HEAP32[(32544+8|0)>>2]=0;STACKTOP=sp;return}$125=HEAP32[(32544+20|0)>>2]|0;$126=($9|0)==($125|0);if($126){$127=HEAP32[(32544+8|0)>>2]|0;$128=$127+$psize$0|0;HEAP32[(32544+8|0)>>2]=$128;HEAP32[(32544+20|0)>>2]=$p$0;$129=$128|1;$130=$p$0+4|0;HEAP32[$130>>2]=$129;$131=$p$0+$128|0;HEAP32[$131>>2]=$128;STACKTOP=sp;return}$132=$112&-8;$133=$132+$psize$0|0;$134=$112>>>3;$135=$112>>>0<256;do{if($135){$136=$mem+$8|0;$137=HEAP32[$136>>2]|0;$$sum2324=$8|4;$138=$mem+$$sum2324|0;$139=HEAP32[$138>>2]|0;$140=$134<<1;$141=(32544+($140<<2)|0)+40|0;$142=($137|0)==($141|0);if(!$142){$143=HEAP32[(32544+16|0)>>2]|0;$144=$137>>>0<$143>>>0;if($144){_abort()}$145=$137+12|0;$146=HEAP32[$145>>2]|0;$147=($146|0)==($9|0);if(!$147){_abort()}}$148=($139|0)==($137|0);if($148){$149=1<<$134;$150=$149^-1;$151=HEAP32[32544>>2]|0;$152=$151&$150;HEAP32[32544>>2]=$152;break}$153=($139|0)==($141|0);if($153){$$pre65=$139+8|0;$$pre$phi66Z2D=$$pre65}else{$154=HEAP32[(32544+16|0)>>2]|0;$155=$139>>>0<$154>>>0;if($155){_abort()}$156=$139+8|0;$157=HEAP32[$156>>2]|0;$158=($157|0)==($9|0);if($158){$$pre$phi66Z2D=$156}else{_abort()}}$159=$137+12|0;HEAP32[$159>>2]=$139;HEAP32[$$pre$phi66Z2D>>2]=$137}else{$$sum5=$8+16|0;$160=$mem+$$sum5|0;$161=HEAP32[$160>>2]|0;$$sum67=$8|4;$162=$mem+$$sum67|0;$163=HEAP32[$162>>2]|0;$164=($163|0)==($9|0);do{if($164){$$sum9=$8+12|0;$175=$mem+$$sum9|0;$176=HEAP32[$175>>2]|0;$177=($176|0)==(0|0);if($177){$$sum8=$8+8|0;$178=$mem+$$sum8|0;$179=HEAP32[$178>>2]|0;$180=($179|0)==(0|0);if($180){$R7$1=0;break}else{$R7$0=$179;$RP9$0=$178}}else{$R7$0=$176;$RP9$0=$175}while(1){$181=$R7$0+20|0;$182=HEAP32[$181>>2]|0;$183=($182|0)==(0|0);if(!$183){$R7$0=$182;$RP9$0=$181;continue}$184=$R7$0+16|0;$185=HEAP32[$184>>2]|0;$186=($185|0)==(0|0);if($186){break}else{$R7$0=$185;$RP9$0=$184}}$187=HEAP32[(32544+16|0)>>2]|0;$188=$RP9$0>>>0<$187>>>0;if($188){_abort()}else{HEAP32[$RP9$0>>2]=0;$R7$1=$R7$0;break}}else{$165=$mem+$8|0;$166=HEAP32[$165>>2]|0;$167=HEAP32[(32544+16|0)>>2]|0;$168=$166>>>0<$167>>>0;if($168){_abort()}$169=$166+12|0;$170=HEAP32[$169>>2]|0;$171=($170|0)==($9|0);if(!$171){_abort()}$172=$163+8|0;$173=HEAP32[$172>>2]|0;$174=($173|0)==($9|0);if($174){HEAP32[$169>>2]=$163;HEAP32[$172>>2]=$166;$R7$1=$163;break}else{_abort()}}}while(0);$189=($161|0)==(0|0);if(!$189){$$sum18=$8+20|0;$190=$mem+$$sum18|0;$191=HEAP32[$190>>2]|0;$192=(32544+($191<<2)|0)+304|0;$193=HEAP32[$192>>2]|0;$194=($9|0)==($193|0);if($194){HEAP32[$192>>2]=$R7$1;$cond54=($R7$1|0)==(0|0);if($cond54){$195=1<<$191;$196=$195^-1;$197=HEAP32[(32544+4|0)>>2]|0;$198=$197&$196;HEAP32[(32544+4|0)>>2]=$198;break}}else{$199=HEAP32[(32544+16|0)>>2]|0;$200=$161>>>0<$199>>>0;if($200){_abort()}$201=$161+16|0;$202=HEAP32[$201>>2]|0;$203=($202|0)==($9|0);if($203){HEAP32[$201>>2]=$R7$1}else{$204=$161+20|0;HEAP32[$204>>2]=$R7$1}$205=($R7$1|0)==(0|0);if($205){break}}$206=HEAP32[(32544+16|0)>>2]|0;$207=$R7$1>>>0<$206>>>0;if($207){_abort()}$208=$R7$1+24|0;HEAP32[$208>>2]=$161;$$sum19=$8+8|0;$209=$mem+$$sum19|0;$210=HEAP32[$209>>2]|0;$211=($210|0)==(0|0);do{if(!$211){$212=$210>>>0<$206>>>0;if($212){_abort()}else{$213=$R7$1+16|0;HEAP32[$213>>2]=$210;$214=$210+24|0;HEAP32[$214>>2]=$R7$1;break}}}while(0);$$sum20=$8+12|0;$215=$mem+$$sum20|0;$216=HEAP32[$215>>2]|0;$217=($216|0)==(0|0);if(!$217){$218=HEAP32[(32544+16|0)>>2]|0;$219=$216>>>0<$218>>>0;if($219){_abort()}else{$220=$R7$1+20|0;HEAP32[$220>>2]=$216;$221=$216+24|0;HEAP32[$221>>2]=$R7$1;break}}}}}while(0);$222=$133|1;$223=$p$0+4|0;HEAP32[$223>>2]=$222;$224=$p$0+$133|0;HEAP32[$224>>2]=$133;$225=HEAP32[(32544+20|0)>>2]|0;$226=($p$0|0)==($225|0);if($226){HEAP32[(32544+8|0)>>2]=$133;STACKTOP=sp;return}else{$psize$1=$133}}else{$227=$112&-2;HEAP32[$111>>2]=$227;$228=$psize$0|1;$229=$p$0+4|0;HEAP32[$229>>2]=$228;$230=$p$0+$psize$0|0;HEAP32[$230>>2]=$psize$0;$psize$1=$psize$0}$231=$psize$1>>>3;$232=$psize$1>>>0<256;if($232){$233=$231<<1;$234=(32544+($233<<2)|0)+40|0;$235=HEAP32[32544>>2]|0;$236=1<<$231;$237=$235&$236;$238=($237|0)==0;if($238){$239=$235|$236;HEAP32[32544>>2]=$239;$$sum16$pre=$233+2|0;$$pre=(32544+($$sum16$pre<<2)|0)+40|0;$$pre$phiZ2D=$$pre;$F16$0=$234}else{$$sum17=$233+2|0;$240=(32544+($$sum17<<2)|0)+40|0;$241=HEAP32[$240>>2]|0;$242=HEAP32[(32544+16|0)>>2]|0;$243=$241>>>0<$242>>>0;if($243){_abort()}else{$$pre$phiZ2D=$240;$F16$0=$241}}HEAP32[$$pre$phiZ2D>>2]=$p$0;$244=$F16$0+12|0;HEAP32[$244>>2]=$p$0;$245=$p$0+8|0;HEAP32[$245>>2]=$F16$0;$246=$p$0+12|0;HEAP32[$246>>2]=$234;STACKTOP=sp;return}$247=$psize$1>>>8;$248=($247|0)==0;if($248){$I18$0=0}else{$249=$psize$1>>>0>16777215;if($249){$I18$0=31}else{$250=$247+1048320|0;$251=$250>>>16;$252=$251&8;$253=$247<<$252;$254=$253+520192|0;$255=$254>>>16;$256=$255&4;$257=$256|$252;$258=$253<<$256;$259=$258+245760|0;$260=$259>>>16;$261=$260&2;$262=$257|$261;$263=14-$262|0;$264=$258<<$261;$265=$264>>>15;$266=$263+$265|0;$267=$266<<1;$268=$266+7|0;$269=$psize$1>>>$268;$270=$269&1;$271=$270|$267;$I18$0=$271}}$272=(32544+($I18$0<<2)|0)+304|0;$273=$p$0+28|0;$I18$0$c=$I18$0;HEAP32[$273>>2]=$I18$0$c;$274=$p$0+20|0;HEAP32[$274>>2]=0;$275=$p$0+16|0;HEAP32[$275>>2]=0;$276=HEAP32[(32544+4|0)>>2]|0;$277=1<<$I18$0;$278=$276&$277;$279=($278|0)==0;L199:do{if($279){$280=$276|$277;HEAP32[(32544+4|0)>>2]=$280;HEAP32[$272>>2]=$p$0;$281=$p$0+24|0;HEAP32[$281>>2]=$272;$282=$p$0+12|0;HEAP32[$282>>2]=$p$0;$283=$p$0+8|0;HEAP32[$283>>2]=$p$0}else{$284=HEAP32[$272>>2]|0;$285=($I18$0|0)==31;if($285){$293=0}else{$286=$I18$0>>>1;$287=25-$286|0;$293=$287}$288=$284+4|0;$289=HEAP32[$288>>2]|0;$290=$289&-8;$291=($290|0)==($psize$1|0);L205:do{if($291){$T$0$lcssa=$284}else{$292=$psize$1<<$293;$K19$058=$292;$T$057=$284;while(1){$300=$K19$058>>>31;$301=($T$057+($300<<2)|0)+16|0;$296=HEAP32[$301>>2]|0;$302=($296|0)==(0|0);if($302){break}$294=$K19$058<<1;$295=$296+4|0;$297=HEAP32[$295>>2]|0;$298=$297&-8;$299=($298|0)==($psize$1|0);if($299){$T$0$lcssa=$296;break L205}else{$K19$058=$294;$T$057=$296}}$303=HEAP32[(32544+16|0)>>2]|0;$304=$301>>>0<$303>>>0;if($304){_abort()}else{HEAP32[$301>>2]=$p$0;$305=$p$0+24|0;HEAP32[$305>>2]=$T$057;$306=$p$0+12|0;HEAP32[$306>>2]=$p$0;$307=$p$0+8|0;HEAP32[$307>>2]=$p$0;break L199}}}while(0);$308=$T$0$lcssa+8|0;$309=HEAP32[$308>>2]|0;$310=HEAP32[(32544+16|0)>>2]|0;$311=$T$0$lcssa>>>0>=$310>>>0;$312=$309>>>0>=$310>>>0;$or$cond=$311&$312;if($or$cond){$313=$309+12|0;HEAP32[$313>>2]=$p$0;HEAP32[$308>>2]=$p$0;$314=$p$0+8|0;HEAP32[$314>>2]=$309;$315=$p$0+12|0;HEAP32[$315>>2]=$T$0$lcssa;$316=$p$0+24|0;HEAP32[$316>>2]=0;break}else{_abort()}}}while(0);$317=HEAP32[(32544+32|0)>>2]|0;$318=$317+-1|0;HEAP32[(32544+32|0)>>2]=$318;$319=($318|0)==0;if($319){$sp$0$in$i=32544+456|0}else{STACKTOP=sp;return}while(1){$sp$0$i=HEAP32[$sp$0$in$i>>2]|0;$320=($sp$0$i|0)==(0|0);$321=$sp$0$i+8|0;if($320){break}else{$sp$0$in$i=$321}}HEAP32[(32544+32|0)>>2]=-1;STACKTOP=sp;return}function runPostSets(){}function _bitshift64Ashr(low,high,bits){low=low|0;high=high|0;bits=bits|0;var ander=0;if((bits|0)<32){ander=(1<>bits;return low>>>bits|(high&ander)<<32-bits}tempRet0=(high|0)<0?-1:0;return high>>bits-32|0}function _i64Subtract(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var l=0,h=0;l=a-c>>>0;h=b-d>>>0;h=b-d-(c>>>0>a>>>0|0)>>>0;return(tempRet0=h,l|0)|0}function _i64Add(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var l=0,h=0;l=a+c>>>0;h=b+d+(l>>>0>>0|0)>>>0;return(tempRet0=h,l|0)|0}function _memset(ptr,value,num){ptr=ptr|0;value=value|0;num=num|0;var stop=0,value4=0,stop4=0,unaligned=0;stop=ptr+num|0;if((num|0)>=20){value=value&0xff;unaligned=ptr&3;value4=value|value<<8|value<<16|value<<24;stop4=stop&~3;if(unaligned){unaligned=ptr+4-unaligned|0;while((ptr|0)<(unaligned|0)){HEAP8[ptr>>0]=value;ptr=ptr+1|0}}while((ptr|0)<(stop4|0)){HEAP32[ptr>>2]=value4;ptr=ptr+4|0}}while((ptr|0)<(stop|0)){HEAP8[ptr>>0]=value;ptr=ptr+1|0}return ptr-num|0}function _bitshift64Lshr(low,high,bits){low=low|0;high=high|0;bits=bits|0;var ander=0;if((bits|0)<32){ander=(1<>>bits;return low>>>bits|(high&ander)<<32-bits}tempRet0=0;return high>>>bits-32|0}function _bitshift64Shl(low,high,bits){low=low|0;high=high|0;bits=bits|0;var ander=0;if((bits|0)<32){ander=(1<>>32-bits;return low<>0]|0){curr=curr+1|0}return curr-ptr|0}function _memcpy(dest,src,num){dest=dest|0;src=src|0;num=num|0;var ret=0;if((num|0)>=4096)return _emscripten_memcpy_big(dest|0,src|0,num|0)|0;ret=dest|0;if((dest&3)==(src&3)){while(dest&3){if((num|0)==0)return ret|0;HEAP8[dest>>0]=HEAP8[src>>0]|0;dest=dest+1|0;src=src+1|0;num=num-1|0}while((num|0)>=4){HEAP32[dest>>2]=HEAP32[src>>2]|0;dest=dest+4|0;src=src+4|0;num=num-4|0}}while((num|0)>0){HEAP8[dest>>0]=HEAP8[src>>0]|0;dest=dest+1|0;src=src+1|0;num=num-1|0}return ret|0}function _memmove(dest,src,num){dest=dest|0;src=src|0;num=num|0;var ret=0;if((src|0)<(dest|0)&(dest|0)<(src+num|0)){ret=dest;src=src+num|0;dest=dest+num|0;while((num|0)>0){dest=dest-1|0;src=src-1|0;num=num-1|0;HEAP8[dest>>0]=HEAP8[src>>0]|0}dest=ret}else{_memcpy(dest,src,num)|0}return dest|0}function _llvm_ctlz_i32(x){x=x|0;var ret=0;ret=HEAP8[ctlz_i8+(x>>>24)>>0]|0;if((ret|0)<8)return ret|0;ret=HEAP8[ctlz_i8+(x>>16&0xff)>>0]|0;if((ret|0)<8)return ret+8|0;ret=HEAP8[ctlz_i8+(x>>8&0xff)>>0]|0;if((ret|0)<8)return ret+16|0;return(HEAP8[ctlz_i8+(x&0xff)>>0]|0)+24|0}function _llvm_cttz_i32(x){x=x|0;var ret=0;ret=HEAP8[cttz_i8+(x&0xff)>>0]|0;if((ret|0)<8)return ret|0;ret=HEAP8[cttz_i8+(x>>8&0xff)>>0]|0;if((ret|0)<8)return ret+8|0;ret=HEAP8[cttz_i8+(x>>16&0xff)>>0]|0;if((ret|0)<8)return ret+16|0;return(HEAP8[cttz_i8+(x>>>24)>>0]|0)+24|0}function ___muldsi3($a,$b){$a=$a|0;$b=$b|0;var $1=0,$2=0,$3=0,$6=0,$8=0,$11=0,$12=0;$1=$a&65535;$2=$b&65535;$3=Math_imul($2,$1)|0;$6=$a>>>16;$8=($3>>>16)+(Math_imul($2,$6)|0)|0;$11=$b>>>16;$12=Math_imul($11,$1)|0;return(tempRet0=(($8>>>16)+(Math_imul($11,$6)|0)|0)+((($8&65535)+$12|0)>>>16)|0,0|($8+$12<<16|$3&65535))|0}function ___divdi3($a$0,$a$1,$b$0,$b$1){$a$0=$a$0|0;$a$1=$a$1|0;$b$0=$b$0|0;$b$1=$b$1|0;var $1$0=0,$1$1=0,$2$0=0,$2$1=0,$4$0=0,$4$1=0,$6$0=0,$7$0=0,$7$1=0,$8$0=0,$10$0=0;$1$0=$a$1>>31|(($a$1|0)<0?-1:0)<<1;$1$1=(($a$1|0)<0?-1:0)>>31|(($a$1|0)<0?-1:0)<<1;$2$0=$b$1>>31|(($b$1|0)<0?-1:0)<<1;$2$1=(($b$1|0)<0?-1:0)>>31|(($b$1|0)<0?-1:0)<<1;$4$0=_i64Subtract($1$0^$a$0,$1$1^$a$1,$1$0,$1$1)|0;$4$1=tempRet0;$6$0=_i64Subtract($2$0^$b$0,$2$1^$b$1,$2$0,$2$1)|0;$7$0=$2$0^$1$0;$7$1=$2$1^$1$1;$8$0=___udivmoddi4($4$0,$4$1,$6$0,tempRet0,0)|0;$10$0=_i64Subtract($8$0^$7$0,tempRet0^$7$1,$7$0,$7$1)|0;return(tempRet0=tempRet0,$10$0)|0}function ___remdi3($a$0,$a$1,$b$0,$b$1){$a$0=$a$0|0;$a$1=$a$1|0;$b$0=$b$0|0;$b$1=$b$1|0;var $rem=0,$1$0=0,$1$1=0,$2$0=0,$2$1=0,$4$0=0,$4$1=0,$6$0=0,$10$0=0,$10$1=0,__stackBase__=0;__stackBase__=STACKTOP;STACKTOP=STACKTOP+8|0;$rem=__stackBase__|0;$1$0=$a$1>>31|(($a$1|0)<0?-1:0)<<1;$1$1=(($a$1|0)<0?-1:0)>>31|(($a$1|0)<0?-1:0)<<1;$2$0=$b$1>>31|(($b$1|0)<0?-1:0)<<1;$2$1=(($b$1|0)<0?-1:0)>>31|(($b$1|0)<0?-1:0)<<1;$4$0=_i64Subtract($1$0^$a$0,$1$1^$a$1,$1$0,$1$1)|0;$4$1=tempRet0;$6$0=_i64Subtract($2$0^$b$0,$2$1^$b$1,$2$0,$2$1)|0;___udivmoddi4($4$0,$4$1,$6$0,tempRet0,$rem)|0;$10$0=_i64Subtract(HEAP32[$rem>>2]^$1$0,HEAP32[$rem+4>>2]^$1$1,$1$0,$1$1)|0;$10$1=tempRet0;STACKTOP=__stackBase__;return(tempRet0=$10$1,$10$0)|0}function ___muldi3($a$0,$a$1,$b$0,$b$1){$a$0=$a$0|0;$a$1=$a$1|0;$b$0=$b$0|0;$b$1=$b$1|0;var $x_sroa_0_0_extract_trunc=0,$y_sroa_0_0_extract_trunc=0,$1$0=0,$1$1=0,$2=0;$x_sroa_0_0_extract_trunc=$a$0;$y_sroa_0_0_extract_trunc=$b$0;$1$0=___muldsi3($x_sroa_0_0_extract_trunc,$y_sroa_0_0_extract_trunc)|0;$1$1=tempRet0;$2=Math_imul($a$1,$y_sroa_0_0_extract_trunc)|0;return(tempRet0=((Math_imul($b$1,$x_sroa_0_0_extract_trunc)|0)+$2|0)+$1$1|$1$1&0,0|$1$0&-1)|0}function ___udivdi3($a$0,$a$1,$b$0,$b$1){$a$0=$a$0|0;$a$1=$a$1|0;$b$0=$b$0|0;$b$1=$b$1|0;var $1$0=0;$1$0=___udivmoddi4($a$0,$a$1,$b$0,$b$1,0)|0;return(tempRet0=tempRet0,$1$0)|0}function ___uremdi3($a$0,$a$1,$b$0,$b$1){$a$0=$a$0|0;$a$1=$a$1|0;$b$0=$b$0|0;$b$1=$b$1|0;var $rem=0,__stackBase__=0;__stackBase__=STACKTOP;STACKTOP=STACKTOP+8|0;$rem=__stackBase__|0;___udivmoddi4($a$0,$a$1,$b$0,$b$1,$rem)|0;STACKTOP=__stackBase__;return(tempRet0=HEAP32[$rem+4>>2]|0,HEAP32[$rem>>2]|0)|0}function ___udivmoddi4($a$0,$a$1,$b$0,$b$1,$rem){$a$0=$a$0|0;$a$1=$a$1|0;$b$0=$b$0|0;$b$1=$b$1|0;$rem=$rem|0;var $n_sroa_0_0_extract_trunc=0,$n_sroa_1_4_extract_shift$0=0,$n_sroa_1_4_extract_trunc=0,$d_sroa_0_0_extract_trunc=0,$d_sroa_1_4_extract_shift$0=0,$d_sroa_1_4_extract_trunc=0,$4=0,$17=0,$37=0,$49=0,$51=0,$57=0,$58=0,$66=0,$78=0,$86=0,$88=0,$89=0,$91=0,$92=0,$95=0,$105=0,$117=0,$119=0,$125=0,$126=0,$130=0,$q_sroa_1_1_ph=0,$q_sroa_0_1_ph=0,$r_sroa_1_1_ph=0,$r_sroa_0_1_ph=0,$sr_1_ph=0,$d_sroa_0_0_insert_insert99$0=0,$d_sroa_0_0_insert_insert99$1=0,$137$0=0,$137$1=0,$carry_0203=0,$sr_1202=0,$r_sroa_0_1201=0,$r_sroa_1_1200=0,$q_sroa_0_1199=0,$q_sroa_1_1198=0,$147=0,$149=0,$r_sroa_0_0_insert_insert42$0=0,$r_sroa_0_0_insert_insert42$1=0,$150$1=0,$151$0=0,$152=0,$154$0=0,$r_sroa_0_0_extract_trunc=0,$r_sroa_1_4_extract_trunc=0,$155=0,$carry_0_lcssa$0=0,$carry_0_lcssa$1=0,$r_sroa_0_1_lcssa=0,$r_sroa_1_1_lcssa=0,$q_sroa_0_1_lcssa=0,$q_sroa_1_1_lcssa=0,$q_sroa_0_0_insert_ext75$0=0,$q_sroa_0_0_insert_ext75$1=0,$q_sroa_0_0_insert_insert77$1=0,$_0$0=0,$_0$1=0;$n_sroa_0_0_extract_trunc=$a$0;$n_sroa_1_4_extract_shift$0=$a$1;$n_sroa_1_4_extract_trunc=$n_sroa_1_4_extract_shift$0;$d_sroa_0_0_extract_trunc=$b$0;$d_sroa_1_4_extract_shift$0=$b$1;$d_sroa_1_4_extract_trunc=$d_sroa_1_4_extract_shift$0;if(($n_sroa_1_4_extract_trunc|0)==0){$4=($rem|0)!=0;if(($d_sroa_1_4_extract_trunc|0)==0){if($4){HEAP32[$rem>>2]=($n_sroa_0_0_extract_trunc>>>0)%($d_sroa_0_0_extract_trunc>>>0);HEAP32[$rem+4>>2]=0}$_0$1=0;$_0$0=($n_sroa_0_0_extract_trunc>>>0)/($d_sroa_0_0_extract_trunc>>>0)>>>0;return(tempRet0=$_0$1,$_0$0)|0}else{if(!$4){$_0$1=0;$_0$0=0;return(tempRet0=$_0$1,$_0$0)|0}HEAP32[$rem>>2]=$a$0&-1;HEAP32[$rem+4>>2]=$a$1&0;$_0$1=0;$_0$0=0;return(tempRet0=$_0$1,$_0$0)|0}}$17=($d_sroa_1_4_extract_trunc|0)==0;do{if(($d_sroa_0_0_extract_trunc|0)==0){if($17){if(($rem|0)!=0){HEAP32[$rem>>2]=($n_sroa_1_4_extract_trunc>>>0)%($d_sroa_0_0_extract_trunc>>>0);HEAP32[$rem+4>>2]=0}$_0$1=0;$_0$0=($n_sroa_1_4_extract_trunc>>>0)/($d_sroa_0_0_extract_trunc>>>0)>>>0;return(tempRet0=$_0$1,$_0$0)|0}if(($n_sroa_0_0_extract_trunc|0)==0){if(($rem|0)!=0){HEAP32[$rem>>2]=0;HEAP32[$rem+4>>2]=($n_sroa_1_4_extract_trunc>>>0)%($d_sroa_1_4_extract_trunc>>>0)}$_0$1=0;$_0$0=($n_sroa_1_4_extract_trunc>>>0)/($d_sroa_1_4_extract_trunc>>>0)>>>0;return(tempRet0=$_0$1,$_0$0)|0}$37=$d_sroa_1_4_extract_trunc-1|0;if(($37&$d_sroa_1_4_extract_trunc|0)==0){if(($rem|0)!=0){HEAP32[$rem>>2]=0|$a$0&-1;HEAP32[$rem+4>>2]=$37&$n_sroa_1_4_extract_trunc|$a$1&0}$_0$1=0;$_0$0=$n_sroa_1_4_extract_trunc>>>((_llvm_cttz_i32($d_sroa_1_4_extract_trunc|0)|0)>>>0);return(tempRet0=$_0$1,$_0$0)|0}$49=_llvm_ctlz_i32($d_sroa_1_4_extract_trunc|0)|0;$51=$49-(_llvm_ctlz_i32($n_sroa_1_4_extract_trunc|0)|0)|0;if($51>>>0<=30){$57=$51+1|0;$58=31-$51|0;$sr_1_ph=$57;$r_sroa_0_1_ph=$n_sroa_1_4_extract_trunc<<$58|$n_sroa_0_0_extract_trunc>>>($57>>>0);$r_sroa_1_1_ph=$n_sroa_1_4_extract_trunc>>>($57>>>0);$q_sroa_0_1_ph=0;$q_sroa_1_1_ph=$n_sroa_0_0_extract_trunc<<$58;break}if(($rem|0)==0){$_0$1=0;$_0$0=0;return(tempRet0=$_0$1,$_0$0)|0}HEAP32[$rem>>2]=0|$a$0&-1;HEAP32[$rem+4>>2]=$n_sroa_1_4_extract_shift$0|$a$1&0;$_0$1=0;$_0$0=0;return(tempRet0=$_0$1,$_0$0)|0}else{if(!$17){$117=_llvm_ctlz_i32($d_sroa_1_4_extract_trunc|0)|0;$119=$117-(_llvm_ctlz_i32($n_sroa_1_4_extract_trunc|0)|0)|0;if($119>>>0<=31){$125=$119+1|0;$126=31-$119|0;$130=$119-31>>31;$sr_1_ph=$125;$r_sroa_0_1_ph=$n_sroa_0_0_extract_trunc>>>($125>>>0)&$130|$n_sroa_1_4_extract_trunc<<$126;$r_sroa_1_1_ph=$n_sroa_1_4_extract_trunc>>>($125>>>0)&$130;$q_sroa_0_1_ph=0;$q_sroa_1_1_ph=$n_sroa_0_0_extract_trunc<<$126;break}if(($rem|0)==0){$_0$1=0;$_0$0=0;return(tempRet0=$_0$1,$_0$0)|0}HEAP32[$rem>>2]=0|$a$0&-1;HEAP32[$rem+4>>2]=$n_sroa_1_4_extract_shift$0|$a$1&0;$_0$1=0;$_0$0=0;return(tempRet0=$_0$1,$_0$0)|0}$66=$d_sroa_0_0_extract_trunc-1|0;if(($66&$d_sroa_0_0_extract_trunc|0)!=0){$86=(_llvm_ctlz_i32($d_sroa_0_0_extract_trunc|0)|0)+33|0;$88=$86-(_llvm_ctlz_i32($n_sroa_1_4_extract_trunc|0)|0)|0;$89=64-$88|0;$91=32-$88|0;$92=$91>>31;$95=$88-32|0;$105=$95>>31;$sr_1_ph=$88;$r_sroa_0_1_ph=$91-1>>31&$n_sroa_1_4_extract_trunc>>>($95>>>0)|($n_sroa_1_4_extract_trunc<<$91|$n_sroa_0_0_extract_trunc>>>($88>>>0))&$105;$r_sroa_1_1_ph=$105&$n_sroa_1_4_extract_trunc>>>($88>>>0);$q_sroa_0_1_ph=$n_sroa_0_0_extract_trunc<<$89&$92;$q_sroa_1_1_ph=($n_sroa_1_4_extract_trunc<<$89|$n_sroa_0_0_extract_trunc>>>($95>>>0))&$92|$n_sroa_0_0_extract_trunc<<$91&$88-33>>31;break}if(($rem|0)!=0){HEAP32[$rem>>2]=$66&$n_sroa_0_0_extract_trunc;HEAP32[$rem+4>>2]=0}if(($d_sroa_0_0_extract_trunc|0)==1){$_0$1=$n_sroa_1_4_extract_shift$0|$a$1&0;$_0$0=0|$a$0&-1;return(tempRet0=$_0$1,$_0$0)|0}else{$78=_llvm_cttz_i32($d_sroa_0_0_extract_trunc|0)|0;$_0$1=0|$n_sroa_1_4_extract_trunc>>>($78>>>0);$_0$0=$n_sroa_1_4_extract_trunc<<32-$78|$n_sroa_0_0_extract_trunc>>>($78>>>0)|0;return(tempRet0=$_0$1,$_0$0)|0}}}while(0);if(($sr_1_ph|0)==0){$q_sroa_1_1_lcssa=$q_sroa_1_1_ph;$q_sroa_0_1_lcssa=$q_sroa_0_1_ph;$r_sroa_1_1_lcssa=$r_sroa_1_1_ph;$r_sroa_0_1_lcssa=$r_sroa_0_1_ph;$carry_0_lcssa$1=0;$carry_0_lcssa$0=0}else{$d_sroa_0_0_insert_insert99$0=0|$b$0&-1;$d_sroa_0_0_insert_insert99$1=$d_sroa_1_4_extract_shift$0|$b$1&0;$137$0=_i64Add($d_sroa_0_0_insert_insert99$0,$d_sroa_0_0_insert_insert99$1,-1,-1)|0;$137$1=tempRet0;$q_sroa_1_1198=$q_sroa_1_1_ph;$q_sroa_0_1199=$q_sroa_0_1_ph;$r_sroa_1_1200=$r_sroa_1_1_ph;$r_sroa_0_1201=$r_sroa_0_1_ph;$sr_1202=$sr_1_ph;$carry_0203=0;while(1){$147=$q_sroa_0_1199>>>31|$q_sroa_1_1198<<1;$149=$carry_0203|$q_sroa_0_1199<<1;$r_sroa_0_0_insert_insert42$0=0|($r_sroa_0_1201<<1|$q_sroa_1_1198>>>31);$r_sroa_0_0_insert_insert42$1=$r_sroa_0_1201>>>31|$r_sroa_1_1200<<1|0;_i64Subtract($137$0,$137$1,$r_sroa_0_0_insert_insert42$0,$r_sroa_0_0_insert_insert42$1)|0;$150$1=tempRet0;$151$0=$150$1>>31|(($150$1|0)<0?-1:0)<<1;$152=$151$0&1;$154$0=_i64Subtract($r_sroa_0_0_insert_insert42$0,$r_sroa_0_0_insert_insert42$1,$151$0&$d_sroa_0_0_insert_insert99$0,((($150$1|0)<0?-1:0)>>31|(($150$1|0)<0?-1:0)<<1)&$d_sroa_0_0_insert_insert99$1)|0;$r_sroa_0_0_extract_trunc=$154$0;$r_sroa_1_4_extract_trunc=tempRet0;$155=$sr_1202-1|0;if(($155|0)==0){break}else{$q_sroa_1_1198=$147;$q_sroa_0_1199=$149;$r_sroa_1_1200=$r_sroa_1_4_extract_trunc;$r_sroa_0_1201=$r_sroa_0_0_extract_trunc;$sr_1202=$155;$carry_0203=$152}}$q_sroa_1_1_lcssa=$147;$q_sroa_0_1_lcssa=$149;$r_sroa_1_1_lcssa=$r_sroa_1_4_extract_trunc;$r_sroa_0_1_lcssa=$r_sroa_0_0_extract_trunc;$carry_0_lcssa$1=0;$carry_0_lcssa$0=$152}$q_sroa_0_0_insert_ext75$0=$q_sroa_0_1_lcssa;$q_sroa_0_0_insert_ext75$1=0;$q_sroa_0_0_insert_insert77$1=$q_sroa_1_1_lcssa|$q_sroa_0_0_insert_ext75$1;if(($rem|0)!=0){HEAP32[$rem>>2]=0|$r_sroa_0_1_lcssa;HEAP32[$rem+4>>2]=$r_sroa_1_1_lcssa|0}$_0$1=(0|$q_sroa_0_0_insert_ext75$0)>>>31|$q_sroa_0_0_insert_insert77$1<<1|($q_sroa_0_0_insert_ext75$1<<1|$q_sroa_0_0_insert_ext75$0>>>31)&0|$carry_0_lcssa$1;$_0$0=($q_sroa_0_0_insert_ext75$0<<1|0>>>31)&-2|$carry_0_lcssa$0;return(tempRet0=$_0$1,$_0$0)|0}return{_curve25519_verify:_curve25519_verify,_crypto_sign_ed25519_ref10_ge_scalarmult_base:_crypto_sign_ed25519_ref10_ge_scalarmult_base,_curve25519_sign:_curve25519_sign,_free:_free,_i64Add:_i64Add,_memmove:_memmove,_bitshift64Ashr:_bitshift64Ashr,_sph_sha512_init:_sph_sha512_init,_curve25519_donna:_curve25519_donna,_memset:_memset,_malloc:_malloc,_memcpy:_memcpy,_strlen:_strlen,_bitshift64Lshr:_bitshift64Lshr,_i64Subtract:_i64Subtract,_bitshift64Shl:_bitshift64Shl,runPostSets:runPostSets,stackAlloc:stackAlloc,stackSave:stackSave,stackRestore:stackRestore,setThrew:setThrew,setTempRet0:setTempRet0,getTempRet0:getTempRet0}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _curve25519_verify=Module["_curve25519_verify"]=asm["_curve25519_verify"];var _crypto_sign_ed25519_ref10_ge_scalarmult_base=Module["_crypto_sign_ed25519_ref10_ge_scalarmult_base"]=asm["_crypto_sign_ed25519_ref10_ge_scalarmult_base"];var _curve25519_sign=Module["_curve25519_sign"]=asm["_curve25519_sign"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _sph_sha512_init=Module["_sph_sha512_init"]=asm["_sph_sha512_init"];var _curve25519_donna=Module["_curve25519_donna"]=asm["_curve25519_donna"];var _memset=Module["_memset"]=asm["_memset"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _strlen=Module["_strlen"]=asm["_strlen"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];var i64Math=function(){var goog={math:{}};goog.math.Long=function(low,high){this.low_=low|0;this.high_=high|0};goog.math.Long.IntCache_={};goog.math.Long.fromInt=function(value){if(-128<=value&&value<128){var cachedObj=goog.math.Long.IntCache_[value];if(cachedObj){return cachedObj}}var obj=new goog.math.Long(value|0,value<0?-1:0);if(-128<=value&&value<128){goog.math.Long.IntCache_[value]=obj}return obj};goog.math.Long.fromNumber=function(value){if(isNaN(value)||!isFinite(value)){return goog.math.Long.ZERO}else if(value<=-goog.math.Long.TWO_PWR_63_DBL_){return goog.math.Long.MIN_VALUE}else if(value+1>=goog.math.Long.TWO_PWR_63_DBL_){return goog.math.Long.MAX_VALUE}else if(value<0){return goog.math.Long.fromNumber(-value).negate()}else{return new goog.math.Long(value%goog.math.Long.TWO_PWR_32_DBL_|0,value/goog.math.Long.TWO_PWR_32_DBL_|0)}};goog.math.Long.fromBits=function(lowBits,highBits){return new goog.math.Long(lowBits,highBits)};goog.math.Long.fromString=function(str,opt_radix){if(str.length==0){throw Error("number format error: empty string")}var radix=opt_radix||10;if(radix<2||36=0){throw Error('number format error: interior "-" character: '+str)}var radixToPower=goog.math.Long.fromNumber(Math.pow(radix,8));var result=goog.math.Long.ZERO;for(var i=0;i=0?this.low_:goog.math.Long.TWO_PWR_32_DBL_+this.low_};goog.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative()){if(this.equals(goog.math.Long.MIN_VALUE)){return 64}else{return this.negate().getNumBitsAbs()}}else{var val=this.high_!=0?this.high_:this.low_;for(var bit=31;bit>0;bit--){if((val&1<0};goog.math.Long.prototype.greaterThanOrEqual=function(other){return this.compare(other)>=0};goog.math.Long.prototype.compare=function(other){if(this.equals(other)){return 0}var thisNeg=this.isNegative();var otherNeg=other.isNegative();if(thisNeg&&!otherNeg){return-1}if(!thisNeg&&otherNeg){return 1}if(this.subtract(other).isNegative()){return-1}else{return 1}};goog.math.Long.prototype.negate=function(){if(this.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.MIN_VALUE}else{return this.not().add(goog.math.Long.ONE)}};goog.math.Long.prototype.add=function(other){var a48=this.high_>>>16;var a32=this.high_&65535;var a16=this.low_>>>16;var a00=this.low_&65535;var b48=other.high_>>>16;var b32=other.high_&65535;var b16=other.low_>>>16;var b00=other.low_&65535;var c48=0,c32=0,c16=0,c00=0;c00+=a00+b00;c16+=c00>>>16;c00&=65535;c16+=a16+b16;c32+=c16>>>16;c16&=65535;c32+=a32+b32;c48+=c32>>>16;c32&=65535;c48+=a48+b48;c48&=65535;return goog.math.Long.fromBits(c16<<16|c00,c48<<16|c32)};goog.math.Long.prototype.subtract=function(other){return this.add(other.negate())};goog.math.Long.prototype.multiply=function(other){if(this.isZero()){return goog.math.Long.ZERO}else if(other.isZero()){return goog.math.Long.ZERO}if(this.equals(goog.math.Long.MIN_VALUE)){return other.isOdd()?goog.math.Long.MIN_VALUE:goog.math.Long.ZERO}else if(other.equals(goog.math.Long.MIN_VALUE)){return this.isOdd()?goog.math.Long.MIN_VALUE:goog.math.Long.ZERO}if(this.isNegative()){if(other.isNegative()){return this.negate().multiply(other.negate())}else{return this.negate().multiply(other).negate()}}else if(other.isNegative()){return this.multiply(other.negate()).negate()}if(this.lessThan(goog.math.Long.TWO_PWR_24_)&&other.lessThan(goog.math.Long.TWO_PWR_24_)){return goog.math.Long.fromNumber(this.toNumber()*other.toNumber())}var a48=this.high_>>>16;var a32=this.high_&65535;var a16=this.low_>>>16;var a00=this.low_&65535;var b48=other.high_>>>16;var b32=other.high_&65535;var b16=other.low_>>>16;var b00=other.low_&65535;var c48=0,c32=0,c16=0,c00=0;c00+=a00*b00;c16+=c00>>>16;c00&=65535;c16+=a16*b00;c32+=c16>>>16;c16&=65535;c16+=a00*b16;c32+=c16>>>16;c16&=65535;c32+=a32*b00;c48+=c32>>>16;c32&=65535;c32+=a16*b16;c48+=c32>>>16;c32&=65535;c32+=a00*b32;c48+=c32>>>16;c32&=65535;c48+=a48*b00+a32*b16+a16*b32+a00*b48;c48&=65535;return goog.math.Long.fromBits(c16<<16|c00,c48<<16|c32)};goog.math.Long.prototype.div=function(other){if(other.isZero()){throw Error("division by zero")}else if(this.isZero()){return goog.math.Long.ZERO}if(this.equals(goog.math.Long.MIN_VALUE)){if(other.equals(goog.math.Long.ONE)||other.equals(goog.math.Long.NEG_ONE)){return goog.math.Long.MIN_VALUE}else if(other.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.ONE}else{var halfThis=this.shiftRight(1);var approx=halfThis.div(other).shiftLeft(1);if(approx.equals(goog.math.Long.ZERO)){return other.isNegative()?goog.math.Long.ONE:goog.math.Long.NEG_ONE}else{var rem=this.subtract(other.multiply(approx));var result=approx.add(rem.div(other));return result}}}else if(other.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.ZERO}if(this.isNegative()){if(other.isNegative()){return this.negate().div(other.negate())}else{return this.negate().div(other).negate()}}else if(other.isNegative()){return this.div(other.negate()).negate()}var res=goog.math.Long.ZERO;var rem=this;while(rem.greaterThanOrEqual(other)){var approx=Math.max(1,Math.floor(rem.toNumber()/other.toNumber()));var log2=Math.ceil(Math.log(approx)/Math.LN2);var delta=log2<=48?1:Math.pow(2,log2-48);var approxRes=goog.math.Long.fromNumber(approx);var approxRem=approxRes.multiply(other);while(approxRem.isNegative()||approxRem.greaterThan(rem)){approx-=delta;approxRes=goog.math.Long.fromNumber(approx);approxRem=approxRes.multiply(other)}if(approxRes.isZero()){approxRes=goog.math.Long.ONE}res=res.add(approxRes);rem=rem.subtract(approxRem)}return res};goog.math.Long.prototype.modulo=function(other){return this.subtract(this.div(other).multiply(other))};goog.math.Long.prototype.not=function(){return goog.math.Long.fromBits(~this.low_,~this.high_)};goog.math.Long.prototype.and=function(other){return goog.math.Long.fromBits(this.low_&other.low_,this.high_&other.high_)};goog.math.Long.prototype.or=function(other){return goog.math.Long.fromBits(this.low_|other.low_,this.high_|other.high_)};goog.math.Long.prototype.xor=function(other){return goog.math.Long.fromBits(this.low_^other.low_,this.high_^other.high_)};goog.math.Long.prototype.shiftLeft=function(numBits){numBits&=63;if(numBits==0){return this}else{var low=this.low_;if(numBits<32){var high=this.high_;return goog.math.Long.fromBits(low<>>32-numBits)}else{return goog.math.Long.fromBits(0,low<>>numBits|high<<32-numBits,high>>numBits)}else{return goog.math.Long.fromBits(high>>numBits-32,high>=0?0:-1)}}};goog.math.Long.prototype.shiftRightUnsigned=function(numBits){numBits&=63;if(numBits==0){return this}else{var high=this.high_;if(numBits<32){var low=this.low_;return goog.math.Long.fromBits(low>>>numBits|high<<32-numBits,high>>>numBits)}else if(numBits==32){return goog.math.Long.fromBits(high,0)}else{return goog.math.Long.fromBits(high>>>numBits-32,0)}}};var navigator={appName:"Modern Browser"};var dbits;var canary=0xdeadbeefcafe;var j_lm=(canary&16777215)==15715070;function BigInteger(a,b,c){if(a!=null)if("number"==typeof a)this.fromNumber(a,b,c);else if(b==null&&"string"!=typeof a)this.fromString(a,256);else this.fromString(a,b)}function nbi(){return new BigInteger(null)}function am1(i,x,w,j,c,n){while(--n>=0){var v=x*this[i++]+w[j]+c;c=Math.floor(v/67108864);w[j++]=v&67108863}return c}function am2(i,x,w,j,c,n){var xl=x&32767,xh=x>>15;while(--n>=0){var l=this[i]&32767;var h=this[i++]>>15;var m=xh*l+h*xl;l=xl*l+((m&32767)<<15)+w[j]+(c&1073741823);c=(l>>>30)+(m>>>15)+xh*h+(c>>>30);w[j++]=l&1073741823}return c}function am3(i,x,w,j,c,n){var xl=x&16383,xh=x>>14;while(--n>=0){var l=this[i]&16383;var h=this[i++]>>14;var m=xh*l+h*xl;l=xl*l+((m&16383)<<14)+w[j]+c;c=(l>>28)+(m>>14)+xh*h;w[j++]=l&268435455}return c}if(j_lm&&navigator.appName=="Microsoft Internet Explorer"){BigInteger.prototype.am=am2;dbits=30}else if(j_lm&&navigator.appName!="Netscape"){BigInteger.prototype.am=am1;dbits=26}else{BigInteger.prototype.am=am3;dbits=28}BigInteger.prototype.DB=dbits;BigInteger.prototype.DM=(1<=0;--i)r[i]=this[i];r.t=this.t;r.s=this.s}function bnpFromInt(x){this.t=1;this.s=x<0?-1:0;if(x>0)this[0]=x;else if(x<-1)this[0]=x+DV;else this.t=0}function nbv(i){var r=nbi();r.fromInt(i);return r}function bnpFromString(s,b){var k;if(b==16)k=4;else if(b==8)k=3;else if(b==256)k=8;else if(b==2)k=1;else if(b==32)k=5;else if(b==4)k=2;else{this.fromRadix(s,b);return}this.t=0;this.s=0;var i=s.length,mi=false,sh=0;while(--i>=0){var x=k==8?s[i]&255:intAt(s,i);if(x<0){if(s.charAt(i)=="-")mi=true;continue}mi=false;if(sh==0)this[this.t++]=x;else if(sh+k>this.DB){this[this.t-1]|=(x&(1<>this.DB-sh}else this[this.t-1]|=x<=this.DB)sh-=this.DB}if(k==8&&(s[0]&128)!=0){this.s=-1;if(sh>0)this[this.t-1]|=(1<0&&this[this.t-1]==c)--this.t}function bnToString(b){if(this.s<0)return"-"+this.negate().toString(b);var k;if(b==16)k=4;else if(b==8)k=3;else if(b==2)k=1;else if(b==32)k=5;else if(b==4)k=2;else return this.toRadix(b);var km=(1<0){if(p>p)>0){m=true;r=int2char(d)}while(i>=0){if(p>(p+=this.DB-k)}else{d=this[i]>>(p-=k)&km;if(p<=0){p+=this.DB;--i}}if(d>0)m=true;if(m)r+=int2char(d)}}return m?r:"0"}function bnNegate(){var r=nbi();BigInteger.ZERO.subTo(this,r);return r}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(a){var r=this.s-a.s;if(r!=0)return r;var i=this.t;r=i-a.t;if(r!=0)return this.s<0?-r:r;while(--i>=0)if((r=this[i]-a[i])!=0)return r;return 0}function nbits(x){var r=1,t;if((t=x>>>16)!=0){x=t;r+=16}if((t=x>>8)!=0){x=t;r+=8}if((t=x>>4)!=0){x=t;r+=4}if((t=x>>2)!=0){x=t;r+=2}if((t=x>>1)!=0){x=t;r+=1}return r}function bnBitLength(){if(this.t<=0)return 0;return this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)}function bnpDLShiftTo(n,r){var i;for(i=this.t-1;i>=0;--i)r[i+n]=this[i];for(i=n-1;i>=0;--i)r[i]=0;r.t=this.t+n;r.s=this.s}function bnpDRShiftTo(n,r){for(var i=n;i=0;--i){r[i+ds+1]=this[i]>>cbs|c;c=(this[i]&bm)<=0;--i)r[i]=0;r[ds]=c;r.t=this.t+ds+1;r.s=this.s;r.clamp()}function bnpRShiftTo(n,r){r.s=this.s;var ds=Math.floor(n/this.DB);if(ds>=this.t){r.t=0;return}var bs=n%this.DB;var cbs=this.DB-bs;var bm=(1<>bs;for(var i=ds+1;i>bs}if(bs>0)r[this.t-ds-1]|=(this.s&bm)<>=this.DB}if(a.t>=this.DB}c+=this.s}else{c+=this.s;while(i>=this.DB}c-=a.s}r.s=c<0?-1:0;if(c<-1)r[i++]=this.DV+c;else if(c>0)r[i++]=c;r.t=i;r.clamp()}function bnpMultiplyTo(a,r){var x=this.abs(),y=a.abs();var i=x.t;r.t=i+y.t;while(--i>=0)r[i]=0;for(i=0;i=0)r[i]=0;for(i=0;i=x.DV){r[i+x.t]-=x.DV;r[i+x.t+1]=1}}if(r.t>0)r[r.t-1]+=x.am(i,x[i],r,2*i,0,1);r.s=0;r.clamp()}function bnpDivRemTo(m,q,r){var pm=m.abs();if(pm.t<=0)return;var pt=this.abs();if(pt.t0){pm.lShiftTo(nsh,y);pt.lShiftTo(nsh,r)}else{pm.copyTo(y);pt.copyTo(r)}var ys=y.t;var y0=y[ys-1];if(y0==0)return;var yt=y0*(1<1?y[ys-2]>>this.F2:0);var d1=this.FV/yt,d2=(1<=0){r[r.t++]=1;r.subTo(t,r)}BigInteger.ONE.dlShiftTo(ys,t);t.subTo(y,y);while(y.t=0){var qd=r[--i]==y0?this.DM:Math.floor(r[i]*d1+(r[i-1]+e)*d2);if((r[i]+=y.am(0,qd,r,j,0,ys))0)r.rShiftTo(nsh,r);if(ts<0)BigInteger.ZERO.subTo(r,r)}function bnMod(a){var r=nbi();this.abs().divRemTo(a,null,r);if(this.s<0&&r.compareTo(BigInteger.ZERO)>0)a.subTo(r,r);return r}function Classic(m){this.m=m}function cConvert(x){if(x.s<0||x.compareTo(this.m)>=0)return x.mod(this.m);else return x}function cRevert(x){return x}function cReduce(x){x.divRemTo(this.m,null,x)}function cMulTo(x,y,r){x.multiplyTo(y,r);this.reduce(r)}function cSqrTo(x,r){x.squareTo(r);this.reduce(r)}Classic.prototype.convert=cConvert;Classic.prototype.revert=cRevert;Classic.prototype.reduce=cReduce;Classic.prototype.mulTo=cMulTo;Classic.prototype.sqrTo=cSqrTo;function bnpInvDigit(){if(this.t<1)return 0;var x=this[0];if((x&1)==0)return 0;var y=x&3;y=y*(2-(x&15)*y)&15;y=y*(2-(x&255)*y)&255;y=y*(2-((x&65535)*y&65535))&65535;y=y*(2-x*y%this.DV)%this.DV;return y>0?this.DV-y:-y}function Montgomery(m){this.m=m;this.mp=m.invDigit();this.mpl=this.mp&32767;this.mph=this.mp>>15;this.um=(1<0)this.m.subTo(r,r);return r}function montRevert(x){var r=nbi();x.copyTo(r);this.reduce(r);return r}function montReduce(x){while(x.t<=this.mt2)x[x.t++]=0;for(var i=0;i>15)*this.mpl&this.um)<<15)&x.DM;j=i+this.m.t;x[j]+=this.m.am(0,u0,x,i,0,this.m.t);while(x[j]>=x.DV){x[j]-=x.DV;x[++j]++}}x.clamp();x.drShiftTo(this.m.t,x);if(x.compareTo(this.m)>=0)x.subTo(this.m,x)}function montSqrTo(x,r){x.squareTo(r);this.reduce(r)}function montMulTo(x,y,r){x.multiplyTo(y,r);this.reduce(r)}Montgomery.prototype.convert=montConvert;Montgomery.prototype.revert=montRevert;Montgomery.prototype.reduce=montReduce;Montgomery.prototype.mulTo=montMulTo;Montgomery.prototype.sqrTo=montSqrTo;function bnpIsEven(){return(this.t>0?this[0]&1:this.s)==0}function bnpExp(e,z){if(e>4294967295||e<1)return BigInteger.ONE;var r=nbi(),r2=nbi(),g=z.convert(this),i=nbits(e)-1;g.copyTo(r);while(--i>=0){z.sqrTo(r,r2);if((e&1<0)z.mulTo(r2,g,r);else{var t=r;r=r2;r2=t}}return z.revert(r)}function bnModPowInt(e,m){var z;if(e<256||m.isEven())z=new Classic(m);else z=new Montgomery(m);return this.exp(e,z)}BigInteger.prototype.copyTo=bnpCopyTo;BigInteger.prototype.fromInt=bnpFromInt;BigInteger.prototype.fromString=bnpFromString;BigInteger.prototype.clamp=bnpClamp;BigInteger.prototype.dlShiftTo=bnpDLShiftTo;BigInteger.prototype.drShiftTo=bnpDRShiftTo;BigInteger.prototype.lShiftTo=bnpLShiftTo;BigInteger.prototype.rShiftTo=bnpRShiftTo;BigInteger.prototype.subTo=bnpSubTo;BigInteger.prototype.multiplyTo=bnpMultiplyTo;BigInteger.prototype.squareTo=bnpSquareTo;BigInteger.prototype.divRemTo=bnpDivRemTo;BigInteger.prototype.invDigit=bnpInvDigit;BigInteger.prototype.isEven=bnpIsEven;BigInteger.prototype.exp=bnpExp;BigInteger.prototype.toString=bnToString;BigInteger.prototype.negate=bnNegate;BigInteger.prototype.abs=bnAbs;BigInteger.prototype.compareTo=bnCompareTo;BigInteger.prototype.bitLength=bnBitLength;BigInteger.prototype.mod=bnMod;BigInteger.prototype.modPowInt=bnModPowInt;BigInteger.ZERO=nbv(0);BigInteger.ONE=nbv(1);function bnpFromRadix(s,b){this.fromInt(0);if(b==null)b=10;var cs=this.chunkSize(b);var d=Math.pow(b,cs),mi=false,j=0,w=0;for(var i=0;i=cs){this.dMultiply(d);this.dAddOffset(w,0);j=0;w=0}}if(j>0){this.dMultiply(Math.pow(b,j));this.dAddOffset(w,0)}if(mi)BigInteger.ZERO.subTo(this,this)}function bnpChunkSize(r){return Math.floor(Math.LN2*this.DB/Math.log(r))}function bnSigNum(){if(this.s<0)return-1;else if(this.t<=0||this.t==1&&this[0]<=0)return 0;else return 1}function bnpDMultiply(n){this[this.t]=this.am(0,n-1,this,0,0,this.t);++this.t;this.clamp()}function bnpDAddOffset(n,w){if(n==0)return;while(this.t<=w)this[this.t++]=0;this[w]+=n;while(this[w]>=this.DV){this[w]-=this.DV;if(++w>=this.t)this[this.t++]=0;++this[w]}}function bnpToRadix(b){if(b==null)b=10;if(this.signum()==0||b<2||b>36)return"0";var cs=this.chunkSize(b);var a=Math.pow(b,cs);var d=nbv(a),y=nbi(),z=nbi(),r="";this.divRemTo(d,y,z);while(y.signum()>0){r=(a+z.intValue()).toString(b).substr(1)+r;y.divRemTo(d,y,z)}return z.intValue().toString(b)+r}function bnIntValue(){if(this.s<0){if(this.t==1)return this[0]-this.DV;else if(this.t==0)return-1}else if(this.t==1)return this[0];else if(this.t==0)return 0;return(this[1]&(1<<32-this.DB)-1)<>=this.DB}if(a.t>=this.DB}c+=this.s}else{c+=this.s;while(i>=this.DB}c+=a.s}r.s=c<0?-1:0;if(c>0)r[i++]=c;else if(c<-1)r[i++]=this.DV+c;r.t=i;r.clamp()}BigInteger.prototype.fromRadix=bnpFromRadix;BigInteger.prototype.chunkSize=bnpChunkSize;BigInteger.prototype.signum=bnSigNum;BigInteger.prototype.dMultiply=bnpDMultiply;BigInteger.prototype.dAddOffset=bnpDAddOffset;BigInteger.prototype.toRadix=bnpToRadix;BigInteger.prototype.intValue=bnIntValue;BigInteger.prototype.addTo=bnpAddTo;var Wrapper={abs:function(l,h){var x=new goog.math.Long(l,h);var ret;if(x.isNegative()){ret=x.negate()}else{ret=x}HEAP32[tempDoublePtr>>2]=ret.low_;HEAP32[tempDoublePtr+4>>2]=ret.high_},ensureTemps:function(){if(Wrapper.ensuredTemps)return;Wrapper.ensuredTemps=true;Wrapper.two32=new BigInteger;Wrapper.two32.fromString("4294967296",10);Wrapper.two64=new BigInteger;Wrapper.two64.fromString("18446744073709551616",10);Wrapper.temp1=new BigInteger;Wrapper.temp2=new BigInteger},lh2bignum:function(l,h){var a=new BigInteger;a.fromString(h.toString(),10);var b=new BigInteger;a.multiplyTo(Wrapper.two32,b);var c=new BigInteger;c.fromString(l.toString(),10);var d=new BigInteger;c.addTo(b,d);return d},stringify:function(l,h,unsigned){var ret=new goog.math.Long(l,h).toString();if(unsigned&&ret[0]=="-"){Wrapper.ensureTemps();var bignum=new BigInteger;bignum.fromString(ret,10);ret=new BigInteger;Wrapper.two64.addTo(bignum,ret);ret=ret.toString(10)}return ret},fromString:function(str,base,min,max,unsigned){Wrapper.ensureTemps();var bignum=new BigInteger;bignum.fromString(str,base);var bigmin=new BigInteger;bigmin.fromString(min,10);var bigmax=new BigInteger;bigmax.fromString(max,10);if(unsigned&&bignum.compareTo(BigInteger.ZERO)<0){var temp=new BigInteger;bignum.addTo(Wrapper.two64,temp);bignum=temp}var error=false;if(bignum.compareTo(bigmin)<0){bignum=bigmin;error=true}else if(bignum.compareTo(bigmax)>0){bignum=bigmax;error=true}var ret=goog.math.Long.fromString(bignum.toString());HEAP32[tempDoublePtr>>2]=ret.low_;HEAP32[tempDoublePtr+4>>2]=ret.high_;if(error)throw"range error"}};return Wrapper}();if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,STATIC_BASE)}else{addRunDependency("memory initializer");Browser.asyncLoad(memoryInitializer,function(data){HEAPU8.set(data,STATIC_BASE);removeRunDependency("memory initializer")},function(data){throw"could not load memory initializer "+memoryInitializer})}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"]&&shouldRunNow)run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(ENVIRONMENT_IS_WEB&&preloadStartTime!==null){Module.printErr("pre-main prep time: "+(Date.now()-preloadStartTime)+" ms")}if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status){if(Module["noExitRuntime"]){return}ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",function(){process["exit"](status)});console.log(" ");setTimeout(function(){process["exit"](status)},500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;function abort(text){if(text){Module.print(text);Module.printErr(text)}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";throw"abort() at "+stackTrace()+extra}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run();var Internal=Internal||{};(function(){"use strict";function _allocate(bytes){var address=Module._malloc(bytes.length);Module.HEAPU8.set(bytes,address);return address}function _readBytes(address,length,array){array.set(Module.HEAPU8.subarray(address,address+length))}var basepoint=new Uint8Array(32);basepoint[0]=9;Internal.curve25519={keyPair:function(privKey){var priv=new Uint8Array(privKey);priv[0]&=248;priv[31]&=127;priv[31]|=64;var publicKey_ptr=Module._malloc(32);var privateKey_ptr=_allocate(priv);var basepoint_ptr=_allocate(basepoint);var err=Module._curve25519_donna(publicKey_ptr,privateKey_ptr,basepoint_ptr);var res=new Uint8Array(32);_readBytes(publicKey_ptr,32,res);Module._free(publicKey_ptr);Module._free(privateKey_ptr);Module._free(basepoint_ptr);return{pubKey:res.buffer,privKey:priv.buffer}},sharedSecret:function(pubKey,privKey){var sharedKey_ptr=Module._malloc(32);var privateKey_ptr=_allocate(new Uint8Array(privKey));var basepoint_ptr=_allocate(new Uint8Array(pubKey));var err=Module._curve25519_donna(sharedKey_ptr,privateKey_ptr,basepoint_ptr);var res=new Uint8Array(32);_readBytes(sharedKey_ptr,32,res);Module._free(sharedKey_ptr);Module._free(privateKey_ptr);Module._free(basepoint_ptr);return res.buffer},sign:function(privKey,message){var signature_ptr=Module._malloc(64);var privateKey_ptr=_allocate(new Uint8Array(privKey));var message_ptr=_allocate(new Uint8Array(message));var err=Module._curve25519_sign(signature_ptr,privateKey_ptr,message_ptr,message.byteLength);var res=new Uint8Array(64);_readBytes(signature_ptr,64,res);Module._free(signature_ptr);Module._free(privateKey_ptr);Module._free(message_ptr);return res.buffer},verify:function(pubKey,message,sig){var publicKey_ptr=_allocate(new Uint8Array(pubKey));var signature_ptr=_allocate(new Uint8Array(sig));var message_ptr=_allocate(new Uint8Array(message));var res=Module._curve25519_verify(signature_ptr,publicKey_ptr,message_ptr,message.byteLength);Module._free(publicKey_ptr);Module._free(signature_ptr);Module._free(message_ptr);return res!==0}};Internal.curve25519_async={keyPair:function(privKey){return new Promise(function(resolve){resolve(Internal.curve25519.keyPair(privKey))})},sharedSecret:function(pubKey,privKey){return new Promise(function(resolve){resolve(Internal.curve25519.sharedSecret(pubKey,privKey))})},sign:function(privKey,message){return new Promise(function(resolve){resolve(Internal.curve25519.sign(privKey,message))})},verify:function(pubKey,message,sig){return new Promise(function(resolve,reject){if(Internal.curve25519.verify(pubKey,message,sig)){reject(new Error("Invalid signature"))}else{resolve()}})}}})();(function(){"use strict";var origCurve25519=Internal.curve25519_async;Internal.startWorker=function(url){Internal.stopWorker();Internal.curve25519_async=new Curve25519Worker(url)};Internal.stopWorker=function(){if(Internal.curve25519_async instanceof Curve25519Worker){var worker=Internal.curve25519_async.worker;Internal.curve25519_async=origCurve25519;worker.terminate()}};libsignal.worker={startWorker:Internal.startWorker,stopWorker:Internal.stopWorker};function Curve25519Worker(url){this.jobs={};this.jobId=0;this.worker=new Worker(url);this.worker.onmessage=function(e){var job=this.jobs[e.data.id];if(e.data.error&&typeof job.onerror==="function"){job.onerror(new Error(e.data.error))}else if(typeof job.onsuccess==="function"){job.onsuccess(e.data.result)}delete this.jobs[e.data.id]}.bind(this)}Curve25519Worker.prototype={constructor:Curve25519Worker,postMessage:function(methodName,args,onsuccess,onerror){return new Promise(function(resolve,reject){this.jobs[this.jobId]={onsuccess:resolve,onerror:reject};this.worker.postMessage({id:this.jobId,methodName:methodName,args:args});this.jobId++}.bind(this))},keyPair:function(privKey){return this.postMessage("keyPair",[privKey])},sharedSecret:function(pubKey,privKey){return this.postMessage("sharedSecret",[pubKey,privKey])},sign:function(privKey,message){return this.postMessage("sign",[privKey,message])},verify:function(pubKey,message,sig){return this.postMessage("verify",[pubKey,message,sig])}}})();(function(global,factory){if(typeof define==="function"&&define["amd"])define([],factory);else if(typeof require==="function"&&typeof module==="object"&&module&&module["exports"])module["exports"]=factory();else(global["dcodeIO"]=global["dcodeIO"]||{})["Long"]=factory()})(this,function(){"use strict";function Long(low,high,unsigned){this.low=low|0;this.high=high|0;this.unsigned=!!unsigned}Long.prototype.__isLong__;Object.defineProperty(Long.prototype,"__isLong__",{value:true,enumerable:false,configurable:false});function isLong(obj){return(obj&&obj["__isLong__"])===true}Long.isLong=isLong;var INT_CACHE={};var UINT_CACHE={};function fromInt(value,unsigned){var obj,cachedObj,cache;if(unsigned){value>>>=0;if(cache=0<=value&&value<256){cachedObj=UINT_CACHE[value];if(cachedObj)return cachedObj}obj=fromBits(value,(value|0)<0?-1:0,true);if(cache)UINT_CACHE[value]=obj;return obj}else{value|=0;if(cache=-128<=value&&value<128){cachedObj=INT_CACHE[value];if(cachedObj)return cachedObj}obj=fromBits(value,value<0?-1:0,false);if(cache)INT_CACHE[value]=obj;return obj}}Long.fromInt=fromInt;function fromNumber(value,unsigned){if(isNaN(value)||!isFinite(value))return unsigned?UZERO:ZERO;if(unsigned){if(value<0)return UZERO;if(value>=TWO_PWR_64_DBL)return MAX_UNSIGNED_VALUE}else{if(value<=-TWO_PWR_63_DBL)return MIN_VALUE;if(value+1>=TWO_PWR_63_DBL)return MAX_VALUE}if(value<0)return fromNumber(-value,unsigned).neg();return fromBits(value%TWO_PWR_32_DBL|0,value/TWO_PWR_32_DBL|0,unsigned)}Long.fromNumber=fromNumber;function fromBits(lowBits,highBits,unsigned){return new Long(lowBits,highBits,unsigned)}Long.fromBits=fromBits;var pow_dbl=Math.pow;function fromString(str,unsigned,radix){if(str.length===0)throw Error("empty string");if(str==="NaN"||str==="Infinity"||str==="+Infinity"||str==="-Infinity")return ZERO;if(typeof unsigned==="number"){radix=unsigned,unsigned=false}else{unsigned=!!unsigned}radix=radix||10;if(radix<2||360)throw Error("interior hyphen");else if(p===0){return fromString(str.substring(1),unsigned,radix).neg()}var radixToPower=fromNumber(pow_dbl(radix,8));var result=ZERO;for(var i=0;i>>0:this.low};LongPrototype.toNumber=function toNumber(){if(this.unsigned)return(this.high>>>0)*TWO_PWR_32_DBL+(this.low>>>0);return this.high*TWO_PWR_32_DBL+(this.low>>>0)};LongPrototype.toString=function toString(radix){radix=radix||10;if(radix<2||36>>0,digits=intval.toString(radix);rem=remDiv;if(rem.isZero())return digits+result;else{while(digits.length<6)digits="0"+digits;result=""+digits+result}}};LongPrototype.getHighBits=function getHighBits(){return this.high};LongPrototype.getHighBitsUnsigned=function getHighBitsUnsigned(){return this.high>>>0};LongPrototype.getLowBits=function getLowBits(){return this.low};LongPrototype.getLowBitsUnsigned=function getLowBitsUnsigned(){return this.low>>>0};LongPrototype.getNumBitsAbs=function getNumBitsAbs(){if(this.isNegative())return this.eq(MIN_VALUE)?64:this.neg().getNumBitsAbs();var val=this.high!=0?this.high:this.low;for(var bit=31;bit>0;bit--)if((val&1<=0};LongPrototype.isOdd=function isOdd(){return(this.low&1)===1};LongPrototype.isEven=function isEven(){return(this.low&1)===0};LongPrototype.equals=function equals(other){if(!isLong(other))other=fromValue(other);if(this.unsigned!==other.unsigned&&this.high>>>31===1&&other.high>>>31===1)return false;return this.high===other.high&&this.low===other.low};LongPrototype.eq=LongPrototype.equals;LongPrototype.notEquals=function notEquals(other){return!this.eq(other)};LongPrototype.neq=LongPrototype.notEquals;LongPrototype.lessThan=function lessThan(other){return this.comp(other)<0};LongPrototype.lt=LongPrototype.lessThan;LongPrototype.lessThanOrEqual=function lessThanOrEqual(other){return this.comp(other)<=0};LongPrototype.lte=LongPrototype.lessThanOrEqual;LongPrototype.greaterThan=function greaterThan(other){return this.comp(other)>0};LongPrototype.gt=LongPrototype.greaterThan;LongPrototype.greaterThanOrEqual=function greaterThanOrEqual(other){return this.comp(other)>=0};LongPrototype.gte=LongPrototype.greaterThanOrEqual;LongPrototype.compare=function compare(other){if(!isLong(other))other=fromValue(other);if(this.eq(other))return 0;var thisNeg=this.isNegative(),otherNeg=other.isNegative();if(thisNeg&&!otherNeg)return-1;if(!thisNeg&&otherNeg)return 1;if(!this.unsigned)return this.sub(other).isNegative()?-1:1;return other.high>>>0>this.high>>>0||other.high===this.high&&other.low>>>0>this.low>>>0?-1:1};LongPrototype.comp=LongPrototype.compare;LongPrototype.negate=function negate(){if(!this.unsigned&&this.eq(MIN_VALUE))return MIN_VALUE;return this.not().add(ONE)};LongPrototype.neg=LongPrototype.negate;LongPrototype.add=function add(addend){if(!isLong(addend))addend=fromValue(addend);var a48=this.high>>>16;var a32=this.high&65535;var a16=this.low>>>16;var a00=this.low&65535;var b48=addend.high>>>16;var b32=addend.high&65535;var b16=addend.low>>>16;var b00=addend.low&65535;var c48=0,c32=0,c16=0,c00=0;c00+=a00+b00;c16+=c00>>>16;c00&=65535;c16+=a16+b16;c32+=c16>>>16;c16&=65535;c32+=a32+b32;c48+=c32>>>16;c32&=65535;c48+=a48+b48;c48&=65535;return fromBits(c16<<16|c00,c48<<16|c32,this.unsigned)};LongPrototype.subtract=function subtract(subtrahend){if(!isLong(subtrahend))subtrahend=fromValue(subtrahend);return this.add(subtrahend.neg())};LongPrototype.sub=LongPrototype.subtract;LongPrototype.multiply=function multiply(multiplier){if(this.isZero())return ZERO;if(!isLong(multiplier))multiplier=fromValue(multiplier);if(multiplier.isZero())return ZERO;if(this.eq(MIN_VALUE))return multiplier.isOdd()?MIN_VALUE:ZERO;if(multiplier.eq(MIN_VALUE))return this.isOdd()?MIN_VALUE:ZERO;if(this.isNegative()){if(multiplier.isNegative())return this.neg().mul(multiplier.neg());else return this.neg().mul(multiplier).neg()}else if(multiplier.isNegative())return this.mul(multiplier.neg()).neg();if(this.lt(TWO_PWR_24)&&multiplier.lt(TWO_PWR_24))return fromNumber(this.toNumber()*multiplier.toNumber(),this.unsigned);var a48=this.high>>>16;var a32=this.high&65535;var a16=this.low>>>16;var a00=this.low&65535;var b48=multiplier.high>>>16;var b32=multiplier.high&65535;var b16=multiplier.low>>>16;var b00=multiplier.low&65535;var c48=0,c32=0,c16=0,c00=0;c00+=a00*b00;c16+=c00>>>16;c00&=65535;c16+=a16*b00;c32+=c16>>>16;c16&=65535;c16+=a00*b16;c32+=c16>>>16;c16&=65535;c32+=a32*b00;c48+=c32>>>16;c32&=65535;c32+=a16*b16;c48+=c32>>>16;c32&=65535;c32+=a00*b32;c48+=c32>>>16;c32&=65535;c48+=a48*b00+a32*b16+a16*b32+a00*b48;c48&=65535;return fromBits(c16<<16|c00,c48<<16|c32,this.unsigned)};LongPrototype.mul=LongPrototype.multiply;LongPrototype.divide=function divide(divisor){if(!isLong(divisor))divisor=fromValue(divisor);if(divisor.isZero())throw Error("division by zero");if(this.isZero())return this.unsigned?UZERO:ZERO;var approx,rem,res;if(!this.unsigned){if(this.eq(MIN_VALUE)){if(divisor.eq(ONE)||divisor.eq(NEG_ONE))return MIN_VALUE;else if(divisor.eq(MIN_VALUE))return ONE;else{var halfThis=this.shr(1);approx=halfThis.div(divisor).shl(1);if(approx.eq(ZERO)){return divisor.isNegative()?ONE:NEG_ONE}else{rem=this.sub(divisor.mul(approx));res=approx.add(rem.div(divisor));return res}}}else if(divisor.eq(MIN_VALUE))return this.unsigned?UZERO:ZERO;if(this.isNegative()){if(divisor.isNegative())return this.neg().div(divisor.neg());return this.neg().div(divisor).neg()}else if(divisor.isNegative())return this.div(divisor.neg()).neg();res=ZERO}else{if(!divisor.unsigned)divisor=divisor.toUnsigned();if(divisor.gt(this))return UZERO;if(divisor.gt(this.shru(1)))return UONE;res=UZERO}rem=this;while(rem.gte(divisor)){approx=Math.max(1,Math.floor(rem.toNumber()/divisor.toNumber()));var log2=Math.ceil(Math.log(approx)/Math.LN2),delta=log2<=48?1:pow_dbl(2,log2-48),approxRes=fromNumber(approx),approxRem=approxRes.mul(divisor);while(approxRem.isNegative()||approxRem.gt(rem)){approx-=delta;approxRes=fromNumber(approx,this.unsigned);approxRem=approxRes.mul(divisor)}if(approxRes.isZero())approxRes=ONE;res=res.add(approxRes);rem=rem.sub(approxRem)}return res};LongPrototype.div=LongPrototype.divide;LongPrototype.modulo=function modulo(divisor){if(!isLong(divisor))divisor=fromValue(divisor);return this.sub(this.div(divisor).mul(divisor))};LongPrototype.mod=LongPrototype.modulo;LongPrototype.not=function not(){return fromBits(~this.low,~this.high,this.unsigned)};LongPrototype.and=function and(other){if(!isLong(other))other=fromValue(other);return fromBits(this.low&other.low,this.high&other.high,this.unsigned)};LongPrototype.or=function or(other){if(!isLong(other))other=fromValue(other);return fromBits(this.low|other.low,this.high|other.high,this.unsigned)};LongPrototype.xor=function xor(other){if(!isLong(other))other=fromValue(other);return fromBits(this.low^other.low,this.high^other.high,this.unsigned)};LongPrototype.shiftLeft=function shiftLeft(numBits){if(isLong(numBits))numBits=numBits.toInt();if((numBits&=63)===0)return this;else if(numBits<32)return fromBits(this.low<>>32-numBits,this.unsigned);else return fromBits(0,this.low<>>numBits|this.high<<32-numBits,this.high>>numBits,this.unsigned);else return fromBits(this.high>>numBits-32,this.high>=0?0:-1,this.unsigned)};LongPrototype.shr=LongPrototype.shiftRight;LongPrototype.shiftRightUnsigned=function shiftRightUnsigned(numBits){if(isLong(numBits))numBits=numBits.toInt();numBits&=63;if(numBits===0)return this;else{var high=this.high;if(numBits<32){var low=this.low;return fromBits(low>>>numBits|high<<32-numBits,high>>>numBits,this.unsigned)}else if(numBits===32)return fromBits(high,0,this.unsigned);else return fromBits(high>>>numBits-32,0,this.unsigned)}};LongPrototype.shru=LongPrototype.shiftRightUnsigned;LongPrototype.toSigned=function toSigned(){if(!this.unsigned)return this;return fromBits(this.low,this.high,false)};LongPrototype.toUnsigned=function toUnsigned(){if(this.unsigned)return this;return fromBits(this.low,this.high,true)};LongPrototype.toBytes=function(le){return le?this.toBytesLE():this.toBytesBE()};LongPrototype.toBytesLE=function(){var hi=this.high,lo=this.low;return[lo&255,lo>>>8&255,lo>>>16&255,lo>>>24&255,hi&255,hi>>>8&255,hi>>>16&255,hi>>>24&255]};LongPrototype.toBytesBE=function(){var hi=this.high,lo=this.low;return[hi>>>24&255,hi>>>16&255,hi>>>8&255,hi&255,lo>>>24&255,lo>>>16&255,lo>>>8&255,lo&255]};return Long});(function(global){"use strict";function loadByteBuffer(Long){var ByteBuffer=function(capacity,littleEndian,noAssert){if(typeof capacity==="undefined")capacity=ByteBuffer.DEFAULT_CAPACITY;if(typeof littleEndian==="undefined")littleEndian=ByteBuffer.DEFAULT_ENDIAN;if(typeof noAssert==="undefined")noAssert=ByteBuffer.DEFAULT_NOASSERT;if(!noAssert){capacity=capacity|0;if(capacity<0)throw RangeError("Illegal capacity");littleEndian=!!littleEndian;noAssert=!!noAssert}this.buffer=capacity===0?EMPTY_BUFFER:new ArrayBuffer(capacity);this.view=capacity===0?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=capacity;this.littleEndian=typeof littleEndian!=="undefined"?!!littleEndian:false;this.noAssert=!!noAssert};ByteBuffer.VERSION="3.5.5";ByteBuffer.LITTLE_ENDIAN=true;ByteBuffer.BIG_ENDIAN=false;ByteBuffer.DEFAULT_CAPACITY=16;ByteBuffer.DEFAULT_ENDIAN=ByteBuffer.BIG_ENDIAN;ByteBuffer.DEFAULT_NOASSERT=false;ByteBuffer.Long=Long||null;var ByteBufferPrototype=ByteBuffer.prototype;var EMPTY_BUFFER=new ArrayBuffer(0);var stringFromCharCode=String.fromCharCode;function stringSource(s){var i=0;return function(){return i1024)ps.push(stringFromCharCode.apply(String,cs)),cs.length=0;Array.prototype.push.apply(cs,arguments)}}ByteBuffer.allocate=function(capacity,littleEndian,noAssert){return new ByteBuffer(capacity,littleEndian,noAssert)};ByteBuffer.concat=function(buffers,encoding,littleEndian,noAssert){if(typeof encoding==="boolean"||typeof encoding!=="string"){noAssert=littleEndian;littleEndian=encoding;encoding=undefined}var capacity=0;for(var i=0,k=buffers.length,length;i0)capacity+=length}if(capacity===0)return new ByteBuffer(0,littleEndian,noAssert);var bb=new ByteBuffer(capacity,littleEndian,noAssert),bi;var view=new Uint8Array(bb.buffer);i=0;while(i0){bb.buffer=buffer.buffer;bb.offset=buffer.byteOffset;bb.limit=buffer.byteOffset+buffer.length;bb.view=buffer.length>0?new DataView(buffer.buffer):null}}else if(buffer instanceof ArrayBuffer){bb=new ByteBuffer(0,littleEndian,noAssert);if(buffer.byteLength>0){bb.buffer=buffer;bb.offset=0;bb.limit=buffer.byteLength;bb.view=buffer.byteLength>0?new DataView(buffer):null}}else if(Object.prototype.toString.call(buffer)==="[object Array]"){bb=new ByteBuffer(buffer.length,littleEndian,noAssert);bb.limit=buffer.length;for(i=0;i>>=0;if(offset<0||offset+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)}offset+=1;var capacity0=this.buffer.byteLength;if(offset>capacity0)this.resize((capacity0*=2)>offset?capacity0:offset);offset-=1;this.view.setInt8(offset,value);if(relative)this.offset+=1;return this};ByteBufferPrototype.writeByte=ByteBufferPrototype.writeInt8;ByteBufferPrototype.readInt8=function(offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength)}var value=this.view.getInt8(offset);if(relative)this.offset+=1;return value};ByteBufferPrototype.readByte=ByteBufferPrototype.readInt8;ByteBufferPrototype.writeUint8=function(value,offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof value!=="number"||value%1!==0)throw TypeError("Illegal value: "+value+" (not an integer)");value>>>=0;if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)}offset+=1;var capacity1=this.buffer.byteLength;if(offset>capacity1)this.resize((capacity1*=2)>offset?capacity1:offset);offset-=1;this.view.setUint8(offset,value);if(relative)this.offset+=1;return this};ByteBufferPrototype.readUint8=function(offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength)}var value=this.view.getUint8(offset);if(relative)this.offset+=1;return value};ByteBufferPrototype.writeInt16=function(value,offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof value!=="number"||value%1!==0)throw TypeError("Illegal value: "+value+" (not an integer)");value|=0;if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)}offset+=2;var capacity2=this.buffer.byteLength;if(offset>capacity2)this.resize((capacity2*=2)>offset?capacity2:offset);offset-=2;this.view.setInt16(offset,value,this.littleEndian);if(relative)this.offset+=2;return this};ByteBufferPrototype.writeShort=ByteBufferPrototype.writeInt16;ByteBufferPrototype.readInt16=function(offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength)}var value=this.view.getInt16(offset,this.littleEndian);if(relative)this.offset+=2;return value};ByteBufferPrototype.readShort=ByteBufferPrototype.readInt16;ByteBufferPrototype.writeUint16=function(value,offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof value!=="number"||value%1!==0)throw TypeError("Illegal value: "+value+" (not an integer)");value>>>=0;if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)}offset+=2;var capacity3=this.buffer.byteLength;if(offset>capacity3)this.resize((capacity3*=2)>offset?capacity3:offset);offset-=2;this.view.setUint16(offset,value,this.littleEndian);if(relative)this.offset+=2;return this};ByteBufferPrototype.readUint16=function(offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength)}var value=this.view.getUint16(offset,this.littleEndian);if(relative)this.offset+=2;return value};ByteBufferPrototype.writeInt32=function(value,offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof value!=="number"||value%1!==0)throw TypeError("Illegal value: "+value+" (not an integer)");value|=0;if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)}offset+=4;var capacity4=this.buffer.byteLength;if(offset>capacity4)this.resize((capacity4*=2)>offset?capacity4:offset);offset-=4;this.view.setInt32(offset,value,this.littleEndian);if(relative)this.offset+=4;return this};ByteBufferPrototype.writeInt=ByteBufferPrototype.writeInt32;ByteBufferPrototype.readInt32=function(offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength)}var value=this.view.getInt32(offset,this.littleEndian);if(relative)this.offset+=4;return value};ByteBufferPrototype.readInt=ByteBufferPrototype.readInt32;ByteBufferPrototype.writeUint32=function(value,offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof value!=="number"||value%1!==0)throw TypeError("Illegal value: "+value+" (not an integer)");value>>>=0;if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)}offset+=4;var capacity5=this.buffer.byteLength;if(offset>capacity5)this.resize((capacity5*=2)>offset?capacity5:offset);offset-=4;this.view.setUint32(offset,value,this.littleEndian);if(relative)this.offset+=4;return this};ByteBufferPrototype.readUint32=function(offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength)}var value=this.view.getUint32(offset,this.littleEndian);if(relative)this.offset+=4;return value};if(Long){ByteBufferPrototype.writeInt64=function(value,offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof value==="number")value=Long.fromNumber(value);else if(typeof value==="string")value=Long.fromString(value);else if(!(value&&value instanceof Long))throw TypeError("Illegal value: "+value+" (not an integer or Long)");if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)}if(typeof value==="number")value=Long.fromNumber(value);else if(typeof value==="string")value=Long.fromString(value);offset+=8;var capacity6=this.buffer.byteLength;if(offset>capacity6)this.resize((capacity6*=2)>offset?capacity6:offset);offset-=8;if(this.littleEndian){this.view.setInt32(offset,value.low,true);this.view.setInt32(offset+4,value.high,true)}else{this.view.setInt32(offset,value.high,false);this.view.setInt32(offset+4,value.low,false)}if(relative)this.offset+=8;return this};ByteBufferPrototype.writeLong=ByteBufferPrototype.writeInt64;ByteBufferPrototype.readInt64=function(offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength)}var value=this.littleEndian?new Long(this.view.getInt32(offset,true),this.view.getInt32(offset+4,true),false):new Long(this.view.getInt32(offset+4,false),this.view.getInt32(offset,false),false);if(relative)this.offset+=8;return value};ByteBufferPrototype.readLong=ByteBufferPrototype.readInt64;ByteBufferPrototype.writeUint64=function(value,offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof value==="number")value=Long.fromNumber(value);else if(typeof value==="string")value=Long.fromString(value);else if(!(value&&value instanceof Long))throw TypeError("Illegal value: "+value+" (not an integer or Long)");if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)}if(typeof value==="number")value=Long.fromNumber(value);else if(typeof value==="string")value=Long.fromString(value);offset+=8;var capacity7=this.buffer.byteLength;if(offset>capacity7)this.resize((capacity7*=2)>offset?capacity7:offset);offset-=8;if(this.littleEndian){this.view.setInt32(offset,value.low,true);this.view.setInt32(offset+4,value.high,true)}else{this.view.setInt32(offset,value.high,false);this.view.setInt32(offset+4,value.low,false)}if(relative)this.offset+=8;return this};ByteBufferPrototype.readUint64=function(offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength)}var value=this.littleEndian?new Long(this.view.getInt32(offset,true),this.view.getInt32(offset+4,true),true):new Long(this.view.getInt32(offset+4,false),this.view.getInt32(offset,false),true);if(relative)this.offset+=8;return value}}ByteBufferPrototype.writeFloat32=function(value,offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof value!=="number")throw TypeError("Illegal value: "+value+" (not a number)");if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)}offset+=4;var capacity8=this.buffer.byteLength;if(offset>capacity8)this.resize((capacity8*=2)>offset?capacity8:offset);offset-=4;this.view.setFloat32(offset,value,this.littleEndian);if(relative)this.offset+=4;return this};ByteBufferPrototype.writeFloat=ByteBufferPrototype.writeFloat32;ByteBufferPrototype.readFloat32=function(offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength)}var value=this.view.getFloat32(offset,this.littleEndian);if(relative)this.offset+=4;return value};ByteBufferPrototype.readFloat=ByteBufferPrototype.readFloat32;ByteBufferPrototype.writeFloat64=function(value,offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof value!=="number")throw TypeError("Illegal value: "+value+" (not a number)");if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)}offset+=8;var capacity9=this.buffer.byteLength;if(offset>capacity9)this.resize((capacity9*=2)>offset?capacity9:offset);offset-=8;this.view.setFloat64(offset,value,this.littleEndian);if(relative)this.offset+=8;return this};ByteBufferPrototype.writeDouble=ByteBufferPrototype.writeFloat64;ByteBufferPrototype.readFloat64=function(offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength)}var value=this.view.getFloat64(offset,this.littleEndian);if(relative)this.offset+=8;return value};ByteBufferPrototype.readDouble=ByteBufferPrototype.readFloat64;ByteBuffer.MAX_VARINT32_BYTES=5;ByteBuffer.calculateVarint32=function(value){value=value>>>0;if(value<1<<7)return 1;else if(value<1<<14)return 2;else if(value<1<<21)return 3;else if(value<1<<28)return 4;else return 5};ByteBuffer.zigZagEncode32=function(n){return((n|=0)<<1^n>>31)>>>0};ByteBuffer.zigZagDecode32=function(n){return n>>>1^-(n&1)|0};ByteBufferPrototype.writeVarint32=function(value,offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof value!=="number"||value%1!==0)throw TypeError("Illegal value: "+value+" (not an integer)");value|=0;if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)}var size=ByteBuffer.calculateVarint32(value),b;offset+=size;var capacity10=this.buffer.byteLength;if(offset>capacity10)this.resize((capacity10*=2)>offset?capacity10:offset);offset-=size;this.view.setUint8(offset,b=value|128);value>>>=0;if(value>=1<<7){b=value>>7|128;this.view.setUint8(offset+1,b);if(value>=1<<14){b=value>>14|128;this.view.setUint8(offset+2,b);if(value>=1<<21){b=value>>21|128;this.view.setUint8(offset+3,b);if(value>=1<<28){this.view.setUint8(offset+4,value>>28&15);size=5}else{this.view.setUint8(offset+3,b&127);size=4}}else{this.view.setUint8(offset+2,b&127);size=3}}else{this.view.setUint8(offset+1,b&127);size=2}}else{this.view.setUint8(offset,b&127);size=1}if(relative){this.offset+=size;return this}return size};ByteBufferPrototype.writeVarint32ZigZag=function(value,offset){return this.writeVarint32(ByteBuffer.zigZagEncode32(value),offset)};ByteBufferPrototype.readVarint32=function(offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength)}var size=0,value=0>>>0,temp,ioffset;do{ioffset=offset+size;if(!this.noAssert&&ioffset>this.limit){var err=Error("Truncated");err["truncated"]=true;throw err}temp=this.view.getUint8(ioffset);if(size<5)value|=(temp&127)<<7*size>>>0;++size}while((temp&128)===128);value=value|0;if(relative){this.offset+=size;return value}return{value:value,length:size}};ByteBufferPrototype.readVarint32ZigZag=function(offset){var val=this.readVarint32(offset);if(typeof val==="object")val["value"]=ByteBuffer.zigZagDecode32(val["value"]);else val=ByteBuffer.zigZagDecode32(val);return val};if(Long){ByteBuffer.MAX_VARINT64_BYTES=10;ByteBuffer.calculateVarint64=function(value){if(typeof value==="number")value=Long.fromNumber(value);else if(typeof value==="string")value=Long.fromString(value);var part0=value.toInt()>>>0,part1=value.shiftRightUnsigned(28).toInt()>>>0,part2=value.shiftRightUnsigned(56).toInt()>>>0;if(part2==0){if(part1==0){if(part0<1<<14)return part0<1<<7?1:2;else return part0<1<<21?3:4}else{if(part1<1<<14)return part1<1<<7?5:6;else return part1<1<<21?7:8}}else return part2<1<<7?9:10};ByteBuffer.zigZagEncode64=function(value){if(typeof value==="number")value=Long.fromNumber(value,false);else if(typeof value==="string")value=Long.fromString(value,false);else if(value.unsigned!==false)value=value.toSigned();return value.shiftLeft(1).xor(value.shiftRight(63)).toUnsigned()};ByteBuffer.zigZagDecode64=function(value){if(typeof value==="number")value=Long.fromNumber(value,false);else if(typeof value==="string")value=Long.fromString(value,false);else if(value.unsigned!==false)value=value.toSigned();return value.shiftRightUnsigned(1).xor(value.and(Long.ONE).toSigned().negate()).toSigned()};ByteBufferPrototype.writeVarint64=function(value,offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof value==="number")value=Long.fromNumber(value);else if(typeof value==="string")value=Long.fromString(value);else if(!(value&&value instanceof Long))throw TypeError("Illegal value: "+value+" (not an integer or Long)");if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)}if(typeof value==="number")value=Long.fromNumber(value,false);else if(typeof value==="string")value=Long.fromString(value,false);else if(value.unsigned!==false)value=value.toSigned();var size=ByteBuffer.calculateVarint64(value),part0=value.toInt()>>>0,part1=value.shiftRightUnsigned(28).toInt()>>>0,part2=value.shiftRightUnsigned(56).toInt()>>>0;offset+=size;var capacity11=this.buffer.byteLength;if(offset>capacity11)this.resize((capacity11*=2)>offset?capacity11:offset);offset-=size;switch(size){case 10:this.view.setUint8(offset+9,part2>>>7&1);case 9:this.view.setUint8(offset+8,size!==9?part2|128:part2&127);case 8:this.view.setUint8(offset+7,size!==8?part1>>>21|128:part1>>>21&127);case 7:this.view.setUint8(offset+6,size!==7?part1>>>14|128:part1>>>14&127);case 6:this.view.setUint8(offset+5,size!==6?part1>>>7|128:part1>>>7&127);case 5:this.view.setUint8(offset+4,size!==5?part1|128:part1&127);case 4:this.view.setUint8(offset+3,size!==4?part0>>>21|128:part0>>>21&127);case 3:this.view.setUint8(offset+2,size!==3?part0>>>14|128:part0>>>14&127);case 2:this.view.setUint8(offset+1,size!==2?part0>>>7|128:part0>>>7&127);case 1:this.view.setUint8(offset,size!==1?part0|128:part0&127)}if(relative){this.offset+=size;return this}else{return size}};ByteBufferPrototype.writeVarint64ZigZag=function(value,offset){return this.writeVarint64(ByteBuffer.zigZagEncode64(value),offset)};ByteBufferPrototype.readVarint64=function(offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength)}var start=offset,part0=0,part1=0,part2=0,b=0;b=this.view.getUint8(offset++);part0=b&127;if(b&128){b=this.view.getUint8(offset++);part0|=(b&127)<<7;if(b&128){b=this.view.getUint8(offset++);part0|=(b&127)<<14;if(b&128){b=this.view.getUint8(offset++);part0|=(b&127)<<21;if(b&128){b=this.view.getUint8(offset++);part1=b&127;if(b&128){b=this.view.getUint8(offset++);part1|=(b&127)<<7;if(b&128){b=this.view.getUint8(offset++);part1|=(b&127)<<14;if(b&128){b=this.view.getUint8(offset++);part1|=(b&127)<<21;if(b&128){b=this.view.getUint8(offset++);part2=b&127;if(b&128){b=this.view.getUint8(offset++);part2|=(b&127)<<7;if(b&128){throw Error("Buffer overrun")}}}}}}}}}}var value=Long.fromBits(part0|part1<<28,part1>>>4|part2<<24,false);if(relative){this.offset=offset;return value}else{return{value:value,length:offset-start}}};ByteBufferPrototype.readVarint64ZigZag=function(offset){var val=this.readVarint64(offset);if(val&&val["value"]instanceof Long)val["value"]=ByteBuffer.zigZagDecode64(val["value"]);else val=ByteBuffer.zigZagDecode64(val);return val}}ByteBufferPrototype.writeCString=function(str,offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;var i,k=str.length;if(!this.noAssert){if(typeof str!=="string")throw TypeError("Illegal str: Not a string");for(i=0;i>>=0;if(offset<0||offset+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)}k=utfx.calculateUTF16asUTF8(stringSource(str))[1];offset+=k+1;var capacity12=this.buffer.byteLength;if(offset>capacity12)this.resize((capacity12*=2)>offset?capacity12:offset);offset-=k+1;utfx.encodeUTF16toUTF8(stringSource(str),function(b){this.view.setUint8(offset++,b)}.bind(this));this.view.setUint8(offset++,0);if(relative){this.offset=offset;return this}return k};ByteBufferPrototype.readCString=function(offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength)}var start=offset,temp;var sd,b=-1;utfx.decodeUTF8toUTF16(function(){if(b===0)return null;if(offset>=this.limit)throw RangeError("Illegal range: Truncated data, "+offset+" < "+this.limit);return(b=this.view.getUint8(offset++))===0?null:b}.bind(this),sd=stringDestination(),true);if(relative){this.offset=offset;return sd()}else{return{string:sd(),length:offset-start}}};ByteBufferPrototype.writeIString=function(str,offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof str!=="string")throw TypeError("Illegal str: Not a string");if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)}var start=offset,k;k=utfx.calculateUTF16asUTF8(stringSource(str),this.noAssert)[1];offset+=4+k;var capacity13=this.buffer.byteLength;if(offset>capacity13)this.resize((capacity13*=2)>offset?capacity13:offset);offset-=4+k;this.view.setUint32(offset,k,this.littleEndian);offset+=4;utfx.encodeUTF16toUTF8(stringSource(str),function(b){this.view.setUint8(offset++,b)}.bind(this));if(offset!==start+4+k)throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+4+k));if(relative){this.offset=offset;return this}return offset-start};ByteBufferPrototype.readIString=function(offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength)}var temp=0,start=offset,str;temp=this.view.getUint32(offset,this.littleEndian);offset+=4;var k=offset+temp,sd;utfx.decodeUTF8toUTF16(function(){return offset>>=0;if(offset<0||offset+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)}var k;var start=offset;k=utfx.calculateUTF16asUTF8(stringSource(str))[1];offset+=k;var capacity14=this.buffer.byteLength;if(offset>capacity14)this.resize((capacity14*=2)>offset?capacity14:offset);offset-=k;utfx.encodeUTF16toUTF8(stringSource(str),function(b){this.view.setUint8(offset++,b)}.bind(this));if(relative){this.offset=offset;return this}return offset-start};ByteBufferPrototype.writeString=ByteBufferPrototype.writeUTF8String;ByteBuffer.calculateUTF8Chars=function(str){return utfx.calculateUTF16asUTF8(stringSource(str))[0]};ByteBuffer.calculateUTF8Bytes=function(str){return utfx.calculateUTF16asUTF8(stringSource(str))[1]};ByteBufferPrototype.readUTF8String=function(length,metrics,offset){if(typeof metrics==="number"){offset=metrics;metrics=undefined}var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(typeof metrics==="undefined")metrics=ByteBuffer.METRICS_CHARS;if(!this.noAssert){if(typeof length!=="number"||length%1!==0)throw TypeError("Illegal length: "+length+" (not an integer)");length|=0;if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)}var i=0,start=offset,sd;if(metrics===ByteBuffer.METRICS_CHARS){sd=stringDestination();utfx.decodeUTF8(function(){return i>>=0;if(offset<0||offset+length>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.byteLength)}var k=offset+length;utfx.decodeUTF8toUTF16(function(){return offset>>=0;if(offset<0||offset+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)}var start=offset,k,l;k=utfx.calculateUTF16asUTF8(stringSource(str),this.noAssert)[1];l=ByteBuffer.calculateVarint32(k);offset+=l+k;var capacity15=this.buffer.byteLength;if(offset>capacity15)this.resize((capacity15*=2)>offset?capacity15:offset);offset-=l+k;offset+=this.writeVarint32(k,offset);utfx.encodeUTF16toUTF8(stringSource(str),function(b){this.view.setUint8(offset++,b)}.bind(this));if(offset!==start+k+l)throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+k+l));if(relative){this.offset=offset;return this}return offset-start};ByteBufferPrototype.readVString=function(offset){var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength)}var temp=this.readVarint32(offset),start=offset,str;offset+=temp["length"];temp=temp["value"];var k=offset+temp,sd=stringDestination();utfx.decodeUTF8toUTF16(function(){return offset>>=0;if(offset<0||offset+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)}if(!(source instanceof ByteBuffer))source=ByteBuffer.wrap(source,encoding);var length=source.limit-source.offset;if(length<=0)return this;offset+=length;var capacity16=this.buffer.byteLength;if(offset>capacity16)this.resize((capacity16*=2)>offset?capacity16:offset);offset-=length;new Uint8Array(this.buffer,offset).set(new Uint8Array(source.buffer).subarray(source.offset,source.limit));source.offset+=length;if(relative)this.offset+=length;return this};ByteBufferPrototype.appendTo=function(target,offset){target.append(this,offset);return this};ByteBufferPrototype.assert=function(assert){this.noAssert=!assert;return this};ByteBufferPrototype.capacity=function(){return this.buffer.byteLength};ByteBufferPrototype.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};ByteBufferPrototype.clone=function(copy){var bb=new ByteBuffer(0,this.littleEndian,this.noAssert);if(copy){var buffer=new ArrayBuffer(this.buffer.byteLength);new Uint8Array(buffer).set(this.buffer);bb.buffer=buffer;bb.view=new DataView(buffer)}else{bb.buffer=this.buffer;bb.view=this.view}bb.offset=this.offset;bb.markedOffset=this.markedOffset;bb.limit=this.limit;return bb};ByteBufferPrototype.compact=function(begin,end){if(typeof begin==="undefined")begin=this.offset;if(typeof end==="undefined")end=this.limit;if(!this.noAssert){if(typeof begin!=="number"||begin%1!==0)throw TypeError("Illegal begin: Not an integer");begin>>>=0;if(typeof end!=="number"||end%1!==0)throw TypeError("Illegal end: Not an integer");end>>>=0;if(begin<0||begin>end||end>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength)}if(begin===0&&end===this.buffer.byteLength)return this;var len=end-begin;if(len===0){this.buffer=EMPTY_BUFFER;this.view=null;if(this.markedOffset>=0)this.markedOffset-=begin;this.offset=0;this.limit=0;return this}var buffer=new ArrayBuffer(len);new Uint8Array(buffer).set(new Uint8Array(this.buffer).subarray(begin,end));this.buffer=buffer;this.view=new DataView(buffer);if(this.markedOffset>=0)this.markedOffset-=begin;this.offset=0;this.limit=len;return this};ByteBufferPrototype.copy=function(begin,end){if(typeof begin==="undefined")begin=this.offset;if(typeof end==="undefined")end=this.limit;if(!this.noAssert){if(typeof begin!=="number"||begin%1!==0)throw TypeError("Illegal begin: Not an integer");begin>>>=0;if(typeof end!=="number"||end%1!==0)throw TypeError("Illegal end: Not an integer");end>>>=0;if(begin<0||begin>end||end>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength)}if(begin===end)return new ByteBuffer(0,this.littleEndian,this.noAssert);var capacity=end-begin,bb=new ByteBuffer(capacity,this.littleEndian,this.noAssert);bb.offset=0;bb.limit=capacity;if(bb.markedOffset>=0)bb.markedOffset-=begin;this.copyTo(bb,0,begin,end);return bb};ByteBufferPrototype.copyTo=function(target,targetOffset,sourceOffset,sourceLimit){var relative,targetRelative;if(!this.noAssert){if(!ByteBuffer.isByteBuffer(target))throw TypeError("Illegal target: Not a ByteBuffer")}targetOffset=(targetRelative=typeof targetOffset==="undefined")?target.offset:targetOffset|0;sourceOffset=(relative=typeof sourceOffset==="undefined")?this.offset:sourceOffset|0;sourceLimit=typeof sourceLimit==="undefined"?this.limit:sourceLimit|0;if(targetOffset<0||targetOffset>target.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+targetOffset+" <= "+target.buffer.byteLength);if(sourceOffset<0||sourceLimit>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+sourceOffset+" <= "+this.buffer.byteLength);var len=sourceLimit-sourceOffset;if(len===0)return target;target.ensureCapacity(targetOffset+len);new Uint8Array(target.buffer).set(new Uint8Array(this.buffer).subarray(sourceOffset,sourceLimit),targetOffset);if(relative)this.offset+=len;if(targetRelative)target.offset+=len;return this};ByteBufferPrototype.ensureCapacity=function(capacity){var current=this.buffer.byteLength;if(currentcapacity?current:capacity);return this};ByteBufferPrototype.fill=function(value,begin,end){var relative=typeof begin==="undefined";if(relative)begin=this.offset;if(typeof value==="string"&&value.length>0)value=value.charCodeAt(0);if(typeof begin==="undefined")begin=this.offset;if(typeof end==="undefined")end=this.limit;if(!this.noAssert){if(typeof value!=="number"||value%1!==0)throw TypeError("Illegal value: "+value+" (not an integer)");value|=0;if(typeof begin!=="number"||begin%1!==0)throw TypeError("Illegal begin: Not an integer");begin>>>=0;if(typeof end!=="number"||end%1!==0)throw TypeError("Illegal end: Not an integer");end>>>=0;if(begin<0||begin>end||end>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength)}if(begin>=end)return this;while(begin>>=0;if(offset<0||offset+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)}this.markedOffset=offset;return this};ByteBufferPrototype.order=function(littleEndian){if(!this.noAssert){if(typeof littleEndian!=="boolean")throw TypeError("Illegal littleEndian: Not a boolean")}this.littleEndian=!!littleEndian;return this};ByteBufferPrototype.LE=function(littleEndian){this.littleEndian=typeof littleEndian!=="undefined"?!!littleEndian:true;return this};ByteBufferPrototype.BE=function(bigEndian){this.littleEndian=typeof bigEndian!=="undefined"?!bigEndian:false;return this};ByteBufferPrototype.prepend=function(source,encoding,offset){if(typeof encoding==="number"||typeof encoding!=="string"){offset=encoding;encoding=undefined}var relative=typeof offset==="undefined";if(relative)offset=this.offset;if(!this.noAssert){if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: "+offset+" (not an integer)");offset>>>=0;if(offset<0||offset+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)}if(!(source instanceof ByteBuffer))source=ByteBuffer.wrap(source,encoding);var len=source.limit-source.offset;if(len<=0)return this;var diff=len-offset;var arrayView;if(diff>0){var buffer=new ArrayBuffer(this.buffer.byteLength+diff);arrayView=new Uint8Array(buffer);arrayView.set(new Uint8Array(this.buffer).subarray(offset,this.buffer.byteLength),len);this.buffer=buffer;this.view=new DataView(buffer);this.offset+=diff;if(this.markedOffset>=0)this.markedOffset+=diff;this.limit+=diff;offset+=diff}else{arrayView=new Uint8Array(this.buffer)}arrayView.set(new Uint8Array(source.buffer).subarray(source.offset,source.limit),offset-len);source.offset=source.limit;if(relative)this.offset-=len;return this};ByteBufferPrototype.prependTo=function(target,offset){target.prepend(this,offset);return this};ByteBufferPrototype.printDebug=function(out){if(typeof out!=="function")out=console.log.bind(console);out(this.toString()+"\n"+"-------------------------------------------------------------------\n"+this.toDebug(true))};ByteBufferPrototype.remaining=function(){return this.limit-this.offset};ByteBufferPrototype.reset=function(){if(this.markedOffset>=0){this.offset=this.markedOffset;this.markedOffset=-1}else{this.offset=0}return this};ByteBufferPrototype.resize=function(capacity){if(!this.noAssert){if(typeof capacity!=="number"||capacity%1!==0)throw TypeError("Illegal capacity: "+capacity+" (not an integer)");capacity|=0;if(capacity<0)throw RangeError("Illegal capacity: 0 <= "+capacity)}if(this.buffer.byteLength>>=0;if(typeof end!=="number"||end%1!==0)throw TypeError("Illegal end: Not an integer");end>>>=0;if(begin<0||begin>end||end>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength)}if(begin===end)return this;Array.prototype.reverse.call(new Uint8Array(this.buffer).subarray(begin,end));this.view=new DataView(this.buffer);return this};ByteBufferPrototype.skip=function(length){if(!this.noAssert){if(typeof length!=="number"||length%1!==0)throw TypeError("Illegal length: "+length+" (not an integer)");length|=0}var offset=this.offset+length;if(!this.noAssert){if(offset<0||offset>this.buffer.byteLength)throw RangeError("Illegal length: 0 <= "+this.offset+" + "+length+" <= "+this.buffer.byteLength)}this.offset=offset;return this};ByteBufferPrototype.slice=function(begin,end){if(typeof begin==="undefined")begin=this.offset;if(typeof end==="undefined")end=this.limit;if(!this.noAssert){if(typeof begin!=="number"||begin%1!==0)throw TypeError("Illegal begin: Not an integer");begin>>>=0;if(typeof end!=="number"||end%1!==0)throw TypeError("Illegal end: Not an integer");end>>>=0;if(begin<0||begin>end||end>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength)}var bb=this.clone();bb.offset=begin;bb.limit=end;return bb};ByteBufferPrototype.toBuffer=function(forceCopy){var offset=this.offset,limit=this.limit;if(offset>limit){var t=offset;offset=limit;limit=t}if(!this.noAssert){if(typeof offset!=="number"||offset%1!==0)throw TypeError("Illegal offset: Not an integer");offset>>>=0;if(typeof limit!=="number"||limit%1!==0)throw TypeError("Illegal limit: Not an integer");limit>>>=0;if(offset<0||offset>limit||limit>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+offset+" <= "+limit+" <= "+this.buffer.byteLength)}if(!forceCopy&&offset===0&&limit===this.buffer.byteLength){return this.buffer}if(offset===limit){return EMPTY_BUFFER}var buffer=new ArrayBuffer(limit-offset);new Uint8Array(buffer).set(new Uint8Array(this.buffer).subarray(offset,limit),0);return buffer};ByteBufferPrototype.toArrayBuffer=ByteBufferPrototype.toBuffer;ByteBufferPrototype.toString=function(encoding,begin,end){if(typeof encoding==="undefined")return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";if(typeof encoding==="number")encoding="utf8",begin=encoding,end=begin;switch(encoding){case"utf8":return this.toUTF8(begin,end);case"base64":return this.toBase64(begin,end);case"hex":return this.toHex(begin,end);case"binary":return this.toBinary(begin,end);case"debug":return this.toDebug();case"columns":return this.toColumns();default:throw Error("Unsupported encoding: "+encoding)}};var lxiv=function(){"use strict";var lxiv={};var aout=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47];var ain=[];for(var i=0,k=aout.length;i>2&63]);t=(b&3)<<4;if((b=src())!==null){t|=b>>4&15;dst(aout[(t|b>>4&15)&63]);t=(b&15)<<2;if((b=src())!==null)dst(aout[(t|b>>6&3)&63]),dst(aout[b&63]);else dst(aout[t&63]),dst(61)}else dst(aout[t&63]),dst(61),dst(61)}};lxiv.decode=function(src,dst){var c,t1,t2;function fail(c){throw Error("Illegal character code: "+c)}while((c=src())!==null){t1=ain[c];if(typeof t1==="undefined")fail(c);if((c=src())!==null){t2=ain[c];if(typeof t2==="undefined")fail(c);dst(t1<<2>>>0|(t2&48)>>4);if((c=src())!==null){t1=ain[c];if(typeof t1==="undefined")if(c===61)break;else fail(c);dst((t2&15)<<4>>>0|(t1&60)>>2);if((c=src())!==null){t2=ain[c];if(typeof t2==="undefined")if(c===61)break;else fail(c);dst((t1&3)<<6>>>0|t2)}}}}};lxiv.test=function(str){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(str)};return lxiv}();ByteBufferPrototype.toBase64=function(begin,end){if(typeof begin==="undefined")begin=this.offset;if(typeof end==="undefined")end=this.limit;if(!this.noAssert){if(typeof begin!=="number"||begin%1!==0)throw TypeError("Illegal begin: Not an integer");begin>>>=0;if(typeof end!=="number"||end%1!==0)throw TypeError("Illegal end: Not an integer");end>>>=0;if(begin<0||begin>end||end>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength)}var sd;lxiv.encode(function(){return begin>>=0;if(typeof end!=="number"||end%1!==0)throw TypeError("Illegal end: Not an integer");end>>>=0;if(begin<0||begin>end||end>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength)}if(begin===end)return"";var cc=[],pt=[];while(begin=1024)pt.push(String.fromCharCode.apply(String,cc)),cc=[]}return pt.join("")+String.fromCharCode.apply(String,cc)};ByteBuffer.fromBinary=function(str,littleEndian,noAssert){if(!noAssert){if(typeof str!=="string")throw TypeError("Illegal str: Not a string")}var i=0,k=str.length,charCode,bb=new ByteBuffer(k,littleEndian,noAssert);while(i255)throw RangeError("Illegal charCode at "+i+": 0 <= "+charCode+" <= 255");bb.view.setUint8(i++,charCode)}bb.limit=k;return bb};ByteBufferPrototype.toDebug=function(columns){var i=-1,k=this.buffer.byteLength,b,hex="",asc="",out="";while(i32&&b<127?String.fromCharCode(b):"."}}++i;if(columns){if(i>0&&i%16===0&&i!==k){while(hex.length<3*16+3)hex+=" ";out+=hex+asc+"\n";hex=asc=""}}if(i===this.offset&&i===this.limit)hex+=i===this.markedOffset?"!":"|";else if(i===this.offset)hex+=i===this.markedOffset?"[":"<";else if(i===this.limit)hex+=i===this.markedOffset?"]":">";else hex+=i===this.markedOffset?"'":columns||i!==0&&i!==k?" ":""}if(columns&&hex!==" "){while(hex.length<3*16+3)hex+=" ";out+=hex+asc+"\n"}return columns?out:hex};ByteBuffer.fromDebug=function(str,littleEndian,noAssert){var k=str.length,bb=new ByteBuffer((k+1)/3|0,littleEndian,noAssert);var i=0,j=0,ch,b,rs=false,ho=false,hm=false,hl=false,fail=false;while(i":if(!noAssert){if(hl){fail=true;break}hl=true}bb.limit=j;rs=false;break;case"'":if(!noAssert){if(hm){fail=true;break}hm=true}bb.markedOffset=j;rs=false;break;case" ":rs=false;break;default:if(!noAssert){if(rs){fail=true;break}}b=parseInt(ch+str.charAt(i++),16);if(!noAssert){if(isNaN(b)||b<0||b>255)throw TypeError("Illegal str: Not a debug encoded string")}bb.view.setUint8(j++,b);rs=true}if(fail)throw TypeError("Illegal str: Invalid symbol at "+i)}if(!noAssert){if(!ho||!hl)throw TypeError("Illegal str: Missing offset or limit");if(j>>=0;if(typeof end!=="number"||end%1!==0)throw TypeError("Illegal end: Not an integer");end>>>=0;if(begin<0||begin>end||end>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength)}var out=new Array(end-begin),b;while(begin255)throw TypeError("Illegal str: Contains non-hex characters");bb.view.setUint8(j++,b)}bb.limit=j;return bb};var utfx=function(){"use strict";var utfx={};utfx.MAX_CODEPOINT=1114111;utfx.encodeUTF8=function(src,dst){var cp=null;if(typeof src==="number")cp=src,src=function(){return null};while(cp!==null||(cp=src())!==null){if(cp<128)dst(cp&127);else if(cp<2048)dst(cp>>6&31|192),dst(cp&63|128);else if(cp<65536)dst(cp>>12&15|224),dst(cp>>6&63|128),dst(cp&63|128);else dst(cp>>18&7|240),dst(cp>>12&63|128),dst(cp>>6&63|128),dst(cp&63|128);cp=null}};utfx.decodeUTF8=function(src,dst){var a,b,c,d,fail=function(b){b=b.slice(0,b.indexOf(null));var err=Error(b.toString());err.name="TruncatedError";err["bytes"]=b;throw err};while((a=src())!==null){if((a&128)===0)dst(a);else if((a&224)===192)(b=src())===null&&fail([a,b]),dst((a&31)<<6|b&63);else if((a&240)===224)((b=src())===null||(c=src())===null)&&fail([a,b,c]),dst((a&15)<<12|(b&63)<<6|c&63);else if((a&248)===240)((b=src())===null||(c=src())===null||(d=src())===null)&&fail([a,b,c,d]),dst((a&7)<<18|(b&63)<<12|(c&63)<<6|d&63);else throw RangeError("Illegal starting byte: "+a)}};utfx.UTF16toUTF8=function(src,dst){var c1,c2=null;while(true){if((c1=c2!==null?c2:src())===null)break;if(c1>=55296&&c1<=57343){if((c2=src())!==null){if(c2>=56320&&c2<=57343){dst((c1-55296)*1024+c2-56320+65536);c2=null;continue}}}dst(c1)}if(c2!==null)dst(c2)};utfx.UTF8toUTF16=function(src,dst){var cp=null;if(typeof src==="number")cp=src,src=function(){return null};while(cp!==null||(cp=src())!==null){if(cp<=65535)dst(cp);else cp-=65536,dst((cp>>10)+55296),dst(cp%1024+56320);cp=null}};utfx.encodeUTF16toUTF8=function(src,dst){utfx.UTF16toUTF8(src,function(cp){utfx.encodeUTF8(cp,dst)})};utfx.decodeUTF8toUTF16=function(src,dst){utfx.decodeUTF8(src,function(cp){utfx.UTF8toUTF16(cp,dst)})};utfx.calculateCodePoint=function(cp){return cp<128?1:cp<2048?2:cp<65536?3:4};utfx.calculateUTF8=function(src){var cp,l=0;while((cp=src())!==null)l+=utfx.calculateCodePoint(cp);return l};utfx.calculateUTF16asUTF8=function(src){var n=0,l=0;utfx.UTF16toUTF8(src,function(cp){++n;l+=utfx.calculateCodePoint(cp)});return[n,l]};return utfx}();ByteBufferPrototype.toUTF8=function(begin,end){if(typeof begin==="undefined")begin=this.offset;if(typeof end==="undefined")end=this.limit;if(!this.noAssert){if(typeof begin!=="number"||begin%1!==0)throw TypeError("Illegal begin: Not an integer");begin>>>=0;if(typeof end!=="number"||end%1!==0)throw TypeError("Illegal end: Not an integer");end>>>=0;if(begin<0||begin>end||end>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength)}var sd;try{utfx.decodeUTF8toUTF16(function(){return begin]/g,RULE:/^(?:required|optional|repeated|map)$/,TYPE:/^(?:double|float|int32|uint32|sint32|int64|uint64|sint64|fixed32|sfixed32|fixed64|sfixed64|bool|string|bytes)$/,NAME:/^[a-zA-Z_][a-zA-Z_0-9]*$/,TYPEDEF:/^[a-zA-Z][a-zA-Z_0-9]*$/,TYPEREF:/^(?:\.?[a-zA-Z_][a-zA-Z_0-9]*)+$/,FQTYPEREF:/^(?:\.[a-zA-Z][a-zA-Z_0-9]*)+$/,NUMBER:/^-?(?:[1-9][0-9]*|0|0[xX][0-9a-fA-F]+|0[0-7]+|([0-9]*(\.[0-9]*)?([Ee][+-]?[0-9]+)?)|inf|nan)$/,NUMBER_DEC:/^(?:[1-9][0-9]*|0)$/,NUMBER_HEX:/^0[xX][0-9a-fA-F]+$/,NUMBER_OCT:/^0[0-7]+$/,NUMBER_FLT:/^([0-9]*(\.[0-9]*)?([Ee][+-]?[0-9]+)?|inf|nan)$/,BOOL:/^(?:true|false)$/i,ID:/^(?:[1-9][0-9]*|0|0[xX][0-9a-fA-F]+|0[0-7]+)$/,NEGID:/^\-?(?:[1-9][0-9]*|0|0[xX][0-9a-fA-F]+|0[0-7]+)$/,WHITESPACE:/\s/,STRING:/(?:"([^"\\]*(?:\\.[^"\\]*)*)")|(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g,STRING_DQ:/(?:"([^"\\]*(?:\\.[^"\\]*)*)")/g,STRING_SQ:/(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g};ProtoBuf.DotProto=function(ProtoBuf,Lang){"use strict";var DotProto={};var Tokenizer=function(proto){this.source=proto+"";this.index=0;this.line=1;this.stack=[];this._stringOpen=null};var TokenizerPrototype=Tokenizer.prototype;TokenizerPrototype._readString=function(){var re=this._stringOpen==='"'?Lang.STRING_DQ:Lang.STRING_SQ;re.lastIndex=this.index-1;var match=re.exec(this.source);if(!match)throw Error("unterminated string");this.index=re.lastIndex;this.stack.push(this._stringOpen);this._stringOpen=null;return match[1]};TokenizerPrototype.next=function(){if(this.stack.length>0)return this.stack.shift();if(this.index>=this.source.length)return null;if(this._stringOpen!==null)return this._readString();var repeat,prev,next;do{repeat=false;while(Lang.WHITESPACE.test(next=this.source.charAt(this.index))){if(next==="\n")++this.line;if(++this.index===this.source.length)return null}if(this.source.charAt(this.index)==="/"){++this.index;if(this.source.charAt(this.index)==="/"){while(this.source.charAt(++this.index)!=="\n")if(this.index==this.source.length)return null;++this.index;++this.line;repeat=true}else if((next=this.source.charAt(this.index))==="*"){do{if(next==="\n")++this.line;if(++this.index===this.source.length)return null;prev=next;next=this.source.charAt(this.index)}while(prev!=="*"||next!=="/");++this.index;repeat=true}else return"/"}}while(repeat);if(this.index===this.source.length)return null;var end=this.index;Lang.DELIM.lastIndex=0;var delim=Lang.DELIM.test(this.source.charAt(end++));if(!delim)while(end");token=this.tn.next();if(!Lang.NAME.test(token))throw Error("illegal message field name: "+token);fld["name"]=token;this.tn.skip("=");fld["id"]=mkId(this.tn.next());token=this.tn.peek();if(token==="[")this._parseFieldOptions(fld);this.tn.skip(";")}else{type=typeof type!=="undefined"?type:this.tn.next();if(type==="group"){var grp=this._parseMessage(msg,fld);if(!/^[A-Z]/.test(grp["name"]))throw Error("illegal group name: "+grp["name"]);fld["type"]=grp["name"];fld["name"]=grp["name"].toLowerCase();this.tn.omit(";")}else{if(!Lang.TYPE.test(type)&&!Lang.TYPEREF.test(type))throw Error("illegal message field type: "+type);fld["type"]=type;token=this.tn.next();if(!Lang.NAME.test(token))throw Error("illegal message field name: "+token);fld["name"]=token;this.tn.skip("=");fld["id"]=mkId(this.tn.next());token=this.tn.peek();if(token==="[")this._parseFieldOptions(fld);this.tn.skip(";")}}msg["fields"].push(fld);return fld};ParserPrototype._parseMessageOneOf=function(msg){var token=this.tn.next();if(!Lang.NAME.test(token))throw Error("illegal oneof name: "+token);var name=token,fld;var fields=[];this.tn.skip("{");while((token=this.tn.next())!=="}"){fld=this._parseMessageField(msg,"optional",token);fld["oneof"]=name;fields.push(fld["id"])}this.tn.omit(";");msg["oneofs"][name]=fields};ParserPrototype._parseFieldOptions=function(fld){this.tn.skip("[");var token,first=true;while((token=this.tn.peek())!=="]"){if(!first)this.tn.skip(",");this._parseOption(fld,true);first=false}this.tn.next()};ParserPrototype._parseEnum=function(msg){var enm={name:"",values:[],options:{}};var token=this.tn.next();if(!Lang.NAME.test(token))throw Error("illegal name: "+token);enm["name"]=token;this.tn.skip("{");while((token=this.tn.next())!=="}"){if(token==="option")this._parseOption(enm);else{if(!Lang.NAME.test(token))throw Error("illegal name: "+token);this.tn.skip("=");var val={name:token,id:mkId(this.tn.next(),true)};token=this.tn.peek();if(token==="[")this._parseFieldOptions({options:{}});this.tn.skip(";");enm["values"].push(val)}}this.tn.omit(";");msg["enums"].push(enm)};ParserPrototype._parseExtensionRanges=function(){var ranges=[];var token,range,value;do{range=[];while(true){token=this.tn.next();switch(token){case"min":value=ProtoBuf.ID_MIN;break;case"max":value=ProtoBuf.ID_MAX;break;default:value=mkNumber(token);break}range.push(value);if(range.length===2)break;if(this.tn.peek()!=="to"){range.push(value);break}this.tn.next()}ranges.push(range)}while(this.tn.omit(","));this.tn.skip(";");return ranges};ParserPrototype._parseExtend=function(parent){var token=this.tn.next();if(!Lang.TYPEREF.test(token))throw Error("illegal extend reference: "+token);var ext={ref:token,fields:[]};this.tn.skip("{");while((token=this.tn.next())!=="}"){if(Lang.RULE.test(token))this._parseMessageField(ext,token);else if(Lang.TYPEREF.test(token)){if(!this.proto3)throw Error("illegal field rule: "+token);this._parseMessageField(ext,"optional",token)}else throw Error("illegal extend token: "+token)}this.tn.omit(";");parent["messages"].push(ext);return ext};ParserPrototype.toString=function(){return"Parser at line "+this.tn.line};DotProto.Parser=Parser;return DotProto}(ProtoBuf,ProtoBuf.Lang);ProtoBuf.Reflect=function(ProtoBuf){"use strict";var Reflect={};var T=function(builder,parent,name){this.builder=builder;this.parent=parent;this.name=name;this.className};var TPrototype=T.prototype;TPrototype.fqn=function(){var name=this.name,ptr=this;do{ptr=ptr.parent;if(ptr==null)break;name=ptr.name+"."+name}while(true);return name};TPrototype.toString=function(includeClass){return(includeClass?this.className+" ":"")+this.fqn()};TPrototype.build=function(){throw Error(this.toString(true)+" cannot be built directly")};Reflect.T=T;var Namespace=function(builder,parent,name,options,syntax){T.call(this,builder,parent,name);this.className="Namespace";this.children=[];this.options=options||{};this.syntax=syntax||"proto2"};var NamespacePrototype=Namespace.prototype=Object.create(T.prototype);NamespacePrototype.getChildren=function(type){type=type||null;if(type==null)return this.children.slice();var children=[];for(var i=0,k=this.children.length;i4294967295?value|0:value;case ProtoBuf.TYPES["uint32"]:case ProtoBuf.TYPES["fixed32"]:if(typeof value!=="number"||value===value&&value%1!==0)fail(typeof value,"not an integer");return value<0?value>>>0:value;case ProtoBuf.TYPES["int64"]:case ProtoBuf.TYPES["sint64"]:case ProtoBuf.TYPES["sfixed64"]:{if(ProtoBuf.Long)try{return mkLong(value,false)}catch(e){fail(typeof value,e.message)}else fail(typeof value,"requires Long.js")}case ProtoBuf.TYPES["uint64"]:case ProtoBuf.TYPES["fixed64"]:{if(ProtoBuf.Long)try{return mkLong(value,true)}catch(e){fail(typeof value,e.message)}else fail(typeof value,"requires Long.js")}case ProtoBuf.TYPES["bool"]:if(typeof value!=="boolean")fail(typeof value,"not a boolean");return value;case ProtoBuf.TYPES["float"]:case ProtoBuf.TYPES["double"]:if(typeof value!=="number")fail(typeof value,"not a number");return value;case ProtoBuf.TYPES["string"]:if(typeof value!=="string"&&!(value&&value instanceof String))fail(typeof value,"not a string");return""+value;case ProtoBuf.TYPES["bytes"]:if(ByteBuffer.isByteBuffer(value))return value;return ByteBuffer.wrap(value,"base64");case ProtoBuf.TYPES["enum"]:{var values=this.resolvedType.getChildren(ProtoBuf.Reflect.Enum.Value);for(i=0;i4294967295||value<0)fail(typeof value,"not in range for uint32");return value}else{fail(value,"not a valid enum value")}}case ProtoBuf.TYPES["group"]:case ProtoBuf.TYPES["message"]:{if(!value||typeof value!=="object")fail(typeof value,"object expected");if(value instanceof this.resolvedType.clazz)return value;if(value instanceof ProtoBuf.Builder.Message){var obj={};for(var i in value)if(value.hasOwnProperty(i))obj[i]=value[i];value=obj}return new this.resolvedType.clazz(value)}}throw Error("[INTERNAL] Illegal value for "+this.toString(true)+": "+value+" (undefined type "+this.type+")")};ElementPrototype.calculateLength=function(id,value){if(value===null)return 0;var n;switch(this.type){case ProtoBuf.TYPES["int32"]:return value<0?ByteBuffer.calculateVarint64(value):ByteBuffer.calculateVarint32(value);case ProtoBuf.TYPES["uint32"]:return ByteBuffer.calculateVarint32(value);case ProtoBuf.TYPES["sint32"]:return ByteBuffer.calculateVarint32(ByteBuffer.zigZagEncode32(value));case ProtoBuf.TYPES["fixed32"]:case ProtoBuf.TYPES["sfixed32"]:case ProtoBuf.TYPES["float"]:return 4;case ProtoBuf.TYPES["int64"]:case ProtoBuf.TYPES["uint64"]:return ByteBuffer.calculateVarint64(value);case ProtoBuf.TYPES["sint64"]:return ByteBuffer.calculateVarint64(ByteBuffer.zigZagEncode64(value));case ProtoBuf.TYPES["fixed64"]:case ProtoBuf.TYPES["sfixed64"]:return 8;case ProtoBuf.TYPES["bool"]:return 1;case ProtoBuf.TYPES["enum"]:return ByteBuffer.calculateVarint32(value);case ProtoBuf.TYPES["double"]:return 8;case ProtoBuf.TYPES["string"]:n=ByteBuffer.calculateUTF8Bytes(value);return ByteBuffer.calculateVarint32(n)+n;case ProtoBuf.TYPES["bytes"]:if(value.remaining()<0)throw Error("Illegal value for "+this.toString(true)+": "+value.remaining()+" bytes remaining");return ByteBuffer.calculateVarint32(value.remaining())+value.remaining();case ProtoBuf.TYPES["message"]:n=this.resolvedType.calculate(value);return ByteBuffer.calculateVarint32(n)+n;case ProtoBuf.TYPES["group"]:n=this.resolvedType.calculate(value);return n+ByteBuffer.calculateVarint32(id<<3|ProtoBuf.WIRE_TYPES.ENDGROUP)}throw Error("[INTERNAL] Illegal value to encode in "+this.toString(true)+": "+value+" (unknown type)")};ElementPrototype.encodeValue=function(id,value,buffer){if(value===null)return buffer;switch(this.type){case ProtoBuf.TYPES["int32"]:if(value<0)buffer.writeVarint64(value);else buffer.writeVarint32(value);break;case ProtoBuf.TYPES["uint32"]:buffer.writeVarint32(value);break;case ProtoBuf.TYPES["sint32"]:buffer.writeVarint32ZigZag(value);break;case ProtoBuf.TYPES["fixed32"]:buffer.writeUint32(value);break;case ProtoBuf.TYPES["sfixed32"]:buffer.writeInt32(value);break;case ProtoBuf.TYPES["int64"]:case ProtoBuf.TYPES["uint64"]:buffer.writeVarint64(value);break;case ProtoBuf.TYPES["sint64"]:buffer.writeVarint64ZigZag(value);break;case ProtoBuf.TYPES["fixed64"]:buffer.writeUint64(value);break;case ProtoBuf.TYPES["sfixed64"]:buffer.writeInt64(value);break;case ProtoBuf.TYPES["bool"]:if(typeof value==="string")buffer.writeVarint32(value.toLowerCase()==="false"?0:!!value);else buffer.writeVarint32(value?1:0);break;case ProtoBuf.TYPES["enum"]:buffer.writeVarint32(value);break;case ProtoBuf.TYPES["float"]:buffer.writeFloat32(value);break;case ProtoBuf.TYPES["double"]:buffer.writeFloat64(value);break;case ProtoBuf.TYPES["string"]:buffer.writeVString(value);break;case ProtoBuf.TYPES["bytes"]:if(value.remaining()<0)throw Error("Illegal value for "+this.toString(true)+": "+value.remaining()+" bytes remaining");var prevOffset=value.offset;buffer.writeVarint32(value.remaining());buffer.append(value);value.offset=prevOffset;break;case ProtoBuf.TYPES["message"]:var bb=(new ByteBuffer).LE();this.resolvedType.encode(value,bb);buffer.writeVarint32(bb.offset);buffer.append(bb.flip());break;case ProtoBuf.TYPES["group"]:this.resolvedType.encode(value,buffer);buffer.writeVarint32(id<<3|ProtoBuf.WIRE_TYPES.ENDGROUP);break;default:throw Error("[INTERNAL] Illegal value to encode in "+this.toString(true)+": "+value+" (unknown type)")}return buffer};ElementPrototype.decode=function(buffer,wireType,id){if(wireType!=this.type.wireType)throw Error("Unexpected wire type for element");var value,nBytes;switch(this.type){case ProtoBuf.TYPES["int32"]:return buffer.readVarint32()|0;case ProtoBuf.TYPES["uint32"]:return buffer.readVarint32()>>>0;case ProtoBuf.TYPES["sint32"]:return buffer.readVarint32ZigZag()|0;case ProtoBuf.TYPES["fixed32"]:return buffer.readUint32()>>>0;case ProtoBuf.TYPES["sfixed32"]:return buffer.readInt32()|0;case ProtoBuf.TYPES["int64"]:return buffer.readVarint64();case ProtoBuf.TYPES["uint64"]:return buffer.readVarint64().toUnsigned();case ProtoBuf.TYPES["sint64"]:return buffer.readVarint64ZigZag();case ProtoBuf.TYPES["fixed64"]:return buffer.readUint64();case ProtoBuf.TYPES["sfixed64"]:return buffer.readInt64();case ProtoBuf.TYPES["bool"]:return!!buffer.readVarint32();case ProtoBuf.TYPES["enum"]:return buffer.readVarint32();case ProtoBuf.TYPES["float"]:return buffer.readFloat();case ProtoBuf.TYPES["double"]:return buffer.readDouble();case ProtoBuf.TYPES["string"]:return buffer.readVString();case ProtoBuf.TYPES["bytes"]:{nBytes=buffer.readVarint32();if(buffer.remaining()0){var value;if(arguments.length===1&&values!==null&&typeof values==="object"&&(typeof values.encode!=="function"||values instanceof Message)&&!Array.isArray(values)&&!(values instanceof ProtoBuf.Map)&&!ByteBuffer.isByteBuffer(values)&&!(values instanceof ArrayBuffer)&&!(ProtoBuf.Long&&values instanceof ProtoBuf.Long)){this.$set(values)}else for(i=0,k=arguments.length;i>>3;switch(wireType){case ProtoBuf.WIRE_TYPES.VARINT:do{tag=buf.readUint8()}while((tag&128)===128);break;case ProtoBuf.WIRE_TYPES.BITS64:buf.offset+=8;break;case ProtoBuf.WIRE_TYPES.LDELIM:tag=buf.readVarint32();buf.offset+=tag;break;case ProtoBuf.WIRE_TYPES.STARTGROUP:skipTillGroupEnd(id,buf);break;case ProtoBuf.WIRE_TYPES.ENDGROUP:if(id===expectedId)return false;else throw Error("Illegal GROUPEND after unknown group: "+id+" ("+expectedId+" expected)");case ProtoBuf.WIRE_TYPES.BITS32:buf.offset+=4;break;default:throw Error("Illegal wire type in unknown group "+expectedId+": "+wireType)}return true}MessagePrototype.decode=function(buffer,length,expectedGroupEndId){length=typeof length==="number"?length:-1;var start=buffer.offset,msg=new this.clazz,tag,wireType,id,field;while(buffer.offset0){tag=buffer.readVarint32();wireType=tag&7;id=tag>>>3;if(wireType===ProtoBuf.WIRE_TYPES.ENDGROUP){if(id!==expectedGroupEndId)throw Error("Illegal group end indicator for "+this.toString(true)+": "+id+" ("+(expectedGroupEndId?expectedGroupEndId+" expected":"not a group")+")");break}if(!(field=this._fieldsById[id])){switch(wireType){case ProtoBuf.WIRE_TYPES.VARINT:buffer.readVarint32();break;case ProtoBuf.WIRE_TYPES.BITS32:buffer.offset+=4;break;case ProtoBuf.WIRE_TYPES.BITS64:buffer.offset+=8;break;case ProtoBuf.WIRE_TYPES.LDELIM:var len=buffer.readVarint32();buffer.offset+=len;break;case ProtoBuf.WIRE_TYPES.STARTGROUP:while(skipTillGroupEnd(id,buffer)){}break;default:throw Error("Illegal wire type for unknown field "+id+" in "+this.toString(true)+"#decode: "+wireType)}continue}if(field.repeated&&!field.options["packed"]){msg[field.name].push(field.decode(wireType,buffer))}else if(field.map){var keyval=field.decode(wireType,buffer);msg[field.name].set(keyval[0],keyval[1])}else{msg[field.name]=field.decode(wireType,buffer);if(field.oneof){var currentField=msg[field.oneof.name];if(currentField!==null&¤tField!==field.name)msg[currentField]=null;msg[field.oneof.name]=field.name}}}for(var i=0,k=this._fields.length;i0;case ProtoBuf.TYPES["bytes"]:return value.remaining()>0;case ProtoBuf.TYPES["enum"]:return value!==0;case ProtoBuf.TYPES["message"]:return value!==null;default:return true}};FieldPrototype.encode=function(value,buffer,message){if(this.type===null||typeof this.type!=="object")throw Error("[INTERNAL] Unresolved type in "+this.toString(true)+": "+this.type);if(value===null||this.repeated&&value.length==0)return buffer;try{if(this.repeated){var i;if(this.options["packed"]&&ProtoBuf.PACKABLE_WIRE_TYPES.indexOf(this.type.wireType)>=0){buffer.writeVarint32(this.id<<3|ProtoBuf.WIRE_TYPES.LDELIM);buffer.ensureCapacity(buffer.offset+=1);var start=buffer.offset;for(i=0;i1){var contents=buffer.slice(start,buffer.offset);start+=varintLen-1;buffer.offset=start;buffer.append(contents)}buffer.writeVarint32(len,start-varintLen)}else{for(i=0;i=0){n+=ByteBuffer.calculateVarint32(this.id<<3|ProtoBuf.WIRE_TYPES.LDELIM);ni=0;for(i=0;i=0){if(!skipRepeated){nBytes=buffer.readVarint32();nBytes=buffer.offset+nBytes;var values=[];while(buffer.offset0){var tag=msgbuf.readVarint32();wireType=tag&7;var id=tag>>>3;if(id===1){key=this.keyElement.decode(msgbuf,wireType,id)}else if(id===2){value=this.element.decode(msgbuf,wireType,id)}else{throw Error("Unexpected tag in map field key/value submessage")}}return[key,value]}return this.element.decode(buffer,wireType,this.id)};Reflect.Message.Field=Field;var ExtensionField=function(builder,message,rule,type,name,id,options){Field.call(this,builder,message,rule,null,type,name,id,options);this.extension};ExtensionField.prototype=Object.create(Field.prototype);Reflect.Message.ExtensionField=ExtensionField;var OneOf=function(builder,message,name){T.call(this,builder,message,name);this.fields=[]};Reflect.Message.OneOf=OneOf;var Enum=function(builder,parent,name,options,syntax){Namespace.call(this,builder,parent,name,options,syntax);this.className="Enum";this.object=null};Enum.getName=function(enm,value){var keys=Object.keys(enm);for(var i=0,key;i0){defs=stack.pop();if(!Array.isArray(defs))throw Error("not a valid namespace: "+JSON.stringify(defs));while(defs.length>0){var def=defs.shift();if(Builder.isMessage(def)){var obj=new Reflect.Message(this,this.ptr,def["name"],def["options"],def["isGroup"],def["syntax"]);var oneofs={};if(def["oneofs"])Object.keys(def["oneofs"]).forEach(function(name){obj.addChild(oneofs[name]=new Reflect.Message.OneOf(this,obj,name))},this);if(def["fields"])def["fields"].forEach(function(fld){if(obj.getChild(fld["id"]|0)!==null)throw Error("duplicate or invalid field id in "+obj.name+": "+fld["id"]);if(fld["options"]&&typeof fld["options"]!=="object")throw Error("illegal field options in "+obj.name+"#"+fld["name"]);var oneof=null;if(typeof fld["oneof"]==="string"&&!(oneof=oneofs[fld["oneof"]]))throw Error("illegal oneof in "+obj.name+"#"+fld["name"]+": "+fld["oneof"]);fld=new Reflect.Message.Field(this,obj,fld["rule"],fld["keytype"],fld["type"],fld["name"],fld["id"],fld["options"],oneof,def["syntax"]);if(oneof)oneof.fields.push(fld);obj.addChild(fld)},this);var subObj=[];if(def["enums"])def["enums"].forEach(function(enm){subObj.push(enm)});if(def["messages"])def["messages"].forEach(function(msg){subObj.push(msg)});if(def["services"])def["services"].forEach(function(svc){subObj.push(svc)});if(def["extensions"]){if(typeof def["extensions"][0]==="number")obj.extensions=[def["extensions"]];else obj.extensions=def["extensions"]}this.ptr.addChild(obj);if(subObj.length>0){stack.push(defs);defs=subObj;subObj=null;this.ptr=obj;obj=null;continue}subObj=null}else if(Builder.isEnum(def)){obj=new Reflect.Enum(this,this.ptr,def["name"],def["options"],def["syntax"]);def["values"].forEach(function(val){obj.addChild(new Reflect.Enum.Value(this,obj,val["name"],val["id"]))},this);this.ptr.addChild(obj)}else if(Builder.isService(def)){obj=new Reflect.Service(this,this.ptr,def["name"],def["options"]);Object.keys(def["rpc"]).forEach(function(name){var mtd=def["rpc"][name];obj.addChild(new Reflect.Service.RPCMethod(this,obj,name,mtd["request"],mtd["response"],!!mtd["request_stream"],!!mtd["response_stream"],mtd["options"]))},this);this.ptr.addChild(obj)}else if(Builder.isExtend(def)){obj=this.ptr.resolve(def["ref"],true);if(obj){def["fields"].forEach(function(fld){if(obj.getChild(fld["id"]|0)!==null)throw Error("duplicate extended field id in "+obj.name+": "+fld["id"]);if(obj.extensions){var valid=false;obj.extensions.forEach(function(range){if(fld["id"]>=range[0]&&fld["id"]<=range[1])valid=true});if(!valid)throw Error("illegal extended field id in "+obj.name+": "+fld["id"]+" (not within valid ranges)")}var name=fld["name"];if(this.options["convertFieldsToCamelCase"])name=ProtoBuf.Util.toCamelCase(name);var field=new Reflect.Message.ExtensionField(this,obj,fld["rule"],fld["type"],this.ptr.fqn()+"."+name,fld["id"],fld["options"]);var ext=new Reflect.Extension(this,this.ptr,fld["name"],field);field.extension=ext;this.ptr.addChild(ext);obj.addChild(field)},this)}else if(!/\.?google\.protobuf\./.test(def["ref"]))throw Error("extended message "+def["ref"]+" is not defined")}else throw Error("not a valid definition: "+JSON.stringify(def));def=null;obj=null}defs=null;this.ptr=this.ptr.parent}this.resolved=false;this.result=null;return this};function propagateSyntax(parent){if(parent["messages"]){parent["messages"].forEach(function(child){child["syntax"]=parent["syntax"];propagateSyntax(child)})}if(parent["enums"]){parent["enums"].forEach(function(child){child["syntax"]=parent["syntax"]})}}BuilderPrototype["import"]=function(json,filename){var delim="/";if(typeof filename==="string"){if(ProtoBuf.Util.IS_NODE)filename=require("path")["resolve"](filename);if(this.files[filename]===true)return this.reset();this.files[filename]=true}else if(typeof filename==="object"){var root=filename.root;if(ProtoBuf.Util.IS_NODE)root=require("path")["resolve"](root);if(root.indexOf("\\")>=0||filename.file.indexOf("\\")>=0)delim="\\";var fname=root+delim+filename.file;if(this.files[fname]===true)return this.reset();this.files[fname]=true}if(json["imports"]&&json["imports"].length>0){var importRoot,resetRoot=false;if(typeof filename==="object"){this.importRoot=filename["root"];resetRoot=true;importRoot=this.importRoot;filename=filename["file"];if(importRoot.indexOf("\\")>=0||filename.indexOf("\\")>=0)delim="\\"}else if(typeof filename==="string"){if(this.importRoot)importRoot=this.importRoot;else{if(filename.indexOf("/")>=0){importRoot=filename.replace(/\/[^\/]*$/,"");if(importRoot==="")importRoot="/"}else if(filename.indexOf("\\")>=0){importRoot=filename.replace(/\\[^\\]*$/,"");delim="\\"}else importRoot="."}}else importRoot=null;for(var i=0;i=0}var KeyHelper={generateIdentityKeyPair:function(){return Internal.crypto.createKeyPair()},generateRegistrationId:function(){var registrationId=new Uint16Array(Internal.crypto.getRandomBytes(2))[0];return registrationId&16383},generateSignedPreKey:function(identityKeyPair,signedKeyId){if(!(identityKeyPair.privKey instanceof ArrayBuffer)||identityKeyPair.privKey.byteLength!=32||!(identityKeyPair.pubKey instanceof ArrayBuffer)||identityKeyPair.pubKey.byteLength!=33){throw new TypeError("Invalid argument for identityKeyPair")}if(!isNonNegativeInteger(signedKeyId)){throw new TypeError("Invalid argument for signedKeyId: "+signedKeyId)}return Internal.crypto.createKeyPair().then(function(keyPair){return Internal.crypto.Ed25519Sign(identityKeyPair.privKey,keyPair.pubKey).then(function(sig){return{keyId:signedKeyId,keyPair:keyPair,signature:sig}})})},generatePreKey:function(keyId){if(!isNonNegativeInteger(keyId)){throw new TypeError("Invalid argument for keyId: "+keyId)}return Internal.crypto.createKeyPair().then(function(keyPair){return{keyId:keyId,keyPair:keyPair}})}};libsignal.KeyHelper=KeyHelper;var Internal=Internal||{};Internal.protoText=function(){var protoText={};protoText["protos/WhisperTextProtocol.proto"]="package textsecure;\n"+'option java_package = "org.whispersystems.libsignal.protocol";\n'+'option java_outer_classname = "WhisperProtos";\n'+"message WhisperMessage {\n"+" optional bytes ephemeralKey = 1;\n"+" optional uint32 counter = 2;\n"+" optional uint32 previousCounter = 3;\n"+" optional bytes ciphertext = 4; // PushMessageContent\n"+"}\n"+"message PreKeyWhisperMessage {\n"+" optional uint32 registrationId = 5;\n"+" optional uint32 preKeyId = 1;\n"+" optional uint32 signedPreKeyId = 6;\n"+" optional bytes baseKey = 2;\n"+" optional bytes identityKey = 3;\n"+" optional bytes message = 4; // WhisperMessage\n"+"}\n"+"message KeyExchangeMessage {\n"+" optional uint32 id = 1;\n"+" optional bytes baseKey = 2;\n"+" optional bytes ephemeralKey = 3;\n"+" optional bytes identityKey = 4;\n"+" optional bytes baseKeySignature = 5;\n"+"}\n"+"";return protoText}();var Internal=Internal||{};Internal.protobuf=function(){"use strict";function loadProtoBufs(filename){return dcodeIO.ProtoBuf.loadProto(Internal.protoText["protos/"+filename]).build("textsecure")}var protocolMessages=loadProtoBufs("WhisperTextProtocol.proto");return{WhisperMessage:protocolMessages.WhisperMessage,PreKeyWhisperMessage:protocolMessages.PreKeyWhisperMessage}}();var Internal=Internal||{};Internal.BaseKeyType={OURS:1,THEIRS:2};Internal.ChainType={SENDING:1,RECEIVING:2};Internal.SessionRecord=function(){"use strict";var ARCHIVED_STATES_MAX_LENGTH=40;var OLD_RATCHETS_MAX_LENGTH=10;var SESSION_RECORD_VERSION="v1";var StaticByteBufferProto=(new dcodeIO.ByteBuffer).__proto__;var StaticArrayBufferProto=(new ArrayBuffer).__proto__;var StaticUint8ArrayProto=(new Uint8Array).__proto__;function isStringable(thing){return thing===Object(thing)&&(thing.__proto__==StaticArrayBufferProto||thing.__proto__==StaticUint8ArrayProto||thing.__proto__==StaticByteBufferProto)}function ensureStringed(thing){if(typeof thing=="string"||typeof thing=="number"||typeof thing=="boolean"){return thing}else if(isStringable(thing)){return util.toString(thing)}else if(thing instanceof Array){var array=[];for(var i=0;iOLD_RATCHETS_MAX_LENGTH){var index=0;var oldest=session.oldRatchetList[0];for(var i=0;iARCHIVED_STATES_MAX_LENGTH){for(var key in sessions){var session=sessions[key];if(session.indexInfo.closed>-1&&(!oldestSession||session.indexInfo.closed3||version>>4<3){throw new Error("Incompatible version number on PreKeyWhisperMessage")}return Internal.SessionLock.queueJobForNumber(this.remoteAddress.toString(),function(){var address=this.remoteAddress.toString();return this.getRecord(address).then(function(record){var preKeyProto=Internal.protobuf.PreKeyWhisperMessage.decode(buffer);if(!record){if(preKeyProto.registrationId===undefined){throw new Error("No registrationId")}record=new Internal.SessionRecord(preKeyProto.registrationId)}var builder=new SessionBuilder(this.storage,this.remoteAddress);return builder.processV3(record,preKeyProto).then(function(preKeyId){var session=record.getSessionByBaseKey(preKeyProto.baseKey);return this.doDecryptWhisperMessage(preKeyProto.message.toArrayBuffer(),session).then(function(plaintext){record.updateSessionState(session);return this.storage.storeSession(address,record.serialize()).then(function(){if(preKeyId!==undefined&&preKeyId!==null){return this.storage.removePreKey(preKeyId)}}.bind(this)).then(function(){return plaintext})}.bind(this))}.bind(this))}.bind(this))}.bind(this))},doDecryptWhisperMessage:function(messageBytes,session){if(!(messageBytes instanceof ArrayBuffer)){throw new Error("Expected messageBytes to be an ArrayBuffer")}var version=new Uint8Array(messageBytes)[0];if((version&15)>3||version>>4<3){throw new Error("Incompatible version number on WhisperMessage")}var messageProto=messageBytes.slice(1,messageBytes.byteLength-8);var mac=messageBytes.slice(messageBytes.byteLength-8,messageBytes.byteLength);var message=Internal.protobuf.WhisperMessage.decode(messageProto);var remoteEphemeralKey=message.ephemeralKey.toArrayBuffer();if(session===undefined){return Promise.reject(new Error("No session found to decrypt message from "+this.remoteAddress.toString()))}if(session.indexInfo.closed!=-1){console.log("decrypting message for closed session")}return this.maybeStepRatchet(session,remoteEphemeralKey,message.previousCounter).then(function(){var chain=session[util.toString(message.ephemeralKey)];if(chain.chainType===Internal.ChainType.SENDING){throw new Error("Tried to decrypt on a sending chain")}return this.fillMessageKeys(chain,message.counter).then(function(){var messageKey=chain.messageKeys[message.counter];if(messageKey===undefined){var e=new Error("Message key not found. The counter was repeated or the key was not filled.");e.name="MessageCounterError";throw e}delete chain.messageKeys[message.counter];return Internal.HKDF(util.toArrayBuffer(messageKey),new ArrayBuffer(32),"WhisperMessageKeys")})}.bind(this)).then(function(keys){return this.storage.getIdentityKeyPair().then(function(ourIdentityKey){var macInput=new Uint8Array(messageProto.byteLength+33*2+1);macInput.set(new Uint8Array(util.toArrayBuffer(session.indexInfo.remoteIdentityKey)));macInput.set(new Uint8Array(util.toArrayBuffer(ourIdentityKey.pubKey)),33);macInput[33*2]=3<<4|3;macInput.set(new Uint8Array(messageProto),33*2+1);return Internal.verifyMAC(macInput.buffer,keys[1],mac,8)}.bind(this)).then(function(){return Internal.crypto.decrypt(keys[0],message.ciphertext.toArrayBuffer(),keys[2].slice(0,16))})}.bind(this)).then(function(plaintext){delete session.pendingPreKey;return plaintext})},fillMessageKeys:function(chain,counter){if(chain.chainKey.counter>=counter){return Promise.resolve()}if(counter-chain.chainKey.counter>2e3){throw new Error("Over 2000 messages into the future!")}if(chain.chainKey.key===undefined){throw new Error("Got invalid request to extend chain after it was already closed")}var key=util.toArrayBuffer(chain.chainKey.key);var byteArray=new Uint8Array(1);byteArray[0]=1;return Internal.crypto.sign(key,byteArray.buffer).then(function(mac){byteArray[0]=2;return Internal.crypto.sign(key,byteArray.buffer).then(function(key){chain.messageKeys[chain.chainKey.counter+1]=mac;chain.chainKey.key=key;chain.chainKey.counter+=1;return this.fillMessageKeys(chain,counter)}.bind(this))}.bind(this))},maybeStepRatchet:function(session,remoteKey,previousCounter){if(session[util.toString(remoteKey)]!==undefined){return Promise.resolve()}console.log("New remote ephemeral key");var ratchet=session.currentRatchet;return Promise.resolve().then(function(){var previousRatchet=session[util.toString(ratchet.lastRemoteEphemeralKey)];if(previousRatchet!==undefined){return this.fillMessageKeys(previousRatchet,previousCounter).then(function(){delete previousRatchet.chainKey.key;session.oldRatchetList[session.oldRatchetList.length]={added:Date.now(),ephemeralKey:ratchet.lastRemoteEphemeralKey}})}}.bind(this)).then(function(){return this.calculateRatchet(session,remoteKey,false).then(function(){var previousRatchet=util.toString(ratchet.ephemeralKeyPair.pubKey);if(session[previousRatchet]!==undefined){ratchet.previousCounter=session[previousRatchet].chainKey.counter;delete session[previousRatchet]}return Internal.crypto.createKeyPair().then(function(keyPair){ratchet.ephemeralKeyPair=keyPair;return this.calculateRatchet(session,remoteKey,true).then(function(){ratchet.lastRemoteEphemeralKey=remoteKey}.bind(this))}.bind(this))}.bind(this))}.bind(this))},calculateRatchet:function(session,remoteKey,sending){var ratchet=session.currentRatchet;return Internal.crypto.ECDHE(remoteKey,util.toArrayBuffer(ratchet.ephemeralKeyPair.privKey)).then(function(sharedSecret){return Internal.HKDF(sharedSecret,util.toArrayBuffer(ratchet.rootKey),"WhisperRatchet").then(function(masterKey){var ephemeralPublicKey;if(sending){ephemeralPublicKey=ratchet.ephemeralKeyPair.pubKey}else{ephemeralPublicKey=remoteKey}session[util.toString(ephemeralPublicKey)]={messageKeys:{},chainKey:{counter:-1,key:masterKey[1]},chainType:sending?Internal.ChainType.SENDING:Internal.ChainType.RECEIVING};ratchet.rootKey=masterKey[0]})})},getRemoteRegistrationId:function(){return Internal.SessionLock.queueJobForNumber(this.remoteAddress.toString(),function(){return this.getRecord(this.remoteAddress.toString()).then(function(record){if(record===undefined){return undefined}var openSession=record.getOpenSession();if(openSession===undefined){return null}return openSession.registrationId})}.bind(this))},hasOpenSession:function(){return Internal.SessionLock.queueJobForNumber(this.remoteAddress.toString(),function(){return this.getRecord(this.remoteAddress.toString()).then(function(record){if(record===undefined){return false}return record.haveOpenSession()})}.bind(this))},closeOpenSessionForDevice:function(){var address=this.remoteAddress.toString();return Internal.SessionLock.queueJobForNumber(address,function(){return this.getRecord(address).then(function(record){if(record===undefined||record.getOpenSession()===undefined){return}record.archiveCurrentState();return this.storage.storeSession(address,record.serialize())}.bind(this))}.bind(this))},deleteAllSessionsForDevice:function(){var address=this.remoteAddress.toString();return Internal.SessionLock.queueJobForNumber(address,function(){return this.getRecord(address).then(function(record){if(record===undefined){return}record.deleteAllSessions();return this.storage.storeSession(address,record.serialize())}.bind(this))}.bind(this))}};libsignal.SessionCipher=function(storage,remoteAddress){var cipher=new SessionCipher(storage,remoteAddress);this.encrypt=cipher.encrypt.bind(cipher);this.decryptPreKeyWhisperMessage=cipher.decryptPreKeyWhisperMessage.bind(cipher);this.decryptWhisperMessage=cipher.decryptWhisperMessage.bind(cipher);this.getRemoteRegistrationId=cipher.getRemoteRegistrationId.bind(cipher);this.hasOpenSession=cipher.hasOpenSession.bind(cipher);this.closeOpenSessionForDevice=cipher.closeOpenSessionForDevice.bind(cipher);this.deleteAllSessionsForDevice=cipher.deleteAllSessionsForDevice.bind(cipher)};(function(){"use strict";Internal.SessionLock={};var jobQueue={};Internal.SessionLock.queueJobForNumber=function queueJobForNumber(number,runJob){var runPrevious=jobQueue[number]||Promise.resolve();var runCurrent=jobQueue[number]=runPrevious.then(runJob,runJob);runCurrent.then(function(){if(jobQueue[number]===runCurrent){delete jobQueue[number]}});return runCurrent}})();(function(){var VERSION=0;function iterateHash(data,key,count){data=dcodeIO.ByteBuffer.concat([data,key]).toArrayBuffer();return Internal.crypto.hash(data).then(function(result){if(--count===0){return result}else{return iterateHash(result,key,count)}})}function shortToArrayBuffer(number){return new Uint16Array([number]).buffer}function getEncodedChunk(hash,offset){var chunk=(hash[offset]*Math.pow(2,32)+hash[offset+1]*Math.pow(2,24)+hash[offset+2]*Math.pow(2,16)+hash[offset+3]*Math.pow(2,8)+hash[offset+4])%1e5;var s=chunk.toString();while(s.length<5){s="0"+s}return s}function getDisplayStringFor(identifier,key,iterations){var bytes=dcodeIO.ByteBuffer.concat([shortToArrayBuffer(VERSION),key,identifier]).toArrayBuffer();return iterateHash(bytes,key,iterations).then(function(output){output=new Uint8Array(output);return getEncodedChunk(output,0)+getEncodedChunk(output,5)+getEncodedChunk(output,10)+getEncodedChunk(output,15)+getEncodedChunk(output,20)+getEncodedChunk(output,25)})}libsignal.FingerprintGenerator=function(iterations){this.iterations=iterations};libsignal.FingerprintGenerator.prototype={createFor:function(localIdentifier,localIdentityKey,remoteIdentifier,remoteIdentityKey){if(typeof localIdentifier!=="string"||typeof remoteIdentifier!=="string"||!(localIdentityKey instanceof ArrayBuffer)||!(remoteIdentityKey instanceof ArrayBuffer)){throw new Error("Invalid arguments")}return Promise.all([getDisplayStringFor(localIdentifier,localIdentityKey,this.iterations),getDisplayStringFor(remoteIdentifier,remoteIdentityKey,this.iterations)]).then(function(fingerprints){return fingerprints.sort().join("")})}}})()})(); diff --git a/frontend/scripts/movim_avatar.js b/frontend/scripts/movim_avatar.js new file mode 100644 index 0000000..a379ef5 --- /dev/null +++ b/frontend/scripts/movim_avatar.js @@ -0,0 +1,52 @@ +var MovimAvatar = { + file : function(files, formname, width = 384, height = 384) { + var f = files[0]; + if (!f.type.match(/image.*/)) { + console.log("Not a picture !"); + MovimAvatar.clear(formname); + } else { + var reader = new FileReader(); + reader.readAsDataURL(f); + + reader.onload = function (ev) { + MovimUtils.getOrientation(f, function(orientation) { + MovimAvatar.preview(ev.target.result, orientation, formname, width, height); + }); + }; + }; + }, + clear : function(formname) { + document.querySelector('form[name=' + formname + '] img').src = ''; + document.querySelector('form[name=' + formname + '] input[name="photobin"]').value = ''; + }, + preview : function(src, orientation, formname, setWidth, setHeight) { + var image = new Image(); + image.src = src; + + image.onload = function() { + var canvas = document.createElement('canvas'); + width = canvas.width = setWidth; + height = canvas.height = setHeight; + ctx = canvas.getContext("2d"); + + MovimUtils.applyOrientation(ctx, orientation, width, height) + MovimUtils.drawImageProp(ctx, image); + + var base64 = canvas.toDataURL('image/jpeg', 0.80); + + var preview = document.querySelector('form[name=' + formname + '] img'); + + var list = document.querySelector('form[name=' + formname + '] ul'); + if (list) list.classList.add('hide'); + + var input = document.querySelector('form[name=' + formname + '] input[name="photobin"]'); + + if (preview.className == 'error') preview.className = ''; + + preview.src = base64; + + var bin = base64.split(","); + input.value = bin[1]; + } + } +} diff --git a/frontend/scripts/movim_base.js b/frontend/scripts/movim_base.js new file mode 100644 index 0000000..6cd1016 --- /dev/null +++ b/frontend/scripts/movim_base.js @@ -0,0 +1,67 @@ +/** + * Register a service worker for the Progressive Web App + */ +if ('serviceWorker' in navigator) { + navigator.serviceWorker + .register(SW_URI) + .then(e => navigator.serviceWorker.ready) + .then((r) => { + console.log('Service Worker Registered'); + }); + + let refreshing = false; + navigator.serviceWorker.addEventListener('controllerchange', () => { + if (refreshing) return; + refreshing = true; + window.location.reload(); + }); + + const channel = new BroadcastChannel('messages'); + channel.addEventListener('message', event => { + Notif.snackbarClear(); + window.focus(); + + switch (event.data.type) { + case 'call': + break; + case 'call_reject': + VisioUtils.cancelLobby(event.data.data.fullJid, event.data.data.callId); + break; + case 'space_chat': + MovimUtils.reload(event.data.data.server, event.data.data.node, event.data.data.room); + break; + case 'chat': + Search.chat(event.data.data.jid, event.data.data.muc); + break; + default: + if (event.data.data.url) { + MovimUtils.reload(event.data.data.url); + } + break; + } + }); +} + +MovimEvents.registerWindow('loaded', 'movimbase', () => { + const pwaButton = document.querySelector('#pwa'); + + if (pwaButton) { + window.addEventListener('beforeinstallprompt', (e) => { + e.preventDefault(); + deferredPrompt = e; + pwaButton.style.display = 'initial'; + + pwaButton.addEventListener('click', () => { + deferredPrompt.prompt(); + + deferredPrompt.userChoice.then((choiceResult) => { + if (choiceResult.outcome === 'accepted') { + console.log('Movim App installed'); + } + + deferredPrompt = null; + }); + }); + }); + } +}); diff --git a/frontend/scripts/movim_e2ee.js b/frontend/scripts/movim_e2ee.js new file mode 100644 index 0000000..e52dff0 --- /dev/null +++ b/frontend/scripts/movim_e2ee.js @@ -0,0 +1,7 @@ +const KEY_ALGO = { + 'name': 'AES-GCM', + 'length': 128 +}; +const NUM_PREKEYS = 50; +const SIGNED_PREKEY_ID = 1; +const AESGCM_REGEX = /^aesgcm:\/\/([^#]+\/([^\/]+\.([a-z0-9]+)))#([a-z0-9]+)/i; diff --git a/frontend/scripts/movim_emojis_list.js b/frontend/scripts/movim_emojis_list.js new file mode 100644 index 0000000..045d618 --- /dev/null +++ b/frontend/scripts/movim_emojis_list.js @@ -0,0 +1 @@ +var emojis = {"mahjong_red_dragon":{"e":"\u{1f004}","c":"1f004"},"joker":{"e":"\u{1f0cf}","c":"1f0cf"},"a_button_(blood_type)":{"e":"\u{1f170}","c":"1f170"},"b_button_(blood_type)":{"e":"\u{1f171}","c":"1f171"},"o_button_(blood_type)":{"e":"\u{1f17e}","c":"1f17e"},"p_button":{"e":"\u{1f17f}","c":"1f17f"},"ab_button_(blood_type)":{"e":"\u{1f18e}","c":"1f18e"},"cl_button":{"e":"\u{1f191}","c":"1f191"},"cool_button":{"e":"\u{1f192}","c":"1f192"},"free_button":{"e":"\u{1f193}","c":"1f193"},"id_button":{"e":"\u{1f194}","c":"1f194"},"new_button":{"e":"\u{1f195}","c":"1f195"},"ng_button":{"e":"\u{1f196}","c":"1f196"},"ok_button":{"e":"\u{1f197}","c":"1f197"},"sos_button":{"e":"\u{1f198}","c":"1f198"},"up!_button":{"e":"\u{1f199}","c":"1f199"},"vs_button":{"e":"\u{1f19a}","c":"1f19a"},"flag_ascension_island":{"e":"\u{1f1e6}\u{1f1e8}","c":"1f1e6-1f1e8"},"flag_andorra":{"e":"\u{1f1e6}\u{1f1e9}","c":"1f1e6-1f1e9"},"flag_united_arab_emirates":{"e":"\u{1f1e6}\u{1f1ea}","c":"1f1e6-1f1ea"},"flag_afghanistan":{"e":"\u{1f1e6}\u{1f1eb}","c":"1f1e6-1f1eb"},"flag_antigua_&_barbuda":{"e":"\u{1f1e6}\u{1f1ec}","c":"1f1e6-1f1ec"},"flag_anguilla":{"e":"\u{1f1e6}\u{1f1ee}","c":"1f1e6-1f1ee"},"flag_albania":{"e":"\u{1f1e6}\u{1f1f1}","c":"1f1e6-1f1f1"},"flag_armenia":{"e":"\u{1f1e6}\u{1f1f2}","c":"1f1e6-1f1f2"},"flag_angola":{"e":"\u{1f1e6}\u{1f1f4}","c":"1f1e6-1f1f4"},"flag_antarctica":{"e":"\u{1f1e6}\u{1f1f6}","c":"1f1e6-1f1f6"},"flag_argentina":{"e":"\u{1f1e6}\u{1f1f7}","c":"1f1e6-1f1f7"},"flag_american_samoa":{"e":"\u{1f1e6}\u{1f1f8}","c":"1f1e6-1f1f8"},"flag_austria":{"e":"\u{1f1e6}\u{1f1f9}","c":"1f1e6-1f1f9"},"flag_australia":{"e":"\u{1f1e6}\u{1f1fa}","c":"1f1e6-1f1fa"},"flag_aruba":{"e":"\u{1f1e6}\u{1f1fc}","c":"1f1e6-1f1fc"},"flag_\u00c5land_islands":{"e":"\u{1f1e6}\u{1f1fd}","c":"1f1e6-1f1fd"},"flag_azerbaijan":{"e":"\u{1f1e6}\u{1f1ff}","c":"1f1e6-1f1ff"},"flag_bosnia_&_herzegovina":{"e":"\u{1f1e7}\u{1f1e6}","c":"1f1e7-1f1e6"},"flag_barbados":{"e":"\u{1f1e7}\u{1f1e7}","c":"1f1e7-1f1e7"},"flag_bangladesh":{"e":"\u{1f1e7}\u{1f1e9}","c":"1f1e7-1f1e9"},"flag_belgium":{"e":"\u{1f1e7}\u{1f1ea}","c":"1f1e7-1f1ea"},"flag_burkina_faso":{"e":"\u{1f1e7}\u{1f1eb}","c":"1f1e7-1f1eb"},"flag_bulgaria":{"e":"\u{1f1e7}\u{1f1ec}","c":"1f1e7-1f1ec"},"flag_bahrain":{"e":"\u{1f1e7}\u{1f1ed}","c":"1f1e7-1f1ed"},"flag_burundi":{"e":"\u{1f1e7}\u{1f1ee}","c":"1f1e7-1f1ee"},"flag_benin":{"e":"\u{1f1e7}\u{1f1ef}","c":"1f1e7-1f1ef"},"flag_st._barth\u00e9lemy":{"e":"\u{1f1e7}\u{1f1f1}","c":"1f1e7-1f1f1"},"flag_bermuda":{"e":"\u{1f1e7}\u{1f1f2}","c":"1f1e7-1f1f2"},"flag_brunei":{"e":"\u{1f1e7}\u{1f1f3}","c":"1f1e7-1f1f3"},"flag_bolivia":{"e":"\u{1f1e7}\u{1f1f4}","c":"1f1e7-1f1f4"},"flag_caribbean_netherlands":{"e":"\u{1f1e7}\u{1f1f6}","c":"1f1e7-1f1f6"},"flag_brazil":{"e":"\u{1f1e7}\u{1f1f7}","c":"1f1e7-1f1f7"},"flag_bahamas":{"e":"\u{1f1e7}\u{1f1f8}","c":"1f1e7-1f1f8"},"flag_bhutan":{"e":"\u{1f1e7}\u{1f1f9}","c":"1f1e7-1f1f9"},"flag_bouvet_island":{"e":"\u{1f1e7}\u{1f1fb}","c":"1f1e7-1f1fb"},"flag_botswana":{"e":"\u{1f1e7}\u{1f1fc}","c":"1f1e7-1f1fc"},"flag_belarus":{"e":"\u{1f1e7}\u{1f1fe}","c":"1f1e7-1f1fe"},"flag_belize":{"e":"\u{1f1e7}\u{1f1ff}","c":"1f1e7-1f1ff"},"flag_canada":{"e":"\u{1f1e8}\u{1f1e6}","c":"1f1e8-1f1e6"},"flag_cocos_(keeling)_islands":{"e":"\u{1f1e8}\u{1f1e8}","c":"1f1e8-1f1e8"},"flag_congo___kinshasa":{"e":"\u{1f1e8}\u{1f1e9}","c":"1f1e8-1f1e9"},"flag_central_african_republic":{"e":"\u{1f1e8}\u{1f1eb}","c":"1f1e8-1f1eb"},"flag_congo___brazzaville":{"e":"\u{1f1e8}\u{1f1ec}","c":"1f1e8-1f1ec"},"flag_switzerland":{"e":"\u{1f1e8}\u{1f1ed}","c":"1f1e8-1f1ed"},"flag_c\u00f4te_d\u2019ivoire":{"e":"\u{1f1e8}\u{1f1ee}","c":"1f1e8-1f1ee"},"flag_cook_islands":{"e":"\u{1f1e8}\u{1f1f0}","c":"1f1e8-1f1f0"},"flag_chile":{"e":"\u{1f1e8}\u{1f1f1}","c":"1f1e8-1f1f1"},"flag_cameroon":{"e":"\u{1f1e8}\u{1f1f2}","c":"1f1e8-1f1f2"},"flag_china":{"e":"\u{1f1e8}\u{1f1f3}","c":"1f1e8-1f1f3"},"flag_colombia":{"e":"\u{1f1e8}\u{1f1f4}","c":"1f1e8-1f1f4"},"flag_clipperton_island":{"e":"\u{1f1e8}\u{1f1f5}","c":"1f1e8-1f1f5"},"flag_sark":{"e":"\u{1f1e8}\u{1f1f6}","c":"1f1e8-1f1f6"},"flag_costa_rica":{"e":"\u{1f1e8}\u{1f1f7}","c":"1f1e8-1f1f7"},"flag_cuba":{"e":"\u{1f1e8}\u{1f1fa}","c":"1f1e8-1f1fa"},"flag_cape_verde":{"e":"\u{1f1e8}\u{1f1fb}","c":"1f1e8-1f1fb"},"flag_cura\u00e7ao":{"e":"\u{1f1e8}\u{1f1fc}","c":"1f1e8-1f1fc"},"flag_christmas_island":{"e":"\u{1f1e8}\u{1f1fd}","c":"1f1e8-1f1fd"},"flag_cyprus":{"e":"\u{1f1e8}\u{1f1fe}","c":"1f1e8-1f1fe"},"flag_czechia":{"e":"\u{1f1e8}\u{1f1ff}","c":"1f1e8-1f1ff"},"flag_germany":{"e":"\u{1f1e9}\u{1f1ea}","c":"1f1e9-1f1ea"},"flag_diego_garcia":{"e":"\u{1f1e9}\u{1f1ec}","c":"1f1e9-1f1ec"},"flag_djibouti":{"e":"\u{1f1e9}\u{1f1ef}","c":"1f1e9-1f1ef"},"flag_denmark":{"e":"\u{1f1e9}\u{1f1f0}","c":"1f1e9-1f1f0"},"flag_dominica":{"e":"\u{1f1e9}\u{1f1f2}","c":"1f1e9-1f1f2"},"flag_dominican_republic":{"e":"\u{1f1e9}\u{1f1f4}","c":"1f1e9-1f1f4"},"flag_algeria":{"e":"\u{1f1e9}\u{1f1ff}","c":"1f1e9-1f1ff"},"flag_ceuta_&_melilla":{"e":"\u{1f1ea}\u{1f1e6}","c":"1f1ea-1f1e6"},"flag_ecuador":{"e":"\u{1f1ea}\u{1f1e8}","c":"1f1ea-1f1e8"},"flag_estonia":{"e":"\u{1f1ea}\u{1f1ea}","c":"1f1ea-1f1ea"},"flag_egypt":{"e":"\u{1f1ea}\u{1f1ec}","c":"1f1ea-1f1ec"},"flag_western_sahara":{"e":"\u{1f1ea}\u{1f1ed}","c":"1f1ea-1f1ed"},"flag_eritrea":{"e":"\u{1f1ea}\u{1f1f7}","c":"1f1ea-1f1f7"},"flag_spain":{"e":"\u{1f1ea}\u{1f1f8}","c":"1f1ea-1f1f8"},"flag_ethiopia":{"e":"\u{1f1ea}\u{1f1f9}","c":"1f1ea-1f1f9"},"flag_european_union":{"e":"\u{1f1ea}\u{1f1fa}","c":"1f1ea-1f1fa"},"flag_finland":{"e":"\u{1f1eb}\u{1f1ee}","c":"1f1eb-1f1ee"},"flag_fiji":{"e":"\u{1f1eb}\u{1f1ef}","c":"1f1eb-1f1ef"},"flag_falkland_islands":{"e":"\u{1f1eb}\u{1f1f0}","c":"1f1eb-1f1f0"},"flag_micronesia":{"e":"\u{1f1eb}\u{1f1f2}","c":"1f1eb-1f1f2"},"flag_faroe_islands":{"e":"\u{1f1eb}\u{1f1f4}","c":"1f1eb-1f1f4"},"flag_france":{"e":"\u{1f1eb}\u{1f1f7}","c":"1f1eb-1f1f7"},"flag_gabon":{"e":"\u{1f1ec}\u{1f1e6}","c":"1f1ec-1f1e6"},"flag_united_kingdom":{"e":"\u{1f1ec}\u{1f1e7}","c":"1f1ec-1f1e7"},"flag_grenada":{"e":"\u{1f1ec}\u{1f1e9}","c":"1f1ec-1f1e9"},"flag_georgia":{"e":"\u{1f1ec}\u{1f1ea}","c":"1f1ec-1f1ea"},"flag_french_guiana":{"e":"\u{1f1ec}\u{1f1eb}","c":"1f1ec-1f1eb"},"flag_guernsey":{"e":"\u{1f1ec}\u{1f1ec}","c":"1f1ec-1f1ec"},"flag_ghana":{"e":"\u{1f1ec}\u{1f1ed}","c":"1f1ec-1f1ed"},"flag_gibraltar":{"e":"\u{1f1ec}\u{1f1ee}","c":"1f1ec-1f1ee"},"flag_greenland":{"e":"\u{1f1ec}\u{1f1f1}","c":"1f1ec-1f1f1"},"flag_gambia":{"e":"\u{1f1ec}\u{1f1f2}","c":"1f1ec-1f1f2"},"flag_guinea":{"e":"\u{1f1ec}\u{1f1f3}","c":"1f1ec-1f1f3"},"flag_guadeloupe":{"e":"\u{1f1ec}\u{1f1f5}","c":"1f1ec-1f1f5"},"flag_equatorial_guinea":{"e":"\u{1f1ec}\u{1f1f6}","c":"1f1ec-1f1f6"},"flag_greece":{"e":"\u{1f1ec}\u{1f1f7}","c":"1f1ec-1f1f7"},"flag_south_georgia_&_south_sandwich_islands":{"e":"\u{1f1ec}\u{1f1f8}","c":"1f1ec-1f1f8"},"flag_guatemala":{"e":"\u{1f1ec}\u{1f1f9}","c":"1f1ec-1f1f9"},"flag_guam":{"e":"\u{1f1ec}\u{1f1fa}","c":"1f1ec-1f1fa"},"flag_guinea_bissau":{"e":"\u{1f1ec}\u{1f1fc}","c":"1f1ec-1f1fc"},"flag_guyana":{"e":"\u{1f1ec}\u{1f1fe}","c":"1f1ec-1f1fe"},"flag_hong_kong_sar_china":{"e":"\u{1f1ed}\u{1f1f0}","c":"1f1ed-1f1f0"},"flag_heard_&_mcdonald_islands":{"e":"\u{1f1ed}\u{1f1f2}","c":"1f1ed-1f1f2"},"flag_honduras":{"e":"\u{1f1ed}\u{1f1f3}","c":"1f1ed-1f1f3"},"flag_croatia":{"e":"\u{1f1ed}\u{1f1f7}","c":"1f1ed-1f1f7"},"flag_haiti":{"e":"\u{1f1ed}\u{1f1f9}","c":"1f1ed-1f1f9"},"flag_hungary":{"e":"\u{1f1ed}\u{1f1fa}","c":"1f1ed-1f1fa"},"flag_canary_islands":{"e":"\u{1f1ee}\u{1f1e8}","c":"1f1ee-1f1e8"},"flag_indonesia":{"e":"\u{1f1ee}\u{1f1e9}","c":"1f1ee-1f1e9"},"flag_ireland":{"e":"\u{1f1ee}\u{1f1ea}","c":"1f1ee-1f1ea"},"flag_israel":{"e":"\u{1f1ee}\u{1f1f1}","c":"1f1ee-1f1f1"},"flag_isle_of_man":{"e":"\u{1f1ee}\u{1f1f2}","c":"1f1ee-1f1f2"},"flag_india":{"e":"\u{1f1ee}\u{1f1f3}","c":"1f1ee-1f1f3"},"flag_british_indian_ocean_territory":{"e":"\u{1f1ee}\u{1f1f4}","c":"1f1ee-1f1f4"},"flag_iraq":{"e":"\u{1f1ee}\u{1f1f6}","c":"1f1ee-1f1f6"},"flag_iran":{"e":"\u{1f1ee}\u{1f1f7}","c":"1f1ee-1f1f7"},"flag_iceland":{"e":"\u{1f1ee}\u{1f1f8}","c":"1f1ee-1f1f8"},"flag_italy":{"e":"\u{1f1ee}\u{1f1f9}","c":"1f1ee-1f1f9"},"flag_jersey":{"e":"\u{1f1ef}\u{1f1ea}","c":"1f1ef-1f1ea"},"flag_jamaica":{"e":"\u{1f1ef}\u{1f1f2}","c":"1f1ef-1f1f2"},"flag_jordan":{"e":"\u{1f1ef}\u{1f1f4}","c":"1f1ef-1f1f4"},"flag_japan":{"e":"\u{1f1ef}\u{1f1f5}","c":"1f1ef-1f1f5"},"flag_kenya":{"e":"\u{1f1f0}\u{1f1ea}","c":"1f1f0-1f1ea"},"flag_kyrgyzstan":{"e":"\u{1f1f0}\u{1f1ec}","c":"1f1f0-1f1ec"},"flag_cambodia":{"e":"\u{1f1f0}\u{1f1ed}","c":"1f1f0-1f1ed"},"flag_kiribati":{"e":"\u{1f1f0}\u{1f1ee}","c":"1f1f0-1f1ee"},"flag_comoros":{"e":"\u{1f1f0}\u{1f1f2}","c":"1f1f0-1f1f2"},"flag_st._kitts_&_nevis":{"e":"\u{1f1f0}\u{1f1f3}","c":"1f1f0-1f1f3"},"flag_north_korea":{"e":"\u{1f1f0}\u{1f1f5}","c":"1f1f0-1f1f5"},"flag_south_korea":{"e":"\u{1f1f0}\u{1f1f7}","c":"1f1f0-1f1f7"},"flag_kuwait":{"e":"\u{1f1f0}\u{1f1fc}","c":"1f1f0-1f1fc"},"flag_cayman_islands":{"e":"\u{1f1f0}\u{1f1fe}","c":"1f1f0-1f1fe"},"flag_kazakhstan":{"e":"\u{1f1f0}\u{1f1ff}","c":"1f1f0-1f1ff"},"flag_laos":{"e":"\u{1f1f1}\u{1f1e6}","c":"1f1f1-1f1e6"},"flag_lebanon":{"e":"\u{1f1f1}\u{1f1e7}","c":"1f1f1-1f1e7"},"flag_st._lucia":{"e":"\u{1f1f1}\u{1f1e8}","c":"1f1f1-1f1e8"},"flag_liechtenstein":{"e":"\u{1f1f1}\u{1f1ee}","c":"1f1f1-1f1ee"},"flag_sri_lanka":{"e":"\u{1f1f1}\u{1f1f0}","c":"1f1f1-1f1f0"},"flag_liberia":{"e":"\u{1f1f1}\u{1f1f7}","c":"1f1f1-1f1f7"},"flag_lesotho":{"e":"\u{1f1f1}\u{1f1f8}","c":"1f1f1-1f1f8"},"flag_lithuania":{"e":"\u{1f1f1}\u{1f1f9}","c":"1f1f1-1f1f9"},"flag_luxembourg":{"e":"\u{1f1f1}\u{1f1fa}","c":"1f1f1-1f1fa"},"flag_latvia":{"e":"\u{1f1f1}\u{1f1fb}","c":"1f1f1-1f1fb"},"flag_libya":{"e":"\u{1f1f1}\u{1f1fe}","c":"1f1f1-1f1fe"},"flag_morocco":{"e":"\u{1f1f2}\u{1f1e6}","c":"1f1f2-1f1e6"},"flag_monaco":{"e":"\u{1f1f2}\u{1f1e8}","c":"1f1f2-1f1e8"},"flag_moldova":{"e":"\u{1f1f2}\u{1f1e9}","c":"1f1f2-1f1e9"},"flag_montenegro":{"e":"\u{1f1f2}\u{1f1ea}","c":"1f1f2-1f1ea"},"flag_st._martin":{"e":"\u{1f1f2}\u{1f1eb}","c":"1f1f2-1f1eb"},"flag_madagascar":{"e":"\u{1f1f2}\u{1f1ec}","c":"1f1f2-1f1ec"},"flag_marshall_islands":{"e":"\u{1f1f2}\u{1f1ed}","c":"1f1f2-1f1ed"},"flag_north_macedonia":{"e":"\u{1f1f2}\u{1f1f0}","c":"1f1f2-1f1f0"},"flag_mali":{"e":"\u{1f1f2}\u{1f1f1}","c":"1f1f2-1f1f1"},"flag_myanmar_(burma)":{"e":"\u{1f1f2}\u{1f1f2}","c":"1f1f2-1f1f2"},"flag_mongolia":{"e":"\u{1f1f2}\u{1f1f3}","c":"1f1f2-1f1f3"},"flag_macao_sar_china":{"e":"\u{1f1f2}\u{1f1f4}","c":"1f1f2-1f1f4"},"flag_northern_mariana_islands":{"e":"\u{1f1f2}\u{1f1f5}","c":"1f1f2-1f1f5"},"flag_martinique":{"e":"\u{1f1f2}\u{1f1f6}","c":"1f1f2-1f1f6"},"flag_mauritania":{"e":"\u{1f1f2}\u{1f1f7}","c":"1f1f2-1f1f7"},"flag_montserrat":{"e":"\u{1f1f2}\u{1f1f8}","c":"1f1f2-1f1f8"},"flag_malta":{"e":"\u{1f1f2}\u{1f1f9}","c":"1f1f2-1f1f9"},"flag_mauritius":{"e":"\u{1f1f2}\u{1f1fa}","c":"1f1f2-1f1fa"},"flag_maldives":{"e":"\u{1f1f2}\u{1f1fb}","c":"1f1f2-1f1fb"},"flag_malawi":{"e":"\u{1f1f2}\u{1f1fc}","c":"1f1f2-1f1fc"},"flag_mexico":{"e":"\u{1f1f2}\u{1f1fd}","c":"1f1f2-1f1fd"},"flag_malaysia":{"e":"\u{1f1f2}\u{1f1fe}","c":"1f1f2-1f1fe"},"flag_mozambique":{"e":"\u{1f1f2}\u{1f1ff}","c":"1f1f2-1f1ff"},"flag_namibia":{"e":"\u{1f1f3}\u{1f1e6}","c":"1f1f3-1f1e6"},"flag_new_caledonia":{"e":"\u{1f1f3}\u{1f1e8}","c":"1f1f3-1f1e8"},"flag_niger":{"e":"\u{1f1f3}\u{1f1ea}","c":"1f1f3-1f1ea"},"flag_norfolk_island":{"e":"\u{1f1f3}\u{1f1eb}","c":"1f1f3-1f1eb"},"flag_nigeria":{"e":"\u{1f1f3}\u{1f1ec}","c":"1f1f3-1f1ec"},"flag_nicaragua":{"e":"\u{1f1f3}\u{1f1ee}","c":"1f1f3-1f1ee"},"flag_netherlands":{"e":"\u{1f1f3}\u{1f1f1}","c":"1f1f3-1f1f1"},"flag_norway":{"e":"\u{1f1f3}\u{1f1f4}","c":"1f1f3-1f1f4"},"flag_nepal":{"e":"\u{1f1f3}\u{1f1f5}","c":"1f1f3-1f1f5"},"flag_nauru":{"e":"\u{1f1f3}\u{1f1f7}","c":"1f1f3-1f1f7"},"flag_niue":{"e":"\u{1f1f3}\u{1f1fa}","c":"1f1f3-1f1fa"},"flag_new_zealand":{"e":"\u{1f1f3}\u{1f1ff}","c":"1f1f3-1f1ff"},"flag_oman":{"e":"\u{1f1f4}\u{1f1f2}","c":"1f1f4-1f1f2"},"flag_panama":{"e":"\u{1f1f5}\u{1f1e6}","c":"1f1f5-1f1e6"},"flag_peru":{"e":"\u{1f1f5}\u{1f1ea}","c":"1f1f5-1f1ea"},"flag_french_polynesia":{"e":"\u{1f1f5}\u{1f1eb}","c":"1f1f5-1f1eb"},"flag_papua_new_guinea":{"e":"\u{1f1f5}\u{1f1ec}","c":"1f1f5-1f1ec"},"flag_philippines":{"e":"\u{1f1f5}\u{1f1ed}","c":"1f1f5-1f1ed"},"flag_pakistan":{"e":"\u{1f1f5}\u{1f1f0}","c":"1f1f5-1f1f0"},"flag_poland":{"e":"\u{1f1f5}\u{1f1f1}","c":"1f1f5-1f1f1"},"flag_st._pierre_&_miquelon":{"e":"\u{1f1f5}\u{1f1f2}","c":"1f1f5-1f1f2"},"flag_pitcairn_islands":{"e":"\u{1f1f5}\u{1f1f3}","c":"1f1f5-1f1f3"},"flag_puerto_rico":{"e":"\u{1f1f5}\u{1f1f7}","c":"1f1f5-1f1f7"},"flag_palestinian_territories":{"e":"\u{1f1f5}\u{1f1f8}","c":"1f1f5-1f1f8"},"flag_portugal":{"e":"\u{1f1f5}\u{1f1f9}","c":"1f1f5-1f1f9"},"flag_palau":{"e":"\u{1f1f5}\u{1f1fc}","c":"1f1f5-1f1fc"},"flag_paraguay":{"e":"\u{1f1f5}\u{1f1fe}","c":"1f1f5-1f1fe"},"flag_qatar":{"e":"\u{1f1f6}\u{1f1e6}","c":"1f1f6-1f1e6"},"flag_r\u00e9union":{"e":"\u{1f1f7}\u{1f1ea}","c":"1f1f7-1f1ea"},"flag_romania":{"e":"\u{1f1f7}\u{1f1f4}","c":"1f1f7-1f1f4"},"flag_serbia":{"e":"\u{1f1f7}\u{1f1f8}","c":"1f1f7-1f1f8"},"flag_russia":{"e":"\u{1f1f7}\u{1f1fa}","c":"1f1f7-1f1fa"},"flag_rwanda":{"e":"\u{1f1f7}\u{1f1fc}","c":"1f1f7-1f1fc"},"flag_saudi_arabia":{"e":"\u{1f1f8}\u{1f1e6}","c":"1f1f8-1f1e6"},"flag_solomon_islands":{"e":"\u{1f1f8}\u{1f1e7}","c":"1f1f8-1f1e7"},"flag_seychelles":{"e":"\u{1f1f8}\u{1f1e8}","c":"1f1f8-1f1e8"},"flag_sudan":{"e":"\u{1f1f8}\u{1f1e9}","c":"1f1f8-1f1e9"},"flag_sweden":{"e":"\u{1f1f8}\u{1f1ea}","c":"1f1f8-1f1ea"},"flag_singapore":{"e":"\u{1f1f8}\u{1f1ec}","c":"1f1f8-1f1ec"},"flag_st._helena":{"e":"\u{1f1f8}\u{1f1ed}","c":"1f1f8-1f1ed"},"flag_slovenia":{"e":"\u{1f1f8}\u{1f1ee}","c":"1f1f8-1f1ee"},"flag_svalbard_&_jan_mayen":{"e":"\u{1f1f8}\u{1f1ef}","c":"1f1f8-1f1ef"},"flag_slovakia":{"e":"\u{1f1f8}\u{1f1f0}","c":"1f1f8-1f1f0"},"flag_sierra_leone":{"e":"\u{1f1f8}\u{1f1f1}","c":"1f1f8-1f1f1"},"flag_san_marino":{"e":"\u{1f1f8}\u{1f1f2}","c":"1f1f8-1f1f2"},"flag_senegal":{"e":"\u{1f1f8}\u{1f1f3}","c":"1f1f8-1f1f3"},"flag_somalia":{"e":"\u{1f1f8}\u{1f1f4}","c":"1f1f8-1f1f4"},"flag_suriname":{"e":"\u{1f1f8}\u{1f1f7}","c":"1f1f8-1f1f7"},"flag_south_sudan":{"e":"\u{1f1f8}\u{1f1f8}","c":"1f1f8-1f1f8"},"flag_s\u00e3o_tom\u00e9_&_pr\u00edncipe":{"e":"\u{1f1f8}\u{1f1f9}","c":"1f1f8-1f1f9"},"flag_el_salvador":{"e":"\u{1f1f8}\u{1f1fb}","c":"1f1f8-1f1fb"},"flag_sint_maarten":{"e":"\u{1f1f8}\u{1f1fd}","c":"1f1f8-1f1fd"},"flag_syria":{"e":"\u{1f1f8}\u{1f1fe}","c":"1f1f8-1f1fe"},"flag_eswatini":{"e":"\u{1f1f8}\u{1f1ff}","c":"1f1f8-1f1ff"},"flag_tristan_da_cunha":{"e":"\u{1f1f9}\u{1f1e6}","c":"1f1f9-1f1e6"},"flag_turks_&_caicos_islands":{"e":"\u{1f1f9}\u{1f1e8}","c":"1f1f9-1f1e8"},"flag_chad":{"e":"\u{1f1f9}\u{1f1e9}","c":"1f1f9-1f1e9"},"flag_french_southern_territories":{"e":"\u{1f1f9}\u{1f1eb}","c":"1f1f9-1f1eb"},"flag_togo":{"e":"\u{1f1f9}\u{1f1ec}","c":"1f1f9-1f1ec"},"flag_thailand":{"e":"\u{1f1f9}\u{1f1ed}","c":"1f1f9-1f1ed"},"flag_tajikistan":{"e":"\u{1f1f9}\u{1f1ef}","c":"1f1f9-1f1ef"},"flag_tokelau":{"e":"\u{1f1f9}\u{1f1f0}","c":"1f1f9-1f1f0"},"flag_timor_leste":{"e":"\u{1f1f9}\u{1f1f1}","c":"1f1f9-1f1f1"},"flag_turkmenistan":{"e":"\u{1f1f9}\u{1f1f2}","c":"1f1f9-1f1f2"},"flag_tunisia":{"e":"\u{1f1f9}\u{1f1f3}","c":"1f1f9-1f1f3"},"flag_tonga":{"e":"\u{1f1f9}\u{1f1f4}","c":"1f1f9-1f1f4"},"flag_t\u00fcrkiye":{"e":"\u{1f1f9}\u{1f1f7}","c":"1f1f9-1f1f7"},"flag_trinidad_&_tobago":{"e":"\u{1f1f9}\u{1f1f9}","c":"1f1f9-1f1f9"},"flag_tuvalu":{"e":"\u{1f1f9}\u{1f1fb}","c":"1f1f9-1f1fb"},"flag_taiwan":{"e":"\u{1f1f9}\u{1f1fc}","c":"1f1f9-1f1fc"},"flag_tanzania":{"e":"\u{1f1f9}\u{1f1ff}","c":"1f1f9-1f1ff"},"flag_ukraine":{"e":"\u{1f1fa}\u{1f1e6}","c":"1f1fa-1f1e6"},"flag_uganda":{"e":"\u{1f1fa}\u{1f1ec}","c":"1f1fa-1f1ec"},"flag_u.s._outlying_islands":{"e":"\u{1f1fa}\u{1f1f2}","c":"1f1fa-1f1f2"},"flag_united_nations":{"e":"\u{1f1fa}\u{1f1f3}","c":"1f1fa-1f1f3"},"flag_united_states":{"e":"\u{1f1fa}\u{1f1f8}","c":"1f1fa-1f1f8"},"flag_uruguay":{"e":"\u{1f1fa}\u{1f1fe}","c":"1f1fa-1f1fe"},"flag_uzbekistan":{"e":"\u{1f1fa}\u{1f1ff}","c":"1f1fa-1f1ff"},"flag_vatican_city":{"e":"\u{1f1fb}\u{1f1e6}","c":"1f1fb-1f1e6"},"flag_st._vincent_&_grenadines":{"e":"\u{1f1fb}\u{1f1e8}","c":"1f1fb-1f1e8"},"flag_venezuela":{"e":"\u{1f1fb}\u{1f1ea}","c":"1f1fb-1f1ea"},"flag_british_virgin_islands":{"e":"\u{1f1fb}\u{1f1ec}","c":"1f1fb-1f1ec"},"flag_u.s._virgin_islands":{"e":"\u{1f1fb}\u{1f1ee}","c":"1f1fb-1f1ee"},"flag_vietnam":{"e":"\u{1f1fb}\u{1f1f3}","c":"1f1fb-1f1f3"},"flag_vanuatu":{"e":"\u{1f1fb}\u{1f1fa}","c":"1f1fb-1f1fa"},"flag_wallis_&_futuna":{"e":"\u{1f1fc}\u{1f1eb}","c":"1f1fc-1f1eb"},"flag_samoa":{"e":"\u{1f1fc}\u{1f1f8}","c":"1f1fc-1f1f8"},"flag_kosovo":{"e":"\u{1f1fd}\u{1f1f0}","c":"1f1fd-1f1f0"},"flag_yemen":{"e":"\u{1f1fe}\u{1f1ea}","c":"1f1fe-1f1ea"},"flag_mayotte":{"e":"\u{1f1fe}\u{1f1f9}","c":"1f1fe-1f1f9"},"flag_south_africa":{"e":"\u{1f1ff}\u{1f1e6}","c":"1f1ff-1f1e6"},"flag_zambia":{"e":"\u{1f1ff}\u{1f1f2}","c":"1f1ff-1f1f2"},"flag_zimbabwe":{"e":"\u{1f1ff}\u{1f1fc}","c":"1f1ff-1f1fc"},"japanese_\u201chere\u201d_button":{"e":"\u{1f201}","c":"1f201"},"japanese_\u201cservice_charge\u201d_button":{"e":"\u{1f202}","c":"1f202"},"japanese_\u201cfree_of_charge\u201d_button":{"e":"\u{1f21a}","c":"1f21a"},"japanese_\u201creserved\u201d_button":{"e":"\u{1f22f}","c":"1f22f"},"japanese_\u201cprohibited\u201d_button":{"e":"\u{1f232}","c":"1f232"},"japanese_\u201cvacancy\u201d_button":{"e":"\u{1f233}","c":"1f233"},"japanese_\u201cpassing_grade\u201d_button":{"e":"\u{1f234}","c":"1f234"},"japanese_\u201cno_vacancy\u201d_button":{"e":"\u{1f235}","c":"1f235"},"japanese_\u201cnot_free_of_charge\u201d_button":{"e":"\u{1f236}","c":"1f236"},"japanese_\u201cmonthly_amount\u201d_button":{"e":"\u{1f237}","c":"1f237"},"japanese_\u201capplication\u201d_button":{"e":"\u{1f238}","c":"1f238"},"japanese_\u201cdiscount\u201d_button":{"e":"\u{1f239}","c":"1f239"},"japanese_\u201copen_for_business\u201d_button":{"e":"\u{1f23a}","c":"1f23a"},"japanese_\u201cbargain\u201d_button":{"e":"\u{1f250}","c":"1f250"},"japanese_\u201cacceptable\u201d_button":{"e":"\u{1f251}","c":"1f251"},"cyclone":{"e":"\u{1f300}","c":"1f300"},"foggy":{"e":"\u{1f301}","c":"1f301"},"closed_umbrella":{"e":"\u{1f302}","c":"1f302"},"night_with_stars":{"e":"\u{1f303}","c":"1f303"},"sunrise_over_mountains":{"e":"\u{1f304}","c":"1f304"},"sunrise":{"e":"\u{1f305}","c":"1f305"},"cityscape_at_dusk":{"e":"\u{1f306}","c":"1f306"},"sunset":{"e":"\u{1f307}","c":"1f307"},"rainbow":{"e":"\u{1f308}","c":"1f308"},"bridge_at_night":{"e":"\u{1f309}","c":"1f309"},"water_wave":{"e":"\u{1f30a}","c":"1f30a"},"volcano":{"e":"\u{1f30b}","c":"1f30b"},"milky_way":{"e":"\u{1f30c}","c":"1f30c"},"globe_showing_europe_africa":{"e":"\u{1f30d}","c":"1f30d"},"globe_showing_americas":{"e":"\u{1f30e}","c":"1f30e"},"globe_showing_asia_australia":{"e":"\u{1f30f}","c":"1f30f"},"globe_with_meridians":{"e":"\u{1f310}","c":"1f310"},"new_moon":{"e":"\u{1f311}","c":"1f311"},"waxing_crescent_moon":{"e":"\u{1f312}","c":"1f312"},"first_quarter_moon":{"e":"\u{1f313}","c":"1f313"},"waxing_gibbous_moon":{"e":"\u{1f314}","c":"1f314"},"full_moon":{"e":"\u{1f315}","c":"1f315"},"waning_gibbous_moon":{"e":"\u{1f316}","c":"1f316"},"last_quarter_moon":{"e":"\u{1f317}","c":"1f317"},"waning_crescent_moon":{"e":"\u{1f318}","c":"1f318"},"crescent_moon":{"e":"\u{1f319}","c":"1f319"},"new_moon_face":{"e":"\u{1f31a}","c":"1f31a"},"first_quarter_moon_face":{"e":"\u{1f31b}","c":"1f31b"},"last_quarter_moon_face":{"e":"\u{1f31c}","c":"1f31c"},"full_moon_face":{"e":"\u{1f31d}","c":"1f31d"},"sun_with_face":{"e":"\u{1f31e}","c":"1f31e"},"glowing_star":{"e":"\u{1f31f}","c":"1f31f"},"shooting_star":{"e":"\u{1f320}","c":"1f320"},"thermometer":{"e":"\u{1f321}","c":"1f321"},"sun_behind_small_cloud":{"e":"\u{1f324}","c":"1f324"},"sun_behind_large_cloud":{"e":"\u{1f325}","c":"1f325"},"sun_behind_rain_cloud":{"e":"\u{1f326}","c":"1f326"},"cloud_with_rain":{"e":"\u{1f327}","c":"1f327"},"cloud_with_snow":{"e":"\u{1f328}","c":"1f328"},"cloud_with_lightning":{"e":"\u{1f329}","c":"1f329"},"tornado":{"e":"\u{1f32a}","c":"1f32a"},"fog":{"e":"\u{1f32b}","c":"1f32b"},"wind_face":{"e":"\u{1f32c}","c":"1f32c"},"hot_dog":{"e":"\u{1f32d}","c":"1f32d"},"taco":{"e":"\u{1f32e}","c":"1f32e"},"burrito":{"e":"\u{1f32f}","c":"1f32f"},"chestnut":{"e":"\u{1f330}","c":"1f330"},"seedling":{"e":"\u{1f331}","c":"1f331"},"evergreen_tree":{"e":"\u{1f332}","c":"1f332"},"deciduous_tree":{"e":"\u{1f333}","c":"1f333"},"palm_tree":{"e":"\u{1f334}","c":"1f334"},"cactus":{"e":"\u{1f335}","c":"1f335"},"hot_pepper":{"e":"\u{1f336}","c":"1f336"},"tulip":{"e":"\u{1f337}","c":"1f337"},"cherry_blossom":{"e":"\u{1f338}","c":"1f338"},"rose":{"e":"\u{1f339}","c":"1f339"},"hibiscus":{"e":"\u{1f33a}","c":"1f33a"},"sunflower":{"e":"\u{1f33b}","c":"1f33b"},"blossom":{"e":"\u{1f33c}","c":"1f33c"},"ear_of_corn":{"e":"\u{1f33d}","c":"1f33d"},"sheaf_of_rice":{"e":"\u{1f33e}","c":"1f33e"},"herb":{"e":"\u{1f33f}","c":"1f33f"},"four_leaf_clover":{"e":"\u{1f340}","c":"1f340"},"maple_leaf":{"e":"\u{1f341}","c":"1f341"},"fallen_leaf":{"e":"\u{1f342}","c":"1f342"},"leaf_fluttering_in_wind":{"e":"\u{1f343}","c":"1f343"},"brown_mushroom":{"e":"\u{1f344}\u{200d}\u{1f7eb}","c":"1f344-200d-1f7eb"},"mushroom":{"e":"\u{1f344}","c":"1f344"},"tomato":{"e":"\u{1f345}","c":"1f345"},"eggplant":{"e":"\u{1f346}","c":"1f346"},"grapes":{"e":"\u{1f347}","c":"1f347"},"melon":{"e":"\u{1f348}","c":"1f348"},"watermelon":{"e":"\u{1f349}","c":"1f349"},"tangerine":{"e":"\u{1f34a}","c":"1f34a"},"lime":{"e":"\u{1f34b}\u{200d}\u{1f7e9}","c":"1f34b-200d-1f7e9"},"lemon":{"e":"\u{1f34b}","c":"1f34b"},"banana":{"e":"\u{1f34c}","c":"1f34c"},"pineapple":{"e":"\u{1f34d}","c":"1f34d"},"red_apple":{"e":"\u{1f34e}","c":"1f34e"},"green_apple":{"e":"\u{1f34f}","c":"1f34f"},"pear":{"e":"\u{1f350}","c":"1f350"},"peach":{"e":"\u{1f351}","c":"1f351"},"cherries":{"e":"\u{1f352}","c":"1f352"},"strawberry":{"e":"\u{1f353}","c":"1f353"},"hamburger":{"e":"\u{1f354}","c":"1f354"},"pizza":{"e":"\u{1f355}","c":"1f355"},"meat_on_bone":{"e":"\u{1f356}","c":"1f356"},"poultry_leg":{"e":"\u{1f357}","c":"1f357"},"rice_cracker":{"e":"\u{1f358}","c":"1f358"},"rice_ball":{"e":"\u{1f359}","c":"1f359"},"cooked_rice":{"e":"\u{1f35a}","c":"1f35a"},"curry_rice":{"e":"\u{1f35b}","c":"1f35b"},"steaming_bowl":{"e":"\u{1f35c}","c":"1f35c"},"spaghetti":{"e":"\u{1f35d}","c":"1f35d"},"bread":{"e":"\u{1f35e}","c":"1f35e"},"french_fries":{"e":"\u{1f35f}","c":"1f35f"},"roasted_sweet_potato":{"e":"\u{1f360}","c":"1f360"},"dango":{"e":"\u{1f361}","c":"1f361"},"oden":{"e":"\u{1f362}","c":"1f362"},"sushi":{"e":"\u{1f363}","c":"1f363"},"fried_shrimp":{"e":"\u{1f364}","c":"1f364"},"fish_cake_with_swirl":{"e":"\u{1f365}","c":"1f365"},"soft_ice_cream":{"e":"\u{1f366}","c":"1f366"},"shaved_ice":{"e":"\u{1f367}","c":"1f367"},"ice_cream":{"e":"\u{1f368}","c":"1f368"},"doughnut":{"e":"\u{1f369}","c":"1f369"},"cookie":{"e":"\u{1f36a}","c":"1f36a"},"chocolate_bar":{"e":"\u{1f36b}","c":"1f36b"},"candy":{"e":"\u{1f36c}","c":"1f36c"},"lollipop":{"e":"\u{1f36d}","c":"1f36d"},"custard":{"e":"\u{1f36e}","c":"1f36e"},"honey_pot":{"e":"\u{1f36f}","c":"1f36f"},"shortcake":{"e":"\u{1f370}","c":"1f370"},"bento_box":{"e":"\u{1f371}","c":"1f371"},"pot_of_food":{"e":"\u{1f372}","c":"1f372"},"cooking":{"e":"\u{1f373}","c":"1f373"},"fork_and_knife":{"e":"\u{1f374}","c":"1f374"},"teacup_without_handle":{"e":"\u{1f375}","c":"1f375"},"sake":{"e":"\u{1f376}","c":"1f376"},"wine_glass":{"e":"\u{1f377}","c":"1f377"},"cocktail_glass":{"e":"\u{1f378}","c":"1f378"},"tropical_drink":{"e":"\u{1f379}","c":"1f379"},"beer_mug":{"e":"\u{1f37a}","c":"1f37a"},"clinking_beer_mugs":{"e":"\u{1f37b}","c":"1f37b"},"baby_bottle":{"e":"\u{1f37c}","c":"1f37c"},"fork_and_knife_with_plate":{"e":"\u{1f37d}","c":"1f37d"},"bottle_with_popping_cork":{"e":"\u{1f37e}","c":"1f37e"},"popcorn":{"e":"\u{1f37f}","c":"1f37f"},"ribbon":{"e":"\u{1f380}","c":"1f380"},"wrapped_gift":{"e":"\u{1f381}","c":"1f381"},"birthday_cake":{"e":"\u{1f382}","c":"1f382"},"jack_o_lantern":{"e":"\u{1f383}","c":"1f383"},"christmas_tree":{"e":"\u{1f384}","c":"1f384"},"santa_claus_light_skin_tone":{"e":"\u{1f385}\u{1f3fb}","c":"1f385-1f3fb"},"santa_claus_medium_light_skin_tone":{"e":"\u{1f385}\u{1f3fc}","c":"1f385-1f3fc"},"santa_claus_medium_skin_tone":{"e":"\u{1f385}\u{1f3fd}","c":"1f385-1f3fd"},"santa_claus_medium_dark_skin_tone":{"e":"\u{1f385}\u{1f3fe}","c":"1f385-1f3fe"},"santa_claus_dark_skin_tone":{"e":"\u{1f385}\u{1f3ff}","c":"1f385-1f3ff"},"santa_claus":{"e":"\u{1f385}","c":"1f385"},"fireworks":{"e":"\u{1f386}","c":"1f386"},"sparkler":{"e":"\u{1f387}","c":"1f387"},"balloon":{"e":"\u{1f388}","c":"1f388"},"party_popper":{"e":"\u{1f389}","c":"1f389"},"confetti_ball":{"e":"\u{1f38a}","c":"1f38a"},"tanabata_tree":{"e":"\u{1f38b}","c":"1f38b"},"crossed_flags":{"e":"\u{1f38c}","c":"1f38c"},"pine_decoration":{"e":"\u{1f38d}","c":"1f38d"},"japanese_dolls":{"e":"\u{1f38e}","c":"1f38e"},"carp_streamer":{"e":"\u{1f38f}","c":"1f38f"},"wind_chime":{"e":"\u{1f390}","c":"1f390"},"moon_viewing_ceremony":{"e":"\u{1f391}","c":"1f391"},"backpack":{"e":"\u{1f392}","c":"1f392"},"graduation_cap":{"e":"\u{1f393}","c":"1f393"},"military_medal":{"e":"\u{1f396}","c":"1f396"},"reminder_ribbon":{"e":"\u{1f397}","c":"1f397"},"studio_microphone":{"e":"\u{1f399}","c":"1f399"},"level_slider":{"e":"\u{1f39a}","c":"1f39a"},"control_knobs":{"e":"\u{1f39b}","c":"1f39b"},"film_frames":{"e":"\u{1f39e}","c":"1f39e"},"admission_tickets":{"e":"\u{1f39f}","c":"1f39f"},"carousel_horse":{"e":"\u{1f3a0}","c":"1f3a0"},"ferris_wheel":{"e":"\u{1f3a1}","c":"1f3a1"},"roller_coaster":{"e":"\u{1f3a2}","c":"1f3a2"},"fishing_pole":{"e":"\u{1f3a3}","c":"1f3a3"},"microphone":{"e":"\u{1f3a4}","c":"1f3a4"},"movie_camera":{"e":"\u{1f3a5}","c":"1f3a5"},"cinema":{"e":"\u{1f3a6}","c":"1f3a6"},"headphone":{"e":"\u{1f3a7}","c":"1f3a7"},"artist_palette":{"e":"\u{1f3a8}","c":"1f3a8"},"top_hat":{"e":"\u{1f3a9}","c":"1f3a9"},"circus_tent":{"e":"\u{1f3aa}","c":"1f3aa"},"ticket":{"e":"\u{1f3ab}","c":"1f3ab"},"clapper_board":{"e":"\u{1f3ac}","c":"1f3ac"},"performing_arts":{"e":"\u{1f3ad}","c":"1f3ad"},"video_game":{"e":"\u{1f3ae}","c":"1f3ae"},"bullseye":{"e":"\u{1f3af}","c":"1f3af"},"slot_machine":{"e":"\u{1f3b0}","c":"1f3b0"},"pool_i_ball":{"e":"\u{1f3b1}","c":"1f3b1"},"game_die":{"e":"\u{1f3b2}","c":"1f3b2"},"bowling":{"e":"\u{1f3b3}","c":"1f3b3"},"flower_playing_cards":{"e":"\u{1f3b4}","c":"1f3b4"},"musical_note":{"e":"\u{1f3b5}","c":"1f3b5"},"musical_notes":{"e":"\u{1f3b6}","c":"1f3b6"},"saxophone":{"e":"\u{1f3b7}","c":"1f3b7"},"guitar":{"e":"\u{1f3b8}","c":"1f3b8"},"musical_keyboard":{"e":"\u{1f3b9}","c":"1f3b9"},"trumpet":{"e":"\u{1f3ba}","c":"1f3ba"},"violin":{"e":"\u{1f3bb}","c":"1f3bb"},"musical_score":{"e":"\u{1f3bc}","c":"1f3bc"},"running_shirt":{"e":"\u{1f3bd}","c":"1f3bd"},"tennis":{"e":"\u{1f3be}","c":"1f3be"},"skis":{"e":"\u{1f3bf}","c":"1f3bf"},"basketball":{"e":"\u{1f3c0}","c":"1f3c0"},"chequered_flag":{"e":"\u{1f3c1}","c":"1f3c1"},"snowboarder_light_skin_tone":{"e":"\u{1f3c2}\u{1f3fb}","c":"1f3c2-1f3fb"},"snowboarder_medium_light_skin_tone":{"e":"\u{1f3c2}\u{1f3fc}","c":"1f3c2-1f3fc"},"snowboarder_medium_skin_tone":{"e":"\u{1f3c2}\u{1f3fd}","c":"1f3c2-1f3fd"},"snowboarder_medium_dark_skin_tone":{"e":"\u{1f3c2}\u{1f3fe}","c":"1f3c2-1f3fe"},"snowboarder_dark_skin_tone":{"e":"\u{1f3c2}\u{1f3ff}","c":"1f3c2-1f3ff"},"snowboarder":{"e":"\u{1f3c2}","c":"1f3c2"},"woman_running_facing_right:_light_skin_tone":{"e":"\u{1f3c3}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f3c3-1f3fb-200d-2640-fe0f-200d-27a1-fe0f"},"woman_running:_light_skin_tone":{"e":"\u{1f3c3}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f3c3-1f3fb-200d-2640-fe0f"},"man_running_facing_right:_light_skin_tone":{"e":"\u{1f3c3}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f3c3-1f3fb-200d-2642-fe0f-200d-27a1-fe0f"},"man_running:_light_skin_tone":{"e":"\u{1f3c3}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f3c3-1f3fb-200d-2642-fe0f"},"person_running_facing_right:_light_skin_tone":{"e":"\u{1f3c3}\u{1f3fb}\u{200d}\u{27a1}\u{fe0f}","c":"1f3c3-1f3fb-200d-27a1-fe0f"},"person_running_light_skin_tone":{"e":"\u{1f3c3}\u{1f3fb}","c":"1f3c3-1f3fb"},"woman_running_facing_right:_medium_light_skin_tone":{"e":"\u{1f3c3}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f3c3-1f3fc-200d-2640-fe0f-200d-27a1-fe0f"},"woman_running:_medium_light_skin_tone":{"e":"\u{1f3c3}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f3c3-1f3fc-200d-2640-fe0f"},"man_running_facing_right:_medium_light_skin_tone":{"e":"\u{1f3c3}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f3c3-1f3fc-200d-2642-fe0f-200d-27a1-fe0f"},"man_running:_medium_light_skin_tone":{"e":"\u{1f3c3}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f3c3-1f3fc-200d-2642-fe0f"},"person_running_facing_right:_medium_light_skin_tone":{"e":"\u{1f3c3}\u{1f3fc}\u{200d}\u{27a1}\u{fe0f}","c":"1f3c3-1f3fc-200d-27a1-fe0f"},"person_running_medium_light_skin_tone":{"e":"\u{1f3c3}\u{1f3fc}","c":"1f3c3-1f3fc"},"woman_running_facing_right:_medium_skin_tone":{"e":"\u{1f3c3}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f3c3-1f3fd-200d-2640-fe0f-200d-27a1-fe0f"},"woman_running:_medium_skin_tone":{"e":"\u{1f3c3}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f3c3-1f3fd-200d-2640-fe0f"},"man_running_facing_right:_medium_skin_tone":{"e":"\u{1f3c3}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f3c3-1f3fd-200d-2642-fe0f-200d-27a1-fe0f"},"man_running:_medium_skin_tone":{"e":"\u{1f3c3}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f3c3-1f3fd-200d-2642-fe0f"},"person_running_facing_right:_medium_skin_tone":{"e":"\u{1f3c3}\u{1f3fd}\u{200d}\u{27a1}\u{fe0f}","c":"1f3c3-1f3fd-200d-27a1-fe0f"},"person_running_medium_skin_tone":{"e":"\u{1f3c3}\u{1f3fd}","c":"1f3c3-1f3fd"},"woman_running_facing_right:_medium_dark_skin_tone":{"e":"\u{1f3c3}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f3c3-1f3fe-200d-2640-fe0f-200d-27a1-fe0f"},"woman_running:_medium_dark_skin_tone":{"e":"\u{1f3c3}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f3c3-1f3fe-200d-2640-fe0f"},"man_running_facing_right:_medium_dark_skin_tone":{"e":"\u{1f3c3}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f3c3-1f3fe-200d-2642-fe0f-200d-27a1-fe0f"},"man_running:_medium_dark_skin_tone":{"e":"\u{1f3c3}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f3c3-1f3fe-200d-2642-fe0f"},"person_running_facing_right:_medium_dark_skin_tone":{"e":"\u{1f3c3}\u{1f3fe}\u{200d}\u{27a1}\u{fe0f}","c":"1f3c3-1f3fe-200d-27a1-fe0f"},"person_running_medium_dark_skin_tone":{"e":"\u{1f3c3}\u{1f3fe}","c":"1f3c3-1f3fe"},"woman_running_facing_right:_dark_skin_tone":{"e":"\u{1f3c3}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f3c3-1f3ff-200d-2640-fe0f-200d-27a1-fe0f"},"woman_running:_dark_skin_tone":{"e":"\u{1f3c3}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f3c3-1f3ff-200d-2640-fe0f"},"man_running_facing_right:_dark_skin_tone":{"e":"\u{1f3c3}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f3c3-1f3ff-200d-2642-fe0f-200d-27a1-fe0f"},"man_running:_dark_skin_tone":{"e":"\u{1f3c3}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f3c3-1f3ff-200d-2642-fe0f"},"person_running_facing_right:_dark_skin_tone":{"e":"\u{1f3c3}\u{1f3ff}\u{200d}\u{27a1}\u{fe0f}","c":"1f3c3-1f3ff-200d-27a1-fe0f"},"person_running_dark_skin_tone":{"e":"\u{1f3c3}\u{1f3ff}","c":"1f3c3-1f3ff"},"woman_running_facing_right":{"e":"\u{1f3c3}\u{200d}\u{2640}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f3c3-200d-2640-fe0f-200d-27a1-fe0f"},"woman_running":{"e":"\u{1f3c3}\u{200d}\u{2640}\u{fe0f}","c":"1f3c3-200d-2640-fe0f"},"man_running_facing_right":{"e":"\u{1f3c3}\u{200d}\u{2642}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f3c3-200d-2642-fe0f-200d-27a1-fe0f"},"man_running":{"e":"\u{1f3c3}\u{200d}\u{2642}\u{fe0f}","c":"1f3c3-200d-2642-fe0f"},"person_running_facing_right":{"e":"\u{1f3c3}\u{200d}\u{27a1}\u{fe0f}","c":"1f3c3-200d-27a1-fe0f"},"person_running":{"e":"\u{1f3c3}","c":"1f3c3"},"woman_surfing:_light_skin_tone":{"e":"\u{1f3c4}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f3c4-1f3fb-200d-2640-fe0f"},"man_surfing:_light_skin_tone":{"e":"\u{1f3c4}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f3c4-1f3fb-200d-2642-fe0f"},"person_surfing_light_skin_tone":{"e":"\u{1f3c4}\u{1f3fb}","c":"1f3c4-1f3fb"},"woman_surfing:_medium_light_skin_tone":{"e":"\u{1f3c4}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f3c4-1f3fc-200d-2640-fe0f"},"man_surfing:_medium_light_skin_tone":{"e":"\u{1f3c4}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f3c4-1f3fc-200d-2642-fe0f"},"person_surfing_medium_light_skin_tone":{"e":"\u{1f3c4}\u{1f3fc}","c":"1f3c4-1f3fc"},"woman_surfing:_medium_skin_tone":{"e":"\u{1f3c4}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f3c4-1f3fd-200d-2640-fe0f"},"man_surfing:_medium_skin_tone":{"e":"\u{1f3c4}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f3c4-1f3fd-200d-2642-fe0f"},"person_surfing_medium_skin_tone":{"e":"\u{1f3c4}\u{1f3fd}","c":"1f3c4-1f3fd"},"woman_surfing:_medium_dark_skin_tone":{"e":"\u{1f3c4}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f3c4-1f3fe-200d-2640-fe0f"},"man_surfing:_medium_dark_skin_tone":{"e":"\u{1f3c4}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f3c4-1f3fe-200d-2642-fe0f"},"person_surfing_medium_dark_skin_tone":{"e":"\u{1f3c4}\u{1f3fe}","c":"1f3c4-1f3fe"},"woman_surfing:_dark_skin_tone":{"e":"\u{1f3c4}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f3c4-1f3ff-200d-2640-fe0f"},"man_surfing:_dark_skin_tone":{"e":"\u{1f3c4}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f3c4-1f3ff-200d-2642-fe0f"},"person_surfing_dark_skin_tone":{"e":"\u{1f3c4}\u{1f3ff}","c":"1f3c4-1f3ff"},"woman_surfing":{"e":"\u{1f3c4}\u{200d}\u{2640}\u{fe0f}","c":"1f3c4-200d-2640-fe0f"},"man_surfing":{"e":"\u{1f3c4}\u{200d}\u{2642}\u{fe0f}","c":"1f3c4-200d-2642-fe0f"},"person_surfing":{"e":"\u{1f3c4}","c":"1f3c4"},"sports_medal":{"e":"\u{1f3c5}","c":"1f3c5"},"trophy":{"e":"\u{1f3c6}","c":"1f3c6"},"horse_racing_light_skin_tone":{"e":"\u{1f3c7}\u{1f3fb}","c":"1f3c7-1f3fb"},"horse_racing_medium_light_skin_tone":{"e":"\u{1f3c7}\u{1f3fc}","c":"1f3c7-1f3fc"},"horse_racing_medium_skin_tone":{"e":"\u{1f3c7}\u{1f3fd}","c":"1f3c7-1f3fd"},"horse_racing_medium_dark_skin_tone":{"e":"\u{1f3c7}\u{1f3fe}","c":"1f3c7-1f3fe"},"horse_racing_dark_skin_tone":{"e":"\u{1f3c7}\u{1f3ff}","c":"1f3c7-1f3ff"},"horse_racing":{"e":"\u{1f3c7}","c":"1f3c7"},"american_football":{"e":"\u{1f3c8}","c":"1f3c8"},"rugby_football":{"e":"\u{1f3c9}","c":"1f3c9"},"woman_swimming:_light_skin_tone":{"e":"\u{1f3ca}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f3ca-1f3fb-200d-2640-fe0f"},"man_swimming:_light_skin_tone":{"e":"\u{1f3ca}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f3ca-1f3fb-200d-2642-fe0f"},"person_swimming_light_skin_tone":{"e":"\u{1f3ca}\u{1f3fb}","c":"1f3ca-1f3fb"},"woman_swimming:_medium_light_skin_tone":{"e":"\u{1f3ca}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f3ca-1f3fc-200d-2640-fe0f"},"man_swimming:_medium_light_skin_tone":{"e":"\u{1f3ca}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f3ca-1f3fc-200d-2642-fe0f"},"person_swimming_medium_light_skin_tone":{"e":"\u{1f3ca}\u{1f3fc}","c":"1f3ca-1f3fc"},"woman_swimming:_medium_skin_tone":{"e":"\u{1f3ca}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f3ca-1f3fd-200d-2640-fe0f"},"man_swimming:_medium_skin_tone":{"e":"\u{1f3ca}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f3ca-1f3fd-200d-2642-fe0f"},"person_swimming_medium_skin_tone":{"e":"\u{1f3ca}\u{1f3fd}","c":"1f3ca-1f3fd"},"woman_swimming:_medium_dark_skin_tone":{"e":"\u{1f3ca}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f3ca-1f3fe-200d-2640-fe0f"},"man_swimming:_medium_dark_skin_tone":{"e":"\u{1f3ca}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f3ca-1f3fe-200d-2642-fe0f"},"person_swimming_medium_dark_skin_tone":{"e":"\u{1f3ca}\u{1f3fe}","c":"1f3ca-1f3fe"},"woman_swimming:_dark_skin_tone":{"e":"\u{1f3ca}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f3ca-1f3ff-200d-2640-fe0f"},"man_swimming:_dark_skin_tone":{"e":"\u{1f3ca}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f3ca-1f3ff-200d-2642-fe0f"},"person_swimming_dark_skin_tone":{"e":"\u{1f3ca}\u{1f3ff}","c":"1f3ca-1f3ff"},"woman_swimming":{"e":"\u{1f3ca}\u{200d}\u{2640}\u{fe0f}","c":"1f3ca-200d-2640-fe0f"},"man_swimming":{"e":"\u{1f3ca}\u{200d}\u{2642}\u{fe0f}","c":"1f3ca-200d-2642-fe0f"},"person_swimming":{"e":"\u{1f3ca}","c":"1f3ca"},"woman_lifting_weights:_light_skin_tone":{"e":"\u{1f3cb}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f3cb-1f3fb-200d-2640-fe0f"},"man_lifting_weights:_light_skin_tone":{"e":"\u{1f3cb}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f3cb-1f3fb-200d-2642-fe0f"},"person_lifting_weights_light_skin_tone":{"e":"\u{1f3cb}\u{1f3fb}","c":"1f3cb-1f3fb"},"woman_lifting_weights:_medium_light_skin_tone":{"e":"\u{1f3cb}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f3cb-1f3fc-200d-2640-fe0f"},"man_lifting_weights:_medium_light_skin_tone":{"e":"\u{1f3cb}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f3cb-1f3fc-200d-2642-fe0f"},"person_lifting_weights_medium_light_skin_tone":{"e":"\u{1f3cb}\u{1f3fc}","c":"1f3cb-1f3fc"},"woman_lifting_weights:_medium_skin_tone":{"e":"\u{1f3cb}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f3cb-1f3fd-200d-2640-fe0f"},"man_lifting_weights:_medium_skin_tone":{"e":"\u{1f3cb}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f3cb-1f3fd-200d-2642-fe0f"},"person_lifting_weights_medium_skin_tone":{"e":"\u{1f3cb}\u{1f3fd}","c":"1f3cb-1f3fd"},"woman_lifting_weights:_medium_dark_skin_tone":{"e":"\u{1f3cb}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f3cb-1f3fe-200d-2640-fe0f"},"man_lifting_weights:_medium_dark_skin_tone":{"e":"\u{1f3cb}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f3cb-1f3fe-200d-2642-fe0f"},"person_lifting_weights_medium_dark_skin_tone":{"e":"\u{1f3cb}\u{1f3fe}","c":"1f3cb-1f3fe"},"woman_lifting_weights:_dark_skin_tone":{"e":"\u{1f3cb}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f3cb-1f3ff-200d-2640-fe0f"},"man_lifting_weights:_dark_skin_tone":{"e":"\u{1f3cb}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f3cb-1f3ff-200d-2642-fe0f"},"person_lifting_weights_dark_skin_tone":{"e":"\u{1f3cb}\u{1f3ff}","c":"1f3cb-1f3ff"},"woman_lifting_weights":{"e":"\u{1f3cb}\u{fe0f}\u{200d}\u{2640}\u{fe0f}","c":"1f3cb-fe0f-200d-2640-fe0f"},"man_lifting_weights":{"e":"\u{1f3cb}\u{fe0f}\u{200d}\u{2642}\u{fe0f}","c":"1f3cb-fe0f-200d-2642-fe0f"},"person_lifting_weights":{"e":"\u{1f3cb}","c":"1f3cb"},"woman_golfing:_light_skin_tone":{"e":"\u{1f3cc}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f3cc-1f3fb-200d-2640-fe0f"},"man_golfing:_light_skin_tone":{"e":"\u{1f3cc}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f3cc-1f3fb-200d-2642-fe0f"},"person_golfing_light_skin_tone":{"e":"\u{1f3cc}\u{1f3fb}","c":"1f3cc-1f3fb"},"woman_golfing:_medium_light_skin_tone":{"e":"\u{1f3cc}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f3cc-1f3fc-200d-2640-fe0f"},"man_golfing:_medium_light_skin_tone":{"e":"\u{1f3cc}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f3cc-1f3fc-200d-2642-fe0f"},"person_golfing_medium_light_skin_tone":{"e":"\u{1f3cc}\u{1f3fc}","c":"1f3cc-1f3fc"},"woman_golfing:_medium_skin_tone":{"e":"\u{1f3cc}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f3cc-1f3fd-200d-2640-fe0f"},"man_golfing:_medium_skin_tone":{"e":"\u{1f3cc}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f3cc-1f3fd-200d-2642-fe0f"},"person_golfing_medium_skin_tone":{"e":"\u{1f3cc}\u{1f3fd}","c":"1f3cc-1f3fd"},"woman_golfing:_medium_dark_skin_tone":{"e":"\u{1f3cc}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f3cc-1f3fe-200d-2640-fe0f"},"man_golfing:_medium_dark_skin_tone":{"e":"\u{1f3cc}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f3cc-1f3fe-200d-2642-fe0f"},"person_golfing_medium_dark_skin_tone":{"e":"\u{1f3cc}\u{1f3fe}","c":"1f3cc-1f3fe"},"woman_golfing:_dark_skin_tone":{"e":"\u{1f3cc}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f3cc-1f3ff-200d-2640-fe0f"},"man_golfing:_dark_skin_tone":{"e":"\u{1f3cc}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f3cc-1f3ff-200d-2642-fe0f"},"person_golfing_dark_skin_tone":{"e":"\u{1f3cc}\u{1f3ff}","c":"1f3cc-1f3ff"},"woman_golfing":{"e":"\u{1f3cc}\u{fe0f}\u{200d}\u{2640}\u{fe0f}","c":"1f3cc-fe0f-200d-2640-fe0f"},"man_golfing":{"e":"\u{1f3cc}\u{fe0f}\u{200d}\u{2642}\u{fe0f}","c":"1f3cc-fe0f-200d-2642-fe0f"},"person_golfing":{"e":"\u{1f3cc}","c":"1f3cc"},"motorcycle":{"e":"\u{1f3cd}","c":"1f3cd"},"racing_car":{"e":"\u{1f3ce}","c":"1f3ce"},"cricket_game":{"e":"\u{1f3cf}","c":"1f3cf"},"volleyball":{"e":"\u{1f3d0}","c":"1f3d0"},"field_hockey":{"e":"\u{1f3d1}","c":"1f3d1"},"ice_hockey":{"e":"\u{1f3d2}","c":"1f3d2"},"ping_pong":{"e":"\u{1f3d3}","c":"1f3d3"},"snow_capped_mountain":{"e":"\u{1f3d4}","c":"1f3d4"},"camping":{"e":"\u{1f3d5}","c":"1f3d5"},"beach_with_umbrella":{"e":"\u{1f3d6}","c":"1f3d6"},"building_construction":{"e":"\u{1f3d7}","c":"1f3d7"},"houses":{"e":"\u{1f3d8}","c":"1f3d8"},"cityscape":{"e":"\u{1f3d9}","c":"1f3d9"},"derelict_house":{"e":"\u{1f3da}","c":"1f3da"},"classical_building":{"e":"\u{1f3db}","c":"1f3db"},"desert":{"e":"\u{1f3dc}","c":"1f3dc"},"desert_island":{"e":"\u{1f3dd}","c":"1f3dd"},"national_park":{"e":"\u{1f3de}","c":"1f3de"},"stadium":{"e":"\u{1f3df}","c":"1f3df"},"house":{"e":"\u{1f3e0}","c":"1f3e0"},"house_with_garden":{"e":"\u{1f3e1}","c":"1f3e1"},"office_building":{"e":"\u{1f3e2}","c":"1f3e2"},"japanese_post_office":{"e":"\u{1f3e3}","c":"1f3e3"},"post_office":{"e":"\u{1f3e4}","c":"1f3e4"},"hospital":{"e":"\u{1f3e5}","c":"1f3e5"},"bank":{"e":"\u{1f3e6}","c":"1f3e6"},"atm_sign":{"e":"\u{1f3e7}","c":"1f3e7"},"hotel":{"e":"\u{1f3e8}","c":"1f3e8"},"love_hotel":{"e":"\u{1f3e9}","c":"1f3e9"},"convenience_store":{"e":"\u{1f3ea}","c":"1f3ea"},"school":{"e":"\u{1f3eb}","c":"1f3eb"},"department_store":{"e":"\u{1f3ec}","c":"1f3ec"},"factory":{"e":"\u{1f3ed}","c":"1f3ed"},"red_paper_lantern":{"e":"\u{1f3ee}","c":"1f3ee"},"japanese_castle":{"e":"\u{1f3ef}","c":"1f3ef"},"castle":{"e":"\u{1f3f0}","c":"1f3f0"},"rainbow_flag":{"e":"\u{1f3f3}\u{fe0f}\u{200d}\u{1f308}","c":"1f3f3-fe0f-200d-1f308"},"transgender_flag":{"e":"\u{1f3f3}\u{fe0f}\u{200d}\u{26a7}\u{fe0f}","c":"1f3f3-fe0f-200d-26a7-fe0f"},"white_flag":{"e":"\u{1f3f3}","c":"1f3f3"},"pirate_flag":{"e":"\u{1f3f4}\u{200d}\u{2620}\u{fe0f}","c":"1f3f4-200d-2620-fe0f"},"flag_england":{"e":"\u{1f3f4}\u{e0067}\u{e0062}\u{e0065}\u{e006e}\u{e0067}\u{e007f}","c":"1f3f4-e0067-e0062-e0065-e006e-e0067-e007f"},"flag_scotland":{"e":"\u{1f3f4}\u{e0067}\u{e0062}\u{e0073}\u{e0063}\u{e0074}\u{e007f}","c":"1f3f4-e0067-e0062-e0073-e0063-e0074-e007f"},"flag_wales":{"e":"\u{1f3f4}\u{e0067}\u{e0062}\u{e0077}\u{e006c}\u{e0073}\u{e007f}","c":"1f3f4-e0067-e0062-e0077-e006c-e0073-e007f"},"black_flag":{"e":"\u{1f3f4}","c":"1f3f4"},"rosette":{"e":"\u{1f3f5}","c":"1f3f5"},"label":{"e":"\u{1f3f7}","c":"1f3f7"},"badminton":{"e":"\u{1f3f8}","c":"1f3f8"},"bow_and_arrow":{"e":"\u{1f3f9}","c":"1f3f9"},"amphora":{"e":"\u{1f3fa}","c":"1f3fa"},"light_skin_tone":{"e":"\u{1f3fb}","c":"1f3fb"},"medium_light_skin_tone":{"e":"\u{1f3fc}","c":"1f3fc"},"medium_skin_tone":{"e":"\u{1f3fd}","c":"1f3fd"},"medium_dark_skin_tone":{"e":"\u{1f3fe}","c":"1f3fe"},"dark_skin_tone":{"e":"\u{1f3ff}","c":"1f3ff"},"rat":{"e":"\u{1f400}","c":"1f400"},"mouse":{"e":"\u{1f401}","c":"1f401"},"ox":{"e":"\u{1f402}","c":"1f402"},"water_buffalo":{"e":"\u{1f403}","c":"1f403"},"cow":{"e":"\u{1f404}","c":"1f404"},"tiger":{"e":"\u{1f405}","c":"1f405"},"leopard":{"e":"\u{1f406}","c":"1f406"},"rabbit":{"e":"\u{1f407}","c":"1f407"},"black_cat":{"e":"\u{1f408}\u{200d}\u{2b1b}","c":"1f408-200d-2b1b"},"cat":{"e":"\u{1f408}","c":"1f408"},"dragon":{"e":"\u{1f409}","c":"1f409"},"crocodile":{"e":"\u{1f40a}","c":"1f40a"},"whale":{"e":"\u{1f40b}","c":"1f40b"},"snail":{"e":"\u{1f40c}","c":"1f40c"},"snake":{"e":"\u{1f40d}","c":"1f40d"},"horse":{"e":"\u{1f40e}","c":"1f40e"},"ram":{"e":"\u{1f40f}","c":"1f40f"},"goat":{"e":"\u{1f410}","c":"1f410"},"ewe":{"e":"\u{1f411}","c":"1f411"},"monkey":{"e":"\u{1f412}","c":"1f412"},"rooster":{"e":"\u{1f413}","c":"1f413"},"chicken":{"e":"\u{1f414}","c":"1f414"},"service_dog":{"e":"\u{1f415}\u{200d}\u{1f9ba}","c":"1f415-200d-1f9ba"},"dog":{"e":"\u{1f415}","c":"1f415"},"pig":{"e":"\u{1f416}","c":"1f416"},"boar":{"e":"\u{1f417}","c":"1f417"},"elephant":{"e":"\u{1f418}","c":"1f418"},"octopus":{"e":"\u{1f419}","c":"1f419"},"spiral_shell":{"e":"\u{1f41a}","c":"1f41a"},"bug":{"e":"\u{1f41b}","c":"1f41b"},"ant":{"e":"\u{1f41c}","c":"1f41c"},"honeybee":{"e":"\u{1f41d}","c":"1f41d"},"lady_beetle":{"e":"\u{1f41e}","c":"1f41e"},"fish":{"e":"\u{1f41f}","c":"1f41f"},"tropical_fish":{"e":"\u{1f420}","c":"1f420"},"blowfish":{"e":"\u{1f421}","c":"1f421"},"turtle":{"e":"\u{1f422}","c":"1f422"},"hatching_chick":{"e":"\u{1f423}","c":"1f423"},"baby_chick":{"e":"\u{1f424}","c":"1f424"},"front_facing_baby_chick":{"e":"\u{1f425}","c":"1f425"},"phoenix":{"e":"\u{1f426}\u{200d}\u{1f525}","c":"1f426-200d-1f525"},"black_bird":{"e":"\u{1f426}\u{200d}\u{2b1b}","c":"1f426-200d-2b1b"},"bird":{"e":"\u{1f426}","c":"1f426"},"penguin":{"e":"\u{1f427}","c":"1f427"},"koala":{"e":"\u{1f428}","c":"1f428"},"poodle":{"e":"\u{1f429}","c":"1f429"},"camel":{"e":"\u{1f42a}","c":"1f42a"},"two_hump_camel":{"e":"\u{1f42b}","c":"1f42b"},"dolphin":{"e":"\u{1f42c}","c":"1f42c"},"mouse_face":{"e":"\u{1f42d}","c":"1f42d"},"cow_face":{"e":"\u{1f42e}","c":"1f42e"},"tiger_face":{"e":"\u{1f42f}","c":"1f42f"},"rabbit_face":{"e":"\u{1f430}","c":"1f430"},"cat_face":{"e":"\u{1f431}","c":"1f431"},"dragon_face":{"e":"\u{1f432}","c":"1f432"},"spouting_whale":{"e":"\u{1f433}","c":"1f433"},"horse_face":{"e":"\u{1f434}","c":"1f434"},"monkey_face":{"e":"\u{1f435}","c":"1f435"},"dog_face":{"e":"\u{1f436}","c":"1f436"},"pig_face":{"e":"\u{1f437}","c":"1f437"},"frog":{"e":"\u{1f438}","c":"1f438"},"hamster":{"e":"\u{1f439}","c":"1f439"},"wolf":{"e":"\u{1f43a}","c":"1f43a"},"polar_bear":{"e":"\u{1f43b}\u{200d}\u{2744}\u{fe0f}","c":"1f43b-200d-2744-fe0f"},"bear":{"e":"\u{1f43b}","c":"1f43b"},"panda":{"e":"\u{1f43c}","c":"1f43c"},"pig_nose":{"e":"\u{1f43d}","c":"1f43d"},"paw_prints":{"e":"\u{1f43e}","c":"1f43e"},"chipmunk":{"e":"\u{1f43f}","c":"1f43f"},"eyes":{"e":"\u{1f440}","c":"1f440"},"eye_in_speech_bubble":{"e":"\u{1f441}\u{200d}\u{1f5e8}","c":"1f441-200d-1f5e8"},"eye":{"e":"\u{1f441}","c":"1f441"},"ear_light_skin_tone":{"e":"\u{1f442}\u{1f3fb}","c":"1f442-1f3fb"},"ear_medium_light_skin_tone":{"e":"\u{1f442}\u{1f3fc}","c":"1f442-1f3fc"},"ear_medium_skin_tone":{"e":"\u{1f442}\u{1f3fd}","c":"1f442-1f3fd"},"ear_medium_dark_skin_tone":{"e":"\u{1f442}\u{1f3fe}","c":"1f442-1f3fe"},"ear_dark_skin_tone":{"e":"\u{1f442}\u{1f3ff}","c":"1f442-1f3ff"},"ear":{"e":"\u{1f442}","c":"1f442"},"nose_light_skin_tone":{"e":"\u{1f443}\u{1f3fb}","c":"1f443-1f3fb"},"nose_medium_light_skin_tone":{"e":"\u{1f443}\u{1f3fc}","c":"1f443-1f3fc"},"nose_medium_skin_tone":{"e":"\u{1f443}\u{1f3fd}","c":"1f443-1f3fd"},"nose_medium_dark_skin_tone":{"e":"\u{1f443}\u{1f3fe}","c":"1f443-1f3fe"},"nose_dark_skin_tone":{"e":"\u{1f443}\u{1f3ff}","c":"1f443-1f3ff"},"nose":{"e":"\u{1f443}","c":"1f443"},"mouth":{"e":"\u{1f444}","c":"1f444"},"tongue":{"e":"\u{1f445}","c":"1f445"},"backhand_index_pointing_up_light_skin_tone":{"e":"\u{1f446}\u{1f3fb}","c":"1f446-1f3fb"},"backhand_index_pointing_up_medium_light_skin_tone":{"e":"\u{1f446}\u{1f3fc}","c":"1f446-1f3fc"},"backhand_index_pointing_up_medium_skin_tone":{"e":"\u{1f446}\u{1f3fd}","c":"1f446-1f3fd"},"backhand_index_pointing_up_medium_dark_skin_tone":{"e":"\u{1f446}\u{1f3fe}","c":"1f446-1f3fe"},"backhand_index_pointing_up_dark_skin_tone":{"e":"\u{1f446}\u{1f3ff}","c":"1f446-1f3ff"},"backhand_index_pointing_up":{"e":"\u{1f446}","c":"1f446"},"backhand_index_pointing_down_light_skin_tone":{"e":"\u{1f447}\u{1f3fb}","c":"1f447-1f3fb"},"backhand_index_pointing_down_medium_light_skin_tone":{"e":"\u{1f447}\u{1f3fc}","c":"1f447-1f3fc"},"backhand_index_pointing_down_medium_skin_tone":{"e":"\u{1f447}\u{1f3fd}","c":"1f447-1f3fd"},"backhand_index_pointing_down_medium_dark_skin_tone":{"e":"\u{1f447}\u{1f3fe}","c":"1f447-1f3fe"},"backhand_index_pointing_down_dark_skin_tone":{"e":"\u{1f447}\u{1f3ff}","c":"1f447-1f3ff"},"backhand_index_pointing_down":{"e":"\u{1f447}","c":"1f447"},"backhand_index_pointing_left_light_skin_tone":{"e":"\u{1f448}\u{1f3fb}","c":"1f448-1f3fb"},"backhand_index_pointing_left_medium_light_skin_tone":{"e":"\u{1f448}\u{1f3fc}","c":"1f448-1f3fc"},"backhand_index_pointing_left_medium_skin_tone":{"e":"\u{1f448}\u{1f3fd}","c":"1f448-1f3fd"},"backhand_index_pointing_left_medium_dark_skin_tone":{"e":"\u{1f448}\u{1f3fe}","c":"1f448-1f3fe"},"backhand_index_pointing_left_dark_skin_tone":{"e":"\u{1f448}\u{1f3ff}","c":"1f448-1f3ff"},"backhand_index_pointing_left":{"e":"\u{1f448}","c":"1f448"},"backhand_index_pointing_right_light_skin_tone":{"e":"\u{1f449}\u{1f3fb}","c":"1f449-1f3fb"},"backhand_index_pointing_right_medium_light_skin_tone":{"e":"\u{1f449}\u{1f3fc}","c":"1f449-1f3fc"},"backhand_index_pointing_right_medium_skin_tone":{"e":"\u{1f449}\u{1f3fd}","c":"1f449-1f3fd"},"backhand_index_pointing_right_medium_dark_skin_tone":{"e":"\u{1f449}\u{1f3fe}","c":"1f449-1f3fe"},"backhand_index_pointing_right_dark_skin_tone":{"e":"\u{1f449}\u{1f3ff}","c":"1f449-1f3ff"},"backhand_index_pointing_right":{"e":"\u{1f449}","c":"1f449"},"oncoming_fist_light_skin_tone":{"e":"\u{1f44a}\u{1f3fb}","c":"1f44a-1f3fb"},"oncoming_fist_medium_light_skin_tone":{"e":"\u{1f44a}\u{1f3fc}","c":"1f44a-1f3fc"},"oncoming_fist_medium_skin_tone":{"e":"\u{1f44a}\u{1f3fd}","c":"1f44a-1f3fd"},"oncoming_fist_medium_dark_skin_tone":{"e":"\u{1f44a}\u{1f3fe}","c":"1f44a-1f3fe"},"oncoming_fist_dark_skin_tone":{"e":"\u{1f44a}\u{1f3ff}","c":"1f44a-1f3ff"},"oncoming_fist":{"e":"\u{1f44a}","c":"1f44a"},"waving_hand_light_skin_tone":{"e":"\u{1f44b}\u{1f3fb}","c":"1f44b-1f3fb"},"waving_hand_medium_light_skin_tone":{"e":"\u{1f44b}\u{1f3fc}","c":"1f44b-1f3fc"},"waving_hand_medium_skin_tone":{"e":"\u{1f44b}\u{1f3fd}","c":"1f44b-1f3fd"},"waving_hand_medium_dark_skin_tone":{"e":"\u{1f44b}\u{1f3fe}","c":"1f44b-1f3fe"},"waving_hand_dark_skin_tone":{"e":"\u{1f44b}\u{1f3ff}","c":"1f44b-1f3ff"},"waving_hand":{"e":"\u{1f44b}","c":"1f44b"},"ok_hand_light_skin_tone":{"e":"\u{1f44c}\u{1f3fb}","c":"1f44c-1f3fb"},"ok_hand_medium_light_skin_tone":{"e":"\u{1f44c}\u{1f3fc}","c":"1f44c-1f3fc"},"ok_hand_medium_skin_tone":{"e":"\u{1f44c}\u{1f3fd}","c":"1f44c-1f3fd"},"ok_hand_medium_dark_skin_tone":{"e":"\u{1f44c}\u{1f3fe}","c":"1f44c-1f3fe"},"ok_hand_dark_skin_tone":{"e":"\u{1f44c}\u{1f3ff}","c":"1f44c-1f3ff"},"ok_hand":{"e":"\u{1f44c}","c":"1f44c"},"thumbs_up_light_skin_tone":{"e":"\u{1f44d}\u{1f3fb}","c":"1f44d-1f3fb"},"thumbs_up_medium_light_skin_tone":{"e":"\u{1f44d}\u{1f3fc}","c":"1f44d-1f3fc"},"thumbs_up_medium_skin_tone":{"e":"\u{1f44d}\u{1f3fd}","c":"1f44d-1f3fd"},"thumbs_up_medium_dark_skin_tone":{"e":"\u{1f44d}\u{1f3fe}","c":"1f44d-1f3fe"},"thumbs_up_dark_skin_tone":{"e":"\u{1f44d}\u{1f3ff}","c":"1f44d-1f3ff"},"thumbs_up":{"e":"\u{1f44d}","c":"1f44d"},"thumbs_down_light_skin_tone":{"e":"\u{1f44e}\u{1f3fb}","c":"1f44e-1f3fb"},"thumbs_down_medium_light_skin_tone":{"e":"\u{1f44e}\u{1f3fc}","c":"1f44e-1f3fc"},"thumbs_down_medium_skin_tone":{"e":"\u{1f44e}\u{1f3fd}","c":"1f44e-1f3fd"},"thumbs_down_medium_dark_skin_tone":{"e":"\u{1f44e}\u{1f3fe}","c":"1f44e-1f3fe"},"thumbs_down_dark_skin_tone":{"e":"\u{1f44e}\u{1f3ff}","c":"1f44e-1f3ff"},"thumbs_down":{"e":"\u{1f44e}","c":"1f44e"},"clapping_hands_light_skin_tone":{"e":"\u{1f44f}\u{1f3fb}","c":"1f44f-1f3fb"},"clapping_hands_medium_light_skin_tone":{"e":"\u{1f44f}\u{1f3fc}","c":"1f44f-1f3fc"},"clapping_hands_medium_skin_tone":{"e":"\u{1f44f}\u{1f3fd}","c":"1f44f-1f3fd"},"clapping_hands_medium_dark_skin_tone":{"e":"\u{1f44f}\u{1f3fe}","c":"1f44f-1f3fe"},"clapping_hands_dark_skin_tone":{"e":"\u{1f44f}\u{1f3ff}","c":"1f44f-1f3ff"},"clapping_hands":{"e":"\u{1f44f}","c":"1f44f"},"open_hands_light_skin_tone":{"e":"\u{1f450}\u{1f3fb}","c":"1f450-1f3fb"},"open_hands_medium_light_skin_tone":{"e":"\u{1f450}\u{1f3fc}","c":"1f450-1f3fc"},"open_hands_medium_skin_tone":{"e":"\u{1f450}\u{1f3fd}","c":"1f450-1f3fd"},"open_hands_medium_dark_skin_tone":{"e":"\u{1f450}\u{1f3fe}","c":"1f450-1f3fe"},"open_hands_dark_skin_tone":{"e":"\u{1f450}\u{1f3ff}","c":"1f450-1f3ff"},"open_hands":{"e":"\u{1f450}","c":"1f450"},"crown":{"e":"\u{1f451}","c":"1f451"},"woman\u2019s_hat":{"e":"\u{1f452}","c":"1f452"},"glasses":{"e":"\u{1f453}","c":"1f453"},"necktie":{"e":"\u{1f454}","c":"1f454"},"t_shirt":{"e":"\u{1f455}","c":"1f455"},"jeans":{"e":"\u{1f456}","c":"1f456"},"dress":{"e":"\u{1f457}","c":"1f457"},"kimono":{"e":"\u{1f458}","c":"1f458"},"bikini":{"e":"\u{1f459}","c":"1f459"},"woman\u2019s_clothes":{"e":"\u{1f45a}","c":"1f45a"},"purse":{"e":"\u{1f45b}","c":"1f45b"},"handbag":{"e":"\u{1f45c}","c":"1f45c"},"clutch_bag":{"e":"\u{1f45d}","c":"1f45d"},"man\u2019s_shoe":{"e":"\u{1f45e}","c":"1f45e"},"running_shoe":{"e":"\u{1f45f}","c":"1f45f"},"high_heeled_shoe":{"e":"\u{1f460}","c":"1f460"},"woman\u2019s_sandal":{"e":"\u{1f461}","c":"1f461"},"woman\u2019s_boot":{"e":"\u{1f462}","c":"1f462"},"footprints":{"e":"\u{1f463}","c":"1f463"},"bust_in_silhouette":{"e":"\u{1f464}","c":"1f464"},"busts_in_silhouette":{"e":"\u{1f465}","c":"1f465"},"boy_light_skin_tone":{"e":"\u{1f466}\u{1f3fb}","c":"1f466-1f3fb"},"boy_medium_light_skin_tone":{"e":"\u{1f466}\u{1f3fc}","c":"1f466-1f3fc"},"boy_medium_skin_tone":{"e":"\u{1f466}\u{1f3fd}","c":"1f466-1f3fd"},"boy_medium_dark_skin_tone":{"e":"\u{1f466}\u{1f3fe}","c":"1f466-1f3fe"},"boy_dark_skin_tone":{"e":"\u{1f466}\u{1f3ff}","c":"1f466-1f3ff"},"boy":{"e":"\u{1f466}","c":"1f466"},"girl_light_skin_tone":{"e":"\u{1f467}\u{1f3fb}","c":"1f467-1f3fb"},"girl_medium_light_skin_tone":{"e":"\u{1f467}\u{1f3fc}","c":"1f467-1f3fc"},"girl_medium_skin_tone":{"e":"\u{1f467}\u{1f3fd}","c":"1f467-1f3fd"},"girl_medium_dark_skin_tone":{"e":"\u{1f467}\u{1f3fe}","c":"1f467-1f3fe"},"girl_dark_skin_tone":{"e":"\u{1f467}\u{1f3ff}","c":"1f467-1f3ff"},"girl":{"e":"\u{1f467}","c":"1f467"},"man_farmer:_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f33e}","c":"1f468-1f3fb-200d-1f33e"},"man_cook:_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f373}","c":"1f468-1f3fb-200d-1f373"},"man_feeding_baby:_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f37c}","c":"1f468-1f3fb-200d-1f37c"},"man_student:_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f393}","c":"1f468-1f3fb-200d-1f393"},"man_singer:_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f3a4}","c":"1f468-1f3fb-200d-1f3a4"},"man_artist:_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f3a8}","c":"1f468-1f3fb-200d-1f3a8"},"man_teacher:_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f3eb}","c":"1f468-1f3fb-200d-1f3eb"},"man_factory_worker:_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f3ed}","c":"1f468-1f3fb-200d-1f3ed"},"men_with_bunny_ears:_light_skin_tone,_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f430}\u{200d}\u{1f468}\u{1f3fc}","c":"1f468-1f3fb-200d-1f430-200d-1f468-1f3fc"},"men_with_bunny_ears:_light_skin_tone,_medium_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f430}\u{200d}\u{1f468}\u{1f3fd}","c":"1f468-1f3fb-200d-1f430-200d-1f468-1f3fd"},"men_with_bunny_ears:_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f430}\u{200d}\u{1f468}\u{1f3fe}","c":"1f468-1f3fb-200d-1f430-200d-1f468-1f3fe"},"men_with_bunny_ears:_light_skin_tone,_dark_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f430}\u{200d}\u{1f468}\u{1f3ff}","c":"1f468-1f3fb-200d-1f430-200d-1f468-1f3ff"},"man_technologist:_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f4bb}","c":"1f468-1f3fb-200d-1f4bb"},"man_office_worker:_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f4bc}","c":"1f468-1f3fb-200d-1f4bc"},"man_mechanic:_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f527}","c":"1f468-1f3fb-200d-1f527"},"man_scientist:_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f52c}","c":"1f468-1f3fb-200d-1f52c"},"man_astronaut:_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f680}","c":"1f468-1f3fb-200d-1f680"},"man_firefighter:_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f692}","c":"1f468-1f3fb-200d-1f692"},"men_holding_hands:_light_skin_tone,_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fc}","c":"1f468-1f3fb-200d-1f91d-200d-1f468-1f3fc"},"men_holding_hands:_light_skin_tone,_medium_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fd}","c":"1f468-1f3fb-200d-1f91d-200d-1f468-1f3fd"},"men_holding_hands:_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fe}","c":"1f468-1f3fb-200d-1f91d-200d-1f468-1f3fe"},"men_holding_hands:_light_skin_tone,_dark_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3ff}","c":"1f468-1f3fb-200d-1f91d-200d-1f468-1f3ff"},"man_with_white_cane_facing_right:_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f9af}\u{200d}\u{27a1}\u{fe0f}","c":"1f468-1f3fb-200d-1f9af-200d-27a1-fe0f"},"man_with_white_cane:_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f9af}","c":"1f468-1f3fb-200d-1f9af"},"man:_light_skin_tone,_red_hair":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f9b0}","c":"1f468-1f3fb-200d-1f9b0"},"man:_light_skin_tone,_curly_hair":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f9b1}","c":"1f468-1f3fb-200d-1f9b1"},"man:_light_skin_tone,_bald":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f9b2}","c":"1f468-1f3fb-200d-1f9b2"},"man:_light_skin_tone,_white_hair":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f9b3}","c":"1f468-1f3fb-200d-1f9b3"},"man_in_motorized_wheelchair_facing_right:_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f9bc}\u{200d}\u{27a1}\u{fe0f}","c":"1f468-1f3fb-200d-1f9bc-200d-27a1-fe0f"},"man_in_motorized_wheelchair:_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f9bc}","c":"1f468-1f3fb-200d-1f9bc"},"man_in_manual_wheelchair_facing_right:_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f9bd}\u{200d}\u{27a1}\u{fe0f}","c":"1f468-1f3fb-200d-1f9bd-200d-27a1-fe0f"},"man_in_manual_wheelchair:_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1f9bd}","c":"1f468-1f3fb-200d-1f9bd"},"men_wrestling:_light_skin_tone,_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1faef}\u{200d}\u{1f468}\u{1f3fc}","c":"1f468-1f3fb-200d-1faef-200d-1f468-1f3fc"},"men_wrestling:_light_skin_tone,_medium_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1faef}\u{200d}\u{1f468}\u{1f3fd}","c":"1f468-1f3fb-200d-1faef-200d-1f468-1f3fd"},"men_wrestling:_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1faef}\u{200d}\u{1f468}\u{1f3fe}","c":"1f468-1f3fb-200d-1faef-200d-1f468-1f3fe"},"men_wrestling:_light_skin_tone,_dark_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{1faef}\u{200d}\u{1f468}\u{1f3ff}","c":"1f468-1f3fb-200d-1faef-200d-1f468-1f3ff"},"man_health_worker:_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{2695}\u{fe0f}","c":"1f468-1f3fb-200d-2695-fe0f"},"man_judge:_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{2696}\u{fe0f}","c":"1f468-1f3fb-200d-2696-fe0f"},"man_pilot:_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{2708}\u{fe0f}","c":"1f468-1f3fb-200d-2708-fe0f"},"couple_with_heart:_man,_man,_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fb}","c":"1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb"},"couple_with_heart:_man,_man,_light_skin_tone,_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fc}","c":"1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fc"},"couple_with_heart:_man,_man,_light_skin_tone,_medium_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fd}","c":"1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fd"},"couple_with_heart:_man,_man,_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fe}","c":"1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fe"},"couple_with_heart:_man,_man,_light_skin_tone,_dark_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3ff}","c":"1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3ff"},"kiss:_man,_man,_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fb}","c":"1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb"},"kiss:_man,_man,_light_skin_tone,_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fc}","c":"1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc"},"kiss:_man,_man,_light_skin_tone,_medium_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fd}","c":"1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd"},"kiss:_man,_man,_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fe}","c":"1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe"},"kiss:_man,_man,_light_skin_tone,_dark_skin_tone":{"e":"\u{1f468}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3ff}","c":"1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff"},"man_light_skin_tone":{"e":"\u{1f468}\u{1f3fb}","c":"1f468-1f3fb"},"man_farmer:_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f33e}","c":"1f468-1f3fc-200d-1f33e"},"man_cook:_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f373}","c":"1f468-1f3fc-200d-1f373"},"man_feeding_baby:_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f37c}","c":"1f468-1f3fc-200d-1f37c"},"man_student:_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f393}","c":"1f468-1f3fc-200d-1f393"},"man_singer:_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f3a4}","c":"1f468-1f3fc-200d-1f3a4"},"man_artist:_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f3a8}","c":"1f468-1f3fc-200d-1f3a8"},"man_teacher:_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f3eb}","c":"1f468-1f3fc-200d-1f3eb"},"man_factory_worker:_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f3ed}","c":"1f468-1f3fc-200d-1f3ed"},"men_with_bunny_ears:_medium_light_skin_tone,_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f430}\u{200d}\u{1f468}\u{1f3fb}","c":"1f468-1f3fc-200d-1f430-200d-1f468-1f3fb"},"men_with_bunny_ears:_medium_light_skin_tone,_medium_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f430}\u{200d}\u{1f468}\u{1f3fd}","c":"1f468-1f3fc-200d-1f430-200d-1f468-1f3fd"},"men_with_bunny_ears:_medium_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f430}\u{200d}\u{1f468}\u{1f3fe}","c":"1f468-1f3fc-200d-1f430-200d-1f468-1f3fe"},"men_with_bunny_ears:_medium_light_skin_tone,_dark_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f430}\u{200d}\u{1f468}\u{1f3ff}","c":"1f468-1f3fc-200d-1f430-200d-1f468-1f3ff"},"man_technologist:_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f4bb}","c":"1f468-1f3fc-200d-1f4bb"},"man_office_worker:_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f4bc}","c":"1f468-1f3fc-200d-1f4bc"},"man_mechanic:_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f527}","c":"1f468-1f3fc-200d-1f527"},"man_scientist:_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f52c}","c":"1f468-1f3fc-200d-1f52c"},"man_astronaut:_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f680}","c":"1f468-1f3fc-200d-1f680"},"man_firefighter:_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f692}","c":"1f468-1f3fc-200d-1f692"},"men_holding_hands:_medium_light_skin_tone,_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fb}","c":"1f468-1f3fc-200d-1f91d-200d-1f468-1f3fb"},"men_holding_hands:_medium_light_skin_tone,_medium_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fd}","c":"1f468-1f3fc-200d-1f91d-200d-1f468-1f3fd"},"men_holding_hands:_medium_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fe}","c":"1f468-1f3fc-200d-1f91d-200d-1f468-1f3fe"},"men_holding_hands:_medium_light_skin_tone,_dark_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3ff}","c":"1f468-1f3fc-200d-1f91d-200d-1f468-1f3ff"},"man_with_white_cane_facing_right:_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f9af}\u{200d}\u{27a1}\u{fe0f}","c":"1f468-1f3fc-200d-1f9af-200d-27a1-fe0f"},"man_with_white_cane:_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f9af}","c":"1f468-1f3fc-200d-1f9af"},"man:_medium_light_skin_tone,_red_hair":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f9b0}","c":"1f468-1f3fc-200d-1f9b0"},"man:_medium_light_skin_tone,_curly_hair":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f9b1}","c":"1f468-1f3fc-200d-1f9b1"},"man:_medium_light_skin_tone,_bald":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f9b2}","c":"1f468-1f3fc-200d-1f9b2"},"man:_medium_light_skin_tone,_white_hair":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f9b3}","c":"1f468-1f3fc-200d-1f9b3"},"man_in_motorized_wheelchair_facing_right:_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f9bc}\u{200d}\u{27a1}\u{fe0f}","c":"1f468-1f3fc-200d-1f9bc-200d-27a1-fe0f"},"man_in_motorized_wheelchair:_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f9bc}","c":"1f468-1f3fc-200d-1f9bc"},"man_in_manual_wheelchair_facing_right:_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f9bd}\u{200d}\u{27a1}\u{fe0f}","c":"1f468-1f3fc-200d-1f9bd-200d-27a1-fe0f"},"man_in_manual_wheelchair:_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1f9bd}","c":"1f468-1f3fc-200d-1f9bd"},"men_wrestling:_medium_light_skin_tone,_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1faef}\u{200d}\u{1f468}\u{1f3fb}","c":"1f468-1f3fc-200d-1faef-200d-1f468-1f3fb"},"men_wrestling:_medium_light_skin_tone,_medium_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1faef}\u{200d}\u{1f468}\u{1f3fd}","c":"1f468-1f3fc-200d-1faef-200d-1f468-1f3fd"},"men_wrestling:_medium_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1faef}\u{200d}\u{1f468}\u{1f3fe}","c":"1f468-1f3fc-200d-1faef-200d-1f468-1f3fe"},"men_wrestling:_medium_light_skin_tone,_dark_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{1faef}\u{200d}\u{1f468}\u{1f3ff}","c":"1f468-1f3fc-200d-1faef-200d-1f468-1f3ff"},"man_health_worker:_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{2695}\u{fe0f}","c":"1f468-1f3fc-200d-2695-fe0f"},"man_judge:_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{2696}\u{fe0f}","c":"1f468-1f3fc-200d-2696-fe0f"},"man_pilot:_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{2708}\u{fe0f}","c":"1f468-1f3fc-200d-2708-fe0f"},"couple_with_heart:_man,_man,_medium_light_skin_tone,_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fb}","c":"1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fb"},"couple_with_heart:_man,_man,_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fc}","c":"1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc"},"couple_with_heart:_man,_man,_medium_light_skin_tone,_medium_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fd}","c":"1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fd"},"couple_with_heart:_man,_man,_medium_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fe}","c":"1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fe"},"couple_with_heart:_man,_man,_medium_light_skin_tone,_dark_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3ff}","c":"1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3ff"},"kiss:_man,_man,_medium_light_skin_tone,_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fb}","c":"1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb"},"kiss:_man,_man,_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fc}","c":"1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc"},"kiss:_man,_man,_medium_light_skin_tone,_medium_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fd}","c":"1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd"},"kiss:_man,_man,_medium_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fe}","c":"1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe"},"kiss:_man,_man,_medium_light_skin_tone,_dark_skin_tone":{"e":"\u{1f468}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3ff}","c":"1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff"},"man_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fc}","c":"1f468-1f3fc"},"man_farmer:_medium_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f33e}","c":"1f468-1f3fd-200d-1f33e"},"man_cook:_medium_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f373}","c":"1f468-1f3fd-200d-1f373"},"man_feeding_baby:_medium_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f37c}","c":"1f468-1f3fd-200d-1f37c"},"man_student:_medium_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f393}","c":"1f468-1f3fd-200d-1f393"},"man_singer:_medium_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f3a4}","c":"1f468-1f3fd-200d-1f3a4"},"man_artist:_medium_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f3a8}","c":"1f468-1f3fd-200d-1f3a8"},"man_teacher:_medium_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f3eb}","c":"1f468-1f3fd-200d-1f3eb"},"man_factory_worker:_medium_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f3ed}","c":"1f468-1f3fd-200d-1f3ed"},"men_with_bunny_ears:_medium_skin_tone,_light_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f430}\u{200d}\u{1f468}\u{1f3fb}","c":"1f468-1f3fd-200d-1f430-200d-1f468-1f3fb"},"men_with_bunny_ears:_medium_skin_tone,_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f430}\u{200d}\u{1f468}\u{1f3fc}","c":"1f468-1f3fd-200d-1f430-200d-1f468-1f3fc"},"men_with_bunny_ears:_medium_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f430}\u{200d}\u{1f468}\u{1f3fe}","c":"1f468-1f3fd-200d-1f430-200d-1f468-1f3fe"},"men_with_bunny_ears:_medium_skin_tone,_dark_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f430}\u{200d}\u{1f468}\u{1f3ff}","c":"1f468-1f3fd-200d-1f430-200d-1f468-1f3ff"},"man_technologist:_medium_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f4bb}","c":"1f468-1f3fd-200d-1f4bb"},"man_office_worker:_medium_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f4bc}","c":"1f468-1f3fd-200d-1f4bc"},"man_mechanic:_medium_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f527}","c":"1f468-1f3fd-200d-1f527"},"man_scientist:_medium_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f52c}","c":"1f468-1f3fd-200d-1f52c"},"man_astronaut:_medium_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f680}","c":"1f468-1f3fd-200d-1f680"},"man_firefighter:_medium_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f692}","c":"1f468-1f3fd-200d-1f692"},"men_holding_hands:_medium_skin_tone,_light_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fb}","c":"1f468-1f3fd-200d-1f91d-200d-1f468-1f3fb"},"men_holding_hands:_medium_skin_tone,_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fc}","c":"1f468-1f3fd-200d-1f91d-200d-1f468-1f3fc"},"men_holding_hands:_medium_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fe}","c":"1f468-1f3fd-200d-1f91d-200d-1f468-1f3fe"},"men_holding_hands:_medium_skin_tone,_dark_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3ff}","c":"1f468-1f3fd-200d-1f91d-200d-1f468-1f3ff"},"man_with_white_cane_facing_right:_medium_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f9af}\u{200d}\u{27a1}\u{fe0f}","c":"1f468-1f3fd-200d-1f9af-200d-27a1-fe0f"},"man_with_white_cane:_medium_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f9af}","c":"1f468-1f3fd-200d-1f9af"},"man:_medium_skin_tone,_red_hair":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f9b0}","c":"1f468-1f3fd-200d-1f9b0"},"man:_medium_skin_tone,_curly_hair":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f9b1}","c":"1f468-1f3fd-200d-1f9b1"},"man:_medium_skin_tone,_bald":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f9b2}","c":"1f468-1f3fd-200d-1f9b2"},"man:_medium_skin_tone,_white_hair":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f9b3}","c":"1f468-1f3fd-200d-1f9b3"},"man_in_motorized_wheelchair_facing_right:_medium_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f9bc}\u{200d}\u{27a1}\u{fe0f}","c":"1f468-1f3fd-200d-1f9bc-200d-27a1-fe0f"},"man_in_motorized_wheelchair:_medium_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f9bc}","c":"1f468-1f3fd-200d-1f9bc"},"man_in_manual_wheelchair_facing_right:_medium_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f9bd}\u{200d}\u{27a1}\u{fe0f}","c":"1f468-1f3fd-200d-1f9bd-200d-27a1-fe0f"},"man_in_manual_wheelchair:_medium_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1f9bd}","c":"1f468-1f3fd-200d-1f9bd"},"men_wrestling:_medium_skin_tone,_light_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1faef}\u{200d}\u{1f468}\u{1f3fb}","c":"1f468-1f3fd-200d-1faef-200d-1f468-1f3fb"},"men_wrestling:_medium_skin_tone,_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1faef}\u{200d}\u{1f468}\u{1f3fc}","c":"1f468-1f3fd-200d-1faef-200d-1f468-1f3fc"},"men_wrestling:_medium_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1faef}\u{200d}\u{1f468}\u{1f3fe}","c":"1f468-1f3fd-200d-1faef-200d-1f468-1f3fe"},"men_wrestling:_medium_skin_tone,_dark_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{1faef}\u{200d}\u{1f468}\u{1f3ff}","c":"1f468-1f3fd-200d-1faef-200d-1f468-1f3ff"},"man_health_worker:_medium_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{2695}\u{fe0f}","c":"1f468-1f3fd-200d-2695-fe0f"},"man_judge:_medium_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{2696}\u{fe0f}","c":"1f468-1f3fd-200d-2696-fe0f"},"man_pilot:_medium_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{2708}\u{fe0f}","c":"1f468-1f3fd-200d-2708-fe0f"},"couple_with_heart:_man,_man,_medium_skin_tone,_light_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fb}","c":"1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fb"},"couple_with_heart:_man,_man,_medium_skin_tone,_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fc}","c":"1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fc"},"couple_with_heart:_man,_man,_medium_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fd}","c":"1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd"},"couple_with_heart:_man,_man,_medium_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fe}","c":"1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fe"},"couple_with_heart:_man,_man,_medium_skin_tone,_dark_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3ff}","c":"1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3ff"},"kiss:_man,_man,_medium_skin_tone,_light_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fb}","c":"1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb"},"kiss:_man,_man,_medium_skin_tone,_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fc}","c":"1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc"},"kiss:_man,_man,_medium_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fd}","c":"1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd"},"kiss:_man,_man,_medium_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fe}","c":"1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe"},"kiss:_man,_man,_medium_skin_tone,_dark_skin_tone":{"e":"\u{1f468}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3ff}","c":"1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff"},"man_medium_skin_tone":{"e":"\u{1f468}\u{1f3fd}","c":"1f468-1f3fd"},"man_farmer:_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f33e}","c":"1f468-1f3fe-200d-1f33e"},"man_cook:_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f373}","c":"1f468-1f3fe-200d-1f373"},"man_feeding_baby:_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f37c}","c":"1f468-1f3fe-200d-1f37c"},"man_student:_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f393}","c":"1f468-1f3fe-200d-1f393"},"man_singer:_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f3a4}","c":"1f468-1f3fe-200d-1f3a4"},"man_artist:_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f3a8}","c":"1f468-1f3fe-200d-1f3a8"},"man_teacher:_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f3eb}","c":"1f468-1f3fe-200d-1f3eb"},"man_factory_worker:_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f3ed}","c":"1f468-1f3fe-200d-1f3ed"},"men_with_bunny_ears:_medium_dark_skin_tone,_light_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f430}\u{200d}\u{1f468}\u{1f3fb}","c":"1f468-1f3fe-200d-1f430-200d-1f468-1f3fb"},"men_with_bunny_ears:_medium_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f430}\u{200d}\u{1f468}\u{1f3fc}","c":"1f468-1f3fe-200d-1f430-200d-1f468-1f3fc"},"men_with_bunny_ears:_medium_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f430}\u{200d}\u{1f468}\u{1f3fd}","c":"1f468-1f3fe-200d-1f430-200d-1f468-1f3fd"},"men_with_bunny_ears:_medium_dark_skin_tone,_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f430}\u{200d}\u{1f468}\u{1f3ff}","c":"1f468-1f3fe-200d-1f430-200d-1f468-1f3ff"},"man_technologist:_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f4bb}","c":"1f468-1f3fe-200d-1f4bb"},"man_office_worker:_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f4bc}","c":"1f468-1f3fe-200d-1f4bc"},"man_mechanic:_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f527}","c":"1f468-1f3fe-200d-1f527"},"man_scientist:_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f52c}","c":"1f468-1f3fe-200d-1f52c"},"man_astronaut:_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f680}","c":"1f468-1f3fe-200d-1f680"},"man_firefighter:_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f692}","c":"1f468-1f3fe-200d-1f692"},"men_holding_hands:_medium_dark_skin_tone,_light_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fb}","c":"1f468-1f3fe-200d-1f91d-200d-1f468-1f3fb"},"men_holding_hands:_medium_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fc}","c":"1f468-1f3fe-200d-1f91d-200d-1f468-1f3fc"},"men_holding_hands:_medium_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fd}","c":"1f468-1f3fe-200d-1f91d-200d-1f468-1f3fd"},"men_holding_hands:_medium_dark_skin_tone,_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3ff}","c":"1f468-1f3fe-200d-1f91d-200d-1f468-1f3ff"},"man_with_white_cane_facing_right:_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f9af}\u{200d}\u{27a1}\u{fe0f}","c":"1f468-1f3fe-200d-1f9af-200d-27a1-fe0f"},"man_with_white_cane:_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f9af}","c":"1f468-1f3fe-200d-1f9af"},"man:_medium_dark_skin_tone,_red_hair":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f9b0}","c":"1f468-1f3fe-200d-1f9b0"},"man:_medium_dark_skin_tone,_curly_hair":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f9b1}","c":"1f468-1f3fe-200d-1f9b1"},"man:_medium_dark_skin_tone,_bald":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f9b2}","c":"1f468-1f3fe-200d-1f9b2"},"man:_medium_dark_skin_tone,_white_hair":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f9b3}","c":"1f468-1f3fe-200d-1f9b3"},"man_in_motorized_wheelchair_facing_right:_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f9bc}\u{200d}\u{27a1}\u{fe0f}","c":"1f468-1f3fe-200d-1f9bc-200d-27a1-fe0f"},"man_in_motorized_wheelchair:_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f9bc}","c":"1f468-1f3fe-200d-1f9bc"},"man_in_manual_wheelchair_facing_right:_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f9bd}\u{200d}\u{27a1}\u{fe0f}","c":"1f468-1f3fe-200d-1f9bd-200d-27a1-fe0f"},"man_in_manual_wheelchair:_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1f9bd}","c":"1f468-1f3fe-200d-1f9bd"},"men_wrestling:_medium_dark_skin_tone,_light_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1faef}\u{200d}\u{1f468}\u{1f3fb}","c":"1f468-1f3fe-200d-1faef-200d-1f468-1f3fb"},"men_wrestling:_medium_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1faef}\u{200d}\u{1f468}\u{1f3fc}","c":"1f468-1f3fe-200d-1faef-200d-1f468-1f3fc"},"men_wrestling:_medium_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1faef}\u{200d}\u{1f468}\u{1f3fd}","c":"1f468-1f3fe-200d-1faef-200d-1f468-1f3fd"},"men_wrestling:_medium_dark_skin_tone,_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{1faef}\u{200d}\u{1f468}\u{1f3ff}","c":"1f468-1f3fe-200d-1faef-200d-1f468-1f3ff"},"man_health_worker:_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{2695}\u{fe0f}","c":"1f468-1f3fe-200d-2695-fe0f"},"man_judge:_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{2696}\u{fe0f}","c":"1f468-1f3fe-200d-2696-fe0f"},"man_pilot:_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{2708}\u{fe0f}","c":"1f468-1f3fe-200d-2708-fe0f"},"couple_with_heart:_man,_man,_medium_dark_skin_tone,_light_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fb}","c":"1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fb"},"couple_with_heart:_man,_man,_medium_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fc}","c":"1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fc"},"couple_with_heart:_man,_man,_medium_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fd}","c":"1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fd"},"couple_with_heart:_man,_man,_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fe}","c":"1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe"},"couple_with_heart:_man,_man,_medium_dark_skin_tone,_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3ff}","c":"1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3ff"},"kiss:_man,_man,_medium_dark_skin_tone,_light_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fb}","c":"1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb"},"kiss:_man,_man,_medium_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fc}","c":"1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc"},"kiss:_man,_man,_medium_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fd}","c":"1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd"},"kiss:_man,_man,_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fe}","c":"1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe"},"kiss:_man,_man,_medium_dark_skin_tone,_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3ff}","c":"1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff"},"man_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3fe}","c":"1f468-1f3fe"},"man_farmer:_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f33e}","c":"1f468-1f3ff-200d-1f33e"},"man_cook:_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f373}","c":"1f468-1f3ff-200d-1f373"},"man_feeding_baby:_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f37c}","c":"1f468-1f3ff-200d-1f37c"},"man_student:_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f393}","c":"1f468-1f3ff-200d-1f393"},"man_singer:_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f3a4}","c":"1f468-1f3ff-200d-1f3a4"},"man_artist:_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f3a8}","c":"1f468-1f3ff-200d-1f3a8"},"man_teacher:_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f3eb}","c":"1f468-1f3ff-200d-1f3eb"},"man_factory_worker:_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f3ed}","c":"1f468-1f3ff-200d-1f3ed"},"men_with_bunny_ears:_dark_skin_tone,_light_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f430}\u{200d}\u{1f468}\u{1f3fb}","c":"1f468-1f3ff-200d-1f430-200d-1f468-1f3fb"},"men_with_bunny_ears:_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f430}\u{200d}\u{1f468}\u{1f3fc}","c":"1f468-1f3ff-200d-1f430-200d-1f468-1f3fc"},"men_with_bunny_ears:_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f430}\u{200d}\u{1f468}\u{1f3fd}","c":"1f468-1f3ff-200d-1f430-200d-1f468-1f3fd"},"men_with_bunny_ears:_dark_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f430}\u{200d}\u{1f468}\u{1f3fe}","c":"1f468-1f3ff-200d-1f430-200d-1f468-1f3fe"},"man_technologist:_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f4bb}","c":"1f468-1f3ff-200d-1f4bb"},"man_office_worker:_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f4bc}","c":"1f468-1f3ff-200d-1f4bc"},"man_mechanic:_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f527}","c":"1f468-1f3ff-200d-1f527"},"man_scientist:_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f52c}","c":"1f468-1f3ff-200d-1f52c"},"man_astronaut:_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f680}","c":"1f468-1f3ff-200d-1f680"},"man_firefighter:_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f692}","c":"1f468-1f3ff-200d-1f692"},"men_holding_hands:_dark_skin_tone,_light_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fb}","c":"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fb"},"men_holding_hands:_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fc}","c":"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fc"},"men_holding_hands:_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fd}","c":"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fd"},"men_holding_hands:_dark_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fe}","c":"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fe"},"man_with_white_cane_facing_right:_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f9af}\u{200d}\u{27a1}\u{fe0f}","c":"1f468-1f3ff-200d-1f9af-200d-27a1-fe0f"},"man_with_white_cane:_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f9af}","c":"1f468-1f3ff-200d-1f9af"},"man:_dark_skin_tone,_red_hair":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f9b0}","c":"1f468-1f3ff-200d-1f9b0"},"man:_dark_skin_tone,_curly_hair":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f9b1}","c":"1f468-1f3ff-200d-1f9b1"},"man:_dark_skin_tone,_bald":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f9b2}","c":"1f468-1f3ff-200d-1f9b2"},"man:_dark_skin_tone,_white_hair":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f9b3}","c":"1f468-1f3ff-200d-1f9b3"},"man_in_motorized_wheelchair_facing_right:_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f9bc}\u{200d}\u{27a1}\u{fe0f}","c":"1f468-1f3ff-200d-1f9bc-200d-27a1-fe0f"},"man_in_motorized_wheelchair:_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f9bc}","c":"1f468-1f3ff-200d-1f9bc"},"man_in_manual_wheelchair_facing_right:_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f9bd}\u{200d}\u{27a1}\u{fe0f}","c":"1f468-1f3ff-200d-1f9bd-200d-27a1-fe0f"},"man_in_manual_wheelchair:_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1f9bd}","c":"1f468-1f3ff-200d-1f9bd"},"men_wrestling:_dark_skin_tone,_light_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1faef}\u{200d}\u{1f468}\u{1f3fb}","c":"1f468-1f3ff-200d-1faef-200d-1f468-1f3fb"},"men_wrestling:_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1faef}\u{200d}\u{1f468}\u{1f3fc}","c":"1f468-1f3ff-200d-1faef-200d-1f468-1f3fc"},"men_wrestling:_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1faef}\u{200d}\u{1f468}\u{1f3fd}","c":"1f468-1f3ff-200d-1faef-200d-1f468-1f3fd"},"men_wrestling:_dark_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{1faef}\u{200d}\u{1f468}\u{1f3fe}","c":"1f468-1f3ff-200d-1faef-200d-1f468-1f3fe"},"man_health_worker:_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{2695}\u{fe0f}","c":"1f468-1f3ff-200d-2695-fe0f"},"man_judge:_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{2696}\u{fe0f}","c":"1f468-1f3ff-200d-2696-fe0f"},"man_pilot:_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{2708}\u{fe0f}","c":"1f468-1f3ff-200d-2708-fe0f"},"couple_with_heart:_man,_man,_dark_skin_tone,_light_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fb}","c":"1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fb"},"couple_with_heart:_man,_man,_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fc}","c":"1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fc"},"couple_with_heart:_man,_man,_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fd}","c":"1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fd"},"couple_with_heart:_man,_man,_dark_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fe}","c":"1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fe"},"couple_with_heart:_man,_man,_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3ff}","c":"1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff"},"kiss:_man,_man,_dark_skin_tone,_light_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fb}","c":"1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb"},"kiss:_man,_man,_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fc}","c":"1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc"},"kiss:_man,_man,_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fd}","c":"1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd"},"kiss:_man,_man,_dark_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fe}","c":"1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe"},"kiss:_man,_man,_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3ff}","c":"1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff"},"man_dark_skin_tone":{"e":"\u{1f468}\u{1f3ff}","c":"1f468-1f3ff"},"man_farmer":{"e":"\u{1f468}\u{200d}\u{1f33e}","c":"1f468-200d-1f33e"},"man_cook":{"e":"\u{1f468}\u{200d}\u{1f373}","c":"1f468-200d-1f373"},"man_feeding_baby":{"e":"\u{1f468}\u{200d}\u{1f37c}","c":"1f468-200d-1f37c"},"man_student":{"e":"\u{1f468}\u{200d}\u{1f393}","c":"1f468-200d-1f393"},"man_singer":{"e":"\u{1f468}\u{200d}\u{1f3a4}","c":"1f468-200d-1f3a4"},"man_artist":{"e":"\u{1f468}\u{200d}\u{1f3a8}","c":"1f468-200d-1f3a8"},"man_teacher":{"e":"\u{1f468}\u{200d}\u{1f3eb}","c":"1f468-200d-1f3eb"},"man_factory_worker":{"e":"\u{1f468}\u{200d}\u{1f3ed}","c":"1f468-200d-1f3ed"},"family:_man,_boy,_boy":{"e":"\u{1f468}\u{200d}\u{1f466}\u{200d}\u{1f466}","c":"1f468-200d-1f466-200d-1f466"},"family:_man,_boy":{"e":"\u{1f468}\u{200d}\u{1f466}","c":"1f468-200d-1f466"},"family:_man,_girl,_boy":{"e":"\u{1f468}\u{200d}\u{1f467}\u{200d}\u{1f466}","c":"1f468-200d-1f467-200d-1f466"},"family:_man,_girl,_girl":{"e":"\u{1f468}\u{200d}\u{1f467}\u{200d}\u{1f467}","c":"1f468-200d-1f467-200d-1f467"},"family:_man,_girl":{"e":"\u{1f468}\u{200d}\u{1f467}","c":"1f468-200d-1f467"},"family:_man,_man,_boy,_boy":{"e":"\u{1f468}\u{200d}\u{1f468}\u{200d}\u{1f466}\u{200d}\u{1f466}","c":"1f468-200d-1f468-200d-1f466-200d-1f466"},"family:_man,_man,_boy":{"e":"\u{1f468}\u{200d}\u{1f468}\u{200d}\u{1f466}","c":"1f468-200d-1f468-200d-1f466"},"family:_man,_man,_girl,_boy":{"e":"\u{1f468}\u{200d}\u{1f468}\u{200d}\u{1f467}\u{200d}\u{1f466}","c":"1f468-200d-1f468-200d-1f467-200d-1f466"},"family:_man,_man,_girl,_girl":{"e":"\u{1f468}\u{200d}\u{1f468}\u{200d}\u{1f467}\u{200d}\u{1f467}","c":"1f468-200d-1f468-200d-1f467-200d-1f467"},"family:_man,_man,_girl":{"e":"\u{1f468}\u{200d}\u{1f468}\u{200d}\u{1f467}","c":"1f468-200d-1f468-200d-1f467"},"family:_man,_woman,_boy,_boy":{"e":"\u{1f468}\u{200d}\u{1f469}\u{200d}\u{1f466}\u{200d}\u{1f466}","c":"1f468-200d-1f469-200d-1f466-200d-1f466"},"family:_man,_woman,_boy":{"e":"\u{1f468}\u{200d}\u{1f469}\u{200d}\u{1f466}","c":"1f468-200d-1f469-200d-1f466"},"family:_man,_woman,_girl,_boy":{"e":"\u{1f468}\u{200d}\u{1f469}\u{200d}\u{1f467}\u{200d}\u{1f466}","c":"1f468-200d-1f469-200d-1f467-200d-1f466"},"family:_man,_woman,_girl,_girl":{"e":"\u{1f468}\u{200d}\u{1f469}\u{200d}\u{1f467}\u{200d}\u{1f467}","c":"1f468-200d-1f469-200d-1f467-200d-1f467"},"family:_man,_woman,_girl":{"e":"\u{1f468}\u{200d}\u{1f469}\u{200d}\u{1f467}","c":"1f468-200d-1f469-200d-1f467"},"man_technologist":{"e":"\u{1f468}\u{200d}\u{1f4bb}","c":"1f468-200d-1f4bb"},"man_office_worker":{"e":"\u{1f468}\u{200d}\u{1f4bc}","c":"1f468-200d-1f4bc"},"man_mechanic":{"e":"\u{1f468}\u{200d}\u{1f527}","c":"1f468-200d-1f527"},"man_scientist":{"e":"\u{1f468}\u{200d}\u{1f52c}","c":"1f468-200d-1f52c"},"man_astronaut":{"e":"\u{1f468}\u{200d}\u{1f680}","c":"1f468-200d-1f680"},"man_firefighter":{"e":"\u{1f468}\u{200d}\u{1f692}","c":"1f468-200d-1f692"},"man_with_white_cane_facing_right":{"e":"\u{1f468}\u{200d}\u{1f9af}\u{200d}\u{27a1}\u{fe0f}","c":"1f468-200d-1f9af-200d-27a1-fe0f"},"man_with_white_cane":{"e":"\u{1f468}\u{200d}\u{1f9af}","c":"1f468-200d-1f9af"},"man:_red_hair":{"e":"\u{1f468}\u{200d}\u{1f9b0}","c":"1f468-200d-1f9b0"},"man:_curly_hair":{"e":"\u{1f468}\u{200d}\u{1f9b1}","c":"1f468-200d-1f9b1"},"man:_bald":{"e":"\u{1f468}\u{200d}\u{1f9b2}","c":"1f468-200d-1f9b2"},"man:_white_hair":{"e":"\u{1f468}\u{200d}\u{1f9b3}","c":"1f468-200d-1f9b3"},"man_in_motorized_wheelchair_facing_right":{"e":"\u{1f468}\u{200d}\u{1f9bc}\u{200d}\u{27a1}\u{fe0f}","c":"1f468-200d-1f9bc-200d-27a1-fe0f"},"man_in_motorized_wheelchair":{"e":"\u{1f468}\u{200d}\u{1f9bc}","c":"1f468-200d-1f9bc"},"man_in_manual_wheelchair_facing_right":{"e":"\u{1f468}\u{200d}\u{1f9bd}\u{200d}\u{27a1}\u{fe0f}","c":"1f468-200d-1f9bd-200d-27a1-fe0f"},"man_in_manual_wheelchair":{"e":"\u{1f468}\u{200d}\u{1f9bd}","c":"1f468-200d-1f9bd"},"man_health_worker":{"e":"\u{1f468}\u{200d}\u{2695}\u{fe0f}","c":"1f468-200d-2695-fe0f"},"man_judge":{"e":"\u{1f468}\u{200d}\u{2696}\u{fe0f}","c":"1f468-200d-2696-fe0f"},"man_pilot":{"e":"\u{1f468}\u{200d}\u{2708}\u{fe0f}","c":"1f468-200d-2708-fe0f"},"couple_with_heart:_man,_man":{"e":"\u{1f468}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}","c":"1f468-200d-2764-fe0f-200d-1f468"},"kiss:_man,_man":{"e":"\u{1f468}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}","c":"1f468-200d-2764-fe0f-200d-1f48b-200d-1f468"},"man":{"e":"\u{1f468}","c":"1f468"},"woman_farmer:_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f33e}","c":"1f469-1f3fb-200d-1f33e"},"woman_cook:_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f373}","c":"1f469-1f3fb-200d-1f373"},"woman_feeding_baby:_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f37c}","c":"1f469-1f3fb-200d-1f37c"},"woman_student:_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f393}","c":"1f469-1f3fb-200d-1f393"},"woman_singer:_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f3a4}","c":"1f469-1f3fb-200d-1f3a4"},"woman_artist:_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f3a8}","c":"1f469-1f3fb-200d-1f3a8"},"woman_teacher:_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f3eb}","c":"1f469-1f3fb-200d-1f3eb"},"woman_factory_worker:_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f3ed}","c":"1f469-1f3fb-200d-1f3ed"},"women_with_bunny_ears:_light_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f430}\u{200d}\u{1f469}\u{1f3fc}","c":"1f469-1f3fb-200d-1f430-200d-1f469-1f3fc"},"women_with_bunny_ears:_light_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f430}\u{200d}\u{1f469}\u{1f3fd}","c":"1f469-1f3fb-200d-1f430-200d-1f469-1f3fd"},"women_with_bunny_ears:_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f430}\u{200d}\u{1f469}\u{1f3fe}","c":"1f469-1f3fb-200d-1f430-200d-1f469-1f3fe"},"women_with_bunny_ears:_light_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f430}\u{200d}\u{1f469}\u{1f3ff}","c":"1f469-1f3fb-200d-1f430-200d-1f469-1f3ff"},"woman_technologist:_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f4bb}","c":"1f469-1f3fb-200d-1f4bb"},"woman_office_worker:_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f4bc}","c":"1f469-1f3fb-200d-1f4bc"},"woman_mechanic:_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f527}","c":"1f469-1f3fb-200d-1f527"},"woman_scientist:_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f52c}","c":"1f469-1f3fb-200d-1f52c"},"woman_astronaut:_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f680}","c":"1f469-1f3fb-200d-1f680"},"woman_firefighter:_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f692}","c":"1f469-1f3fb-200d-1f692"},"woman_and_man_holding_hands:_light_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fc}","c":"1f469-1f3fb-200d-1f91d-200d-1f468-1f3fc"},"woman_and_man_holding_hands:_light_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fd}","c":"1f469-1f3fb-200d-1f91d-200d-1f468-1f3fd"},"woman_and_man_holding_hands:_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fe}","c":"1f469-1f3fb-200d-1f91d-200d-1f468-1f3fe"},"woman_and_man_holding_hands:_light_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3ff}","c":"1f469-1f3fb-200d-1f91d-200d-1f468-1f3ff"},"women_holding_hands:_light_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f91d}\u{200d}\u{1f469}\u{1f3fc}","c":"1f469-1f3fb-200d-1f91d-200d-1f469-1f3fc"},"women_holding_hands:_light_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f91d}\u{200d}\u{1f469}\u{1f3fd}","c":"1f469-1f3fb-200d-1f91d-200d-1f469-1f3fd"},"women_holding_hands:_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f91d}\u{200d}\u{1f469}\u{1f3fe}","c":"1f469-1f3fb-200d-1f91d-200d-1f469-1f3fe"},"women_holding_hands:_light_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f91d}\u{200d}\u{1f469}\u{1f3ff}","c":"1f469-1f3fb-200d-1f91d-200d-1f469-1f3ff"},"woman_with_white_cane_facing_right:_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f9af}\u{200d}\u{27a1}\u{fe0f}","c":"1f469-1f3fb-200d-1f9af-200d-27a1-fe0f"},"woman_with_white_cane:_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f9af}","c":"1f469-1f3fb-200d-1f9af"},"woman:_light_skin_tone,_red_hair":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f9b0}","c":"1f469-1f3fb-200d-1f9b0"},"woman:_light_skin_tone,_curly_hair":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f9b1}","c":"1f469-1f3fb-200d-1f9b1"},"woman:_light_skin_tone,_bald":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f9b2}","c":"1f469-1f3fb-200d-1f9b2"},"woman:_light_skin_tone,_white_hair":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f9b3}","c":"1f469-1f3fb-200d-1f9b3"},"woman_in_motorized_wheelchair_facing_right:_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f9bc}\u{200d}\u{27a1}\u{fe0f}","c":"1f469-1f3fb-200d-1f9bc-200d-27a1-fe0f"},"woman_in_motorized_wheelchair:_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f9bc}","c":"1f469-1f3fb-200d-1f9bc"},"woman_in_manual_wheelchair_facing_right:_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f9bd}\u{200d}\u{27a1}\u{fe0f}","c":"1f469-1f3fb-200d-1f9bd-200d-27a1-fe0f"},"woman_in_manual_wheelchair:_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1f9bd}","c":"1f469-1f3fb-200d-1f9bd"},"women_wrestling:_light_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1faef}\u{200d}\u{1f469}\u{1f3fc}","c":"1f469-1f3fb-200d-1faef-200d-1f469-1f3fc"},"women_wrestling:_light_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1faef}\u{200d}\u{1f469}\u{1f3fd}","c":"1f469-1f3fb-200d-1faef-200d-1f469-1f3fd"},"women_wrestling:_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1faef}\u{200d}\u{1f469}\u{1f3fe}","c":"1f469-1f3fb-200d-1faef-200d-1f469-1f3fe"},"women_wrestling:_light_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{1faef}\u{200d}\u{1f469}\u{1f3ff}","c":"1f469-1f3fb-200d-1faef-200d-1f469-1f3ff"},"woman_health_worker:_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{2695}\u{fe0f}","c":"1f469-1f3fb-200d-2695-fe0f"},"woman_judge:_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{2696}\u{fe0f}","c":"1f469-1f3fb-200d-2696-fe0f"},"woman_pilot:_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{2708}\u{fe0f}","c":"1f469-1f3fb-200d-2708-fe0f"},"couple_with_heart:_woman,_man,_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fb}","c":"1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb"},"couple_with_heart:_woman,_man,_light_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fc}","c":"1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fc"},"couple_with_heart:_woman,_man,_light_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fd}","c":"1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fd"},"couple_with_heart:_woman,_man,_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fe}","c":"1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fe"},"couple_with_heart:_woman,_man,_light_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3ff}","c":"1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3ff"},"couple_with_heart:_woman,_woman,_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f469}\u{1f3fb}","c":"1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fb"},"couple_with_heart:_woman,_woman,_light_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f469}\u{1f3fc}","c":"1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fc"},"couple_with_heart:_woman,_woman,_light_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f469}\u{1f3fd}","c":"1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fd"},"couple_with_heart:_woman,_woman,_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f469}\u{1f3fe}","c":"1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fe"},"couple_with_heart:_woman,_woman,_light_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f469}\u{1f3ff}","c":"1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3ff"},"kiss:_woman,_man,_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fb}","c":"1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb"},"kiss:_woman,_man,_light_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fc}","c":"1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc"},"kiss:_woman,_man,_light_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fd}","c":"1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd"},"kiss:_woman,_man,_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fe}","c":"1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe"},"kiss:_woman,_man,_light_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3ff}","c":"1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff"},"kiss:_woman,_woman,_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f469}\u{1f3fb}","c":"1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb"},"kiss:_woman,_woman,_light_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f469}\u{1f3fc}","c":"1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc"},"kiss:_woman,_woman,_light_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f469}\u{1f3fd}","c":"1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd"},"kiss:_woman,_woman,_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f469}\u{1f3fe}","c":"1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe"},"kiss:_woman,_woman,_light_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f469}\u{1f3ff}","c":"1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff"},"woman_light_skin_tone":{"e":"\u{1f469}\u{1f3fb}","c":"1f469-1f3fb"},"woman_farmer:_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f33e}","c":"1f469-1f3fc-200d-1f33e"},"woman_cook:_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f373}","c":"1f469-1f3fc-200d-1f373"},"woman_feeding_baby:_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f37c}","c":"1f469-1f3fc-200d-1f37c"},"woman_student:_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f393}","c":"1f469-1f3fc-200d-1f393"},"woman_singer:_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f3a4}","c":"1f469-1f3fc-200d-1f3a4"},"woman_artist:_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f3a8}","c":"1f469-1f3fc-200d-1f3a8"},"woman_teacher:_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f3eb}","c":"1f469-1f3fc-200d-1f3eb"},"woman_factory_worker:_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f3ed}","c":"1f469-1f3fc-200d-1f3ed"},"women_with_bunny_ears:_medium_light_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f430}\u{200d}\u{1f469}\u{1f3fb}","c":"1f469-1f3fc-200d-1f430-200d-1f469-1f3fb"},"women_with_bunny_ears:_medium_light_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f430}\u{200d}\u{1f469}\u{1f3fd}","c":"1f469-1f3fc-200d-1f430-200d-1f469-1f3fd"},"women_with_bunny_ears:_medium_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f430}\u{200d}\u{1f469}\u{1f3fe}","c":"1f469-1f3fc-200d-1f430-200d-1f469-1f3fe"},"women_with_bunny_ears:_medium_light_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f430}\u{200d}\u{1f469}\u{1f3ff}","c":"1f469-1f3fc-200d-1f430-200d-1f469-1f3ff"},"woman_technologist:_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f4bb}","c":"1f469-1f3fc-200d-1f4bb"},"woman_office_worker:_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f4bc}","c":"1f469-1f3fc-200d-1f4bc"},"woman_mechanic:_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f527}","c":"1f469-1f3fc-200d-1f527"},"woman_scientist:_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f52c}","c":"1f469-1f3fc-200d-1f52c"},"woman_astronaut:_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f680}","c":"1f469-1f3fc-200d-1f680"},"woman_firefighter:_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f692}","c":"1f469-1f3fc-200d-1f692"},"woman_and_man_holding_hands:_medium_light_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fb}","c":"1f469-1f3fc-200d-1f91d-200d-1f468-1f3fb"},"woman_and_man_holding_hands:_medium_light_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fd}","c":"1f469-1f3fc-200d-1f91d-200d-1f468-1f3fd"},"woman_and_man_holding_hands:_medium_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fe}","c":"1f469-1f3fc-200d-1f91d-200d-1f468-1f3fe"},"woman_and_man_holding_hands:_medium_light_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3ff}","c":"1f469-1f3fc-200d-1f91d-200d-1f468-1f3ff"},"women_holding_hands:_medium_light_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f91d}\u{200d}\u{1f469}\u{1f3fb}","c":"1f469-1f3fc-200d-1f91d-200d-1f469-1f3fb"},"women_holding_hands:_medium_light_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f91d}\u{200d}\u{1f469}\u{1f3fd}","c":"1f469-1f3fc-200d-1f91d-200d-1f469-1f3fd"},"women_holding_hands:_medium_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f91d}\u{200d}\u{1f469}\u{1f3fe}","c":"1f469-1f3fc-200d-1f91d-200d-1f469-1f3fe"},"women_holding_hands:_medium_light_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f91d}\u{200d}\u{1f469}\u{1f3ff}","c":"1f469-1f3fc-200d-1f91d-200d-1f469-1f3ff"},"woman_with_white_cane_facing_right:_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f9af}\u{200d}\u{27a1}\u{fe0f}","c":"1f469-1f3fc-200d-1f9af-200d-27a1-fe0f"},"woman_with_white_cane:_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f9af}","c":"1f469-1f3fc-200d-1f9af"},"woman:_medium_light_skin_tone,_red_hair":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f9b0}","c":"1f469-1f3fc-200d-1f9b0"},"woman:_medium_light_skin_tone,_curly_hair":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f9b1}","c":"1f469-1f3fc-200d-1f9b1"},"woman:_medium_light_skin_tone,_bald":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f9b2}","c":"1f469-1f3fc-200d-1f9b2"},"woman:_medium_light_skin_tone,_white_hair":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f9b3}","c":"1f469-1f3fc-200d-1f9b3"},"woman_in_motorized_wheelchair_facing_right:_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f9bc}\u{200d}\u{27a1}\u{fe0f}","c":"1f469-1f3fc-200d-1f9bc-200d-27a1-fe0f"},"woman_in_motorized_wheelchair:_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f9bc}","c":"1f469-1f3fc-200d-1f9bc"},"woman_in_manual_wheelchair_facing_right:_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f9bd}\u{200d}\u{27a1}\u{fe0f}","c":"1f469-1f3fc-200d-1f9bd-200d-27a1-fe0f"},"woman_in_manual_wheelchair:_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1f9bd}","c":"1f469-1f3fc-200d-1f9bd"},"women_wrestling:_medium_light_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1faef}\u{200d}\u{1f469}\u{1f3fb}","c":"1f469-1f3fc-200d-1faef-200d-1f469-1f3fb"},"women_wrestling:_medium_light_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1faef}\u{200d}\u{1f469}\u{1f3fd}","c":"1f469-1f3fc-200d-1faef-200d-1f469-1f3fd"},"women_wrestling:_medium_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1faef}\u{200d}\u{1f469}\u{1f3fe}","c":"1f469-1f3fc-200d-1faef-200d-1f469-1f3fe"},"women_wrestling:_medium_light_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{1faef}\u{200d}\u{1f469}\u{1f3ff}","c":"1f469-1f3fc-200d-1faef-200d-1f469-1f3ff"},"woman_health_worker:_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{2695}\u{fe0f}","c":"1f469-1f3fc-200d-2695-fe0f"},"woman_judge:_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{2696}\u{fe0f}","c":"1f469-1f3fc-200d-2696-fe0f"},"woman_pilot:_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{2708}\u{fe0f}","c":"1f469-1f3fc-200d-2708-fe0f"},"couple_with_heart:_woman,_man,_medium_light_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fb}","c":"1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fb"},"couple_with_heart:_woman,_man,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fc}","c":"1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc"},"couple_with_heart:_woman,_man,_medium_light_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fd}","c":"1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fd"},"couple_with_heart:_woman,_man,_medium_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fe}","c":"1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fe"},"couple_with_heart:_woman,_man,_medium_light_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3ff}","c":"1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3ff"},"couple_with_heart:_woman,_woman,_medium_light_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f469}\u{1f3fb}","c":"1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fb"},"couple_with_heart:_woman,_woman,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f469}\u{1f3fc}","c":"1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fc"},"couple_with_heart:_woman,_woman,_medium_light_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f469}\u{1f3fd}","c":"1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fd"},"couple_with_heart:_woman,_woman,_medium_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f469}\u{1f3fe}","c":"1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fe"},"couple_with_heart:_woman,_woman,_medium_light_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f469}\u{1f3ff}","c":"1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3ff"},"kiss:_woman,_man,_medium_light_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fb}","c":"1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb"},"kiss:_woman,_man,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fc}","c":"1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc"},"kiss:_woman,_man,_medium_light_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fd}","c":"1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd"},"kiss:_woman,_man,_medium_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fe}","c":"1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe"},"kiss:_woman,_man,_medium_light_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3ff}","c":"1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff"},"kiss:_woman,_woman,_medium_light_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f469}\u{1f3fb}","c":"1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb"},"kiss:_woman,_woman,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f469}\u{1f3fc}","c":"1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc"},"kiss:_woman,_woman,_medium_light_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f469}\u{1f3fd}","c":"1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd"},"kiss:_woman,_woman,_medium_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f469}\u{1f3fe}","c":"1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe"},"kiss:_woman,_woman,_medium_light_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f469}\u{1f3ff}","c":"1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff"},"woman_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fc}","c":"1f469-1f3fc"},"woman_farmer:_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f33e}","c":"1f469-1f3fd-200d-1f33e"},"woman_cook:_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f373}","c":"1f469-1f3fd-200d-1f373"},"woman_feeding_baby:_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f37c}","c":"1f469-1f3fd-200d-1f37c"},"woman_student:_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f393}","c":"1f469-1f3fd-200d-1f393"},"woman_singer:_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f3a4}","c":"1f469-1f3fd-200d-1f3a4"},"woman_artist:_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f3a8}","c":"1f469-1f3fd-200d-1f3a8"},"woman_teacher:_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f3eb}","c":"1f469-1f3fd-200d-1f3eb"},"woman_factory_worker:_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f3ed}","c":"1f469-1f3fd-200d-1f3ed"},"women_with_bunny_ears:_medium_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f430}\u{200d}\u{1f469}\u{1f3fb}","c":"1f469-1f3fd-200d-1f430-200d-1f469-1f3fb"},"women_with_bunny_ears:_medium_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f430}\u{200d}\u{1f469}\u{1f3fc}","c":"1f469-1f3fd-200d-1f430-200d-1f469-1f3fc"},"women_with_bunny_ears:_medium_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f430}\u{200d}\u{1f469}\u{1f3fe}","c":"1f469-1f3fd-200d-1f430-200d-1f469-1f3fe"},"women_with_bunny_ears:_medium_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f430}\u{200d}\u{1f469}\u{1f3ff}","c":"1f469-1f3fd-200d-1f430-200d-1f469-1f3ff"},"woman_technologist:_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f4bb}","c":"1f469-1f3fd-200d-1f4bb"},"woman_office_worker:_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f4bc}","c":"1f469-1f3fd-200d-1f4bc"},"woman_mechanic:_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f527}","c":"1f469-1f3fd-200d-1f527"},"woman_scientist:_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f52c}","c":"1f469-1f3fd-200d-1f52c"},"woman_astronaut:_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f680}","c":"1f469-1f3fd-200d-1f680"},"woman_firefighter:_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f692}","c":"1f469-1f3fd-200d-1f692"},"woman_and_man_holding_hands:_medium_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fb}","c":"1f469-1f3fd-200d-1f91d-200d-1f468-1f3fb"},"woman_and_man_holding_hands:_medium_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fc}","c":"1f469-1f3fd-200d-1f91d-200d-1f468-1f3fc"},"woman_and_man_holding_hands:_medium_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fe}","c":"1f469-1f3fd-200d-1f91d-200d-1f468-1f3fe"},"woman_and_man_holding_hands:_medium_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3ff}","c":"1f469-1f3fd-200d-1f91d-200d-1f468-1f3ff"},"women_holding_hands:_medium_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f91d}\u{200d}\u{1f469}\u{1f3fb}","c":"1f469-1f3fd-200d-1f91d-200d-1f469-1f3fb"},"women_holding_hands:_medium_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f91d}\u{200d}\u{1f469}\u{1f3fc}","c":"1f469-1f3fd-200d-1f91d-200d-1f469-1f3fc"},"women_holding_hands:_medium_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f91d}\u{200d}\u{1f469}\u{1f3fe}","c":"1f469-1f3fd-200d-1f91d-200d-1f469-1f3fe"},"women_holding_hands:_medium_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f91d}\u{200d}\u{1f469}\u{1f3ff}","c":"1f469-1f3fd-200d-1f91d-200d-1f469-1f3ff"},"woman_with_white_cane_facing_right:_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f9af}\u{200d}\u{27a1}\u{fe0f}","c":"1f469-1f3fd-200d-1f9af-200d-27a1-fe0f"},"woman_with_white_cane:_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f9af}","c":"1f469-1f3fd-200d-1f9af"},"woman:_medium_skin_tone,_red_hair":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f9b0}","c":"1f469-1f3fd-200d-1f9b0"},"woman:_medium_skin_tone,_curly_hair":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f9b1}","c":"1f469-1f3fd-200d-1f9b1"},"woman:_medium_skin_tone,_bald":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f9b2}","c":"1f469-1f3fd-200d-1f9b2"},"woman:_medium_skin_tone,_white_hair":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f9b3}","c":"1f469-1f3fd-200d-1f9b3"},"woman_in_motorized_wheelchair_facing_right:_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f9bc}\u{200d}\u{27a1}\u{fe0f}","c":"1f469-1f3fd-200d-1f9bc-200d-27a1-fe0f"},"woman_in_motorized_wheelchair:_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f9bc}","c":"1f469-1f3fd-200d-1f9bc"},"woman_in_manual_wheelchair_facing_right:_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f9bd}\u{200d}\u{27a1}\u{fe0f}","c":"1f469-1f3fd-200d-1f9bd-200d-27a1-fe0f"},"woman_in_manual_wheelchair:_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1f9bd}","c":"1f469-1f3fd-200d-1f9bd"},"women_wrestling:_medium_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1faef}\u{200d}\u{1f469}\u{1f3fb}","c":"1f469-1f3fd-200d-1faef-200d-1f469-1f3fb"},"women_wrestling:_medium_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1faef}\u{200d}\u{1f469}\u{1f3fc}","c":"1f469-1f3fd-200d-1faef-200d-1f469-1f3fc"},"women_wrestling:_medium_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1faef}\u{200d}\u{1f469}\u{1f3fe}","c":"1f469-1f3fd-200d-1faef-200d-1f469-1f3fe"},"women_wrestling:_medium_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{1faef}\u{200d}\u{1f469}\u{1f3ff}","c":"1f469-1f3fd-200d-1faef-200d-1f469-1f3ff"},"woman_health_worker:_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{2695}\u{fe0f}","c":"1f469-1f3fd-200d-2695-fe0f"},"woman_judge:_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{2696}\u{fe0f}","c":"1f469-1f3fd-200d-2696-fe0f"},"woman_pilot:_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{2708}\u{fe0f}","c":"1f469-1f3fd-200d-2708-fe0f"},"couple_with_heart:_woman,_man,_medium_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fb}","c":"1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fb"},"couple_with_heart:_woman,_man,_medium_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fc}","c":"1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fc"},"couple_with_heart:_woman,_man,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fd}","c":"1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd"},"couple_with_heart:_woman,_man,_medium_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fe}","c":"1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fe"},"couple_with_heart:_woman,_man,_medium_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3ff}","c":"1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3ff"},"couple_with_heart:_woman,_woman,_medium_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f469}\u{1f3fb}","c":"1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fb"},"couple_with_heart:_woman,_woman,_medium_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f469}\u{1f3fc}","c":"1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fc"},"couple_with_heart:_woman,_woman,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f469}\u{1f3fd}","c":"1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fd"},"couple_with_heart:_woman,_woman,_medium_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f469}\u{1f3fe}","c":"1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fe"},"couple_with_heart:_woman,_woman,_medium_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f469}\u{1f3ff}","c":"1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3ff"},"kiss:_woman,_man,_medium_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fb}","c":"1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb"},"kiss:_woman,_man,_medium_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fc}","c":"1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc"},"kiss:_woman,_man,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fd}","c":"1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd"},"kiss:_woman,_man,_medium_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fe}","c":"1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe"},"kiss:_woman,_man,_medium_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3ff}","c":"1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff"},"kiss:_woman,_woman,_medium_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f469}\u{1f3fb}","c":"1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb"},"kiss:_woman,_woman,_medium_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f469}\u{1f3fc}","c":"1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc"},"kiss:_woman,_woman,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f469}\u{1f3fd}","c":"1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd"},"kiss:_woman,_woman,_medium_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f469}\u{1f3fe}","c":"1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe"},"kiss:_woman,_woman,_medium_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f469}\u{1f3ff}","c":"1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff"},"woman_medium_skin_tone":{"e":"\u{1f469}\u{1f3fd}","c":"1f469-1f3fd"},"woman_farmer:_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f33e}","c":"1f469-1f3fe-200d-1f33e"},"woman_cook:_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f373}","c":"1f469-1f3fe-200d-1f373"},"woman_feeding_baby:_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f37c}","c":"1f469-1f3fe-200d-1f37c"},"woman_student:_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f393}","c":"1f469-1f3fe-200d-1f393"},"woman_singer:_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f3a4}","c":"1f469-1f3fe-200d-1f3a4"},"woman_artist:_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f3a8}","c":"1f469-1f3fe-200d-1f3a8"},"woman_teacher:_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f3eb}","c":"1f469-1f3fe-200d-1f3eb"},"woman_factory_worker:_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f3ed}","c":"1f469-1f3fe-200d-1f3ed"},"women_with_bunny_ears:_medium_dark_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f430}\u{200d}\u{1f469}\u{1f3fb}","c":"1f469-1f3fe-200d-1f430-200d-1f469-1f3fb"},"women_with_bunny_ears:_medium_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f430}\u{200d}\u{1f469}\u{1f3fc}","c":"1f469-1f3fe-200d-1f430-200d-1f469-1f3fc"},"women_with_bunny_ears:_medium_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f430}\u{200d}\u{1f469}\u{1f3fd}","c":"1f469-1f3fe-200d-1f430-200d-1f469-1f3fd"},"women_with_bunny_ears:_medium_dark_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f430}\u{200d}\u{1f469}\u{1f3ff}","c":"1f469-1f3fe-200d-1f430-200d-1f469-1f3ff"},"woman_technologist:_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f4bb}","c":"1f469-1f3fe-200d-1f4bb"},"woman_office_worker:_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f4bc}","c":"1f469-1f3fe-200d-1f4bc"},"woman_mechanic:_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f527}","c":"1f469-1f3fe-200d-1f527"},"woman_scientist:_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f52c}","c":"1f469-1f3fe-200d-1f52c"},"woman_astronaut:_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f680}","c":"1f469-1f3fe-200d-1f680"},"woman_firefighter:_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f692}","c":"1f469-1f3fe-200d-1f692"},"woman_and_man_holding_hands:_medium_dark_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fb}","c":"1f469-1f3fe-200d-1f91d-200d-1f468-1f3fb"},"woman_and_man_holding_hands:_medium_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fc}","c":"1f469-1f3fe-200d-1f91d-200d-1f468-1f3fc"},"woman_and_man_holding_hands:_medium_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fd}","c":"1f469-1f3fe-200d-1f91d-200d-1f468-1f3fd"},"woman_and_man_holding_hands:_medium_dark_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3ff}","c":"1f469-1f3fe-200d-1f91d-200d-1f468-1f3ff"},"women_holding_hands:_medium_dark_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f91d}\u{200d}\u{1f469}\u{1f3fb}","c":"1f469-1f3fe-200d-1f91d-200d-1f469-1f3fb"},"women_holding_hands:_medium_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f91d}\u{200d}\u{1f469}\u{1f3fc}","c":"1f469-1f3fe-200d-1f91d-200d-1f469-1f3fc"},"women_holding_hands:_medium_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f91d}\u{200d}\u{1f469}\u{1f3fd}","c":"1f469-1f3fe-200d-1f91d-200d-1f469-1f3fd"},"women_holding_hands:_medium_dark_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f91d}\u{200d}\u{1f469}\u{1f3ff}","c":"1f469-1f3fe-200d-1f91d-200d-1f469-1f3ff"},"woman_with_white_cane_facing_right:_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f9af}\u{200d}\u{27a1}\u{fe0f}","c":"1f469-1f3fe-200d-1f9af-200d-27a1-fe0f"},"woman_with_white_cane:_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f9af}","c":"1f469-1f3fe-200d-1f9af"},"woman:_medium_dark_skin_tone,_red_hair":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f9b0}","c":"1f469-1f3fe-200d-1f9b0"},"woman:_medium_dark_skin_tone,_curly_hair":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f9b1}","c":"1f469-1f3fe-200d-1f9b1"},"woman:_medium_dark_skin_tone,_bald":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f9b2}","c":"1f469-1f3fe-200d-1f9b2"},"woman:_medium_dark_skin_tone,_white_hair":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f9b3}","c":"1f469-1f3fe-200d-1f9b3"},"woman_in_motorized_wheelchair_facing_right:_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f9bc}\u{200d}\u{27a1}\u{fe0f}","c":"1f469-1f3fe-200d-1f9bc-200d-27a1-fe0f"},"woman_in_motorized_wheelchair:_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f9bc}","c":"1f469-1f3fe-200d-1f9bc"},"woman_in_manual_wheelchair_facing_right:_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f9bd}\u{200d}\u{27a1}\u{fe0f}","c":"1f469-1f3fe-200d-1f9bd-200d-27a1-fe0f"},"woman_in_manual_wheelchair:_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1f9bd}","c":"1f469-1f3fe-200d-1f9bd"},"women_wrestling:_medium_dark_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1faef}\u{200d}\u{1f469}\u{1f3fb}","c":"1f469-1f3fe-200d-1faef-200d-1f469-1f3fb"},"women_wrestling:_medium_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1faef}\u{200d}\u{1f469}\u{1f3fc}","c":"1f469-1f3fe-200d-1faef-200d-1f469-1f3fc"},"women_wrestling:_medium_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1faef}\u{200d}\u{1f469}\u{1f3fd}","c":"1f469-1f3fe-200d-1faef-200d-1f469-1f3fd"},"women_wrestling:_medium_dark_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{1faef}\u{200d}\u{1f469}\u{1f3ff}","c":"1f469-1f3fe-200d-1faef-200d-1f469-1f3ff"},"woman_health_worker:_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{2695}\u{fe0f}","c":"1f469-1f3fe-200d-2695-fe0f"},"woman_judge:_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{2696}\u{fe0f}","c":"1f469-1f3fe-200d-2696-fe0f"},"woman_pilot:_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{2708}\u{fe0f}","c":"1f469-1f3fe-200d-2708-fe0f"},"couple_with_heart:_woman,_man,_medium_dark_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fb}","c":"1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fb"},"couple_with_heart:_woman,_man,_medium_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fc}","c":"1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fc"},"couple_with_heart:_woman,_man,_medium_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fd}","c":"1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fd"},"couple_with_heart:_woman,_man,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fe}","c":"1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe"},"couple_with_heart:_woman,_man,_medium_dark_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3ff}","c":"1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3ff"},"couple_with_heart:_woman,_woman,_medium_dark_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f469}\u{1f3fb}","c":"1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fb"},"couple_with_heart:_woman,_woman,_medium_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f469}\u{1f3fc}","c":"1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fc"},"couple_with_heart:_woman,_woman,_medium_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f469}\u{1f3fd}","c":"1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fd"},"couple_with_heart:_woman,_woman,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f469}\u{1f3fe}","c":"1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fe"},"couple_with_heart:_woman,_woman,_medium_dark_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f469}\u{1f3ff}","c":"1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3ff"},"kiss:_woman,_man,_medium_dark_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fb}","c":"1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb"},"kiss:_woman,_man,_medium_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fc}","c":"1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc"},"kiss:_woman,_man,_medium_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fd}","c":"1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd"},"kiss:_woman,_man,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fe}","c":"1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe"},"kiss:_woman,_man,_medium_dark_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3ff}","c":"1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff"},"kiss:_woman,_woman,_medium_dark_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f469}\u{1f3fb}","c":"1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb"},"kiss:_woman,_woman,_medium_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f469}\u{1f3fc}","c":"1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc"},"kiss:_woman,_woman,_medium_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f469}\u{1f3fd}","c":"1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd"},"kiss:_woman,_woman,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f469}\u{1f3fe}","c":"1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe"},"kiss:_woman,_woman,_medium_dark_skin_tone,_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f469}\u{1f3ff}","c":"1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff"},"woman_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3fe}","c":"1f469-1f3fe"},"woman_farmer:_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f33e}","c":"1f469-1f3ff-200d-1f33e"},"woman_cook:_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f373}","c":"1f469-1f3ff-200d-1f373"},"woman_feeding_baby:_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f37c}","c":"1f469-1f3ff-200d-1f37c"},"woman_student:_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f393}","c":"1f469-1f3ff-200d-1f393"},"woman_singer:_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f3a4}","c":"1f469-1f3ff-200d-1f3a4"},"woman_artist:_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f3a8}","c":"1f469-1f3ff-200d-1f3a8"},"woman_teacher:_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f3eb}","c":"1f469-1f3ff-200d-1f3eb"},"woman_factory_worker:_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f3ed}","c":"1f469-1f3ff-200d-1f3ed"},"women_with_bunny_ears:_dark_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f430}\u{200d}\u{1f469}\u{1f3fb}","c":"1f469-1f3ff-200d-1f430-200d-1f469-1f3fb"},"women_with_bunny_ears:_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f430}\u{200d}\u{1f469}\u{1f3fc}","c":"1f469-1f3ff-200d-1f430-200d-1f469-1f3fc"},"women_with_bunny_ears:_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f430}\u{200d}\u{1f469}\u{1f3fd}","c":"1f469-1f3ff-200d-1f430-200d-1f469-1f3fd"},"women_with_bunny_ears:_dark_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f430}\u{200d}\u{1f469}\u{1f3fe}","c":"1f469-1f3ff-200d-1f430-200d-1f469-1f3fe"},"woman_technologist:_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f4bb}","c":"1f469-1f3ff-200d-1f4bb"},"woman_office_worker:_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f4bc}","c":"1f469-1f3ff-200d-1f4bc"},"woman_mechanic:_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f527}","c":"1f469-1f3ff-200d-1f527"},"woman_scientist:_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f52c}","c":"1f469-1f3ff-200d-1f52c"},"woman_astronaut:_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f680}","c":"1f469-1f3ff-200d-1f680"},"woman_firefighter:_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f692}","c":"1f469-1f3ff-200d-1f692"},"woman_and_man_holding_hands:_dark_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fb}","c":"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fb"},"woman_and_man_holding_hands:_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fc}","c":"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fc"},"woman_and_man_holding_hands:_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fd}","c":"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fd"},"woman_and_man_holding_hands:_dark_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f91d}\u{200d}\u{1f468}\u{1f3fe}","c":"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fe"},"women_holding_hands:_dark_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f91d}\u{200d}\u{1f469}\u{1f3fb}","c":"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fb"},"women_holding_hands:_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f91d}\u{200d}\u{1f469}\u{1f3fc}","c":"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fc"},"women_holding_hands:_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f91d}\u{200d}\u{1f469}\u{1f3fd}","c":"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fd"},"women_holding_hands:_dark_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f91d}\u{200d}\u{1f469}\u{1f3fe}","c":"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fe"},"woman_with_white_cane_facing_right:_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f9af}\u{200d}\u{27a1}\u{fe0f}","c":"1f469-1f3ff-200d-1f9af-200d-27a1-fe0f"},"woman_with_white_cane:_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f9af}","c":"1f469-1f3ff-200d-1f9af"},"woman:_dark_skin_tone,_red_hair":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f9b0}","c":"1f469-1f3ff-200d-1f9b0"},"woman:_dark_skin_tone,_curly_hair":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f9b1}","c":"1f469-1f3ff-200d-1f9b1"},"woman:_dark_skin_tone,_bald":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f9b2}","c":"1f469-1f3ff-200d-1f9b2"},"woman:_dark_skin_tone,_white_hair":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f9b3}","c":"1f469-1f3ff-200d-1f9b3"},"woman_in_motorized_wheelchair_facing_right:_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f9bc}\u{200d}\u{27a1}\u{fe0f}","c":"1f469-1f3ff-200d-1f9bc-200d-27a1-fe0f"},"woman_in_motorized_wheelchair:_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f9bc}","c":"1f469-1f3ff-200d-1f9bc"},"woman_in_manual_wheelchair_facing_right:_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f9bd}\u{200d}\u{27a1}\u{fe0f}","c":"1f469-1f3ff-200d-1f9bd-200d-27a1-fe0f"},"woman_in_manual_wheelchair:_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1f9bd}","c":"1f469-1f3ff-200d-1f9bd"},"women_wrestling:_dark_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1faef}\u{200d}\u{1f469}\u{1f3fb}","c":"1f469-1f3ff-200d-1faef-200d-1f469-1f3fb"},"women_wrestling:_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1faef}\u{200d}\u{1f469}\u{1f3fc}","c":"1f469-1f3ff-200d-1faef-200d-1f469-1f3fc"},"women_wrestling:_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1faef}\u{200d}\u{1f469}\u{1f3fd}","c":"1f469-1f3ff-200d-1faef-200d-1f469-1f3fd"},"women_wrestling:_dark_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{1faef}\u{200d}\u{1f469}\u{1f3fe}","c":"1f469-1f3ff-200d-1faef-200d-1f469-1f3fe"},"woman_health_worker:_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{2695}\u{fe0f}","c":"1f469-1f3ff-200d-2695-fe0f"},"woman_judge:_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{2696}\u{fe0f}","c":"1f469-1f3ff-200d-2696-fe0f"},"woman_pilot:_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{2708}\u{fe0f}","c":"1f469-1f3ff-200d-2708-fe0f"},"couple_with_heart:_woman,_man,_dark_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fb}","c":"1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fb"},"couple_with_heart:_woman,_man,_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fc}","c":"1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fc"},"couple_with_heart:_woman,_man,_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fd}","c":"1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fd"},"couple_with_heart:_woman,_man,_dark_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3fe}","c":"1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fe"},"couple_with_heart:_woman,_man,_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}\u{1f3ff}","c":"1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff"},"couple_with_heart:_woman,_woman,_dark_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f469}\u{1f3fb}","c":"1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fb"},"couple_with_heart:_woman,_woman,_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f469}\u{1f3fc}","c":"1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fc"},"couple_with_heart:_woman,_woman,_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f469}\u{1f3fd}","c":"1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fd"},"couple_with_heart:_woman,_woman,_dark_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f469}\u{1f3fe}","c":"1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fe"},"couple_with_heart:_woman,_woman,_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f469}\u{1f3ff}","c":"1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3ff"},"kiss:_woman,_man,_dark_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fb}","c":"1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb"},"kiss:_woman,_man,_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fc}","c":"1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc"},"kiss:_woman,_man,_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fd}","c":"1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd"},"kiss:_woman,_man,_dark_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3fe}","c":"1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe"},"kiss:_woman,_man,_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}\u{1f3ff}","c":"1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff"},"kiss:_woman,_woman,_dark_skin_tone,_light_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f469}\u{1f3fb}","c":"1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb"},"kiss:_woman,_woman,_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f469}\u{1f3fc}","c":"1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc"},"kiss:_woman,_woman,_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f469}\u{1f3fd}","c":"1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd"},"kiss:_woman,_woman,_dark_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f469}\u{1f3fe}","c":"1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe"},"kiss:_woman,_woman,_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f469}\u{1f3ff}","c":"1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff"},"woman_dark_skin_tone":{"e":"\u{1f469}\u{1f3ff}","c":"1f469-1f3ff"},"woman_farmer":{"e":"\u{1f469}\u{200d}\u{1f33e}","c":"1f469-200d-1f33e"},"woman_cook":{"e":"\u{1f469}\u{200d}\u{1f373}","c":"1f469-200d-1f373"},"woman_feeding_baby":{"e":"\u{1f469}\u{200d}\u{1f37c}","c":"1f469-200d-1f37c"},"woman_student":{"e":"\u{1f469}\u{200d}\u{1f393}","c":"1f469-200d-1f393"},"woman_singer":{"e":"\u{1f469}\u{200d}\u{1f3a4}","c":"1f469-200d-1f3a4"},"woman_artist":{"e":"\u{1f469}\u{200d}\u{1f3a8}","c":"1f469-200d-1f3a8"},"woman_teacher":{"e":"\u{1f469}\u{200d}\u{1f3eb}","c":"1f469-200d-1f3eb"},"woman_factory_worker":{"e":"\u{1f469}\u{200d}\u{1f3ed}","c":"1f469-200d-1f3ed"},"family:_woman,_boy,_boy":{"e":"\u{1f469}\u{200d}\u{1f466}\u{200d}\u{1f466}","c":"1f469-200d-1f466-200d-1f466"},"family:_woman,_boy":{"e":"\u{1f469}\u{200d}\u{1f466}","c":"1f469-200d-1f466"},"family:_woman,_girl,_boy":{"e":"\u{1f469}\u{200d}\u{1f467}\u{200d}\u{1f466}","c":"1f469-200d-1f467-200d-1f466"},"family:_woman,_girl,_girl":{"e":"\u{1f469}\u{200d}\u{1f467}\u{200d}\u{1f467}","c":"1f469-200d-1f467-200d-1f467"},"family:_woman,_girl":{"e":"\u{1f469}\u{200d}\u{1f467}","c":"1f469-200d-1f467"},"family:_woman,_woman,_boy,_boy":{"e":"\u{1f469}\u{200d}\u{1f469}\u{200d}\u{1f466}\u{200d}\u{1f466}","c":"1f469-200d-1f469-200d-1f466-200d-1f466"},"family:_woman,_woman,_boy":{"e":"\u{1f469}\u{200d}\u{1f469}\u{200d}\u{1f466}","c":"1f469-200d-1f469-200d-1f466"},"family:_woman,_woman,_girl,_boy":{"e":"\u{1f469}\u{200d}\u{1f469}\u{200d}\u{1f467}\u{200d}\u{1f466}","c":"1f469-200d-1f469-200d-1f467-200d-1f466"},"family:_woman,_woman,_girl,_girl":{"e":"\u{1f469}\u{200d}\u{1f469}\u{200d}\u{1f467}\u{200d}\u{1f467}","c":"1f469-200d-1f469-200d-1f467-200d-1f467"},"family:_woman,_woman,_girl":{"e":"\u{1f469}\u{200d}\u{1f469}\u{200d}\u{1f467}","c":"1f469-200d-1f469-200d-1f467"},"woman_technologist":{"e":"\u{1f469}\u{200d}\u{1f4bb}","c":"1f469-200d-1f4bb"},"woman_office_worker":{"e":"\u{1f469}\u{200d}\u{1f4bc}","c":"1f469-200d-1f4bc"},"woman_mechanic":{"e":"\u{1f469}\u{200d}\u{1f527}","c":"1f469-200d-1f527"},"woman_scientist":{"e":"\u{1f469}\u{200d}\u{1f52c}","c":"1f469-200d-1f52c"},"woman_astronaut":{"e":"\u{1f469}\u{200d}\u{1f680}","c":"1f469-200d-1f680"},"woman_firefighter":{"e":"\u{1f469}\u{200d}\u{1f692}","c":"1f469-200d-1f692"},"woman_with_white_cane_facing_right":{"e":"\u{1f469}\u{200d}\u{1f9af}\u{200d}\u{27a1}\u{fe0f}","c":"1f469-200d-1f9af-200d-27a1-fe0f"},"woman_with_white_cane":{"e":"\u{1f469}\u{200d}\u{1f9af}","c":"1f469-200d-1f9af"},"woman:_red_hair":{"e":"\u{1f469}\u{200d}\u{1f9b0}","c":"1f469-200d-1f9b0"},"woman:_curly_hair":{"e":"\u{1f469}\u{200d}\u{1f9b1}","c":"1f469-200d-1f9b1"},"woman:_bald":{"e":"\u{1f469}\u{200d}\u{1f9b2}","c":"1f469-200d-1f9b2"},"woman:_white_hair":{"e":"\u{1f469}\u{200d}\u{1f9b3}","c":"1f469-200d-1f9b3"},"woman_in_motorized_wheelchair_facing_right":{"e":"\u{1f469}\u{200d}\u{1f9bc}\u{200d}\u{27a1}\u{fe0f}","c":"1f469-200d-1f9bc-200d-27a1-fe0f"},"woman_in_motorized_wheelchair":{"e":"\u{1f469}\u{200d}\u{1f9bc}","c":"1f469-200d-1f9bc"},"woman_in_manual_wheelchair_facing_right":{"e":"\u{1f469}\u{200d}\u{1f9bd}\u{200d}\u{27a1}\u{fe0f}","c":"1f469-200d-1f9bd-200d-27a1-fe0f"},"woman_in_manual_wheelchair":{"e":"\u{1f469}\u{200d}\u{1f9bd}","c":"1f469-200d-1f9bd"},"woman_health_worker":{"e":"\u{1f469}\u{200d}\u{2695}\u{fe0f}","c":"1f469-200d-2695-fe0f"},"woman_judge":{"e":"\u{1f469}\u{200d}\u{2696}\u{fe0f}","c":"1f469-200d-2696-fe0f"},"woman_pilot":{"e":"\u{1f469}\u{200d}\u{2708}\u{fe0f}","c":"1f469-200d-2708-fe0f"},"couple_with_heart:_woman,_man":{"e":"\u{1f469}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f468}","c":"1f469-200d-2764-fe0f-200d-1f468"},"couple_with_heart:_woman,_woman":{"e":"\u{1f469}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f469}","c":"1f469-200d-2764-fe0f-200d-1f469"},"kiss:_woman,_man":{"e":"\u{1f469}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f468}","c":"1f469-200d-2764-fe0f-200d-1f48b-200d-1f468"},"kiss:_woman,_woman":{"e":"\u{1f469}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f469}","c":"1f469-200d-2764-fe0f-200d-1f48b-200d-1f469"},"woman":{"e":"\u{1f469}","c":"1f469"},"family":{"e":"\u{1f46a}","c":"1f46a"},"woman_and_man_holding_hands_light_skin_tone":{"e":"\u{1f46b}\u{1f3fb}","c":"1f46b-1f3fb"},"woman_and_man_holding_hands_medium_light_skin_tone":{"e":"\u{1f46b}\u{1f3fc}","c":"1f46b-1f3fc"},"woman_and_man_holding_hands_medium_skin_tone":{"e":"\u{1f46b}\u{1f3fd}","c":"1f46b-1f3fd"},"woman_and_man_holding_hands_medium_dark_skin_tone":{"e":"\u{1f46b}\u{1f3fe}","c":"1f46b-1f3fe"},"woman_and_man_holding_hands_dark_skin_tone":{"e":"\u{1f46b}\u{1f3ff}","c":"1f46b-1f3ff"},"woman_and_man_holding_hands":{"e":"\u{1f46b}","c":"1f46b"},"men_holding_hands_light_skin_tone":{"e":"\u{1f46c}\u{1f3fb}","c":"1f46c-1f3fb"},"men_holding_hands_medium_light_skin_tone":{"e":"\u{1f46c}\u{1f3fc}","c":"1f46c-1f3fc"},"men_holding_hands_medium_skin_tone":{"e":"\u{1f46c}\u{1f3fd}","c":"1f46c-1f3fd"},"men_holding_hands_medium_dark_skin_tone":{"e":"\u{1f46c}\u{1f3fe}","c":"1f46c-1f3fe"},"men_holding_hands_dark_skin_tone":{"e":"\u{1f46c}\u{1f3ff}","c":"1f46c-1f3ff"},"men_holding_hands":{"e":"\u{1f46c}","c":"1f46c"},"women_holding_hands_light_skin_tone":{"e":"\u{1f46d}\u{1f3fb}","c":"1f46d-1f3fb"},"women_holding_hands_medium_light_skin_tone":{"e":"\u{1f46d}\u{1f3fc}","c":"1f46d-1f3fc"},"women_holding_hands_medium_skin_tone":{"e":"\u{1f46d}\u{1f3fd}","c":"1f46d-1f3fd"},"women_holding_hands_medium_dark_skin_tone":{"e":"\u{1f46d}\u{1f3fe}","c":"1f46d-1f3fe"},"women_holding_hands_dark_skin_tone":{"e":"\u{1f46d}\u{1f3ff}","c":"1f46d-1f3ff"},"women_holding_hands":{"e":"\u{1f46d}","c":"1f46d"},"woman_police_officer:_light_skin_tone":{"e":"\u{1f46e}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f46e-1f3fb-200d-2640-fe0f"},"man_police_officer:_light_skin_tone":{"e":"\u{1f46e}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f46e-1f3fb-200d-2642-fe0f"},"police_officer_light_skin_tone":{"e":"\u{1f46e}\u{1f3fb}","c":"1f46e-1f3fb"},"woman_police_officer:_medium_light_skin_tone":{"e":"\u{1f46e}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f46e-1f3fc-200d-2640-fe0f"},"man_police_officer:_medium_light_skin_tone":{"e":"\u{1f46e}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f46e-1f3fc-200d-2642-fe0f"},"police_officer_medium_light_skin_tone":{"e":"\u{1f46e}\u{1f3fc}","c":"1f46e-1f3fc"},"woman_police_officer:_medium_skin_tone":{"e":"\u{1f46e}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f46e-1f3fd-200d-2640-fe0f"},"man_police_officer:_medium_skin_tone":{"e":"\u{1f46e}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f46e-1f3fd-200d-2642-fe0f"},"police_officer_medium_skin_tone":{"e":"\u{1f46e}\u{1f3fd}","c":"1f46e-1f3fd"},"woman_police_officer:_medium_dark_skin_tone":{"e":"\u{1f46e}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f46e-1f3fe-200d-2640-fe0f"},"man_police_officer:_medium_dark_skin_tone":{"e":"\u{1f46e}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f46e-1f3fe-200d-2642-fe0f"},"police_officer_medium_dark_skin_tone":{"e":"\u{1f46e}\u{1f3fe}","c":"1f46e-1f3fe"},"woman_police_officer:_dark_skin_tone":{"e":"\u{1f46e}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f46e-1f3ff-200d-2640-fe0f"},"man_police_officer:_dark_skin_tone":{"e":"\u{1f46e}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f46e-1f3ff-200d-2642-fe0f"},"police_officer_dark_skin_tone":{"e":"\u{1f46e}\u{1f3ff}","c":"1f46e-1f3ff"},"woman_police_officer":{"e":"\u{1f46e}\u{200d}\u{2640}\u{fe0f}","c":"1f46e-200d-2640-fe0f"},"man_police_officer":{"e":"\u{1f46e}\u{200d}\u{2642}\u{fe0f}","c":"1f46e-200d-2642-fe0f"},"police_officer":{"e":"\u{1f46e}","c":"1f46e"},"women_with_bunny_ears:_light_skin_tone":{"e":"\u{1f46f}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f46f-1f3fb-200d-2640-fe0f"},"men_with_bunny_ears:_light_skin_tone":{"e":"\u{1f46f}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f46f-1f3fb-200d-2642-fe0f"},"people_with_bunny_ears_light_skin_tone":{"e":"\u{1f46f}\u{1f3fb}","c":"1f46f-1f3fb"},"women_with_bunny_ears:_medium_light_skin_tone":{"e":"\u{1f46f}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f46f-1f3fc-200d-2640-fe0f"},"men_with_bunny_ears:_medium_light_skin_tone":{"e":"\u{1f46f}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f46f-1f3fc-200d-2642-fe0f"},"people_with_bunny_ears_medium_light_skin_tone":{"e":"\u{1f46f}\u{1f3fc}","c":"1f46f-1f3fc"},"women_with_bunny_ears:_medium_skin_tone":{"e":"\u{1f46f}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f46f-1f3fd-200d-2640-fe0f"},"men_with_bunny_ears:_medium_skin_tone":{"e":"\u{1f46f}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f46f-1f3fd-200d-2642-fe0f"},"people_with_bunny_ears_medium_skin_tone":{"e":"\u{1f46f}\u{1f3fd}","c":"1f46f-1f3fd"},"women_with_bunny_ears:_medium_dark_skin_tone":{"e":"\u{1f46f}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f46f-1f3fe-200d-2640-fe0f"},"men_with_bunny_ears:_medium_dark_skin_tone":{"e":"\u{1f46f}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f46f-1f3fe-200d-2642-fe0f"},"people_with_bunny_ears_medium_dark_skin_tone":{"e":"\u{1f46f}\u{1f3fe}","c":"1f46f-1f3fe"},"women_with_bunny_ears:_dark_skin_tone":{"e":"\u{1f46f}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f46f-1f3ff-200d-2640-fe0f"},"men_with_bunny_ears:_dark_skin_tone":{"e":"\u{1f46f}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f46f-1f3ff-200d-2642-fe0f"},"people_with_bunny_ears_dark_skin_tone":{"e":"\u{1f46f}\u{1f3ff}","c":"1f46f-1f3ff"},"women_with_bunny_ears":{"e":"\u{1f46f}\u{200d}\u{2640}\u{fe0f}","c":"1f46f-200d-2640-fe0f"},"men_with_bunny_ears":{"e":"\u{1f46f}\u{200d}\u{2642}\u{fe0f}","c":"1f46f-200d-2642-fe0f"},"people_with_bunny_ears":{"e":"\u{1f46f}","c":"1f46f"},"woman_with_veil:_light_skin_tone":{"e":"\u{1f470}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f470-1f3fb-200d-2640-fe0f"},"man_with_veil:_light_skin_tone":{"e":"\u{1f470}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f470-1f3fb-200d-2642-fe0f"},"person_with_veil_light_skin_tone":{"e":"\u{1f470}\u{1f3fb}","c":"1f470-1f3fb"},"woman_with_veil:_medium_light_skin_tone":{"e":"\u{1f470}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f470-1f3fc-200d-2640-fe0f"},"man_with_veil:_medium_light_skin_tone":{"e":"\u{1f470}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f470-1f3fc-200d-2642-fe0f"},"person_with_veil_medium_light_skin_tone":{"e":"\u{1f470}\u{1f3fc}","c":"1f470-1f3fc"},"woman_with_veil:_medium_skin_tone":{"e":"\u{1f470}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f470-1f3fd-200d-2640-fe0f"},"man_with_veil:_medium_skin_tone":{"e":"\u{1f470}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f470-1f3fd-200d-2642-fe0f"},"person_with_veil_medium_skin_tone":{"e":"\u{1f470}\u{1f3fd}","c":"1f470-1f3fd"},"woman_with_veil:_medium_dark_skin_tone":{"e":"\u{1f470}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f470-1f3fe-200d-2640-fe0f"},"man_with_veil:_medium_dark_skin_tone":{"e":"\u{1f470}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f470-1f3fe-200d-2642-fe0f"},"person_with_veil_medium_dark_skin_tone":{"e":"\u{1f470}\u{1f3fe}","c":"1f470-1f3fe"},"woman_with_veil:_dark_skin_tone":{"e":"\u{1f470}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f470-1f3ff-200d-2640-fe0f"},"man_with_veil:_dark_skin_tone":{"e":"\u{1f470}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f470-1f3ff-200d-2642-fe0f"},"person_with_veil_dark_skin_tone":{"e":"\u{1f470}\u{1f3ff}","c":"1f470-1f3ff"},"woman_with_veil":{"e":"\u{1f470}\u{200d}\u{2640}\u{fe0f}","c":"1f470-200d-2640-fe0f"},"man_with_veil":{"e":"\u{1f470}\u{200d}\u{2642}\u{fe0f}","c":"1f470-200d-2642-fe0f"},"person_with_veil":{"e":"\u{1f470}","c":"1f470"},"woman:_light_skin_tone,_blond_hair":{"e":"\u{1f471}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f471-1f3fb-200d-2640-fe0f"},"man:_light_skin_tone,_blond_hair":{"e":"\u{1f471}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f471-1f3fb-200d-2642-fe0f"},"person_light_skin_tone,_blond_hair":{"e":"\u{1f471}\u{1f3fb}","c":"1f471-1f3fb"},"woman:_medium_light_skin_tone,_blond_hair":{"e":"\u{1f471}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f471-1f3fc-200d-2640-fe0f"},"man:_medium_light_skin_tone,_blond_hair":{"e":"\u{1f471}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f471-1f3fc-200d-2642-fe0f"},"person_medium_light_skin_tone,_blond_hair":{"e":"\u{1f471}\u{1f3fc}","c":"1f471-1f3fc"},"woman:_medium_skin_tone,_blond_hair":{"e":"\u{1f471}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f471-1f3fd-200d-2640-fe0f"},"man:_medium_skin_tone,_blond_hair":{"e":"\u{1f471}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f471-1f3fd-200d-2642-fe0f"},"person_medium_skin_tone,_blond_hair":{"e":"\u{1f471}\u{1f3fd}","c":"1f471-1f3fd"},"woman:_medium_dark_skin_tone,_blond_hair":{"e":"\u{1f471}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f471-1f3fe-200d-2640-fe0f"},"man:_medium_dark_skin_tone,_blond_hair":{"e":"\u{1f471}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f471-1f3fe-200d-2642-fe0f"},"person_medium_dark_skin_tone,_blond_hair":{"e":"\u{1f471}\u{1f3fe}","c":"1f471-1f3fe"},"woman:_dark_skin_tone,_blond_hair":{"e":"\u{1f471}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f471-1f3ff-200d-2640-fe0f"},"man:_dark_skin_tone,_blond_hair":{"e":"\u{1f471}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f471-1f3ff-200d-2642-fe0f"},"person_dark_skin_tone,_blond_hair":{"e":"\u{1f471}\u{1f3ff}","c":"1f471-1f3ff"},"woman:_blond_hair":{"e":"\u{1f471}\u{200d}\u{2640}\u{fe0f}","c":"1f471-200d-2640-fe0f"},"man:_blond_hair":{"e":"\u{1f471}\u{200d}\u{2642}\u{fe0f}","c":"1f471-200d-2642-fe0f"},"person_blond_hair":{"e":"\u{1f471}","c":"1f471"},"person_with_skullcap_light_skin_tone":{"e":"\u{1f472}\u{1f3fb}","c":"1f472-1f3fb"},"person_with_skullcap_medium_light_skin_tone":{"e":"\u{1f472}\u{1f3fc}","c":"1f472-1f3fc"},"person_with_skullcap_medium_skin_tone":{"e":"\u{1f472}\u{1f3fd}","c":"1f472-1f3fd"},"person_with_skullcap_medium_dark_skin_tone":{"e":"\u{1f472}\u{1f3fe}","c":"1f472-1f3fe"},"person_with_skullcap_dark_skin_tone":{"e":"\u{1f472}\u{1f3ff}","c":"1f472-1f3ff"},"person_with_skullcap":{"e":"\u{1f472}","c":"1f472"},"woman_wearing_turban:_light_skin_tone":{"e":"\u{1f473}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f473-1f3fb-200d-2640-fe0f"},"man_wearing_turban:_light_skin_tone":{"e":"\u{1f473}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f473-1f3fb-200d-2642-fe0f"},"person_wearing_turban_light_skin_tone":{"e":"\u{1f473}\u{1f3fb}","c":"1f473-1f3fb"},"woman_wearing_turban:_medium_light_skin_tone":{"e":"\u{1f473}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f473-1f3fc-200d-2640-fe0f"},"man_wearing_turban:_medium_light_skin_tone":{"e":"\u{1f473}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f473-1f3fc-200d-2642-fe0f"},"person_wearing_turban_medium_light_skin_tone":{"e":"\u{1f473}\u{1f3fc}","c":"1f473-1f3fc"},"woman_wearing_turban:_medium_skin_tone":{"e":"\u{1f473}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f473-1f3fd-200d-2640-fe0f"},"man_wearing_turban:_medium_skin_tone":{"e":"\u{1f473}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f473-1f3fd-200d-2642-fe0f"},"person_wearing_turban_medium_skin_tone":{"e":"\u{1f473}\u{1f3fd}","c":"1f473-1f3fd"},"woman_wearing_turban:_medium_dark_skin_tone":{"e":"\u{1f473}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f473-1f3fe-200d-2640-fe0f"},"man_wearing_turban:_medium_dark_skin_tone":{"e":"\u{1f473}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f473-1f3fe-200d-2642-fe0f"},"person_wearing_turban_medium_dark_skin_tone":{"e":"\u{1f473}\u{1f3fe}","c":"1f473-1f3fe"},"woman_wearing_turban:_dark_skin_tone":{"e":"\u{1f473}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f473-1f3ff-200d-2640-fe0f"},"man_wearing_turban:_dark_skin_tone":{"e":"\u{1f473}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f473-1f3ff-200d-2642-fe0f"},"person_wearing_turban_dark_skin_tone":{"e":"\u{1f473}\u{1f3ff}","c":"1f473-1f3ff"},"woman_wearing_turban":{"e":"\u{1f473}\u{200d}\u{2640}\u{fe0f}","c":"1f473-200d-2640-fe0f"},"man_wearing_turban":{"e":"\u{1f473}\u{200d}\u{2642}\u{fe0f}","c":"1f473-200d-2642-fe0f"},"person_wearing_turban":{"e":"\u{1f473}","c":"1f473"},"old_man_light_skin_tone":{"e":"\u{1f474}\u{1f3fb}","c":"1f474-1f3fb"},"old_man_medium_light_skin_tone":{"e":"\u{1f474}\u{1f3fc}","c":"1f474-1f3fc"},"old_man_medium_skin_tone":{"e":"\u{1f474}\u{1f3fd}","c":"1f474-1f3fd"},"old_man_medium_dark_skin_tone":{"e":"\u{1f474}\u{1f3fe}","c":"1f474-1f3fe"},"old_man_dark_skin_tone":{"e":"\u{1f474}\u{1f3ff}","c":"1f474-1f3ff"},"old_man":{"e":"\u{1f474}","c":"1f474"},"old_woman_light_skin_tone":{"e":"\u{1f475}\u{1f3fb}","c":"1f475-1f3fb"},"old_woman_medium_light_skin_tone":{"e":"\u{1f475}\u{1f3fc}","c":"1f475-1f3fc"},"old_woman_medium_skin_tone":{"e":"\u{1f475}\u{1f3fd}","c":"1f475-1f3fd"},"old_woman_medium_dark_skin_tone":{"e":"\u{1f475}\u{1f3fe}","c":"1f475-1f3fe"},"old_woman_dark_skin_tone":{"e":"\u{1f475}\u{1f3ff}","c":"1f475-1f3ff"},"old_woman":{"e":"\u{1f475}","c":"1f475"},"baby_light_skin_tone":{"e":"\u{1f476}\u{1f3fb}","c":"1f476-1f3fb"},"baby_medium_light_skin_tone":{"e":"\u{1f476}\u{1f3fc}","c":"1f476-1f3fc"},"baby_medium_skin_tone":{"e":"\u{1f476}\u{1f3fd}","c":"1f476-1f3fd"},"baby_medium_dark_skin_tone":{"e":"\u{1f476}\u{1f3fe}","c":"1f476-1f3fe"},"baby_dark_skin_tone":{"e":"\u{1f476}\u{1f3ff}","c":"1f476-1f3ff"},"baby":{"e":"\u{1f476}","c":"1f476"},"woman_construction_worker:_light_skin_tone":{"e":"\u{1f477}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f477-1f3fb-200d-2640-fe0f"},"man_construction_worker:_light_skin_tone":{"e":"\u{1f477}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f477-1f3fb-200d-2642-fe0f"},"construction_worker_light_skin_tone":{"e":"\u{1f477}\u{1f3fb}","c":"1f477-1f3fb"},"woman_construction_worker:_medium_light_skin_tone":{"e":"\u{1f477}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f477-1f3fc-200d-2640-fe0f"},"man_construction_worker:_medium_light_skin_tone":{"e":"\u{1f477}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f477-1f3fc-200d-2642-fe0f"},"construction_worker_medium_light_skin_tone":{"e":"\u{1f477}\u{1f3fc}","c":"1f477-1f3fc"},"woman_construction_worker:_medium_skin_tone":{"e":"\u{1f477}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f477-1f3fd-200d-2640-fe0f"},"man_construction_worker:_medium_skin_tone":{"e":"\u{1f477}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f477-1f3fd-200d-2642-fe0f"},"construction_worker_medium_skin_tone":{"e":"\u{1f477}\u{1f3fd}","c":"1f477-1f3fd"},"woman_construction_worker:_medium_dark_skin_tone":{"e":"\u{1f477}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f477-1f3fe-200d-2640-fe0f"},"man_construction_worker:_medium_dark_skin_tone":{"e":"\u{1f477}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f477-1f3fe-200d-2642-fe0f"},"construction_worker_medium_dark_skin_tone":{"e":"\u{1f477}\u{1f3fe}","c":"1f477-1f3fe"},"woman_construction_worker:_dark_skin_tone":{"e":"\u{1f477}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f477-1f3ff-200d-2640-fe0f"},"man_construction_worker:_dark_skin_tone":{"e":"\u{1f477}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f477-1f3ff-200d-2642-fe0f"},"construction_worker_dark_skin_tone":{"e":"\u{1f477}\u{1f3ff}","c":"1f477-1f3ff"},"woman_construction_worker":{"e":"\u{1f477}\u{200d}\u{2640}\u{fe0f}","c":"1f477-200d-2640-fe0f"},"man_construction_worker":{"e":"\u{1f477}\u{200d}\u{2642}\u{fe0f}","c":"1f477-200d-2642-fe0f"},"construction_worker":{"e":"\u{1f477}","c":"1f477"},"princess_light_skin_tone":{"e":"\u{1f478}\u{1f3fb}","c":"1f478-1f3fb"},"princess_medium_light_skin_tone":{"e":"\u{1f478}\u{1f3fc}","c":"1f478-1f3fc"},"princess_medium_skin_tone":{"e":"\u{1f478}\u{1f3fd}","c":"1f478-1f3fd"},"princess_medium_dark_skin_tone":{"e":"\u{1f478}\u{1f3fe}","c":"1f478-1f3fe"},"princess_dark_skin_tone":{"e":"\u{1f478}\u{1f3ff}","c":"1f478-1f3ff"},"princess":{"e":"\u{1f478}","c":"1f478"},"ogre":{"e":"\u{1f479}","c":"1f479"},"goblin":{"e":"\u{1f47a}","c":"1f47a"},"ghost":{"e":"\u{1f47b}","c":"1f47b"},"baby_angel_light_skin_tone":{"e":"\u{1f47c}\u{1f3fb}","c":"1f47c-1f3fb"},"baby_angel_medium_light_skin_tone":{"e":"\u{1f47c}\u{1f3fc}","c":"1f47c-1f3fc"},"baby_angel_medium_skin_tone":{"e":"\u{1f47c}\u{1f3fd}","c":"1f47c-1f3fd"},"baby_angel_medium_dark_skin_tone":{"e":"\u{1f47c}\u{1f3fe}","c":"1f47c-1f3fe"},"baby_angel_dark_skin_tone":{"e":"\u{1f47c}\u{1f3ff}","c":"1f47c-1f3ff"},"baby_angel":{"e":"\u{1f47c}","c":"1f47c"},"alien":{"e":"\u{1f47d}","c":"1f47d"},"alien_monster":{"e":"\u{1f47e}","c":"1f47e"},"angry_face_with_horns":{"e":"\u{1f47f}","c":"1f47f"},"skull":{"e":"\u{1f480}","c":"1f480"},"woman_tipping_hand:_light_skin_tone":{"e":"\u{1f481}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f481-1f3fb-200d-2640-fe0f"},"man_tipping_hand:_light_skin_tone":{"e":"\u{1f481}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f481-1f3fb-200d-2642-fe0f"},"person_tipping_hand_light_skin_tone":{"e":"\u{1f481}\u{1f3fb}","c":"1f481-1f3fb"},"woman_tipping_hand:_medium_light_skin_tone":{"e":"\u{1f481}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f481-1f3fc-200d-2640-fe0f"},"man_tipping_hand:_medium_light_skin_tone":{"e":"\u{1f481}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f481-1f3fc-200d-2642-fe0f"},"person_tipping_hand_medium_light_skin_tone":{"e":"\u{1f481}\u{1f3fc}","c":"1f481-1f3fc"},"woman_tipping_hand:_medium_skin_tone":{"e":"\u{1f481}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f481-1f3fd-200d-2640-fe0f"},"man_tipping_hand:_medium_skin_tone":{"e":"\u{1f481}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f481-1f3fd-200d-2642-fe0f"},"person_tipping_hand_medium_skin_tone":{"e":"\u{1f481}\u{1f3fd}","c":"1f481-1f3fd"},"woman_tipping_hand:_medium_dark_skin_tone":{"e":"\u{1f481}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f481-1f3fe-200d-2640-fe0f"},"man_tipping_hand:_medium_dark_skin_tone":{"e":"\u{1f481}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f481-1f3fe-200d-2642-fe0f"},"person_tipping_hand_medium_dark_skin_tone":{"e":"\u{1f481}\u{1f3fe}","c":"1f481-1f3fe"},"woman_tipping_hand:_dark_skin_tone":{"e":"\u{1f481}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f481-1f3ff-200d-2640-fe0f"},"man_tipping_hand:_dark_skin_tone":{"e":"\u{1f481}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f481-1f3ff-200d-2642-fe0f"},"person_tipping_hand_dark_skin_tone":{"e":"\u{1f481}\u{1f3ff}","c":"1f481-1f3ff"},"woman_tipping_hand":{"e":"\u{1f481}\u{200d}\u{2640}\u{fe0f}","c":"1f481-200d-2640-fe0f"},"man_tipping_hand":{"e":"\u{1f481}\u{200d}\u{2642}\u{fe0f}","c":"1f481-200d-2642-fe0f"},"person_tipping_hand":{"e":"\u{1f481}","c":"1f481"},"woman_guard:_light_skin_tone":{"e":"\u{1f482}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f482-1f3fb-200d-2640-fe0f"},"man_guard:_light_skin_tone":{"e":"\u{1f482}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f482-1f3fb-200d-2642-fe0f"},"guard_light_skin_tone":{"e":"\u{1f482}\u{1f3fb}","c":"1f482-1f3fb"},"woman_guard:_medium_light_skin_tone":{"e":"\u{1f482}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f482-1f3fc-200d-2640-fe0f"},"man_guard:_medium_light_skin_tone":{"e":"\u{1f482}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f482-1f3fc-200d-2642-fe0f"},"guard_medium_light_skin_tone":{"e":"\u{1f482}\u{1f3fc}","c":"1f482-1f3fc"},"woman_guard:_medium_skin_tone":{"e":"\u{1f482}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f482-1f3fd-200d-2640-fe0f"},"man_guard:_medium_skin_tone":{"e":"\u{1f482}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f482-1f3fd-200d-2642-fe0f"},"guard_medium_skin_tone":{"e":"\u{1f482}\u{1f3fd}","c":"1f482-1f3fd"},"woman_guard:_medium_dark_skin_tone":{"e":"\u{1f482}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f482-1f3fe-200d-2640-fe0f"},"man_guard:_medium_dark_skin_tone":{"e":"\u{1f482}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f482-1f3fe-200d-2642-fe0f"},"guard_medium_dark_skin_tone":{"e":"\u{1f482}\u{1f3fe}","c":"1f482-1f3fe"},"woman_guard:_dark_skin_tone":{"e":"\u{1f482}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f482-1f3ff-200d-2640-fe0f"},"man_guard:_dark_skin_tone":{"e":"\u{1f482}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f482-1f3ff-200d-2642-fe0f"},"guard_dark_skin_tone":{"e":"\u{1f482}\u{1f3ff}","c":"1f482-1f3ff"},"woman_guard":{"e":"\u{1f482}\u{200d}\u{2640}\u{fe0f}","c":"1f482-200d-2640-fe0f"},"man_guard":{"e":"\u{1f482}\u{200d}\u{2642}\u{fe0f}","c":"1f482-200d-2642-fe0f"},"guard":{"e":"\u{1f482}","c":"1f482"},"woman_dancing_light_skin_tone":{"e":"\u{1f483}\u{1f3fb}","c":"1f483-1f3fb"},"woman_dancing_medium_light_skin_tone":{"e":"\u{1f483}\u{1f3fc}","c":"1f483-1f3fc"},"woman_dancing_medium_skin_tone":{"e":"\u{1f483}\u{1f3fd}","c":"1f483-1f3fd"},"woman_dancing_medium_dark_skin_tone":{"e":"\u{1f483}\u{1f3fe}","c":"1f483-1f3fe"},"woman_dancing_dark_skin_tone":{"e":"\u{1f483}\u{1f3ff}","c":"1f483-1f3ff"},"woman_dancing":{"e":"\u{1f483}","c":"1f483"},"lipstick":{"e":"\u{1f484}","c":"1f484"},"nail_polish_light_skin_tone":{"e":"\u{1f485}\u{1f3fb}","c":"1f485-1f3fb"},"nail_polish_medium_light_skin_tone":{"e":"\u{1f485}\u{1f3fc}","c":"1f485-1f3fc"},"nail_polish_medium_skin_tone":{"e":"\u{1f485}\u{1f3fd}","c":"1f485-1f3fd"},"nail_polish_medium_dark_skin_tone":{"e":"\u{1f485}\u{1f3fe}","c":"1f485-1f3fe"},"nail_polish_dark_skin_tone":{"e":"\u{1f485}\u{1f3ff}","c":"1f485-1f3ff"},"nail_polish":{"e":"\u{1f485}","c":"1f485"},"woman_getting_massage:_light_skin_tone":{"e":"\u{1f486}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f486-1f3fb-200d-2640-fe0f"},"man_getting_massage:_light_skin_tone":{"e":"\u{1f486}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f486-1f3fb-200d-2642-fe0f"},"person_getting_massage_light_skin_tone":{"e":"\u{1f486}\u{1f3fb}","c":"1f486-1f3fb"},"woman_getting_massage:_medium_light_skin_tone":{"e":"\u{1f486}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f486-1f3fc-200d-2640-fe0f"},"man_getting_massage:_medium_light_skin_tone":{"e":"\u{1f486}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f486-1f3fc-200d-2642-fe0f"},"person_getting_massage_medium_light_skin_tone":{"e":"\u{1f486}\u{1f3fc}","c":"1f486-1f3fc"},"woman_getting_massage:_medium_skin_tone":{"e":"\u{1f486}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f486-1f3fd-200d-2640-fe0f"},"man_getting_massage:_medium_skin_tone":{"e":"\u{1f486}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f486-1f3fd-200d-2642-fe0f"},"person_getting_massage_medium_skin_tone":{"e":"\u{1f486}\u{1f3fd}","c":"1f486-1f3fd"},"woman_getting_massage:_medium_dark_skin_tone":{"e":"\u{1f486}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f486-1f3fe-200d-2640-fe0f"},"man_getting_massage:_medium_dark_skin_tone":{"e":"\u{1f486}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f486-1f3fe-200d-2642-fe0f"},"person_getting_massage_medium_dark_skin_tone":{"e":"\u{1f486}\u{1f3fe}","c":"1f486-1f3fe"},"woman_getting_massage:_dark_skin_tone":{"e":"\u{1f486}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f486-1f3ff-200d-2640-fe0f"},"man_getting_massage:_dark_skin_tone":{"e":"\u{1f486}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f486-1f3ff-200d-2642-fe0f"},"person_getting_massage_dark_skin_tone":{"e":"\u{1f486}\u{1f3ff}","c":"1f486-1f3ff"},"woman_getting_massage":{"e":"\u{1f486}\u{200d}\u{2640}\u{fe0f}","c":"1f486-200d-2640-fe0f"},"man_getting_massage":{"e":"\u{1f486}\u{200d}\u{2642}\u{fe0f}","c":"1f486-200d-2642-fe0f"},"person_getting_massage":{"e":"\u{1f486}","c":"1f486"},"woman_getting_haircut:_light_skin_tone":{"e":"\u{1f487}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f487-1f3fb-200d-2640-fe0f"},"man_getting_haircut:_light_skin_tone":{"e":"\u{1f487}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f487-1f3fb-200d-2642-fe0f"},"person_getting_haircut_light_skin_tone":{"e":"\u{1f487}\u{1f3fb}","c":"1f487-1f3fb"},"woman_getting_haircut:_medium_light_skin_tone":{"e":"\u{1f487}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f487-1f3fc-200d-2640-fe0f"},"man_getting_haircut:_medium_light_skin_tone":{"e":"\u{1f487}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f487-1f3fc-200d-2642-fe0f"},"person_getting_haircut_medium_light_skin_tone":{"e":"\u{1f487}\u{1f3fc}","c":"1f487-1f3fc"},"woman_getting_haircut:_medium_skin_tone":{"e":"\u{1f487}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f487-1f3fd-200d-2640-fe0f"},"man_getting_haircut:_medium_skin_tone":{"e":"\u{1f487}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f487-1f3fd-200d-2642-fe0f"},"person_getting_haircut_medium_skin_tone":{"e":"\u{1f487}\u{1f3fd}","c":"1f487-1f3fd"},"woman_getting_haircut:_medium_dark_skin_tone":{"e":"\u{1f487}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f487-1f3fe-200d-2640-fe0f"},"man_getting_haircut:_medium_dark_skin_tone":{"e":"\u{1f487}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f487-1f3fe-200d-2642-fe0f"},"person_getting_haircut_medium_dark_skin_tone":{"e":"\u{1f487}\u{1f3fe}","c":"1f487-1f3fe"},"woman_getting_haircut:_dark_skin_tone":{"e":"\u{1f487}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f487-1f3ff-200d-2640-fe0f"},"man_getting_haircut:_dark_skin_tone":{"e":"\u{1f487}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f487-1f3ff-200d-2642-fe0f"},"person_getting_haircut_dark_skin_tone":{"e":"\u{1f487}\u{1f3ff}","c":"1f487-1f3ff"},"woman_getting_haircut":{"e":"\u{1f487}\u{200d}\u{2640}\u{fe0f}","c":"1f487-200d-2640-fe0f"},"man_getting_haircut":{"e":"\u{1f487}\u{200d}\u{2642}\u{fe0f}","c":"1f487-200d-2642-fe0f"},"person_getting_haircut":{"e":"\u{1f487}","c":"1f487"},"barber_pole":{"e":"\u{1f488}","c":"1f488"},"syringe":{"e":"\u{1f489}","c":"1f489"},"pill":{"e":"\u{1f48a}","c":"1f48a"},"kiss_mark":{"e":"\u{1f48b}","c":"1f48b"},"love_letter":{"e":"\u{1f48c}","c":"1f48c"},"ring":{"e":"\u{1f48d}","c":"1f48d"},"gem_stone":{"e":"\u{1f48e}","c":"1f48e"},"kiss_light_skin_tone":{"e":"\u{1f48f}\u{1f3fb}","c":"1f48f-1f3fb"},"kiss_medium_light_skin_tone":{"e":"\u{1f48f}\u{1f3fc}","c":"1f48f-1f3fc"},"kiss_medium_skin_tone":{"e":"\u{1f48f}\u{1f3fd}","c":"1f48f-1f3fd"},"kiss_medium_dark_skin_tone":{"e":"\u{1f48f}\u{1f3fe}","c":"1f48f-1f3fe"},"kiss_dark_skin_tone":{"e":"\u{1f48f}\u{1f3ff}","c":"1f48f-1f3ff"},"kiss":{"e":"\u{1f48f}","c":"1f48f"},"bouquet":{"e":"\u{1f490}","c":"1f490"},"couple_with_heart_light_skin_tone":{"e":"\u{1f491}\u{1f3fb}","c":"1f491-1f3fb"},"couple_with_heart_medium_light_skin_tone":{"e":"\u{1f491}\u{1f3fc}","c":"1f491-1f3fc"},"couple_with_heart_medium_skin_tone":{"e":"\u{1f491}\u{1f3fd}","c":"1f491-1f3fd"},"couple_with_heart_medium_dark_skin_tone":{"e":"\u{1f491}\u{1f3fe}","c":"1f491-1f3fe"},"couple_with_heart_dark_skin_tone":{"e":"\u{1f491}\u{1f3ff}","c":"1f491-1f3ff"},"couple_with_heart":{"e":"\u{1f491}","c":"1f491"},"wedding":{"e":"\u{1f492}","c":"1f492"},"beating_heart":{"e":"\u{1f493}","c":"1f493"},"broken_heart":{"e":"\u{1f494}","c":"1f494"},"two_hearts":{"e":"\u{1f495}","c":"1f495"},"sparkling_heart":{"e":"\u{1f496}","c":"1f496"},"growing_heart":{"e":"\u{1f497}","c":"1f497"},"heart_with_arrow":{"e":"\u{1f498}","c":"1f498"},"blue_heart":{"e":"\u{1f499}","c":"1f499"},"green_heart":{"e":"\u{1f49a}","c":"1f49a"},"yellow_heart":{"e":"\u{1f49b}","c":"1f49b"},"purple_heart":{"e":"\u{1f49c}","c":"1f49c"},"heart_with_ribbon":{"e":"\u{1f49d}","c":"1f49d"},"revolving_hearts":{"e":"\u{1f49e}","c":"1f49e"},"heart_decoration":{"e":"\u{1f49f}","c":"1f49f"},"diamond_with_a_dot":{"e":"\u{1f4a0}","c":"1f4a0"},"light_bulb":{"e":"\u{1f4a1}","c":"1f4a1"},"anger_symbol":{"e":"\u{1f4a2}","c":"1f4a2"},"bomb":{"e":"\u{1f4a3}","c":"1f4a3"},"zzz":{"e":"\u{1f4a4}","c":"1f4a4"},"collision":{"e":"\u{1f4a5}","c":"1f4a5"},"sweat_droplets":{"e":"\u{1f4a6}","c":"1f4a6"},"droplet":{"e":"\u{1f4a7}","c":"1f4a7"},"dashing_away":{"e":"\u{1f4a8}","c":"1f4a8"},"pile_of_poo":{"e":"\u{1f4a9}","c":"1f4a9"},"flexed_biceps_light_skin_tone":{"e":"\u{1f4aa}\u{1f3fb}","c":"1f4aa-1f3fb"},"flexed_biceps_medium_light_skin_tone":{"e":"\u{1f4aa}\u{1f3fc}","c":"1f4aa-1f3fc"},"flexed_biceps_medium_skin_tone":{"e":"\u{1f4aa}\u{1f3fd}","c":"1f4aa-1f3fd"},"flexed_biceps_medium_dark_skin_tone":{"e":"\u{1f4aa}\u{1f3fe}","c":"1f4aa-1f3fe"},"flexed_biceps_dark_skin_tone":{"e":"\u{1f4aa}\u{1f3ff}","c":"1f4aa-1f3ff"},"flexed_biceps":{"e":"\u{1f4aa}","c":"1f4aa"},"dizzy":{"e":"\u{1f4ab}","c":"1f4ab"},"speech_balloon":{"e":"\u{1f4ac}","c":"1f4ac"},"thought_balloon":{"e":"\u{1f4ad}","c":"1f4ad"},"white_flower":{"e":"\u{1f4ae}","c":"1f4ae"},"hundred_points":{"e":"\u{1f4af}","c":"1f4af"},"money_bag":{"e":"\u{1f4b0}","c":"1f4b0"},"currency_exchange":{"e":"\u{1f4b1}","c":"1f4b1"},"heavy_dollar_sign":{"e":"\u{1f4b2}","c":"1f4b2"},"credit_card":{"e":"\u{1f4b3}","c":"1f4b3"},"yen_banknote":{"e":"\u{1f4b4}","c":"1f4b4"},"dollar_banknote":{"e":"\u{1f4b5}","c":"1f4b5"},"euro_banknote":{"e":"\u{1f4b6}","c":"1f4b6"},"pound_banknote":{"e":"\u{1f4b7}","c":"1f4b7"},"money_with_wings":{"e":"\u{1f4b8}","c":"1f4b8"},"chart_increasing_with_yen":{"e":"\u{1f4b9}","c":"1f4b9"},"seat":{"e":"\u{1f4ba}","c":"1f4ba"},"laptop":{"e":"\u{1f4bb}","c":"1f4bb"},"briefcase":{"e":"\u{1f4bc}","c":"1f4bc"},"computer_disk":{"e":"\u{1f4bd}","c":"1f4bd"},"floppy_disk":{"e":"\u{1f4be}","c":"1f4be"},"optical_disk":{"e":"\u{1f4bf}","c":"1f4bf"},"dvd":{"e":"\u{1f4c0}","c":"1f4c0"},"file_folder":{"e":"\u{1f4c1}","c":"1f4c1"},"open_file_folder":{"e":"\u{1f4c2}","c":"1f4c2"},"page_with_curl":{"e":"\u{1f4c3}","c":"1f4c3"},"page_facing_up":{"e":"\u{1f4c4}","c":"1f4c4"},"calendar":{"e":"\u{1f4c5}","c":"1f4c5"},"tear_off_calendar":{"e":"\u{1f4c6}","c":"1f4c6"},"card_index":{"e":"\u{1f4c7}","c":"1f4c7"},"chart_increasing":{"e":"\u{1f4c8}","c":"1f4c8"},"chart_decreasing":{"e":"\u{1f4c9}","c":"1f4c9"},"bar_chart":{"e":"\u{1f4ca}","c":"1f4ca"},"clipboard":{"e":"\u{1f4cb}","c":"1f4cb"},"pushpin":{"e":"\u{1f4cc}","c":"1f4cc"},"round_pushpin":{"e":"\u{1f4cd}","c":"1f4cd"},"paperclip":{"e":"\u{1f4ce}","c":"1f4ce"},"straight_ruler":{"e":"\u{1f4cf}","c":"1f4cf"},"triangular_ruler":{"e":"\u{1f4d0}","c":"1f4d0"},"bookmark_tabs":{"e":"\u{1f4d1}","c":"1f4d1"},"ledger":{"e":"\u{1f4d2}","c":"1f4d2"},"notebook":{"e":"\u{1f4d3}","c":"1f4d3"},"notebook_with_decorative_cover":{"e":"\u{1f4d4}","c":"1f4d4"},"closed_book":{"e":"\u{1f4d5}","c":"1f4d5"},"open_book":{"e":"\u{1f4d6}","c":"1f4d6"},"green_book":{"e":"\u{1f4d7}","c":"1f4d7"},"blue_book":{"e":"\u{1f4d8}","c":"1f4d8"},"orange_book":{"e":"\u{1f4d9}","c":"1f4d9"},"books":{"e":"\u{1f4da}","c":"1f4da"},"name_badge":{"e":"\u{1f4db}","c":"1f4db"},"scroll":{"e":"\u{1f4dc}","c":"1f4dc"},"memo":{"e":"\u{1f4dd}","c":"1f4dd"},"telephone_receiver":{"e":"\u{1f4de}","c":"1f4de"},"pager":{"e":"\u{1f4df}","c":"1f4df"},"fax_machine":{"e":"\u{1f4e0}","c":"1f4e0"},"satellite_antenna":{"e":"\u{1f4e1}","c":"1f4e1"},"loudspeaker":{"e":"\u{1f4e2}","c":"1f4e2"},"megaphone":{"e":"\u{1f4e3}","c":"1f4e3"},"outbox_tray":{"e":"\u{1f4e4}","c":"1f4e4"},"inbox_tray":{"e":"\u{1f4e5}","c":"1f4e5"},"package":{"e":"\u{1f4e6}","c":"1f4e6"},"e_mail":{"e":"\u{1f4e7}","c":"1f4e7"},"incoming_envelope":{"e":"\u{1f4e8}","c":"1f4e8"},"envelope_with_arrow":{"e":"\u{1f4e9}","c":"1f4e9"},"closed_mailbox_with_lowered_flag":{"e":"\u{1f4ea}","c":"1f4ea"},"closed_mailbox_with_raised_flag":{"e":"\u{1f4eb}","c":"1f4eb"},"open_mailbox_with_raised_flag":{"e":"\u{1f4ec}","c":"1f4ec"},"open_mailbox_with_lowered_flag":{"e":"\u{1f4ed}","c":"1f4ed"},"postbox":{"e":"\u{1f4ee}","c":"1f4ee"},"postal_horn":{"e":"\u{1f4ef}","c":"1f4ef"},"newspaper":{"e":"\u{1f4f0}","c":"1f4f0"},"mobile_phone":{"e":"\u{1f4f1}","c":"1f4f1"},"mobile_phone_with_arrow":{"e":"\u{1f4f2}","c":"1f4f2"},"vibration_mode":{"e":"\u{1f4f3}","c":"1f4f3"},"mobile_phone_off":{"e":"\u{1f4f4}","c":"1f4f4"},"no_mobile_phones":{"e":"\u{1f4f5}","c":"1f4f5"},"antenna_bars":{"e":"\u{1f4f6}","c":"1f4f6"},"camera":{"e":"\u{1f4f7}","c":"1f4f7"},"camera_with_flash":{"e":"\u{1f4f8}","c":"1f4f8"},"video_camera":{"e":"\u{1f4f9}","c":"1f4f9"},"television":{"e":"\u{1f4fa}","c":"1f4fa"},"radio":{"e":"\u{1f4fb}","c":"1f4fb"},"videocassette":{"e":"\u{1f4fc}","c":"1f4fc"},"film_projector":{"e":"\u{1f4fd}","c":"1f4fd"},"prayer_beads":{"e":"\u{1f4ff}","c":"1f4ff"},"shuffle_tracks_button":{"e":"\u{1f500}","c":"1f500"},"repeat_button":{"e":"\u{1f501}","c":"1f501"},"repeat_single_button":{"e":"\u{1f502}","c":"1f502"},"clockwise_vertical_arrows":{"e":"\u{1f503}","c":"1f503"},"counterclockwise_arrows_button":{"e":"\u{1f504}","c":"1f504"},"dim_button":{"e":"\u{1f505}","c":"1f505"},"bright_button":{"e":"\u{1f506}","c":"1f506"},"muted_speaker":{"e":"\u{1f507}","c":"1f507"},"speaker_low_volume":{"e":"\u{1f508}","c":"1f508"},"speaker_medium_volume":{"e":"\u{1f509}","c":"1f509"},"speaker_high_volume":{"e":"\u{1f50a}","c":"1f50a"},"battery":{"e":"\u{1f50b}","c":"1f50b"},"electric_plug":{"e":"\u{1f50c}","c":"1f50c"},"magnifying_glass_tilted_left":{"e":"\u{1f50d}","c":"1f50d"},"magnifying_glass_tilted_right":{"e":"\u{1f50e}","c":"1f50e"},"locked_with_pen":{"e":"\u{1f50f}","c":"1f50f"},"locked_with_key":{"e":"\u{1f510}","c":"1f510"},"key":{"e":"\u{1f511}","c":"1f511"},"locked":{"e":"\u{1f512}","c":"1f512"},"unlocked":{"e":"\u{1f513}","c":"1f513"},"bell":{"e":"\u{1f514}","c":"1f514"},"bell_with_slash":{"e":"\u{1f515}","c":"1f515"},"bookmark":{"e":"\u{1f516}","c":"1f516"},"link":{"e":"\u{1f517}","c":"1f517"},"radio_button":{"e":"\u{1f518}","c":"1f518"},"back_arrow":{"e":"\u{1f519}","c":"1f519"},"end_arrow":{"e":"\u{1f51a}","c":"1f51a"},"on!_arrow":{"e":"\u{1f51b}","c":"1f51b"},"soon_arrow":{"e":"\u{1f51c}","c":"1f51c"},"top_arrow":{"e":"\u{1f51d}","c":"1f51d"},"no_one_under_eighteen":{"e":"\u{1f51e}","c":"1f51e"},"keycap_ba":{"e":"\u{1f51f}","c":"1f51f"},"input_latin_uppercase":{"e":"\u{1f520}","c":"1f520"},"input_latin_lowercase":{"e":"\u{1f521}","c":"1f521"},"input_numbers":{"e":"\u{1f522}","c":"1f522"},"input_symbols":{"e":"\u{1f523}","c":"1f523"},"input_latin_letters":{"e":"\u{1f524}","c":"1f524"},"fire":{"e":"\u{1f525}","c":"1f525"},"flashlight":{"e":"\u{1f526}","c":"1f526"},"wrench":{"e":"\u{1f527}","c":"1f527"},"hammer":{"e":"\u{1f528}","c":"1f528"},"nut_and_bolt":{"e":"\u{1f529}","c":"1f529"},"kitchen_knife":{"e":"\u{1f52a}","c":"1f52a"},"water_pistol":{"e":"\u{1f52b}","c":"1f52b"},"microscope":{"e":"\u{1f52c}","c":"1f52c"},"telescope":{"e":"\u{1f52d}","c":"1f52d"},"crystal_ball":{"e":"\u{1f52e}","c":"1f52e"},"dotted_six_pointed_star":{"e":"\u{1f52f}","c":"1f52f"},"japanese_symbol_for_beginner":{"e":"\u{1f530}","c":"1f530"},"trident_emblem":{"e":"\u{1f531}","c":"1f531"},"black_square_button":{"e":"\u{1f532}","c":"1f532"},"white_square_button":{"e":"\u{1f533}","c":"1f533"},"red_circle":{"e":"\u{1f534}","c":"1f534"},"blue_circle":{"e":"\u{1f535}","c":"1f535"},"large_orange_diamond":{"e":"\u{1f536}","c":"1f536"},"large_blue_diamond":{"e":"\u{1f537}","c":"1f537"},"small_orange_diamond":{"e":"\u{1f538}","c":"1f538"},"small_blue_diamond":{"e":"\u{1f539}","c":"1f539"},"red_triangle_pointed_up":{"e":"\u{1f53a}","c":"1f53a"},"red_triangle_pointed_down":{"e":"\u{1f53b}","c":"1f53b"},"upwards_button":{"e":"\u{1f53c}","c":"1f53c"},"downwards_button":{"e":"\u{1f53d}","c":"1f53d"},"om":{"e":"\u{1f549}","c":"1f549"},"dove":{"e":"\u{1f54a}","c":"1f54a"},"kaaba":{"e":"\u{1f54b}","c":"1f54b"},"mosque":{"e":"\u{1f54c}","c":"1f54c"},"synagogue":{"e":"\u{1f54d}","c":"1f54d"},"menorah":{"e":"\u{1f54e}","c":"1f54e"},"one_o\u2019clock":{"e":"\u{1f550}","c":"1f550"},"two_o\u2019clock":{"e":"\u{1f551}","c":"1f551"},"three_o\u2019clock":{"e":"\u{1f552}","c":"1f552"},"four_o\u2019clock":{"e":"\u{1f553}","c":"1f553"},"five_o\u2019clock":{"e":"\u{1f554}","c":"1f554"},"six_o\u2019clock":{"e":"\u{1f555}","c":"1f555"},"seven_o\u2019clock":{"e":"\u{1f556}","c":"1f556"},"eight_o\u2019clock":{"e":"\u{1f557}","c":"1f557"},"nine_o\u2019clock":{"e":"\u{1f558}","c":"1f558"},"ten_o\u2019clock":{"e":"\u{1f559}","c":"1f559"},"eleven_o\u2019clock":{"e":"\u{1f55a}","c":"1f55a"},"twelve_o\u2019clock":{"e":"\u{1f55b}","c":"1f55b"},"one_thirty":{"e":"\u{1f55c}","c":"1f55c"},"two_thirty":{"e":"\u{1f55d}","c":"1f55d"},"three_thirty":{"e":"\u{1f55e}","c":"1f55e"},"four_thirty":{"e":"\u{1f55f}","c":"1f55f"},"five_thirty":{"e":"\u{1f560}","c":"1f560"},"six_thirty":{"e":"\u{1f561}","c":"1f561"},"seven_thirty":{"e":"\u{1f562}","c":"1f562"},"eight_thirty":{"e":"\u{1f563}","c":"1f563"},"nine_thirty":{"e":"\u{1f564}","c":"1f564"},"ten_thirty":{"e":"\u{1f565}","c":"1f565"},"eleven_thirty":{"e":"\u{1f566}","c":"1f566"},"twelve_thirty":{"e":"\u{1f567}","c":"1f567"},"candle":{"e":"\u{1f56f}","c":"1f56f"},"mantelpiece_clock":{"e":"\u{1f570}","c":"1f570"},"hole":{"e":"\u{1f573}","c":"1f573"},"person_in_suit_levitating_light_skin_tone":{"e":"\u{1f574}\u{1f3fb}","c":"1f574-1f3fb"},"person_in_suit_levitating_medium_light_skin_tone":{"e":"\u{1f574}\u{1f3fc}","c":"1f574-1f3fc"},"person_in_suit_levitating_medium_skin_tone":{"e":"\u{1f574}\u{1f3fd}","c":"1f574-1f3fd"},"person_in_suit_levitating_medium_dark_skin_tone":{"e":"\u{1f574}\u{1f3fe}","c":"1f574-1f3fe"},"person_in_suit_levitating_dark_skin_tone":{"e":"\u{1f574}\u{1f3ff}","c":"1f574-1f3ff"},"person_in_suit_levitating":{"e":"\u{1f574}","c":"1f574"},"woman_detective:_light_skin_tone":{"e":"\u{1f575}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f575-1f3fb-200d-2640-fe0f"},"man_detective:_light_skin_tone":{"e":"\u{1f575}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f575-1f3fb-200d-2642-fe0f"},"detective_light_skin_tone":{"e":"\u{1f575}\u{1f3fb}","c":"1f575-1f3fb"},"woman_detective:_medium_light_skin_tone":{"e":"\u{1f575}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f575-1f3fc-200d-2640-fe0f"},"man_detective:_medium_light_skin_tone":{"e":"\u{1f575}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f575-1f3fc-200d-2642-fe0f"},"detective_medium_light_skin_tone":{"e":"\u{1f575}\u{1f3fc}","c":"1f575-1f3fc"},"woman_detective:_medium_skin_tone":{"e":"\u{1f575}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f575-1f3fd-200d-2640-fe0f"},"man_detective:_medium_skin_tone":{"e":"\u{1f575}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f575-1f3fd-200d-2642-fe0f"},"detective_medium_skin_tone":{"e":"\u{1f575}\u{1f3fd}","c":"1f575-1f3fd"},"woman_detective:_medium_dark_skin_tone":{"e":"\u{1f575}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f575-1f3fe-200d-2640-fe0f"},"man_detective:_medium_dark_skin_tone":{"e":"\u{1f575}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f575-1f3fe-200d-2642-fe0f"},"detective_medium_dark_skin_tone":{"e":"\u{1f575}\u{1f3fe}","c":"1f575-1f3fe"},"woman_detective:_dark_skin_tone":{"e":"\u{1f575}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f575-1f3ff-200d-2640-fe0f"},"man_detective:_dark_skin_tone":{"e":"\u{1f575}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f575-1f3ff-200d-2642-fe0f"},"detective_dark_skin_tone":{"e":"\u{1f575}\u{1f3ff}","c":"1f575-1f3ff"},"woman_detective":{"e":"\u{1f575}\u{fe0f}\u{200d}\u{2640}\u{fe0f}","c":"1f575-fe0f-200d-2640-fe0f"},"man_detective":{"e":"\u{1f575}\u{fe0f}\u{200d}\u{2642}\u{fe0f}","c":"1f575-fe0f-200d-2642-fe0f"},"detective":{"e":"\u{1f575}","c":"1f575"},"sunglasses":{"e":"\u{1f576}","c":"1f576"},"spider":{"e":"\u{1f577}","c":"1f577"},"spider_web":{"e":"\u{1f578}","c":"1f578"},"joystick":{"e":"\u{1f579}","c":"1f579"},"man_dancing_light_skin_tone":{"e":"\u{1f57a}\u{1f3fb}","c":"1f57a-1f3fb"},"man_dancing_medium_light_skin_tone":{"e":"\u{1f57a}\u{1f3fc}","c":"1f57a-1f3fc"},"man_dancing_medium_skin_tone":{"e":"\u{1f57a}\u{1f3fd}","c":"1f57a-1f3fd"},"man_dancing_medium_dark_skin_tone":{"e":"\u{1f57a}\u{1f3fe}","c":"1f57a-1f3fe"},"man_dancing_dark_skin_tone":{"e":"\u{1f57a}\u{1f3ff}","c":"1f57a-1f3ff"},"man_dancing":{"e":"\u{1f57a}","c":"1f57a"},"linked_paperclips":{"e":"\u{1f587}","c":"1f587"},"pen":{"e":"\u{1f58a}","c":"1f58a"},"fountain_pen":{"e":"\u{1f58b}","c":"1f58b"},"paintbrush":{"e":"\u{1f58c}","c":"1f58c"},"crayon":{"e":"\u{1f58d}","c":"1f58d"},"hand_with_fingers_splayed_light_skin_tone":{"e":"\u{1f590}\u{1f3fb}","c":"1f590-1f3fb"},"hand_with_fingers_splayed_medium_light_skin_tone":{"e":"\u{1f590}\u{1f3fc}","c":"1f590-1f3fc"},"hand_with_fingers_splayed_medium_skin_tone":{"e":"\u{1f590}\u{1f3fd}","c":"1f590-1f3fd"},"hand_with_fingers_splayed_medium_dark_skin_tone":{"e":"\u{1f590}\u{1f3fe}","c":"1f590-1f3fe"},"hand_with_fingers_splayed_dark_skin_tone":{"e":"\u{1f590}\u{1f3ff}","c":"1f590-1f3ff"},"hand_with_fingers_splayed":{"e":"\u{1f590}","c":"1f590"},"middle_finger_light_skin_tone":{"e":"\u{1f595}\u{1f3fb}","c":"1f595-1f3fb"},"middle_finger_medium_light_skin_tone":{"e":"\u{1f595}\u{1f3fc}","c":"1f595-1f3fc"},"middle_finger_medium_skin_tone":{"e":"\u{1f595}\u{1f3fd}","c":"1f595-1f3fd"},"middle_finger_medium_dark_skin_tone":{"e":"\u{1f595}\u{1f3fe}","c":"1f595-1f3fe"},"middle_finger_dark_skin_tone":{"e":"\u{1f595}\u{1f3ff}","c":"1f595-1f3ff"},"middle_finger":{"e":"\u{1f595}","c":"1f595"},"vulcan_salute_light_skin_tone":{"e":"\u{1f596}\u{1f3fb}","c":"1f596-1f3fb"},"vulcan_salute_medium_light_skin_tone":{"e":"\u{1f596}\u{1f3fc}","c":"1f596-1f3fc"},"vulcan_salute_medium_skin_tone":{"e":"\u{1f596}\u{1f3fd}","c":"1f596-1f3fd"},"vulcan_salute_medium_dark_skin_tone":{"e":"\u{1f596}\u{1f3fe}","c":"1f596-1f3fe"},"vulcan_salute_dark_skin_tone":{"e":"\u{1f596}\u{1f3ff}","c":"1f596-1f3ff"},"vulcan_salute":{"e":"\u{1f596}","c":"1f596"},"black_heart":{"e":"\u{1f5a4}","c":"1f5a4"},"desktop_computer":{"e":"\u{1f5a5}","c":"1f5a5"},"printer":{"e":"\u{1f5a8}","c":"1f5a8"},"computer_mouse":{"e":"\u{1f5b1}","c":"1f5b1"},"trackball":{"e":"\u{1f5b2}","c":"1f5b2"},"framed_picture":{"e":"\u{1f5bc}","c":"1f5bc"},"card_index_dividers":{"e":"\u{1f5c2}","c":"1f5c2"},"card_file_box":{"e":"\u{1f5c3}","c":"1f5c3"},"file_cabinet":{"e":"\u{1f5c4}","c":"1f5c4"},"wastebasket":{"e":"\u{1f5d1}","c":"1f5d1"},"spiral_notepad":{"e":"\u{1f5d2}","c":"1f5d2"},"spiral_calendar":{"e":"\u{1f5d3}","c":"1f5d3"},"clamp":{"e":"\u{1f5dc}","c":"1f5dc"},"old_key":{"e":"\u{1f5dd}","c":"1f5dd"},"rolled_up_newspaper":{"e":"\u{1f5de}","c":"1f5de"},"dagger":{"e":"\u{1f5e1}","c":"1f5e1"},"speaking_head":{"e":"\u{1f5e3}","c":"1f5e3"},"left_speech_bubble":{"e":"\u{1f5e8}","c":"1f5e8"},"right_anger_bubble":{"e":"\u{1f5ef}","c":"1f5ef"},"ballot_box_with_ballot":{"e":"\u{1f5f3}","c":"1f5f3"},"world_map":{"e":"\u{1f5fa}","c":"1f5fa"},"mount_fuji":{"e":"\u{1f5fb}","c":"1f5fb"},"tokyo_tower":{"e":"\u{1f5fc}","c":"1f5fc"},"statue_of_liberty":{"e":"\u{1f5fd}","c":"1f5fd"},"map_of_japan":{"e":"\u{1f5fe}","c":"1f5fe"},"moai":{"e":"\u{1f5ff}","c":"1f5ff"},"grinning_face":{"e":"\u{1f600}","c":"1f600"},"beaming_face_with_smiling_eyes":{"e":"\u{1f601}","c":"1f601"},"face_with_tears_of_joy":{"e":"\u{1f602}","c":"1f602"},"grinning_face_with_big_eyes":{"e":"\u{1f603}","c":"1f603"},"grinning_face_with_smiling_eyes":{"e":"\u{1f604}","c":"1f604"},"grinning_face_with_sweat":{"e":"\u{1f605}","c":"1f605"},"grinning_squinting_face":{"e":"\u{1f606}","c":"1f606"},"smiling_face_with_halo":{"e":"\u{1f607}","c":"1f607"},"smiling_face_with_horns":{"e":"\u{1f608}","c":"1f608"},"winking_face":{"e":"\u{1f609}","c":"1f609"},"smiling_face_with_smiling_eyes":{"e":"\u{1f60a}","c":"1f60a"},"face_savoring_food":{"e":"\u{1f60b}","c":"1f60b"},"relieved_face":{"e":"\u{1f60c}","c":"1f60c"},"smiling_face_with_heart_eyes":{"e":"\u{1f60d}","c":"1f60d"},"smiling_face_with_sunglasses":{"e":"\u{1f60e}","c":"1f60e"},"smirking_face":{"e":"\u{1f60f}","c":"1f60f"},"neutral_face":{"e":"\u{1f610}","c":"1f610"},"expressionless_face":{"e":"\u{1f611}","c":"1f611"},"unamused_face":{"e":"\u{1f612}","c":"1f612"},"downcast_face_with_sweat":{"e":"\u{1f613}","c":"1f613"},"pensive_face":{"e":"\u{1f614}","c":"1f614"},"confused_face":{"e":"\u{1f615}","c":"1f615"},"confounded_face":{"e":"\u{1f616}","c":"1f616"},"kissing_face":{"e":"\u{1f617}","c":"1f617"},"face_blowing_a_kiss":{"e":"\u{1f618}","c":"1f618"},"kissing_face_with_smiling_eyes":{"e":"\u{1f619}","c":"1f619"},"kissing_face_with_closed_eyes":{"e":"\u{1f61a}","c":"1f61a"},"face_with_tongue":{"e":"\u{1f61b}","c":"1f61b"},"winking_face_with_tongue":{"e":"\u{1f61c}","c":"1f61c"},"squinting_face_with_tongue":{"e":"\u{1f61d}","c":"1f61d"},"disappointed_face":{"e":"\u{1f61e}","c":"1f61e"},"worried_face":{"e":"\u{1f61f}","c":"1f61f"},"angry_face":{"e":"\u{1f620}","c":"1f620"},"enraged_face":{"e":"\u{1f621}","c":"1f621"},"crying_face":{"e":"\u{1f622}","c":"1f622"},"persevering_face":{"e":"\u{1f623}","c":"1f623"},"face_with_steam_from_nose":{"e":"\u{1f624}","c":"1f624"},"sad_but_relieved_face":{"e":"\u{1f625}","c":"1f625"},"frowning_face_with_open_mouth":{"e":"\u{1f626}","c":"1f626"},"anguished_face":{"e":"\u{1f627}","c":"1f627"},"fearful_face":{"e":"\u{1f628}","c":"1f628"},"weary_face":{"e":"\u{1f629}","c":"1f629"},"sleepy_face":{"e":"\u{1f62a}","c":"1f62a"},"tired_face":{"e":"\u{1f62b}","c":"1f62b"},"grimacing_face":{"e":"\u{1f62c}","c":"1f62c"},"loudly_crying_face":{"e":"\u{1f62d}","c":"1f62d"},"face_exhaling":{"e":"\u{1f62e}\u{200d}\u{1f4a8}","c":"1f62e-200d-1f4a8"},"face_with_open_mouth":{"e":"\u{1f62e}","c":"1f62e"},"hushed_face":{"e":"\u{1f62f}","c":"1f62f"},"anxious_face_with_sweat":{"e":"\u{1f630}","c":"1f630"},"face_screaming_in_fear":{"e":"\u{1f631}","c":"1f631"},"astonished_face":{"e":"\u{1f632}","c":"1f632"},"flushed_face":{"e":"\u{1f633}","c":"1f633"},"sleeping_face":{"e":"\u{1f634}","c":"1f634"},"face_with_spiral_eyes":{"e":"\u{1f635}\u{200d}\u{1f4ab}","c":"1f635-200d-1f4ab"},"face_with_crossed_out_eyes":{"e":"\u{1f635}","c":"1f635"},"face_in_clouds":{"e":"\u{1f636}\u{200d}\u{1f32b}\u{fe0f}","c":"1f636-200d-1f32b-fe0f"},"face_without_mouth":{"e":"\u{1f636}","c":"1f636"},"face_with_medical_mask":{"e":"\u{1f637}","c":"1f637"},"grinning_cat_with_smiling_eyes":{"e":"\u{1f638}","c":"1f638"},"cat_with_tears_of_joy":{"e":"\u{1f639}","c":"1f639"},"grinning_cat":{"e":"\u{1f63a}","c":"1f63a"},"smiling_cat_with_heart_eyes":{"e":"\u{1f63b}","c":"1f63b"},"cat_with_wry_smile":{"e":"\u{1f63c}","c":"1f63c"},"kissing_cat":{"e":"\u{1f63d}","c":"1f63d"},"pouting_cat":{"e":"\u{1f63e}","c":"1f63e"},"crying_cat":{"e":"\u{1f63f}","c":"1f63f"},"weary_cat":{"e":"\u{1f640}","c":"1f640"},"slightly_frowning_face":{"e":"\u{1f641}","c":"1f641"},"head_shaking_horizontally":{"e":"\u{1f642}\u{200d}\u{2194}\u{fe0f}","c":"1f642-200d-2194-fe0f"},"head_shaking_vertically":{"e":"\u{1f642}\u{200d}\u{2195}\u{fe0f}","c":"1f642-200d-2195-fe0f"},"slightly_smiling_face":{"e":"\u{1f642}","c":"1f642"},"upside_down_face":{"e":"\u{1f643}","c":"1f643"},"face_with_rolling_eyes":{"e":"\u{1f644}","c":"1f644"},"woman_gesturing_no:_light_skin_tone":{"e":"\u{1f645}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f645-1f3fb-200d-2640-fe0f"},"man_gesturing_no:_light_skin_tone":{"e":"\u{1f645}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f645-1f3fb-200d-2642-fe0f"},"person_gesturing_no_light_skin_tone":{"e":"\u{1f645}\u{1f3fb}","c":"1f645-1f3fb"},"woman_gesturing_no:_medium_light_skin_tone":{"e":"\u{1f645}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f645-1f3fc-200d-2640-fe0f"},"man_gesturing_no:_medium_light_skin_tone":{"e":"\u{1f645}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f645-1f3fc-200d-2642-fe0f"},"person_gesturing_no_medium_light_skin_tone":{"e":"\u{1f645}\u{1f3fc}","c":"1f645-1f3fc"},"woman_gesturing_no:_medium_skin_tone":{"e":"\u{1f645}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f645-1f3fd-200d-2640-fe0f"},"man_gesturing_no:_medium_skin_tone":{"e":"\u{1f645}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f645-1f3fd-200d-2642-fe0f"},"person_gesturing_no_medium_skin_tone":{"e":"\u{1f645}\u{1f3fd}","c":"1f645-1f3fd"},"woman_gesturing_no:_medium_dark_skin_tone":{"e":"\u{1f645}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f645-1f3fe-200d-2640-fe0f"},"man_gesturing_no:_medium_dark_skin_tone":{"e":"\u{1f645}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f645-1f3fe-200d-2642-fe0f"},"person_gesturing_no_medium_dark_skin_tone":{"e":"\u{1f645}\u{1f3fe}","c":"1f645-1f3fe"},"woman_gesturing_no:_dark_skin_tone":{"e":"\u{1f645}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f645-1f3ff-200d-2640-fe0f"},"man_gesturing_no:_dark_skin_tone":{"e":"\u{1f645}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f645-1f3ff-200d-2642-fe0f"},"person_gesturing_no_dark_skin_tone":{"e":"\u{1f645}\u{1f3ff}","c":"1f645-1f3ff"},"woman_gesturing_no":{"e":"\u{1f645}\u{200d}\u{2640}\u{fe0f}","c":"1f645-200d-2640-fe0f"},"man_gesturing_no":{"e":"\u{1f645}\u{200d}\u{2642}\u{fe0f}","c":"1f645-200d-2642-fe0f"},"person_gesturing_no":{"e":"\u{1f645}","c":"1f645"},"woman_gesturing_ok:_light_skin_tone":{"e":"\u{1f646}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f646-1f3fb-200d-2640-fe0f"},"man_gesturing_ok:_light_skin_tone":{"e":"\u{1f646}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f646-1f3fb-200d-2642-fe0f"},"person_gesturing_ok_light_skin_tone":{"e":"\u{1f646}\u{1f3fb}","c":"1f646-1f3fb"},"woman_gesturing_ok:_medium_light_skin_tone":{"e":"\u{1f646}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f646-1f3fc-200d-2640-fe0f"},"man_gesturing_ok:_medium_light_skin_tone":{"e":"\u{1f646}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f646-1f3fc-200d-2642-fe0f"},"person_gesturing_ok_medium_light_skin_tone":{"e":"\u{1f646}\u{1f3fc}","c":"1f646-1f3fc"},"woman_gesturing_ok:_medium_skin_tone":{"e":"\u{1f646}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f646-1f3fd-200d-2640-fe0f"},"man_gesturing_ok:_medium_skin_tone":{"e":"\u{1f646}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f646-1f3fd-200d-2642-fe0f"},"person_gesturing_ok_medium_skin_tone":{"e":"\u{1f646}\u{1f3fd}","c":"1f646-1f3fd"},"woman_gesturing_ok:_medium_dark_skin_tone":{"e":"\u{1f646}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f646-1f3fe-200d-2640-fe0f"},"man_gesturing_ok:_medium_dark_skin_tone":{"e":"\u{1f646}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f646-1f3fe-200d-2642-fe0f"},"person_gesturing_ok_medium_dark_skin_tone":{"e":"\u{1f646}\u{1f3fe}","c":"1f646-1f3fe"},"woman_gesturing_ok:_dark_skin_tone":{"e":"\u{1f646}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f646-1f3ff-200d-2640-fe0f"},"man_gesturing_ok:_dark_skin_tone":{"e":"\u{1f646}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f646-1f3ff-200d-2642-fe0f"},"person_gesturing_ok_dark_skin_tone":{"e":"\u{1f646}\u{1f3ff}","c":"1f646-1f3ff"},"woman_gesturing_ok":{"e":"\u{1f646}\u{200d}\u{2640}\u{fe0f}","c":"1f646-200d-2640-fe0f"},"man_gesturing_ok":{"e":"\u{1f646}\u{200d}\u{2642}\u{fe0f}","c":"1f646-200d-2642-fe0f"},"person_gesturing_ok":{"e":"\u{1f646}","c":"1f646"},"woman_bowing:_light_skin_tone":{"e":"\u{1f647}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f647-1f3fb-200d-2640-fe0f"},"man_bowing:_light_skin_tone":{"e":"\u{1f647}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f647-1f3fb-200d-2642-fe0f"},"person_bowing_light_skin_tone":{"e":"\u{1f647}\u{1f3fb}","c":"1f647-1f3fb"},"woman_bowing:_medium_light_skin_tone":{"e":"\u{1f647}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f647-1f3fc-200d-2640-fe0f"},"man_bowing:_medium_light_skin_tone":{"e":"\u{1f647}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f647-1f3fc-200d-2642-fe0f"},"person_bowing_medium_light_skin_tone":{"e":"\u{1f647}\u{1f3fc}","c":"1f647-1f3fc"},"woman_bowing:_medium_skin_tone":{"e":"\u{1f647}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f647-1f3fd-200d-2640-fe0f"},"man_bowing:_medium_skin_tone":{"e":"\u{1f647}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f647-1f3fd-200d-2642-fe0f"},"person_bowing_medium_skin_tone":{"e":"\u{1f647}\u{1f3fd}","c":"1f647-1f3fd"},"woman_bowing:_medium_dark_skin_tone":{"e":"\u{1f647}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f647-1f3fe-200d-2640-fe0f"},"man_bowing:_medium_dark_skin_tone":{"e":"\u{1f647}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f647-1f3fe-200d-2642-fe0f"},"person_bowing_medium_dark_skin_tone":{"e":"\u{1f647}\u{1f3fe}","c":"1f647-1f3fe"},"woman_bowing:_dark_skin_tone":{"e":"\u{1f647}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f647-1f3ff-200d-2640-fe0f"},"man_bowing:_dark_skin_tone":{"e":"\u{1f647}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f647-1f3ff-200d-2642-fe0f"},"person_bowing_dark_skin_tone":{"e":"\u{1f647}\u{1f3ff}","c":"1f647-1f3ff"},"woman_bowing":{"e":"\u{1f647}\u{200d}\u{2640}\u{fe0f}","c":"1f647-200d-2640-fe0f"},"man_bowing":{"e":"\u{1f647}\u{200d}\u{2642}\u{fe0f}","c":"1f647-200d-2642-fe0f"},"person_bowing":{"e":"\u{1f647}","c":"1f647"},"see_no_evil_monkey":{"e":"\u{1f648}","c":"1f648"},"hear_no_evil_monkey":{"e":"\u{1f649}","c":"1f649"},"speak_no_evil_monkey":{"e":"\u{1f64a}","c":"1f64a"},"woman_raising_hand:_light_skin_tone":{"e":"\u{1f64b}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f64b-1f3fb-200d-2640-fe0f"},"man_raising_hand:_light_skin_tone":{"e":"\u{1f64b}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f64b-1f3fb-200d-2642-fe0f"},"person_raising_hand_light_skin_tone":{"e":"\u{1f64b}\u{1f3fb}","c":"1f64b-1f3fb"},"woman_raising_hand:_medium_light_skin_tone":{"e":"\u{1f64b}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f64b-1f3fc-200d-2640-fe0f"},"man_raising_hand:_medium_light_skin_tone":{"e":"\u{1f64b}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f64b-1f3fc-200d-2642-fe0f"},"person_raising_hand_medium_light_skin_tone":{"e":"\u{1f64b}\u{1f3fc}","c":"1f64b-1f3fc"},"woman_raising_hand:_medium_skin_tone":{"e":"\u{1f64b}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f64b-1f3fd-200d-2640-fe0f"},"man_raising_hand:_medium_skin_tone":{"e":"\u{1f64b}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f64b-1f3fd-200d-2642-fe0f"},"person_raising_hand_medium_skin_tone":{"e":"\u{1f64b}\u{1f3fd}","c":"1f64b-1f3fd"},"woman_raising_hand:_medium_dark_skin_tone":{"e":"\u{1f64b}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f64b-1f3fe-200d-2640-fe0f"},"man_raising_hand:_medium_dark_skin_tone":{"e":"\u{1f64b}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f64b-1f3fe-200d-2642-fe0f"},"person_raising_hand_medium_dark_skin_tone":{"e":"\u{1f64b}\u{1f3fe}","c":"1f64b-1f3fe"},"woman_raising_hand:_dark_skin_tone":{"e":"\u{1f64b}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f64b-1f3ff-200d-2640-fe0f"},"man_raising_hand:_dark_skin_tone":{"e":"\u{1f64b}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f64b-1f3ff-200d-2642-fe0f"},"person_raising_hand_dark_skin_tone":{"e":"\u{1f64b}\u{1f3ff}","c":"1f64b-1f3ff"},"woman_raising_hand":{"e":"\u{1f64b}\u{200d}\u{2640}\u{fe0f}","c":"1f64b-200d-2640-fe0f"},"man_raising_hand":{"e":"\u{1f64b}\u{200d}\u{2642}\u{fe0f}","c":"1f64b-200d-2642-fe0f"},"person_raising_hand":{"e":"\u{1f64b}","c":"1f64b"},"raising_hands_light_skin_tone":{"e":"\u{1f64c}\u{1f3fb}","c":"1f64c-1f3fb"},"raising_hands_medium_light_skin_tone":{"e":"\u{1f64c}\u{1f3fc}","c":"1f64c-1f3fc"},"raising_hands_medium_skin_tone":{"e":"\u{1f64c}\u{1f3fd}","c":"1f64c-1f3fd"},"raising_hands_medium_dark_skin_tone":{"e":"\u{1f64c}\u{1f3fe}","c":"1f64c-1f3fe"},"raising_hands_dark_skin_tone":{"e":"\u{1f64c}\u{1f3ff}","c":"1f64c-1f3ff"},"raising_hands":{"e":"\u{1f64c}","c":"1f64c"},"woman_frowning:_light_skin_tone":{"e":"\u{1f64d}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f64d-1f3fb-200d-2640-fe0f"},"man_frowning:_light_skin_tone":{"e":"\u{1f64d}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f64d-1f3fb-200d-2642-fe0f"},"person_frowning_light_skin_tone":{"e":"\u{1f64d}\u{1f3fb}","c":"1f64d-1f3fb"},"woman_frowning:_medium_light_skin_tone":{"e":"\u{1f64d}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f64d-1f3fc-200d-2640-fe0f"},"man_frowning:_medium_light_skin_tone":{"e":"\u{1f64d}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f64d-1f3fc-200d-2642-fe0f"},"person_frowning_medium_light_skin_tone":{"e":"\u{1f64d}\u{1f3fc}","c":"1f64d-1f3fc"},"woman_frowning:_medium_skin_tone":{"e":"\u{1f64d}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f64d-1f3fd-200d-2640-fe0f"},"man_frowning:_medium_skin_tone":{"e":"\u{1f64d}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f64d-1f3fd-200d-2642-fe0f"},"person_frowning_medium_skin_tone":{"e":"\u{1f64d}\u{1f3fd}","c":"1f64d-1f3fd"},"woman_frowning:_medium_dark_skin_tone":{"e":"\u{1f64d}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f64d-1f3fe-200d-2640-fe0f"},"man_frowning:_medium_dark_skin_tone":{"e":"\u{1f64d}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f64d-1f3fe-200d-2642-fe0f"},"person_frowning_medium_dark_skin_tone":{"e":"\u{1f64d}\u{1f3fe}","c":"1f64d-1f3fe"},"woman_frowning:_dark_skin_tone":{"e":"\u{1f64d}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f64d-1f3ff-200d-2640-fe0f"},"man_frowning:_dark_skin_tone":{"e":"\u{1f64d}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f64d-1f3ff-200d-2642-fe0f"},"person_frowning_dark_skin_tone":{"e":"\u{1f64d}\u{1f3ff}","c":"1f64d-1f3ff"},"woman_frowning":{"e":"\u{1f64d}\u{200d}\u{2640}\u{fe0f}","c":"1f64d-200d-2640-fe0f"},"man_frowning":{"e":"\u{1f64d}\u{200d}\u{2642}\u{fe0f}","c":"1f64d-200d-2642-fe0f"},"person_frowning":{"e":"\u{1f64d}","c":"1f64d"},"woman_pouting:_light_skin_tone":{"e":"\u{1f64e}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f64e-1f3fb-200d-2640-fe0f"},"man_pouting:_light_skin_tone":{"e":"\u{1f64e}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f64e-1f3fb-200d-2642-fe0f"},"person_pouting_light_skin_tone":{"e":"\u{1f64e}\u{1f3fb}","c":"1f64e-1f3fb"},"woman_pouting:_medium_light_skin_tone":{"e":"\u{1f64e}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f64e-1f3fc-200d-2640-fe0f"},"man_pouting:_medium_light_skin_tone":{"e":"\u{1f64e}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f64e-1f3fc-200d-2642-fe0f"},"person_pouting_medium_light_skin_tone":{"e":"\u{1f64e}\u{1f3fc}","c":"1f64e-1f3fc"},"woman_pouting:_medium_skin_tone":{"e":"\u{1f64e}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f64e-1f3fd-200d-2640-fe0f"},"man_pouting:_medium_skin_tone":{"e":"\u{1f64e}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f64e-1f3fd-200d-2642-fe0f"},"person_pouting_medium_skin_tone":{"e":"\u{1f64e}\u{1f3fd}","c":"1f64e-1f3fd"},"woman_pouting:_medium_dark_skin_tone":{"e":"\u{1f64e}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f64e-1f3fe-200d-2640-fe0f"},"man_pouting:_medium_dark_skin_tone":{"e":"\u{1f64e}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f64e-1f3fe-200d-2642-fe0f"},"person_pouting_medium_dark_skin_tone":{"e":"\u{1f64e}\u{1f3fe}","c":"1f64e-1f3fe"},"woman_pouting:_dark_skin_tone":{"e":"\u{1f64e}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f64e-1f3ff-200d-2640-fe0f"},"man_pouting:_dark_skin_tone":{"e":"\u{1f64e}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f64e-1f3ff-200d-2642-fe0f"},"person_pouting_dark_skin_tone":{"e":"\u{1f64e}\u{1f3ff}","c":"1f64e-1f3ff"},"woman_pouting":{"e":"\u{1f64e}\u{200d}\u{2640}\u{fe0f}","c":"1f64e-200d-2640-fe0f"},"man_pouting":{"e":"\u{1f64e}\u{200d}\u{2642}\u{fe0f}","c":"1f64e-200d-2642-fe0f"},"person_pouting":{"e":"\u{1f64e}","c":"1f64e"},"folded_hands_light_skin_tone":{"e":"\u{1f64f}\u{1f3fb}","c":"1f64f-1f3fb"},"folded_hands_medium_light_skin_tone":{"e":"\u{1f64f}\u{1f3fc}","c":"1f64f-1f3fc"},"folded_hands_medium_skin_tone":{"e":"\u{1f64f}\u{1f3fd}","c":"1f64f-1f3fd"},"folded_hands_medium_dark_skin_tone":{"e":"\u{1f64f}\u{1f3fe}","c":"1f64f-1f3fe"},"folded_hands_dark_skin_tone":{"e":"\u{1f64f}\u{1f3ff}","c":"1f64f-1f3ff"},"folded_hands":{"e":"\u{1f64f}","c":"1f64f"},"rocket":{"e":"\u{1f680}","c":"1f680"},"helicopter":{"e":"\u{1f681}","c":"1f681"},"locomotive":{"e":"\u{1f682}","c":"1f682"},"railway_car":{"e":"\u{1f683}","c":"1f683"},"high_speed_train":{"e":"\u{1f684}","c":"1f684"},"bullet_train":{"e":"\u{1f685}","c":"1f685"},"train":{"e":"\u{1f686}","c":"1f686"},"metro":{"e":"\u{1f687}","c":"1f687"},"light_rail":{"e":"\u{1f688}","c":"1f688"},"station":{"e":"\u{1f689}","c":"1f689"},"tram":{"e":"\u{1f68a}","c":"1f68a"},"tram_car":{"e":"\u{1f68b}","c":"1f68b"},"bus":{"e":"\u{1f68c}","c":"1f68c"},"oncoming_bus":{"e":"\u{1f68d}","c":"1f68d"},"trolleybus":{"e":"\u{1f68e}","c":"1f68e"},"bus_stop":{"e":"\u{1f68f}","c":"1f68f"},"minibus":{"e":"\u{1f690}","c":"1f690"},"ambulance":{"e":"\u{1f691}","c":"1f691"},"fire_engine":{"e":"\u{1f692}","c":"1f692"},"police_car":{"e":"\u{1f693}","c":"1f693"},"oncoming_police_car":{"e":"\u{1f694}","c":"1f694"},"taxi":{"e":"\u{1f695}","c":"1f695"},"oncoming_taxi":{"e":"\u{1f696}","c":"1f696"},"automobile":{"e":"\u{1f697}","c":"1f697"},"oncoming_automobile":{"e":"\u{1f698}","c":"1f698"},"sport_utility_vehicle":{"e":"\u{1f699}","c":"1f699"},"delivery_truck":{"e":"\u{1f69a}","c":"1f69a"},"articulated_lorry":{"e":"\u{1f69b}","c":"1f69b"},"tractor":{"e":"\u{1f69c}","c":"1f69c"},"monorail":{"e":"\u{1f69d}","c":"1f69d"},"mountain_railway":{"e":"\u{1f69e}","c":"1f69e"},"suspension_railway":{"e":"\u{1f69f}","c":"1f69f"},"mountain_cableway":{"e":"\u{1f6a0}","c":"1f6a0"},"aerial_tramway":{"e":"\u{1f6a1}","c":"1f6a1"},"ship":{"e":"\u{1f6a2}","c":"1f6a2"},"woman_rowing_boat:_light_skin_tone":{"e":"\u{1f6a3}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f6a3-1f3fb-200d-2640-fe0f"},"man_rowing_boat:_light_skin_tone":{"e":"\u{1f6a3}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f6a3-1f3fb-200d-2642-fe0f"},"person_rowing_boat_light_skin_tone":{"e":"\u{1f6a3}\u{1f3fb}","c":"1f6a3-1f3fb"},"woman_rowing_boat:_medium_light_skin_tone":{"e":"\u{1f6a3}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f6a3-1f3fc-200d-2640-fe0f"},"man_rowing_boat:_medium_light_skin_tone":{"e":"\u{1f6a3}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f6a3-1f3fc-200d-2642-fe0f"},"person_rowing_boat_medium_light_skin_tone":{"e":"\u{1f6a3}\u{1f3fc}","c":"1f6a3-1f3fc"},"woman_rowing_boat:_medium_skin_tone":{"e":"\u{1f6a3}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f6a3-1f3fd-200d-2640-fe0f"},"man_rowing_boat:_medium_skin_tone":{"e":"\u{1f6a3}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f6a3-1f3fd-200d-2642-fe0f"},"person_rowing_boat_medium_skin_tone":{"e":"\u{1f6a3}\u{1f3fd}","c":"1f6a3-1f3fd"},"woman_rowing_boat:_medium_dark_skin_tone":{"e":"\u{1f6a3}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f6a3-1f3fe-200d-2640-fe0f"},"man_rowing_boat:_medium_dark_skin_tone":{"e":"\u{1f6a3}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f6a3-1f3fe-200d-2642-fe0f"},"person_rowing_boat_medium_dark_skin_tone":{"e":"\u{1f6a3}\u{1f3fe}","c":"1f6a3-1f3fe"},"woman_rowing_boat:_dark_skin_tone":{"e":"\u{1f6a3}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f6a3-1f3ff-200d-2640-fe0f"},"man_rowing_boat:_dark_skin_tone":{"e":"\u{1f6a3}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f6a3-1f3ff-200d-2642-fe0f"},"person_rowing_boat_dark_skin_tone":{"e":"\u{1f6a3}\u{1f3ff}","c":"1f6a3-1f3ff"},"woman_rowing_boat":{"e":"\u{1f6a3}\u{200d}\u{2640}\u{fe0f}","c":"1f6a3-200d-2640-fe0f"},"man_rowing_boat":{"e":"\u{1f6a3}\u{200d}\u{2642}\u{fe0f}","c":"1f6a3-200d-2642-fe0f"},"person_rowing_boat":{"e":"\u{1f6a3}","c":"1f6a3"},"speedboat":{"e":"\u{1f6a4}","c":"1f6a4"},"horizontal_traffic_light":{"e":"\u{1f6a5}","c":"1f6a5"},"vertical_traffic_light":{"e":"\u{1f6a6}","c":"1f6a6"},"construction":{"e":"\u{1f6a7}","c":"1f6a7"},"police_car_light":{"e":"\u{1f6a8}","c":"1f6a8"},"triangular_flag":{"e":"\u{1f6a9}","c":"1f6a9"},"door":{"e":"\u{1f6aa}","c":"1f6aa"},"prohibited":{"e":"\u{1f6ab}","c":"1f6ab"},"cigarette":{"e":"\u{1f6ac}","c":"1f6ac"},"no_smoking":{"e":"\u{1f6ad}","c":"1f6ad"},"litter_in_bin_sign":{"e":"\u{1f6ae}","c":"1f6ae"},"no_littering":{"e":"\u{1f6af}","c":"1f6af"},"potable_water":{"e":"\u{1f6b0}","c":"1f6b0"},"non_potable_water":{"e":"\u{1f6b1}","c":"1f6b1"},"bicycle":{"e":"\u{1f6b2}","c":"1f6b2"},"no_bicycles":{"e":"\u{1f6b3}","c":"1f6b3"},"woman_biking:_light_skin_tone":{"e":"\u{1f6b4}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f6b4-1f3fb-200d-2640-fe0f"},"man_biking:_light_skin_tone":{"e":"\u{1f6b4}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f6b4-1f3fb-200d-2642-fe0f"},"person_biking_light_skin_tone":{"e":"\u{1f6b4}\u{1f3fb}","c":"1f6b4-1f3fb"},"woman_biking:_medium_light_skin_tone":{"e":"\u{1f6b4}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f6b4-1f3fc-200d-2640-fe0f"},"man_biking:_medium_light_skin_tone":{"e":"\u{1f6b4}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f6b4-1f3fc-200d-2642-fe0f"},"person_biking_medium_light_skin_tone":{"e":"\u{1f6b4}\u{1f3fc}","c":"1f6b4-1f3fc"},"woman_biking:_medium_skin_tone":{"e":"\u{1f6b4}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f6b4-1f3fd-200d-2640-fe0f"},"man_biking:_medium_skin_tone":{"e":"\u{1f6b4}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f6b4-1f3fd-200d-2642-fe0f"},"person_biking_medium_skin_tone":{"e":"\u{1f6b4}\u{1f3fd}","c":"1f6b4-1f3fd"},"woman_biking:_medium_dark_skin_tone":{"e":"\u{1f6b4}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f6b4-1f3fe-200d-2640-fe0f"},"man_biking:_medium_dark_skin_tone":{"e":"\u{1f6b4}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f6b4-1f3fe-200d-2642-fe0f"},"person_biking_medium_dark_skin_tone":{"e":"\u{1f6b4}\u{1f3fe}","c":"1f6b4-1f3fe"},"woman_biking:_dark_skin_tone":{"e":"\u{1f6b4}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f6b4-1f3ff-200d-2640-fe0f"},"man_biking:_dark_skin_tone":{"e":"\u{1f6b4}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f6b4-1f3ff-200d-2642-fe0f"},"person_biking_dark_skin_tone":{"e":"\u{1f6b4}\u{1f3ff}","c":"1f6b4-1f3ff"},"woman_biking":{"e":"\u{1f6b4}\u{200d}\u{2640}\u{fe0f}","c":"1f6b4-200d-2640-fe0f"},"man_biking":{"e":"\u{1f6b4}\u{200d}\u{2642}\u{fe0f}","c":"1f6b4-200d-2642-fe0f"},"person_biking":{"e":"\u{1f6b4}","c":"1f6b4"},"woman_mountain_biking:_light_skin_tone":{"e":"\u{1f6b5}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f6b5-1f3fb-200d-2640-fe0f"},"man_mountain_biking:_light_skin_tone":{"e":"\u{1f6b5}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f6b5-1f3fb-200d-2642-fe0f"},"person_mountain_biking_light_skin_tone":{"e":"\u{1f6b5}\u{1f3fb}","c":"1f6b5-1f3fb"},"woman_mountain_biking:_medium_light_skin_tone":{"e":"\u{1f6b5}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f6b5-1f3fc-200d-2640-fe0f"},"man_mountain_biking:_medium_light_skin_tone":{"e":"\u{1f6b5}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f6b5-1f3fc-200d-2642-fe0f"},"person_mountain_biking_medium_light_skin_tone":{"e":"\u{1f6b5}\u{1f3fc}","c":"1f6b5-1f3fc"},"woman_mountain_biking:_medium_skin_tone":{"e":"\u{1f6b5}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f6b5-1f3fd-200d-2640-fe0f"},"man_mountain_biking:_medium_skin_tone":{"e":"\u{1f6b5}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f6b5-1f3fd-200d-2642-fe0f"},"person_mountain_biking_medium_skin_tone":{"e":"\u{1f6b5}\u{1f3fd}","c":"1f6b5-1f3fd"},"woman_mountain_biking:_medium_dark_skin_tone":{"e":"\u{1f6b5}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f6b5-1f3fe-200d-2640-fe0f"},"man_mountain_biking:_medium_dark_skin_tone":{"e":"\u{1f6b5}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f6b5-1f3fe-200d-2642-fe0f"},"person_mountain_biking_medium_dark_skin_tone":{"e":"\u{1f6b5}\u{1f3fe}","c":"1f6b5-1f3fe"},"woman_mountain_biking:_dark_skin_tone":{"e":"\u{1f6b5}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f6b5-1f3ff-200d-2640-fe0f"},"man_mountain_biking:_dark_skin_tone":{"e":"\u{1f6b5}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f6b5-1f3ff-200d-2642-fe0f"},"person_mountain_biking_dark_skin_tone":{"e":"\u{1f6b5}\u{1f3ff}","c":"1f6b5-1f3ff"},"woman_mountain_biking":{"e":"\u{1f6b5}\u{200d}\u{2640}\u{fe0f}","c":"1f6b5-200d-2640-fe0f"},"man_mountain_biking":{"e":"\u{1f6b5}\u{200d}\u{2642}\u{fe0f}","c":"1f6b5-200d-2642-fe0f"},"person_mountain_biking":{"e":"\u{1f6b5}","c":"1f6b5"},"woman_walking_facing_right:_light_skin_tone":{"e":"\u{1f6b6}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f6b6-1f3fb-200d-2640-fe0f-200d-27a1-fe0f"},"woman_walking:_light_skin_tone":{"e":"\u{1f6b6}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f6b6-1f3fb-200d-2640-fe0f"},"man_walking_facing_right:_light_skin_tone":{"e":"\u{1f6b6}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f6b6-1f3fb-200d-2642-fe0f-200d-27a1-fe0f"},"man_walking:_light_skin_tone":{"e":"\u{1f6b6}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f6b6-1f3fb-200d-2642-fe0f"},"person_walking_facing_right:_light_skin_tone":{"e":"\u{1f6b6}\u{1f3fb}\u{200d}\u{27a1}\u{fe0f}","c":"1f6b6-1f3fb-200d-27a1-fe0f"},"person_walking_light_skin_tone":{"e":"\u{1f6b6}\u{1f3fb}","c":"1f6b6-1f3fb"},"woman_walking_facing_right:_medium_light_skin_tone":{"e":"\u{1f6b6}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f6b6-1f3fc-200d-2640-fe0f-200d-27a1-fe0f"},"woman_walking:_medium_light_skin_tone":{"e":"\u{1f6b6}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f6b6-1f3fc-200d-2640-fe0f"},"man_walking_facing_right:_medium_light_skin_tone":{"e":"\u{1f6b6}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f6b6-1f3fc-200d-2642-fe0f-200d-27a1-fe0f"},"man_walking:_medium_light_skin_tone":{"e":"\u{1f6b6}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f6b6-1f3fc-200d-2642-fe0f"},"person_walking_facing_right:_medium_light_skin_tone":{"e":"\u{1f6b6}\u{1f3fc}\u{200d}\u{27a1}\u{fe0f}","c":"1f6b6-1f3fc-200d-27a1-fe0f"},"person_walking_medium_light_skin_tone":{"e":"\u{1f6b6}\u{1f3fc}","c":"1f6b6-1f3fc"},"woman_walking_facing_right:_medium_skin_tone":{"e":"\u{1f6b6}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f6b6-1f3fd-200d-2640-fe0f-200d-27a1-fe0f"},"woman_walking:_medium_skin_tone":{"e":"\u{1f6b6}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f6b6-1f3fd-200d-2640-fe0f"},"man_walking_facing_right:_medium_skin_tone":{"e":"\u{1f6b6}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f6b6-1f3fd-200d-2642-fe0f-200d-27a1-fe0f"},"man_walking:_medium_skin_tone":{"e":"\u{1f6b6}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f6b6-1f3fd-200d-2642-fe0f"},"person_walking_facing_right:_medium_skin_tone":{"e":"\u{1f6b6}\u{1f3fd}\u{200d}\u{27a1}\u{fe0f}","c":"1f6b6-1f3fd-200d-27a1-fe0f"},"person_walking_medium_skin_tone":{"e":"\u{1f6b6}\u{1f3fd}","c":"1f6b6-1f3fd"},"woman_walking_facing_right:_medium_dark_skin_tone":{"e":"\u{1f6b6}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f6b6-1f3fe-200d-2640-fe0f-200d-27a1-fe0f"},"woman_walking:_medium_dark_skin_tone":{"e":"\u{1f6b6}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f6b6-1f3fe-200d-2640-fe0f"},"man_walking_facing_right:_medium_dark_skin_tone":{"e":"\u{1f6b6}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f6b6-1f3fe-200d-2642-fe0f-200d-27a1-fe0f"},"man_walking:_medium_dark_skin_tone":{"e":"\u{1f6b6}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f6b6-1f3fe-200d-2642-fe0f"},"person_walking_facing_right:_medium_dark_skin_tone":{"e":"\u{1f6b6}\u{1f3fe}\u{200d}\u{27a1}\u{fe0f}","c":"1f6b6-1f3fe-200d-27a1-fe0f"},"person_walking_medium_dark_skin_tone":{"e":"\u{1f6b6}\u{1f3fe}","c":"1f6b6-1f3fe"},"woman_walking_facing_right:_dark_skin_tone":{"e":"\u{1f6b6}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f6b6-1f3ff-200d-2640-fe0f-200d-27a1-fe0f"},"woman_walking:_dark_skin_tone":{"e":"\u{1f6b6}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f6b6-1f3ff-200d-2640-fe0f"},"man_walking_facing_right:_dark_skin_tone":{"e":"\u{1f6b6}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f6b6-1f3ff-200d-2642-fe0f-200d-27a1-fe0f"},"man_walking:_dark_skin_tone":{"e":"\u{1f6b6}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f6b6-1f3ff-200d-2642-fe0f"},"person_walking_facing_right:_dark_skin_tone":{"e":"\u{1f6b6}\u{1f3ff}\u{200d}\u{27a1}\u{fe0f}","c":"1f6b6-1f3ff-200d-27a1-fe0f"},"person_walking_dark_skin_tone":{"e":"\u{1f6b6}\u{1f3ff}","c":"1f6b6-1f3ff"},"woman_walking_facing_right":{"e":"\u{1f6b6}\u{200d}\u{2640}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f6b6-200d-2640-fe0f-200d-27a1-fe0f"},"woman_walking":{"e":"\u{1f6b6}\u{200d}\u{2640}\u{fe0f}","c":"1f6b6-200d-2640-fe0f"},"man_walking_facing_right":{"e":"\u{1f6b6}\u{200d}\u{2642}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f6b6-200d-2642-fe0f-200d-27a1-fe0f"},"man_walking":{"e":"\u{1f6b6}\u{200d}\u{2642}\u{fe0f}","c":"1f6b6-200d-2642-fe0f"},"person_walking_facing_right":{"e":"\u{1f6b6}\u{200d}\u{27a1}\u{fe0f}","c":"1f6b6-200d-27a1-fe0f"},"person_walking":{"e":"\u{1f6b6}","c":"1f6b6"},"no_pedestrians":{"e":"\u{1f6b7}","c":"1f6b7"},"children_crossing":{"e":"\u{1f6b8}","c":"1f6b8"},"men\u2019s_room":{"e":"\u{1f6b9}","c":"1f6b9"},"women\u2019s_room":{"e":"\u{1f6ba}","c":"1f6ba"},"restroom":{"e":"\u{1f6bb}","c":"1f6bb"},"baby_symbol":{"e":"\u{1f6bc}","c":"1f6bc"},"toilet":{"e":"\u{1f6bd}","c":"1f6bd"},"water_closet":{"e":"\u{1f6be}","c":"1f6be"},"shower":{"e":"\u{1f6bf}","c":"1f6bf"},"person_taking_bath_light_skin_tone":{"e":"\u{1f6c0}\u{1f3fb}","c":"1f6c0-1f3fb"},"person_taking_bath_medium_light_skin_tone":{"e":"\u{1f6c0}\u{1f3fc}","c":"1f6c0-1f3fc"},"person_taking_bath_medium_skin_tone":{"e":"\u{1f6c0}\u{1f3fd}","c":"1f6c0-1f3fd"},"person_taking_bath_medium_dark_skin_tone":{"e":"\u{1f6c0}\u{1f3fe}","c":"1f6c0-1f3fe"},"person_taking_bath_dark_skin_tone":{"e":"\u{1f6c0}\u{1f3ff}","c":"1f6c0-1f3ff"},"person_taking_bath":{"e":"\u{1f6c0}","c":"1f6c0"},"bathtub":{"e":"\u{1f6c1}","c":"1f6c1"},"passport_control":{"e":"\u{1f6c2}","c":"1f6c2"},"customs":{"e":"\u{1f6c3}","c":"1f6c3"},"baggage_claim":{"e":"\u{1f6c4}","c":"1f6c4"},"left_luggage":{"e":"\u{1f6c5}","c":"1f6c5"},"couch_and_lamp":{"e":"\u{1f6cb}","c":"1f6cb"},"person_in_bed_light_skin_tone":{"e":"\u{1f6cc}\u{1f3fb}","c":"1f6cc-1f3fb"},"person_in_bed_medium_light_skin_tone":{"e":"\u{1f6cc}\u{1f3fc}","c":"1f6cc-1f3fc"},"person_in_bed_medium_skin_tone":{"e":"\u{1f6cc}\u{1f3fd}","c":"1f6cc-1f3fd"},"person_in_bed_medium_dark_skin_tone":{"e":"\u{1f6cc}\u{1f3fe}","c":"1f6cc-1f3fe"},"person_in_bed_dark_skin_tone":{"e":"\u{1f6cc}\u{1f3ff}","c":"1f6cc-1f3ff"},"person_in_bed":{"e":"\u{1f6cc}","c":"1f6cc"},"shopping_bags":{"e":"\u{1f6cd}","c":"1f6cd"},"bellhop_bell":{"e":"\u{1f6ce}","c":"1f6ce"},"bed":{"e":"\u{1f6cf}","c":"1f6cf"},"place_of_worship":{"e":"\u{1f6d0}","c":"1f6d0"},"stop_sign":{"e":"\u{1f6d1}","c":"1f6d1"},"shopping_cart":{"e":"\u{1f6d2}","c":"1f6d2"},"hindu_temple":{"e":"\u{1f6d5}","c":"1f6d5"},"hut":{"e":"\u{1f6d6}","c":"1f6d6"},"elevator":{"e":"\u{1f6d7}","c":"1f6d7"},"landslide":{"e":"\u{1f6d8}","c":"1f6d8"},"wireless":{"e":"\u{1f6dc}","c":"1f6dc"},"playground_slide":{"e":"\u{1f6dd}","c":"1f6dd"},"wheel":{"e":"\u{1f6de}","c":"1f6de"},"ring_buoy":{"e":"\u{1f6df}","c":"1f6df"},"hammer_and_wrench":{"e":"\u{1f6e0}","c":"1f6e0"},"shield":{"e":"\u{1f6e1}","c":"1f6e1"},"oil_drum":{"e":"\u{1f6e2}","c":"1f6e2"},"motorway":{"e":"\u{1f6e3}","c":"1f6e3"},"railway_track":{"e":"\u{1f6e4}","c":"1f6e4"},"motor_boat":{"e":"\u{1f6e5}","c":"1f6e5"},"small_airplane":{"e":"\u{1f6e9}","c":"1f6e9"},"airplane_departure":{"e":"\u{1f6eb}","c":"1f6eb"},"airplane_arrival":{"e":"\u{1f6ec}","c":"1f6ec"},"satellite":{"e":"\u{1f6f0}","c":"1f6f0"},"passenger_ship":{"e":"\u{1f6f3}","c":"1f6f3"},"kick_scooter":{"e":"\u{1f6f4}","c":"1f6f4"},"motor_scooter":{"e":"\u{1f6f5}","c":"1f6f5"},"canoe":{"e":"\u{1f6f6}","c":"1f6f6"},"sled":{"e":"\u{1f6f7}","c":"1f6f7"},"flying_saucer":{"e":"\u{1f6f8}","c":"1f6f8"},"skateboard":{"e":"\u{1f6f9}","c":"1f6f9"},"auto_rickshaw":{"e":"\u{1f6fa}","c":"1f6fa"},"pickup_truck":{"e":"\u{1f6fb}","c":"1f6fb"},"roller_skate":{"e":"\u{1f6fc}","c":"1f6fc"},"orange_circle":{"e":"\u{1f7e0}","c":"1f7e0"},"yellow_circle":{"e":"\u{1f7e1}","c":"1f7e1"},"green_circle":{"e":"\u{1f7e2}","c":"1f7e2"},"purple_circle":{"e":"\u{1f7e3}","c":"1f7e3"},"brown_circle":{"e":"\u{1f7e4}","c":"1f7e4"},"red_square":{"e":"\u{1f7e5}","c":"1f7e5"},"blue_square":{"e":"\u{1f7e6}","c":"1f7e6"},"orange_square":{"e":"\u{1f7e7}","c":"1f7e7"},"yellow_square":{"e":"\u{1f7e8}","c":"1f7e8"},"green_square":{"e":"\u{1f7e9}","c":"1f7e9"},"purple_square":{"e":"\u{1f7ea}","c":"1f7ea"},"brown_square":{"e":"\u{1f7eb}","c":"1f7eb"},"heavy_equals_sign":{"e":"\u{1f7f0}","c":"1f7f0"},"pinched_fingers_light_skin_tone":{"e":"\u{1f90c}\u{1f3fb}","c":"1f90c-1f3fb"},"pinched_fingers_medium_light_skin_tone":{"e":"\u{1f90c}\u{1f3fc}","c":"1f90c-1f3fc"},"pinched_fingers_medium_skin_tone":{"e":"\u{1f90c}\u{1f3fd}","c":"1f90c-1f3fd"},"pinched_fingers_medium_dark_skin_tone":{"e":"\u{1f90c}\u{1f3fe}","c":"1f90c-1f3fe"},"pinched_fingers_dark_skin_tone":{"e":"\u{1f90c}\u{1f3ff}","c":"1f90c-1f3ff"},"pinched_fingers":{"e":"\u{1f90c}","c":"1f90c"},"white_heart":{"e":"\u{1f90d}","c":"1f90d"},"brown_heart":{"e":"\u{1f90e}","c":"1f90e"},"pinching_hand_light_skin_tone":{"e":"\u{1f90f}\u{1f3fb}","c":"1f90f-1f3fb"},"pinching_hand_medium_light_skin_tone":{"e":"\u{1f90f}\u{1f3fc}","c":"1f90f-1f3fc"},"pinching_hand_medium_skin_tone":{"e":"\u{1f90f}\u{1f3fd}","c":"1f90f-1f3fd"},"pinching_hand_medium_dark_skin_tone":{"e":"\u{1f90f}\u{1f3fe}","c":"1f90f-1f3fe"},"pinching_hand_dark_skin_tone":{"e":"\u{1f90f}\u{1f3ff}","c":"1f90f-1f3ff"},"pinching_hand":{"e":"\u{1f90f}","c":"1f90f"},"zipper_mouth_face":{"e":"\u{1f910}","c":"1f910"},"money_mouth_face":{"e":"\u{1f911}","c":"1f911"},"face_with_thermometer":{"e":"\u{1f912}","c":"1f912"},"nerd_face":{"e":"\u{1f913}","c":"1f913"},"thinking_face":{"e":"\u{1f914}","c":"1f914"},"face_with_head_bandage":{"e":"\u{1f915}","c":"1f915"},"robot":{"e":"\u{1f916}","c":"1f916"},"smiling_face_with_open_hands":{"e":"\u{1f917}","c":"1f917"},"sign_of_the_horns_light_skin_tone":{"e":"\u{1f918}\u{1f3fb}","c":"1f918-1f3fb"},"sign_of_the_horns_medium_light_skin_tone":{"e":"\u{1f918}\u{1f3fc}","c":"1f918-1f3fc"},"sign_of_the_horns_medium_skin_tone":{"e":"\u{1f918}\u{1f3fd}","c":"1f918-1f3fd"},"sign_of_the_horns_medium_dark_skin_tone":{"e":"\u{1f918}\u{1f3fe}","c":"1f918-1f3fe"},"sign_of_the_horns_dark_skin_tone":{"e":"\u{1f918}\u{1f3ff}","c":"1f918-1f3ff"},"sign_of_the_horns":{"e":"\u{1f918}","c":"1f918"},"call_me_hand_light_skin_tone":{"e":"\u{1f919}\u{1f3fb}","c":"1f919-1f3fb"},"call_me_hand_medium_light_skin_tone":{"e":"\u{1f919}\u{1f3fc}","c":"1f919-1f3fc"},"call_me_hand_medium_skin_tone":{"e":"\u{1f919}\u{1f3fd}","c":"1f919-1f3fd"},"call_me_hand_medium_dark_skin_tone":{"e":"\u{1f919}\u{1f3fe}","c":"1f919-1f3fe"},"call_me_hand_dark_skin_tone":{"e":"\u{1f919}\u{1f3ff}","c":"1f919-1f3ff"},"call_me_hand":{"e":"\u{1f919}","c":"1f919"},"raised_back_of_hand_light_skin_tone":{"e":"\u{1f91a}\u{1f3fb}","c":"1f91a-1f3fb"},"raised_back_of_hand_medium_light_skin_tone":{"e":"\u{1f91a}\u{1f3fc}","c":"1f91a-1f3fc"},"raised_back_of_hand_medium_skin_tone":{"e":"\u{1f91a}\u{1f3fd}","c":"1f91a-1f3fd"},"raised_back_of_hand_medium_dark_skin_tone":{"e":"\u{1f91a}\u{1f3fe}","c":"1f91a-1f3fe"},"raised_back_of_hand_dark_skin_tone":{"e":"\u{1f91a}\u{1f3ff}","c":"1f91a-1f3ff"},"raised_back_of_hand":{"e":"\u{1f91a}","c":"1f91a"},"left_facing_fist_light_skin_tone":{"e":"\u{1f91b}\u{1f3fb}","c":"1f91b-1f3fb"},"left_facing_fist_medium_light_skin_tone":{"e":"\u{1f91b}\u{1f3fc}","c":"1f91b-1f3fc"},"left_facing_fist_medium_skin_tone":{"e":"\u{1f91b}\u{1f3fd}","c":"1f91b-1f3fd"},"left_facing_fist_medium_dark_skin_tone":{"e":"\u{1f91b}\u{1f3fe}","c":"1f91b-1f3fe"},"left_facing_fist_dark_skin_tone":{"e":"\u{1f91b}\u{1f3ff}","c":"1f91b-1f3ff"},"left_facing_fist":{"e":"\u{1f91b}","c":"1f91b"},"right_facing_fist_light_skin_tone":{"e":"\u{1f91c}\u{1f3fb}","c":"1f91c-1f3fb"},"right_facing_fist_medium_light_skin_tone":{"e":"\u{1f91c}\u{1f3fc}","c":"1f91c-1f3fc"},"right_facing_fist_medium_skin_tone":{"e":"\u{1f91c}\u{1f3fd}","c":"1f91c-1f3fd"},"right_facing_fist_medium_dark_skin_tone":{"e":"\u{1f91c}\u{1f3fe}","c":"1f91c-1f3fe"},"right_facing_fist_dark_skin_tone":{"e":"\u{1f91c}\u{1f3ff}","c":"1f91c-1f3ff"},"right_facing_fist":{"e":"\u{1f91c}","c":"1f91c"},"handshake_light_skin_tone":{"e":"\u{1f91d}\u{1f3fb}","c":"1f91d-1f3fb"},"handshake_medium_light_skin_tone":{"e":"\u{1f91d}\u{1f3fc}","c":"1f91d-1f3fc"},"handshake_medium_skin_tone":{"e":"\u{1f91d}\u{1f3fd}","c":"1f91d-1f3fd"},"handshake_medium_dark_skin_tone":{"e":"\u{1f91d}\u{1f3fe}","c":"1f91d-1f3fe"},"handshake_dark_skin_tone":{"e":"\u{1f91d}\u{1f3ff}","c":"1f91d-1f3ff"},"handshake":{"e":"\u{1f91d}","c":"1f91d"},"crossed_fingers_light_skin_tone":{"e":"\u{1f91e}\u{1f3fb}","c":"1f91e-1f3fb"},"crossed_fingers_medium_light_skin_tone":{"e":"\u{1f91e}\u{1f3fc}","c":"1f91e-1f3fc"},"crossed_fingers_medium_skin_tone":{"e":"\u{1f91e}\u{1f3fd}","c":"1f91e-1f3fd"},"crossed_fingers_medium_dark_skin_tone":{"e":"\u{1f91e}\u{1f3fe}","c":"1f91e-1f3fe"},"crossed_fingers_dark_skin_tone":{"e":"\u{1f91e}\u{1f3ff}","c":"1f91e-1f3ff"},"crossed_fingers":{"e":"\u{1f91e}","c":"1f91e"},"love_you_gesture_light_skin_tone":{"e":"\u{1f91f}\u{1f3fb}","c":"1f91f-1f3fb"},"love_you_gesture_medium_light_skin_tone":{"e":"\u{1f91f}\u{1f3fc}","c":"1f91f-1f3fc"},"love_you_gesture_medium_skin_tone":{"e":"\u{1f91f}\u{1f3fd}","c":"1f91f-1f3fd"},"love_you_gesture_medium_dark_skin_tone":{"e":"\u{1f91f}\u{1f3fe}","c":"1f91f-1f3fe"},"love_you_gesture_dark_skin_tone":{"e":"\u{1f91f}\u{1f3ff}","c":"1f91f-1f3ff"},"love_you_gesture":{"e":"\u{1f91f}","c":"1f91f"},"cowboy_hat_face":{"e":"\u{1f920}","c":"1f920"},"clown_face":{"e":"\u{1f921}","c":"1f921"},"nauseated_face":{"e":"\u{1f922}","c":"1f922"},"rolling_on_the_floor_laughing":{"e":"\u{1f923}","c":"1f923"},"drooling_face":{"e":"\u{1f924}","c":"1f924"},"lying_face":{"e":"\u{1f925}","c":"1f925"},"woman_facepalming:_light_skin_tone":{"e":"\u{1f926}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f926-1f3fb-200d-2640-fe0f"},"man_facepalming:_light_skin_tone":{"e":"\u{1f926}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f926-1f3fb-200d-2642-fe0f"},"person_facepalming_light_skin_tone":{"e":"\u{1f926}\u{1f3fb}","c":"1f926-1f3fb"},"woman_facepalming:_medium_light_skin_tone":{"e":"\u{1f926}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f926-1f3fc-200d-2640-fe0f"},"man_facepalming:_medium_light_skin_tone":{"e":"\u{1f926}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f926-1f3fc-200d-2642-fe0f"},"person_facepalming_medium_light_skin_tone":{"e":"\u{1f926}\u{1f3fc}","c":"1f926-1f3fc"},"woman_facepalming:_medium_skin_tone":{"e":"\u{1f926}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f926-1f3fd-200d-2640-fe0f"},"man_facepalming:_medium_skin_tone":{"e":"\u{1f926}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f926-1f3fd-200d-2642-fe0f"},"person_facepalming_medium_skin_tone":{"e":"\u{1f926}\u{1f3fd}","c":"1f926-1f3fd"},"woman_facepalming:_medium_dark_skin_tone":{"e":"\u{1f926}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f926-1f3fe-200d-2640-fe0f"},"man_facepalming:_medium_dark_skin_tone":{"e":"\u{1f926}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f926-1f3fe-200d-2642-fe0f"},"person_facepalming_medium_dark_skin_tone":{"e":"\u{1f926}\u{1f3fe}","c":"1f926-1f3fe"},"woman_facepalming:_dark_skin_tone":{"e":"\u{1f926}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f926-1f3ff-200d-2640-fe0f"},"man_facepalming:_dark_skin_tone":{"e":"\u{1f926}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f926-1f3ff-200d-2642-fe0f"},"person_facepalming_dark_skin_tone":{"e":"\u{1f926}\u{1f3ff}","c":"1f926-1f3ff"},"woman_facepalming":{"e":"\u{1f926}\u{200d}\u{2640}\u{fe0f}","c":"1f926-200d-2640-fe0f"},"man_facepalming":{"e":"\u{1f926}\u{200d}\u{2642}\u{fe0f}","c":"1f926-200d-2642-fe0f"},"person_facepalming":{"e":"\u{1f926}","c":"1f926"},"sneezing_face":{"e":"\u{1f927}","c":"1f927"},"face_with_raised_eyebrow":{"e":"\u{1f928}","c":"1f928"},"star_struck":{"e":"\u{1f929}","c":"1f929"},"zany_face":{"e":"\u{1f92a}","c":"1f92a"},"shushing_face":{"e":"\u{1f92b}","c":"1f92b"},"face_with_symbols_on_mouth":{"e":"\u{1f92c}","c":"1f92c"},"face_with_hand_over_mouth":{"e":"\u{1f92d}","c":"1f92d"},"face_vomiting":{"e":"\u{1f92e}","c":"1f92e"},"exploding_head":{"e":"\u{1f92f}","c":"1f92f"},"pregnant_woman_light_skin_tone":{"e":"\u{1f930}\u{1f3fb}","c":"1f930-1f3fb"},"pregnant_woman_medium_light_skin_tone":{"e":"\u{1f930}\u{1f3fc}","c":"1f930-1f3fc"},"pregnant_woman_medium_skin_tone":{"e":"\u{1f930}\u{1f3fd}","c":"1f930-1f3fd"},"pregnant_woman_medium_dark_skin_tone":{"e":"\u{1f930}\u{1f3fe}","c":"1f930-1f3fe"},"pregnant_woman_dark_skin_tone":{"e":"\u{1f930}\u{1f3ff}","c":"1f930-1f3ff"},"pregnant_woman":{"e":"\u{1f930}","c":"1f930"},"breast_feeding_light_skin_tone":{"e":"\u{1f931}\u{1f3fb}","c":"1f931-1f3fb"},"breast_feeding_medium_light_skin_tone":{"e":"\u{1f931}\u{1f3fc}","c":"1f931-1f3fc"},"breast_feeding_medium_skin_tone":{"e":"\u{1f931}\u{1f3fd}","c":"1f931-1f3fd"},"breast_feeding_medium_dark_skin_tone":{"e":"\u{1f931}\u{1f3fe}","c":"1f931-1f3fe"},"breast_feeding_dark_skin_tone":{"e":"\u{1f931}\u{1f3ff}","c":"1f931-1f3ff"},"breast_feeding":{"e":"\u{1f931}","c":"1f931"},"palms_up_together_light_skin_tone":{"e":"\u{1f932}\u{1f3fb}","c":"1f932-1f3fb"},"palms_up_together_medium_light_skin_tone":{"e":"\u{1f932}\u{1f3fc}","c":"1f932-1f3fc"},"palms_up_together_medium_skin_tone":{"e":"\u{1f932}\u{1f3fd}","c":"1f932-1f3fd"},"palms_up_together_medium_dark_skin_tone":{"e":"\u{1f932}\u{1f3fe}","c":"1f932-1f3fe"},"palms_up_together_dark_skin_tone":{"e":"\u{1f932}\u{1f3ff}","c":"1f932-1f3ff"},"palms_up_together":{"e":"\u{1f932}","c":"1f932"},"selfie_light_skin_tone":{"e":"\u{1f933}\u{1f3fb}","c":"1f933-1f3fb"},"selfie_medium_light_skin_tone":{"e":"\u{1f933}\u{1f3fc}","c":"1f933-1f3fc"},"selfie_medium_skin_tone":{"e":"\u{1f933}\u{1f3fd}","c":"1f933-1f3fd"},"selfie_medium_dark_skin_tone":{"e":"\u{1f933}\u{1f3fe}","c":"1f933-1f3fe"},"selfie_dark_skin_tone":{"e":"\u{1f933}\u{1f3ff}","c":"1f933-1f3ff"},"selfie":{"e":"\u{1f933}","c":"1f933"},"prince_light_skin_tone":{"e":"\u{1f934}\u{1f3fb}","c":"1f934-1f3fb"},"prince_medium_light_skin_tone":{"e":"\u{1f934}\u{1f3fc}","c":"1f934-1f3fc"},"prince_medium_skin_tone":{"e":"\u{1f934}\u{1f3fd}","c":"1f934-1f3fd"},"prince_medium_dark_skin_tone":{"e":"\u{1f934}\u{1f3fe}","c":"1f934-1f3fe"},"prince_dark_skin_tone":{"e":"\u{1f934}\u{1f3ff}","c":"1f934-1f3ff"},"prince":{"e":"\u{1f934}","c":"1f934"},"woman_in_tuxedo:_light_skin_tone":{"e":"\u{1f935}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f935-1f3fb-200d-2640-fe0f"},"man_in_tuxedo:_light_skin_tone":{"e":"\u{1f935}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f935-1f3fb-200d-2642-fe0f"},"person_in_tuxedo_light_skin_tone":{"e":"\u{1f935}\u{1f3fb}","c":"1f935-1f3fb"},"woman_in_tuxedo:_medium_light_skin_tone":{"e":"\u{1f935}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f935-1f3fc-200d-2640-fe0f"},"man_in_tuxedo:_medium_light_skin_tone":{"e":"\u{1f935}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f935-1f3fc-200d-2642-fe0f"},"person_in_tuxedo_medium_light_skin_tone":{"e":"\u{1f935}\u{1f3fc}","c":"1f935-1f3fc"},"woman_in_tuxedo:_medium_skin_tone":{"e":"\u{1f935}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f935-1f3fd-200d-2640-fe0f"},"man_in_tuxedo:_medium_skin_tone":{"e":"\u{1f935}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f935-1f3fd-200d-2642-fe0f"},"person_in_tuxedo_medium_skin_tone":{"e":"\u{1f935}\u{1f3fd}","c":"1f935-1f3fd"},"woman_in_tuxedo:_medium_dark_skin_tone":{"e":"\u{1f935}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f935-1f3fe-200d-2640-fe0f"},"man_in_tuxedo:_medium_dark_skin_tone":{"e":"\u{1f935}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f935-1f3fe-200d-2642-fe0f"},"person_in_tuxedo_medium_dark_skin_tone":{"e":"\u{1f935}\u{1f3fe}","c":"1f935-1f3fe"},"woman_in_tuxedo:_dark_skin_tone":{"e":"\u{1f935}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f935-1f3ff-200d-2640-fe0f"},"man_in_tuxedo:_dark_skin_tone":{"e":"\u{1f935}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f935-1f3ff-200d-2642-fe0f"},"person_in_tuxedo_dark_skin_tone":{"e":"\u{1f935}\u{1f3ff}","c":"1f935-1f3ff"},"woman_in_tuxedo":{"e":"\u{1f935}\u{200d}\u{2640}\u{fe0f}","c":"1f935-200d-2640-fe0f"},"man_in_tuxedo":{"e":"\u{1f935}\u{200d}\u{2642}\u{fe0f}","c":"1f935-200d-2642-fe0f"},"person_in_tuxedo":{"e":"\u{1f935}","c":"1f935"},"mrs._claus_light_skin_tone":{"e":"\u{1f936}\u{1f3fb}","c":"1f936-1f3fb"},"mrs._claus_medium_light_skin_tone":{"e":"\u{1f936}\u{1f3fc}","c":"1f936-1f3fc"},"mrs._claus_medium_skin_tone":{"e":"\u{1f936}\u{1f3fd}","c":"1f936-1f3fd"},"mrs._claus_medium_dark_skin_tone":{"e":"\u{1f936}\u{1f3fe}","c":"1f936-1f3fe"},"mrs._claus_dark_skin_tone":{"e":"\u{1f936}\u{1f3ff}","c":"1f936-1f3ff"},"mrs._claus":{"e":"\u{1f936}","c":"1f936"},"woman_shrugging:_light_skin_tone":{"e":"\u{1f937}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f937-1f3fb-200d-2640-fe0f"},"man_shrugging:_light_skin_tone":{"e":"\u{1f937}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f937-1f3fb-200d-2642-fe0f"},"person_shrugging_light_skin_tone":{"e":"\u{1f937}\u{1f3fb}","c":"1f937-1f3fb"},"woman_shrugging:_medium_light_skin_tone":{"e":"\u{1f937}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f937-1f3fc-200d-2640-fe0f"},"man_shrugging:_medium_light_skin_tone":{"e":"\u{1f937}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f937-1f3fc-200d-2642-fe0f"},"person_shrugging_medium_light_skin_tone":{"e":"\u{1f937}\u{1f3fc}","c":"1f937-1f3fc"},"woman_shrugging:_medium_skin_tone":{"e":"\u{1f937}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f937-1f3fd-200d-2640-fe0f"},"man_shrugging:_medium_skin_tone":{"e":"\u{1f937}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f937-1f3fd-200d-2642-fe0f"},"person_shrugging_medium_skin_tone":{"e":"\u{1f937}\u{1f3fd}","c":"1f937-1f3fd"},"woman_shrugging:_medium_dark_skin_tone":{"e":"\u{1f937}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f937-1f3fe-200d-2640-fe0f"},"man_shrugging:_medium_dark_skin_tone":{"e":"\u{1f937}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f937-1f3fe-200d-2642-fe0f"},"person_shrugging_medium_dark_skin_tone":{"e":"\u{1f937}\u{1f3fe}","c":"1f937-1f3fe"},"woman_shrugging:_dark_skin_tone":{"e":"\u{1f937}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f937-1f3ff-200d-2640-fe0f"},"man_shrugging:_dark_skin_tone":{"e":"\u{1f937}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f937-1f3ff-200d-2642-fe0f"},"person_shrugging_dark_skin_tone":{"e":"\u{1f937}\u{1f3ff}","c":"1f937-1f3ff"},"woman_shrugging":{"e":"\u{1f937}\u{200d}\u{2640}\u{fe0f}","c":"1f937-200d-2640-fe0f"},"man_shrugging":{"e":"\u{1f937}\u{200d}\u{2642}\u{fe0f}","c":"1f937-200d-2642-fe0f"},"person_shrugging":{"e":"\u{1f937}","c":"1f937"},"woman_cartwheeling:_light_skin_tone":{"e":"\u{1f938}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f938-1f3fb-200d-2640-fe0f"},"man_cartwheeling:_light_skin_tone":{"e":"\u{1f938}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f938-1f3fb-200d-2642-fe0f"},"person_cartwheeling_light_skin_tone":{"e":"\u{1f938}\u{1f3fb}","c":"1f938-1f3fb"},"woman_cartwheeling:_medium_light_skin_tone":{"e":"\u{1f938}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f938-1f3fc-200d-2640-fe0f"},"man_cartwheeling:_medium_light_skin_tone":{"e":"\u{1f938}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f938-1f3fc-200d-2642-fe0f"},"person_cartwheeling_medium_light_skin_tone":{"e":"\u{1f938}\u{1f3fc}","c":"1f938-1f3fc"},"woman_cartwheeling:_medium_skin_tone":{"e":"\u{1f938}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f938-1f3fd-200d-2640-fe0f"},"man_cartwheeling:_medium_skin_tone":{"e":"\u{1f938}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f938-1f3fd-200d-2642-fe0f"},"person_cartwheeling_medium_skin_tone":{"e":"\u{1f938}\u{1f3fd}","c":"1f938-1f3fd"},"woman_cartwheeling:_medium_dark_skin_tone":{"e":"\u{1f938}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f938-1f3fe-200d-2640-fe0f"},"man_cartwheeling:_medium_dark_skin_tone":{"e":"\u{1f938}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f938-1f3fe-200d-2642-fe0f"},"person_cartwheeling_medium_dark_skin_tone":{"e":"\u{1f938}\u{1f3fe}","c":"1f938-1f3fe"},"woman_cartwheeling:_dark_skin_tone":{"e":"\u{1f938}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f938-1f3ff-200d-2640-fe0f"},"man_cartwheeling:_dark_skin_tone":{"e":"\u{1f938}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f938-1f3ff-200d-2642-fe0f"},"person_cartwheeling_dark_skin_tone":{"e":"\u{1f938}\u{1f3ff}","c":"1f938-1f3ff"},"woman_cartwheeling":{"e":"\u{1f938}\u{200d}\u{2640}\u{fe0f}","c":"1f938-200d-2640-fe0f"},"man_cartwheeling":{"e":"\u{1f938}\u{200d}\u{2642}\u{fe0f}","c":"1f938-200d-2642-fe0f"},"person_cartwheeling":{"e":"\u{1f938}","c":"1f938"},"woman_juggling:_light_skin_tone":{"e":"\u{1f939}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f939-1f3fb-200d-2640-fe0f"},"man_juggling:_light_skin_tone":{"e":"\u{1f939}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f939-1f3fb-200d-2642-fe0f"},"person_juggling_light_skin_tone":{"e":"\u{1f939}\u{1f3fb}","c":"1f939-1f3fb"},"woman_juggling:_medium_light_skin_tone":{"e":"\u{1f939}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f939-1f3fc-200d-2640-fe0f"},"man_juggling:_medium_light_skin_tone":{"e":"\u{1f939}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f939-1f3fc-200d-2642-fe0f"},"person_juggling_medium_light_skin_tone":{"e":"\u{1f939}\u{1f3fc}","c":"1f939-1f3fc"},"woman_juggling:_medium_skin_tone":{"e":"\u{1f939}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f939-1f3fd-200d-2640-fe0f"},"man_juggling:_medium_skin_tone":{"e":"\u{1f939}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f939-1f3fd-200d-2642-fe0f"},"person_juggling_medium_skin_tone":{"e":"\u{1f939}\u{1f3fd}","c":"1f939-1f3fd"},"woman_juggling:_medium_dark_skin_tone":{"e":"\u{1f939}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f939-1f3fe-200d-2640-fe0f"},"man_juggling:_medium_dark_skin_tone":{"e":"\u{1f939}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f939-1f3fe-200d-2642-fe0f"},"person_juggling_medium_dark_skin_tone":{"e":"\u{1f939}\u{1f3fe}","c":"1f939-1f3fe"},"woman_juggling:_dark_skin_tone":{"e":"\u{1f939}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f939-1f3ff-200d-2640-fe0f"},"man_juggling:_dark_skin_tone":{"e":"\u{1f939}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f939-1f3ff-200d-2642-fe0f"},"person_juggling_dark_skin_tone":{"e":"\u{1f939}\u{1f3ff}","c":"1f939-1f3ff"},"woman_juggling":{"e":"\u{1f939}\u{200d}\u{2640}\u{fe0f}","c":"1f939-200d-2640-fe0f"},"man_juggling":{"e":"\u{1f939}\u{200d}\u{2642}\u{fe0f}","c":"1f939-200d-2642-fe0f"},"person_juggling":{"e":"\u{1f939}","c":"1f939"},"person_fencing":{"e":"\u{1f93a}","c":"1f93a"},"women_wrestling:_light_skin_tone":{"e":"\u{1f93c}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f93c-1f3fb-200d-2640-fe0f"},"men_wrestling:_light_skin_tone":{"e":"\u{1f93c}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f93c-1f3fb-200d-2642-fe0f"},"people_wrestling_light_skin_tone":{"e":"\u{1f93c}\u{1f3fb}","c":"1f93c-1f3fb"},"women_wrestling:_medium_light_skin_tone":{"e":"\u{1f93c}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f93c-1f3fc-200d-2640-fe0f"},"men_wrestling:_medium_light_skin_tone":{"e":"\u{1f93c}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f93c-1f3fc-200d-2642-fe0f"},"people_wrestling_medium_light_skin_tone":{"e":"\u{1f93c}\u{1f3fc}","c":"1f93c-1f3fc"},"women_wrestling:_medium_skin_tone":{"e":"\u{1f93c}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f93c-1f3fd-200d-2640-fe0f"},"men_wrestling:_medium_skin_tone":{"e":"\u{1f93c}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f93c-1f3fd-200d-2642-fe0f"},"people_wrestling_medium_skin_tone":{"e":"\u{1f93c}\u{1f3fd}","c":"1f93c-1f3fd"},"women_wrestling:_medium_dark_skin_tone":{"e":"\u{1f93c}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f93c-1f3fe-200d-2640-fe0f"},"men_wrestling:_medium_dark_skin_tone":{"e":"\u{1f93c}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f93c-1f3fe-200d-2642-fe0f"},"people_wrestling_medium_dark_skin_tone":{"e":"\u{1f93c}\u{1f3fe}","c":"1f93c-1f3fe"},"women_wrestling:_dark_skin_tone":{"e":"\u{1f93c}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f93c-1f3ff-200d-2640-fe0f"},"men_wrestling:_dark_skin_tone":{"e":"\u{1f93c}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f93c-1f3ff-200d-2642-fe0f"},"people_wrestling_dark_skin_tone":{"e":"\u{1f93c}\u{1f3ff}","c":"1f93c-1f3ff"},"women_wrestling":{"e":"\u{1f93c}\u{200d}\u{2640}\u{fe0f}","c":"1f93c-200d-2640-fe0f"},"men_wrestling":{"e":"\u{1f93c}\u{200d}\u{2642}\u{fe0f}","c":"1f93c-200d-2642-fe0f"},"people_wrestling":{"e":"\u{1f93c}","c":"1f93c"},"woman_playing_water_polo:_light_skin_tone":{"e":"\u{1f93d}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f93d-1f3fb-200d-2640-fe0f"},"man_playing_water_polo:_light_skin_tone":{"e":"\u{1f93d}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f93d-1f3fb-200d-2642-fe0f"},"person_playing_water_polo_light_skin_tone":{"e":"\u{1f93d}\u{1f3fb}","c":"1f93d-1f3fb"},"woman_playing_water_polo:_medium_light_skin_tone":{"e":"\u{1f93d}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f93d-1f3fc-200d-2640-fe0f"},"man_playing_water_polo:_medium_light_skin_tone":{"e":"\u{1f93d}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f93d-1f3fc-200d-2642-fe0f"},"person_playing_water_polo_medium_light_skin_tone":{"e":"\u{1f93d}\u{1f3fc}","c":"1f93d-1f3fc"},"woman_playing_water_polo:_medium_skin_tone":{"e":"\u{1f93d}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f93d-1f3fd-200d-2640-fe0f"},"man_playing_water_polo:_medium_skin_tone":{"e":"\u{1f93d}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f93d-1f3fd-200d-2642-fe0f"},"person_playing_water_polo_medium_skin_tone":{"e":"\u{1f93d}\u{1f3fd}","c":"1f93d-1f3fd"},"woman_playing_water_polo:_medium_dark_skin_tone":{"e":"\u{1f93d}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f93d-1f3fe-200d-2640-fe0f"},"man_playing_water_polo:_medium_dark_skin_tone":{"e":"\u{1f93d}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f93d-1f3fe-200d-2642-fe0f"},"person_playing_water_polo_medium_dark_skin_tone":{"e":"\u{1f93d}\u{1f3fe}","c":"1f93d-1f3fe"},"woman_playing_water_polo:_dark_skin_tone":{"e":"\u{1f93d}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f93d-1f3ff-200d-2640-fe0f"},"man_playing_water_polo:_dark_skin_tone":{"e":"\u{1f93d}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f93d-1f3ff-200d-2642-fe0f"},"person_playing_water_polo_dark_skin_tone":{"e":"\u{1f93d}\u{1f3ff}","c":"1f93d-1f3ff"},"woman_playing_water_polo":{"e":"\u{1f93d}\u{200d}\u{2640}\u{fe0f}","c":"1f93d-200d-2640-fe0f"},"man_playing_water_polo":{"e":"\u{1f93d}\u{200d}\u{2642}\u{fe0f}","c":"1f93d-200d-2642-fe0f"},"person_playing_water_polo":{"e":"\u{1f93d}","c":"1f93d"},"woman_playing_handball:_light_skin_tone":{"e":"\u{1f93e}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f93e-1f3fb-200d-2640-fe0f"},"man_playing_handball:_light_skin_tone":{"e":"\u{1f93e}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f93e-1f3fb-200d-2642-fe0f"},"person_playing_handball_light_skin_tone":{"e":"\u{1f93e}\u{1f3fb}","c":"1f93e-1f3fb"},"woman_playing_handball:_medium_light_skin_tone":{"e":"\u{1f93e}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f93e-1f3fc-200d-2640-fe0f"},"man_playing_handball:_medium_light_skin_tone":{"e":"\u{1f93e}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f93e-1f3fc-200d-2642-fe0f"},"person_playing_handball_medium_light_skin_tone":{"e":"\u{1f93e}\u{1f3fc}","c":"1f93e-1f3fc"},"woman_playing_handball:_medium_skin_tone":{"e":"\u{1f93e}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f93e-1f3fd-200d-2640-fe0f"},"man_playing_handball:_medium_skin_tone":{"e":"\u{1f93e}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f93e-1f3fd-200d-2642-fe0f"},"person_playing_handball_medium_skin_tone":{"e":"\u{1f93e}\u{1f3fd}","c":"1f93e-1f3fd"},"woman_playing_handball:_medium_dark_skin_tone":{"e":"\u{1f93e}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f93e-1f3fe-200d-2640-fe0f"},"man_playing_handball:_medium_dark_skin_tone":{"e":"\u{1f93e}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f93e-1f3fe-200d-2642-fe0f"},"person_playing_handball_medium_dark_skin_tone":{"e":"\u{1f93e}\u{1f3fe}","c":"1f93e-1f3fe"},"woman_playing_handball:_dark_skin_tone":{"e":"\u{1f93e}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f93e-1f3ff-200d-2640-fe0f"},"man_playing_handball:_dark_skin_tone":{"e":"\u{1f93e}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f93e-1f3ff-200d-2642-fe0f"},"person_playing_handball_dark_skin_tone":{"e":"\u{1f93e}\u{1f3ff}","c":"1f93e-1f3ff"},"woman_playing_handball":{"e":"\u{1f93e}\u{200d}\u{2640}\u{fe0f}","c":"1f93e-200d-2640-fe0f"},"man_playing_handball":{"e":"\u{1f93e}\u{200d}\u{2642}\u{fe0f}","c":"1f93e-200d-2642-fe0f"},"person_playing_handball":{"e":"\u{1f93e}","c":"1f93e"},"diving_mask":{"e":"\u{1f93f}","c":"1f93f"},"wilted_flower":{"e":"\u{1f940}","c":"1f940"},"drum":{"e":"\u{1f941}","c":"1f941"},"clinking_glasses":{"e":"\u{1f942}","c":"1f942"},"tumbler_glass":{"e":"\u{1f943}","c":"1f943"},"spoon":{"e":"\u{1f944}","c":"1f944"},"goal_net":{"e":"\u{1f945}","c":"1f945"},"bst_place_medal":{"e":"\u{1f947}","c":"1f947"},"cnd_place_medal":{"e":"\u{1f948}","c":"1f948"},"drd_place_medal":{"e":"\u{1f949}","c":"1f949"},"boxing_glove":{"e":"\u{1f94a}","c":"1f94a"},"martial_arts_uniform":{"e":"\u{1f94b}","c":"1f94b"},"curling_stone":{"e":"\u{1f94c}","c":"1f94c"},"lacrosse":{"e":"\u{1f94d}","c":"1f94d"},"softball":{"e":"\u{1f94e}","c":"1f94e"},"flying_disc":{"e":"\u{1f94f}","c":"1f94f"},"croissant":{"e":"\u{1f950}","c":"1f950"},"avocado":{"e":"\u{1f951}","c":"1f951"},"cucumber":{"e":"\u{1f952}","c":"1f952"},"bacon":{"e":"\u{1f953}","c":"1f953"},"potato":{"e":"\u{1f954}","c":"1f954"},"carrot":{"e":"\u{1f955}","c":"1f955"},"baguette_bread":{"e":"\u{1f956}","c":"1f956"},"green_salad":{"e":"\u{1f957}","c":"1f957"},"shallow_pan_of_food":{"e":"\u{1f958}","c":"1f958"},"stuffed_flatbread":{"e":"\u{1f959}","c":"1f959"},"egg":{"e":"\u{1f95a}","c":"1f95a"},"glass_of_milk":{"e":"\u{1f95b}","c":"1f95b"},"peanuts":{"e":"\u{1f95c}","c":"1f95c"},"kiwi_fruit":{"e":"\u{1f95d}","c":"1f95d"},"pancakes":{"e":"\u{1f95e}","c":"1f95e"},"dumpling":{"e":"\u{1f95f}","c":"1f95f"},"fortune_cookie":{"e":"\u{1f960}","c":"1f960"},"takeout_box":{"e":"\u{1f961}","c":"1f961"},"chopsticks":{"e":"\u{1f962}","c":"1f962"},"bowl_with_spoon":{"e":"\u{1f963}","c":"1f963"},"cup_with_straw":{"e":"\u{1f964}","c":"1f964"},"coconut":{"e":"\u{1f965}","c":"1f965"},"broccoli":{"e":"\u{1f966}","c":"1f966"},"pie":{"e":"\u{1f967}","c":"1f967"},"pretzel":{"e":"\u{1f968}","c":"1f968"},"cut_of_meat":{"e":"\u{1f969}","c":"1f969"},"sandwich":{"e":"\u{1f96a}","c":"1f96a"},"canned_food":{"e":"\u{1f96b}","c":"1f96b"},"leafy_green":{"e":"\u{1f96c}","c":"1f96c"},"mango":{"e":"\u{1f96d}","c":"1f96d"},"moon_cake":{"e":"\u{1f96e}","c":"1f96e"},"bagel":{"e":"\u{1f96f}","c":"1f96f"},"smiling_face_with_hearts":{"e":"\u{1f970}","c":"1f970"},"yawning_face":{"e":"\u{1f971}","c":"1f971"},"smiling_face_with_tear":{"e":"\u{1f972}","c":"1f972"},"partying_face":{"e":"\u{1f973}","c":"1f973"},"woozy_face":{"e":"\u{1f974}","c":"1f974"},"hot_face":{"e":"\u{1f975}","c":"1f975"},"cold_face":{"e":"\u{1f976}","c":"1f976"},"ninja_light_skin_tone":{"e":"\u{1f977}\u{1f3fb}","c":"1f977-1f3fb"},"ninja_medium_light_skin_tone":{"e":"\u{1f977}\u{1f3fc}","c":"1f977-1f3fc"},"ninja_medium_skin_tone":{"e":"\u{1f977}\u{1f3fd}","c":"1f977-1f3fd"},"ninja_medium_dark_skin_tone":{"e":"\u{1f977}\u{1f3fe}","c":"1f977-1f3fe"},"ninja_dark_skin_tone":{"e":"\u{1f977}\u{1f3ff}","c":"1f977-1f3ff"},"ninja":{"e":"\u{1f977}","c":"1f977"},"disguised_face":{"e":"\u{1f978}","c":"1f978"},"face_holding_back_tears":{"e":"\u{1f979}","c":"1f979"},"pleading_face":{"e":"\u{1f97a}","c":"1f97a"},"sari":{"e":"\u{1f97b}","c":"1f97b"},"lab_coat":{"e":"\u{1f97c}","c":"1f97c"},"goggles":{"e":"\u{1f97d}","c":"1f97d"},"hiking_boot":{"e":"\u{1f97e}","c":"1f97e"},"flat_shoe":{"e":"\u{1f97f}","c":"1f97f"},"crab":{"e":"\u{1f980}","c":"1f980"},"lion":{"e":"\u{1f981}","c":"1f981"},"scorpion":{"e":"\u{1f982}","c":"1f982"},"turkey":{"e":"\u{1f983}","c":"1f983"},"unicorn":{"e":"\u{1f984}","c":"1f984"},"eagle":{"e":"\u{1f985}","c":"1f985"},"duck":{"e":"\u{1f986}","c":"1f986"},"bat":{"e":"\u{1f987}","c":"1f987"},"shark":{"e":"\u{1f988}","c":"1f988"},"owl":{"e":"\u{1f989}","c":"1f989"},"fox":{"e":"\u{1f98a}","c":"1f98a"},"butterfly":{"e":"\u{1f98b}","c":"1f98b"},"deer":{"e":"\u{1f98c}","c":"1f98c"},"gorilla":{"e":"\u{1f98d}","c":"1f98d"},"lizard":{"e":"\u{1f98e}","c":"1f98e"},"rhinoceros":{"e":"\u{1f98f}","c":"1f98f"},"shrimp":{"e":"\u{1f990}","c":"1f990"},"squid":{"e":"\u{1f991}","c":"1f991"},"giraffe":{"e":"\u{1f992}","c":"1f992"},"zebra":{"e":"\u{1f993}","c":"1f993"},"hedgehog":{"e":"\u{1f994}","c":"1f994"},"sauropod":{"e":"\u{1f995}","c":"1f995"},"t_rex":{"e":"\u{1f996}","c":"1f996"},"cricket":{"e":"\u{1f997}","c":"1f997"},"kangaroo":{"e":"\u{1f998}","c":"1f998"},"llama":{"e":"\u{1f999}","c":"1f999"},"peacock":{"e":"\u{1f99a}","c":"1f99a"},"hippopotamus":{"e":"\u{1f99b}","c":"1f99b"},"parrot":{"e":"\u{1f99c}","c":"1f99c"},"raccoon":{"e":"\u{1f99d}","c":"1f99d"},"lobster":{"e":"\u{1f99e}","c":"1f99e"},"mosquito":{"e":"\u{1f99f}","c":"1f99f"},"microbe":{"e":"\u{1f9a0}","c":"1f9a0"},"badger":{"e":"\u{1f9a1}","c":"1f9a1"},"swan":{"e":"\u{1f9a2}","c":"1f9a2"},"mammoth":{"e":"\u{1f9a3}","c":"1f9a3"},"dodo":{"e":"\u{1f9a4}","c":"1f9a4"},"sloth":{"e":"\u{1f9a5}","c":"1f9a5"},"otter":{"e":"\u{1f9a6}","c":"1f9a6"},"orangutan":{"e":"\u{1f9a7}","c":"1f9a7"},"skunk":{"e":"\u{1f9a8}","c":"1f9a8"},"flamingo":{"e":"\u{1f9a9}","c":"1f9a9"},"oyster":{"e":"\u{1f9aa}","c":"1f9aa"},"beaver":{"e":"\u{1f9ab}","c":"1f9ab"},"bison":{"e":"\u{1f9ac}","c":"1f9ac"},"seal":{"e":"\u{1f9ad}","c":"1f9ad"},"guide_dog":{"e":"\u{1f9ae}","c":"1f9ae"},"white_cane":{"e":"\u{1f9af}","c":"1f9af"},"red_hair":{"e":"\u{1f9b0}","c":"1f9b0"},"curly_hair":{"e":"\u{1f9b1}","c":"1f9b1"},"bald":{"e":"\u{1f9b2}","c":"1f9b2"},"white_hair":{"e":"\u{1f9b3}","c":"1f9b3"},"bone":{"e":"\u{1f9b4}","c":"1f9b4"},"leg_light_skin_tone":{"e":"\u{1f9b5}\u{1f3fb}","c":"1f9b5-1f3fb"},"leg_medium_light_skin_tone":{"e":"\u{1f9b5}\u{1f3fc}","c":"1f9b5-1f3fc"},"leg_medium_skin_tone":{"e":"\u{1f9b5}\u{1f3fd}","c":"1f9b5-1f3fd"},"leg_medium_dark_skin_tone":{"e":"\u{1f9b5}\u{1f3fe}","c":"1f9b5-1f3fe"},"leg_dark_skin_tone":{"e":"\u{1f9b5}\u{1f3ff}","c":"1f9b5-1f3ff"},"leg":{"e":"\u{1f9b5}","c":"1f9b5"},"foot_light_skin_tone":{"e":"\u{1f9b6}\u{1f3fb}","c":"1f9b6-1f3fb"},"foot_medium_light_skin_tone":{"e":"\u{1f9b6}\u{1f3fc}","c":"1f9b6-1f3fc"},"foot_medium_skin_tone":{"e":"\u{1f9b6}\u{1f3fd}","c":"1f9b6-1f3fd"},"foot_medium_dark_skin_tone":{"e":"\u{1f9b6}\u{1f3fe}","c":"1f9b6-1f3fe"},"foot_dark_skin_tone":{"e":"\u{1f9b6}\u{1f3ff}","c":"1f9b6-1f3ff"},"foot":{"e":"\u{1f9b6}","c":"1f9b6"},"tooth":{"e":"\u{1f9b7}","c":"1f9b7"},"woman_superhero:_light_skin_tone":{"e":"\u{1f9b8}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f9b8-1f3fb-200d-2640-fe0f"},"man_superhero:_light_skin_tone":{"e":"\u{1f9b8}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f9b8-1f3fb-200d-2642-fe0f"},"superhero_light_skin_tone":{"e":"\u{1f9b8}\u{1f3fb}","c":"1f9b8-1f3fb"},"woman_superhero:_medium_light_skin_tone":{"e":"\u{1f9b8}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f9b8-1f3fc-200d-2640-fe0f"},"man_superhero:_medium_light_skin_tone":{"e":"\u{1f9b8}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f9b8-1f3fc-200d-2642-fe0f"},"superhero_medium_light_skin_tone":{"e":"\u{1f9b8}\u{1f3fc}","c":"1f9b8-1f3fc"},"woman_superhero:_medium_skin_tone":{"e":"\u{1f9b8}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f9b8-1f3fd-200d-2640-fe0f"},"man_superhero:_medium_skin_tone":{"e":"\u{1f9b8}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f9b8-1f3fd-200d-2642-fe0f"},"superhero_medium_skin_tone":{"e":"\u{1f9b8}\u{1f3fd}","c":"1f9b8-1f3fd"},"woman_superhero:_medium_dark_skin_tone":{"e":"\u{1f9b8}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f9b8-1f3fe-200d-2640-fe0f"},"man_superhero:_medium_dark_skin_tone":{"e":"\u{1f9b8}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f9b8-1f3fe-200d-2642-fe0f"},"superhero_medium_dark_skin_tone":{"e":"\u{1f9b8}\u{1f3fe}","c":"1f9b8-1f3fe"},"woman_superhero:_dark_skin_tone":{"e":"\u{1f9b8}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f9b8-1f3ff-200d-2640-fe0f"},"man_superhero:_dark_skin_tone":{"e":"\u{1f9b8}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f9b8-1f3ff-200d-2642-fe0f"},"superhero_dark_skin_tone":{"e":"\u{1f9b8}\u{1f3ff}","c":"1f9b8-1f3ff"},"woman_superhero":{"e":"\u{1f9b8}\u{200d}\u{2640}\u{fe0f}","c":"1f9b8-200d-2640-fe0f"},"man_superhero":{"e":"\u{1f9b8}\u{200d}\u{2642}\u{fe0f}","c":"1f9b8-200d-2642-fe0f"},"superhero":{"e":"\u{1f9b8}","c":"1f9b8"},"woman_supervillain:_light_skin_tone":{"e":"\u{1f9b9}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f9b9-1f3fb-200d-2640-fe0f"},"man_supervillain:_light_skin_tone":{"e":"\u{1f9b9}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f9b9-1f3fb-200d-2642-fe0f"},"supervillain_light_skin_tone":{"e":"\u{1f9b9}\u{1f3fb}","c":"1f9b9-1f3fb"},"woman_supervillain:_medium_light_skin_tone":{"e":"\u{1f9b9}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f9b9-1f3fc-200d-2640-fe0f"},"man_supervillain:_medium_light_skin_tone":{"e":"\u{1f9b9}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f9b9-1f3fc-200d-2642-fe0f"},"supervillain_medium_light_skin_tone":{"e":"\u{1f9b9}\u{1f3fc}","c":"1f9b9-1f3fc"},"woman_supervillain:_medium_skin_tone":{"e":"\u{1f9b9}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f9b9-1f3fd-200d-2640-fe0f"},"man_supervillain:_medium_skin_tone":{"e":"\u{1f9b9}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f9b9-1f3fd-200d-2642-fe0f"},"supervillain_medium_skin_tone":{"e":"\u{1f9b9}\u{1f3fd}","c":"1f9b9-1f3fd"},"woman_supervillain:_medium_dark_skin_tone":{"e":"\u{1f9b9}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f9b9-1f3fe-200d-2640-fe0f"},"man_supervillain:_medium_dark_skin_tone":{"e":"\u{1f9b9}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f9b9-1f3fe-200d-2642-fe0f"},"supervillain_medium_dark_skin_tone":{"e":"\u{1f9b9}\u{1f3fe}","c":"1f9b9-1f3fe"},"woman_supervillain:_dark_skin_tone":{"e":"\u{1f9b9}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f9b9-1f3ff-200d-2640-fe0f"},"man_supervillain:_dark_skin_tone":{"e":"\u{1f9b9}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f9b9-1f3ff-200d-2642-fe0f"},"supervillain_dark_skin_tone":{"e":"\u{1f9b9}\u{1f3ff}","c":"1f9b9-1f3ff"},"woman_supervillain":{"e":"\u{1f9b9}\u{200d}\u{2640}\u{fe0f}","c":"1f9b9-200d-2640-fe0f"},"man_supervillain":{"e":"\u{1f9b9}\u{200d}\u{2642}\u{fe0f}","c":"1f9b9-200d-2642-fe0f"},"supervillain":{"e":"\u{1f9b9}","c":"1f9b9"},"safety_vest":{"e":"\u{1f9ba}","c":"1f9ba"},"ear_with_hearing_aid_light_skin_tone":{"e":"\u{1f9bb}\u{1f3fb}","c":"1f9bb-1f3fb"},"ear_with_hearing_aid_medium_light_skin_tone":{"e":"\u{1f9bb}\u{1f3fc}","c":"1f9bb-1f3fc"},"ear_with_hearing_aid_medium_skin_tone":{"e":"\u{1f9bb}\u{1f3fd}","c":"1f9bb-1f3fd"},"ear_with_hearing_aid_medium_dark_skin_tone":{"e":"\u{1f9bb}\u{1f3fe}","c":"1f9bb-1f3fe"},"ear_with_hearing_aid_dark_skin_tone":{"e":"\u{1f9bb}\u{1f3ff}","c":"1f9bb-1f3ff"},"ear_with_hearing_aid":{"e":"\u{1f9bb}","c":"1f9bb"},"motorized_wheelchair":{"e":"\u{1f9bc}","c":"1f9bc"},"manual_wheelchair":{"e":"\u{1f9bd}","c":"1f9bd"},"mechanical_arm":{"e":"\u{1f9be}","c":"1f9be"},"mechanical_leg":{"e":"\u{1f9bf}","c":"1f9bf"},"cheese_wedge":{"e":"\u{1f9c0}","c":"1f9c0"},"cupcake":{"e":"\u{1f9c1}","c":"1f9c1"},"salt":{"e":"\u{1f9c2}","c":"1f9c2"},"beverage_box":{"e":"\u{1f9c3}","c":"1f9c3"},"garlic":{"e":"\u{1f9c4}","c":"1f9c4"},"onion":{"e":"\u{1f9c5}","c":"1f9c5"},"falafel":{"e":"\u{1f9c6}","c":"1f9c6"},"waffle":{"e":"\u{1f9c7}","c":"1f9c7"},"butter":{"e":"\u{1f9c8}","c":"1f9c8"},"mate":{"e":"\u{1f9c9}","c":"1f9c9"},"ice":{"e":"\u{1f9ca}","c":"1f9ca"},"bubble_tea":{"e":"\u{1f9cb}","c":"1f9cb"},"troll":{"e":"\u{1f9cc}","c":"1f9cc"},"woman_standing:_light_skin_tone":{"e":"\u{1f9cd}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f9cd-1f3fb-200d-2640-fe0f"},"man_standing:_light_skin_tone":{"e":"\u{1f9cd}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f9cd-1f3fb-200d-2642-fe0f"},"person_standing_light_skin_tone":{"e":"\u{1f9cd}\u{1f3fb}","c":"1f9cd-1f3fb"},"woman_standing:_medium_light_skin_tone":{"e":"\u{1f9cd}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f9cd-1f3fc-200d-2640-fe0f"},"man_standing:_medium_light_skin_tone":{"e":"\u{1f9cd}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f9cd-1f3fc-200d-2642-fe0f"},"person_standing_medium_light_skin_tone":{"e":"\u{1f9cd}\u{1f3fc}","c":"1f9cd-1f3fc"},"woman_standing:_medium_skin_tone":{"e":"\u{1f9cd}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f9cd-1f3fd-200d-2640-fe0f"},"man_standing:_medium_skin_tone":{"e":"\u{1f9cd}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f9cd-1f3fd-200d-2642-fe0f"},"person_standing_medium_skin_tone":{"e":"\u{1f9cd}\u{1f3fd}","c":"1f9cd-1f3fd"},"woman_standing:_medium_dark_skin_tone":{"e":"\u{1f9cd}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f9cd-1f3fe-200d-2640-fe0f"},"man_standing:_medium_dark_skin_tone":{"e":"\u{1f9cd}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f9cd-1f3fe-200d-2642-fe0f"},"person_standing_medium_dark_skin_tone":{"e":"\u{1f9cd}\u{1f3fe}","c":"1f9cd-1f3fe"},"woman_standing:_dark_skin_tone":{"e":"\u{1f9cd}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f9cd-1f3ff-200d-2640-fe0f"},"man_standing:_dark_skin_tone":{"e":"\u{1f9cd}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f9cd-1f3ff-200d-2642-fe0f"},"person_standing_dark_skin_tone":{"e":"\u{1f9cd}\u{1f3ff}","c":"1f9cd-1f3ff"},"woman_standing":{"e":"\u{1f9cd}\u{200d}\u{2640}\u{fe0f}","c":"1f9cd-200d-2640-fe0f"},"man_standing":{"e":"\u{1f9cd}\u{200d}\u{2642}\u{fe0f}","c":"1f9cd-200d-2642-fe0f"},"person_standing":{"e":"\u{1f9cd}","c":"1f9cd"},"woman_kneeling_facing_right:_light_skin_tone":{"e":"\u{1f9ce}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f9ce-1f3fb-200d-2640-fe0f-200d-27a1-fe0f"},"woman_kneeling:_light_skin_tone":{"e":"\u{1f9ce}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f9ce-1f3fb-200d-2640-fe0f"},"man_kneeling_facing_right:_light_skin_tone":{"e":"\u{1f9ce}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f9ce-1f3fb-200d-2642-fe0f-200d-27a1-fe0f"},"man_kneeling:_light_skin_tone":{"e":"\u{1f9ce}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f9ce-1f3fb-200d-2642-fe0f"},"person_kneeling_facing_right:_light_skin_tone":{"e":"\u{1f9ce}\u{1f3fb}\u{200d}\u{27a1}\u{fe0f}","c":"1f9ce-1f3fb-200d-27a1-fe0f"},"person_kneeling_light_skin_tone":{"e":"\u{1f9ce}\u{1f3fb}","c":"1f9ce-1f3fb"},"woman_kneeling_facing_right:_medium_light_skin_tone":{"e":"\u{1f9ce}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f9ce-1f3fc-200d-2640-fe0f-200d-27a1-fe0f"},"woman_kneeling:_medium_light_skin_tone":{"e":"\u{1f9ce}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f9ce-1f3fc-200d-2640-fe0f"},"man_kneeling_facing_right:_medium_light_skin_tone":{"e":"\u{1f9ce}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f9ce-1f3fc-200d-2642-fe0f-200d-27a1-fe0f"},"man_kneeling:_medium_light_skin_tone":{"e":"\u{1f9ce}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f9ce-1f3fc-200d-2642-fe0f"},"person_kneeling_facing_right:_medium_light_skin_tone":{"e":"\u{1f9ce}\u{1f3fc}\u{200d}\u{27a1}\u{fe0f}","c":"1f9ce-1f3fc-200d-27a1-fe0f"},"person_kneeling_medium_light_skin_tone":{"e":"\u{1f9ce}\u{1f3fc}","c":"1f9ce-1f3fc"},"woman_kneeling_facing_right:_medium_skin_tone":{"e":"\u{1f9ce}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f9ce-1f3fd-200d-2640-fe0f-200d-27a1-fe0f"},"woman_kneeling:_medium_skin_tone":{"e":"\u{1f9ce}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f9ce-1f3fd-200d-2640-fe0f"},"man_kneeling_facing_right:_medium_skin_tone":{"e":"\u{1f9ce}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f9ce-1f3fd-200d-2642-fe0f-200d-27a1-fe0f"},"man_kneeling:_medium_skin_tone":{"e":"\u{1f9ce}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f9ce-1f3fd-200d-2642-fe0f"},"person_kneeling_facing_right:_medium_skin_tone":{"e":"\u{1f9ce}\u{1f3fd}\u{200d}\u{27a1}\u{fe0f}","c":"1f9ce-1f3fd-200d-27a1-fe0f"},"person_kneeling_medium_skin_tone":{"e":"\u{1f9ce}\u{1f3fd}","c":"1f9ce-1f3fd"},"woman_kneeling_facing_right:_medium_dark_skin_tone":{"e":"\u{1f9ce}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f9ce-1f3fe-200d-2640-fe0f-200d-27a1-fe0f"},"woman_kneeling:_medium_dark_skin_tone":{"e":"\u{1f9ce}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f9ce-1f3fe-200d-2640-fe0f"},"man_kneeling_facing_right:_medium_dark_skin_tone":{"e":"\u{1f9ce}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f9ce-1f3fe-200d-2642-fe0f-200d-27a1-fe0f"},"man_kneeling:_medium_dark_skin_tone":{"e":"\u{1f9ce}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f9ce-1f3fe-200d-2642-fe0f"},"person_kneeling_facing_right:_medium_dark_skin_tone":{"e":"\u{1f9ce}\u{1f3fe}\u{200d}\u{27a1}\u{fe0f}","c":"1f9ce-1f3fe-200d-27a1-fe0f"},"person_kneeling_medium_dark_skin_tone":{"e":"\u{1f9ce}\u{1f3fe}","c":"1f9ce-1f3fe"},"woman_kneeling_facing_right:_dark_skin_tone":{"e":"\u{1f9ce}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f9ce-1f3ff-200d-2640-fe0f-200d-27a1-fe0f"},"woman_kneeling:_dark_skin_tone":{"e":"\u{1f9ce}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f9ce-1f3ff-200d-2640-fe0f"},"man_kneeling_facing_right:_dark_skin_tone":{"e":"\u{1f9ce}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f9ce-1f3ff-200d-2642-fe0f-200d-27a1-fe0f"},"man_kneeling:_dark_skin_tone":{"e":"\u{1f9ce}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f9ce-1f3ff-200d-2642-fe0f"},"person_kneeling_facing_right:_dark_skin_tone":{"e":"\u{1f9ce}\u{1f3ff}\u{200d}\u{27a1}\u{fe0f}","c":"1f9ce-1f3ff-200d-27a1-fe0f"},"person_kneeling_dark_skin_tone":{"e":"\u{1f9ce}\u{1f3ff}","c":"1f9ce-1f3ff"},"woman_kneeling_facing_right":{"e":"\u{1f9ce}\u{200d}\u{2640}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f9ce-200d-2640-fe0f-200d-27a1-fe0f"},"woman_kneeling":{"e":"\u{1f9ce}\u{200d}\u{2640}\u{fe0f}","c":"1f9ce-200d-2640-fe0f"},"man_kneeling_facing_right":{"e":"\u{1f9ce}\u{200d}\u{2642}\u{fe0f}\u{200d}\u{27a1}\u{fe0f}","c":"1f9ce-200d-2642-fe0f-200d-27a1-fe0f"},"man_kneeling":{"e":"\u{1f9ce}\u{200d}\u{2642}\u{fe0f}","c":"1f9ce-200d-2642-fe0f"},"person_kneeling_facing_right":{"e":"\u{1f9ce}\u{200d}\u{27a1}\u{fe0f}","c":"1f9ce-200d-27a1-fe0f"},"person_kneeling":{"e":"\u{1f9ce}","c":"1f9ce"},"deaf_woman:_light_skin_tone":{"e":"\u{1f9cf}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f9cf-1f3fb-200d-2640-fe0f"},"deaf_man:_light_skin_tone":{"e":"\u{1f9cf}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f9cf-1f3fb-200d-2642-fe0f"},"deaf_person_light_skin_tone":{"e":"\u{1f9cf}\u{1f3fb}","c":"1f9cf-1f3fb"},"deaf_woman:_medium_light_skin_tone":{"e":"\u{1f9cf}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f9cf-1f3fc-200d-2640-fe0f"},"deaf_man:_medium_light_skin_tone":{"e":"\u{1f9cf}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f9cf-1f3fc-200d-2642-fe0f"},"deaf_person_medium_light_skin_tone":{"e":"\u{1f9cf}\u{1f3fc}","c":"1f9cf-1f3fc"},"deaf_woman:_medium_skin_tone":{"e":"\u{1f9cf}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f9cf-1f3fd-200d-2640-fe0f"},"deaf_man:_medium_skin_tone":{"e":"\u{1f9cf}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f9cf-1f3fd-200d-2642-fe0f"},"deaf_person_medium_skin_tone":{"e":"\u{1f9cf}\u{1f3fd}","c":"1f9cf-1f3fd"},"deaf_woman:_medium_dark_skin_tone":{"e":"\u{1f9cf}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f9cf-1f3fe-200d-2640-fe0f"},"deaf_man:_medium_dark_skin_tone":{"e":"\u{1f9cf}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f9cf-1f3fe-200d-2642-fe0f"},"deaf_person_medium_dark_skin_tone":{"e":"\u{1f9cf}\u{1f3fe}","c":"1f9cf-1f3fe"},"deaf_woman:_dark_skin_tone":{"e":"\u{1f9cf}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f9cf-1f3ff-200d-2640-fe0f"},"deaf_man:_dark_skin_tone":{"e":"\u{1f9cf}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f9cf-1f3ff-200d-2642-fe0f"},"deaf_person_dark_skin_tone":{"e":"\u{1f9cf}\u{1f3ff}","c":"1f9cf-1f3ff"},"deaf_woman":{"e":"\u{1f9cf}\u{200d}\u{2640}\u{fe0f}","c":"1f9cf-200d-2640-fe0f"},"deaf_man":{"e":"\u{1f9cf}\u{200d}\u{2642}\u{fe0f}","c":"1f9cf-200d-2642-fe0f"},"deaf_person":{"e":"\u{1f9cf}","c":"1f9cf"},"face_with_monocle":{"e":"\u{1f9d0}","c":"1f9d0"},"farmer:_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f33e}","c":"1f9d1-1f3fb-200d-1f33e"},"cook:_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f373}","c":"1f9d1-1f3fb-200d-1f373"},"person_feeding_baby:_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f37c}","c":"1f9d1-1f3fb-200d-1f37c"},"mx_claus:_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f384}","c":"1f9d1-1f3fb-200d-1f384"},"student:_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f393}","c":"1f9d1-1f3fb-200d-1f393"},"singer:_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f3a4}","c":"1f9d1-1f3fb-200d-1f3a4"},"artist:_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f3a8}","c":"1f9d1-1f3fb-200d-1f3a8"},"teacher:_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f3eb}","c":"1f9d1-1f3fb-200d-1f3eb"},"factory_worker:_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f3ed}","c":"1f9d1-1f3fb-200d-1f3ed"},"people_with_bunny_ears:_light_skin_tone,_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f430}\u{200d}\u{1f9d1}\u{1f3fc}","c":"1f9d1-1f3fb-200d-1f430-200d-1f9d1-1f3fc"},"people_with_bunny_ears:_light_skin_tone,_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f430}\u{200d}\u{1f9d1}\u{1f3fd}","c":"1f9d1-1f3fb-200d-1f430-200d-1f9d1-1f3fd"},"people_with_bunny_ears:_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f430}\u{200d}\u{1f9d1}\u{1f3fe}","c":"1f9d1-1f3fb-200d-1f430-200d-1f9d1-1f3fe"},"people_with_bunny_ears:_light_skin_tone,_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f430}\u{200d}\u{1f9d1}\u{1f3ff}","c":"1f9d1-1f3fb-200d-1f430-200d-1f9d1-1f3ff"},"technologist:_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f4bb}","c":"1f9d1-1f3fb-200d-1f4bb"},"office_worker:_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f4bc}","c":"1f9d1-1f3fb-200d-1f4bc"},"mechanic:_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f527}","c":"1f9d1-1f3fb-200d-1f527"},"scientist:_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f52c}","c":"1f9d1-1f3fb-200d-1f52c"},"astronaut:_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f680}","c":"1f9d1-1f3fb-200d-1f680"},"firefighter:_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f692}","c":"1f9d1-1f3fb-200d-1f692"},"people_holding_hands:_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f91d}\u{200d}\u{1f9d1}\u{1f3fb}","c":"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fb"},"people_holding_hands:_light_skin_tone,_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f91d}\u{200d}\u{1f9d1}\u{1f3fc}","c":"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fc"},"people_holding_hands:_light_skin_tone,_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f91d}\u{200d}\u{1f9d1}\u{1f3fd}","c":"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fd"},"people_holding_hands:_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f91d}\u{200d}\u{1f9d1}\u{1f3fe}","c":"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fe"},"people_holding_hands:_light_skin_tone,_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f91d}\u{200d}\u{1f9d1}\u{1f3ff}","c":"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3ff"},"person_with_white_cane_facing_right:_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f9af}\u{200d}\u{27a1}\u{fe0f}","c":"1f9d1-1f3fb-200d-1f9af-200d-27a1-fe0f"},"person_with_white_cane:_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f9af}","c":"1f9d1-1f3fb-200d-1f9af"},"person:_light_skin_tone,_red_hair":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f9b0}","c":"1f9d1-1f3fb-200d-1f9b0"},"person:_light_skin_tone,_curly_hair":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f9b1}","c":"1f9d1-1f3fb-200d-1f9b1"},"person:_light_skin_tone,_bald":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f9b2}","c":"1f9d1-1f3fb-200d-1f9b2"},"person:_light_skin_tone,_white_hair":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f9b3}","c":"1f9d1-1f3fb-200d-1f9b3"},"person_in_motorized_wheelchair_facing_right:_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f9bc}\u{200d}\u{27a1}\u{fe0f}","c":"1f9d1-1f3fb-200d-1f9bc-200d-27a1-fe0f"},"person_in_motorized_wheelchair:_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f9bc}","c":"1f9d1-1f3fb-200d-1f9bc"},"person_in_manual_wheelchair_facing_right:_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f9bd}\u{200d}\u{27a1}\u{fe0f}","c":"1f9d1-1f3fb-200d-1f9bd-200d-27a1-fe0f"},"person_in_manual_wheelchair:_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1f9bd}","c":"1f9d1-1f3fb-200d-1f9bd"},"ballet_dancer:_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1fa70}","c":"1f9d1-1f3fb-200d-1fa70"},"people_wrestling:_light_skin_tone,_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1faef}\u{200d}\u{1f9d1}\u{1f3fc}","c":"1f9d1-1f3fb-200d-1faef-200d-1f9d1-1f3fc"},"people_wrestling:_light_skin_tone,_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1faef}\u{200d}\u{1f9d1}\u{1f3fd}","c":"1f9d1-1f3fb-200d-1faef-200d-1f9d1-1f3fd"},"people_wrestling:_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1faef}\u{200d}\u{1f9d1}\u{1f3fe}","c":"1f9d1-1f3fb-200d-1faef-200d-1f9d1-1f3fe"},"people_wrestling:_light_skin_tone,_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{1faef}\u{200d}\u{1f9d1}\u{1f3ff}","c":"1f9d1-1f3fb-200d-1faef-200d-1f9d1-1f3ff"},"health_worker:_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{2695}\u{fe0f}","c":"1f9d1-1f3fb-200d-2695-fe0f"},"judge:_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{2696}\u{fe0f}","c":"1f9d1-1f3fb-200d-2696-fe0f"},"pilot:_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{2708}\u{fe0f}","c":"1f9d1-1f3fb-200d-2708-fe0f"},"kiss:_person,_person,_light_skin_tone,_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f9d1}\u{1f3fc}","c":"1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc"},"kiss:_person,_person,_light_skin_tone,_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f9d1}\u{1f3fd}","c":"1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd"},"kiss:_person,_person,_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f9d1}\u{1f3fe}","c":"1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe"},"kiss:_person,_person,_light_skin_tone,_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f9d1}\u{1f3ff}","c":"1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff"},"couple_with_heart:_person,_person,_light_skin_tone,_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f9d1}\u{1f3fc}","c":"1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fc"},"couple_with_heart:_person,_person,_light_skin_tone,_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f9d1}\u{1f3fd}","c":"1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fd"},"couple_with_heart:_person,_person,_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f9d1}\u{1f3fe}","c":"1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fe"},"couple_with_heart:_person,_person,_light_skin_tone,_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f9d1}\u{1f3ff}","c":"1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3ff"},"person_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fb}","c":"1f9d1-1f3fb"},"farmer:_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f33e}","c":"1f9d1-1f3fc-200d-1f33e"},"cook:_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f373}","c":"1f9d1-1f3fc-200d-1f373"},"person_feeding_baby:_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f37c}","c":"1f9d1-1f3fc-200d-1f37c"},"mx_claus:_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f384}","c":"1f9d1-1f3fc-200d-1f384"},"student:_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f393}","c":"1f9d1-1f3fc-200d-1f393"},"singer:_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f3a4}","c":"1f9d1-1f3fc-200d-1f3a4"},"artist:_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f3a8}","c":"1f9d1-1f3fc-200d-1f3a8"},"teacher:_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f3eb}","c":"1f9d1-1f3fc-200d-1f3eb"},"factory_worker:_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f3ed}","c":"1f9d1-1f3fc-200d-1f3ed"},"people_with_bunny_ears:_medium_light_skin_tone,_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f430}\u{200d}\u{1f9d1}\u{1f3fb}","c":"1f9d1-1f3fc-200d-1f430-200d-1f9d1-1f3fb"},"people_with_bunny_ears:_medium_light_skin_tone,_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f430}\u{200d}\u{1f9d1}\u{1f3fd}","c":"1f9d1-1f3fc-200d-1f430-200d-1f9d1-1f3fd"},"people_with_bunny_ears:_medium_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f430}\u{200d}\u{1f9d1}\u{1f3fe}","c":"1f9d1-1f3fc-200d-1f430-200d-1f9d1-1f3fe"},"people_with_bunny_ears:_medium_light_skin_tone,_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f430}\u{200d}\u{1f9d1}\u{1f3ff}","c":"1f9d1-1f3fc-200d-1f430-200d-1f9d1-1f3ff"},"technologist:_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f4bb}","c":"1f9d1-1f3fc-200d-1f4bb"},"office_worker:_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f4bc}","c":"1f9d1-1f3fc-200d-1f4bc"},"mechanic:_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f527}","c":"1f9d1-1f3fc-200d-1f527"},"scientist:_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f52c}","c":"1f9d1-1f3fc-200d-1f52c"},"astronaut:_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f680}","c":"1f9d1-1f3fc-200d-1f680"},"firefighter:_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f692}","c":"1f9d1-1f3fc-200d-1f692"},"people_holding_hands:_medium_light_skin_tone,_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f91d}\u{200d}\u{1f9d1}\u{1f3fb}","c":"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fb"},"people_holding_hands:_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f91d}\u{200d}\u{1f9d1}\u{1f3fc}","c":"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fc"},"people_holding_hands:_medium_light_skin_tone,_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f91d}\u{200d}\u{1f9d1}\u{1f3fd}","c":"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fd"},"people_holding_hands:_medium_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f91d}\u{200d}\u{1f9d1}\u{1f3fe}","c":"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fe"},"people_holding_hands:_medium_light_skin_tone,_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f91d}\u{200d}\u{1f9d1}\u{1f3ff}","c":"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3ff"},"person_with_white_cane_facing_right:_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f9af}\u{200d}\u{27a1}\u{fe0f}","c":"1f9d1-1f3fc-200d-1f9af-200d-27a1-fe0f"},"person_with_white_cane:_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f9af}","c":"1f9d1-1f3fc-200d-1f9af"},"person:_medium_light_skin_tone,_red_hair":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f9b0}","c":"1f9d1-1f3fc-200d-1f9b0"},"person:_medium_light_skin_tone,_curly_hair":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f9b1}","c":"1f9d1-1f3fc-200d-1f9b1"},"person:_medium_light_skin_tone,_bald":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f9b2}","c":"1f9d1-1f3fc-200d-1f9b2"},"person:_medium_light_skin_tone,_white_hair":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f9b3}","c":"1f9d1-1f3fc-200d-1f9b3"},"person_in_motorized_wheelchair_facing_right:_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f9bc}\u{200d}\u{27a1}\u{fe0f}","c":"1f9d1-1f3fc-200d-1f9bc-200d-27a1-fe0f"},"person_in_motorized_wheelchair:_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f9bc}","c":"1f9d1-1f3fc-200d-1f9bc"},"person_in_manual_wheelchair_facing_right:_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f9bd}\u{200d}\u{27a1}\u{fe0f}","c":"1f9d1-1f3fc-200d-1f9bd-200d-27a1-fe0f"},"person_in_manual_wheelchair:_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1f9bd}","c":"1f9d1-1f3fc-200d-1f9bd"},"ballet_dancer:_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1fa70}","c":"1f9d1-1f3fc-200d-1fa70"},"people_wrestling:_medium_light_skin_tone,_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1faef}\u{200d}\u{1f9d1}\u{1f3fb}","c":"1f9d1-1f3fc-200d-1faef-200d-1f9d1-1f3fb"},"people_wrestling:_medium_light_skin_tone,_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1faef}\u{200d}\u{1f9d1}\u{1f3fd}","c":"1f9d1-1f3fc-200d-1faef-200d-1f9d1-1f3fd"},"people_wrestling:_medium_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1faef}\u{200d}\u{1f9d1}\u{1f3fe}","c":"1f9d1-1f3fc-200d-1faef-200d-1f9d1-1f3fe"},"people_wrestling:_medium_light_skin_tone,_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{1faef}\u{200d}\u{1f9d1}\u{1f3ff}","c":"1f9d1-1f3fc-200d-1faef-200d-1f9d1-1f3ff"},"health_worker:_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{2695}\u{fe0f}","c":"1f9d1-1f3fc-200d-2695-fe0f"},"judge:_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{2696}\u{fe0f}","c":"1f9d1-1f3fc-200d-2696-fe0f"},"pilot:_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{2708}\u{fe0f}","c":"1f9d1-1f3fc-200d-2708-fe0f"},"kiss:_person,_person,_medium_light_skin_tone,_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f9d1}\u{1f3fb}","c":"1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb"},"kiss:_person,_person,_medium_light_skin_tone,_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f9d1}\u{1f3fd}","c":"1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd"},"kiss:_person,_person,_medium_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f9d1}\u{1f3fe}","c":"1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe"},"kiss:_person,_person,_medium_light_skin_tone,_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f9d1}\u{1f3ff}","c":"1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff"},"couple_with_heart:_person,_person,_medium_light_skin_tone,_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f9d1}\u{1f3fb}","c":"1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fb"},"couple_with_heart:_person,_person,_medium_light_skin_tone,_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f9d1}\u{1f3fd}","c":"1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fd"},"couple_with_heart:_person,_person,_medium_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f9d1}\u{1f3fe}","c":"1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fe"},"couple_with_heart:_person,_person,_medium_light_skin_tone,_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f9d1}\u{1f3ff}","c":"1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3ff"},"person_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fc}","c":"1f9d1-1f3fc"},"farmer:_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f33e}","c":"1f9d1-1f3fd-200d-1f33e"},"cook:_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f373}","c":"1f9d1-1f3fd-200d-1f373"},"person_feeding_baby:_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f37c}","c":"1f9d1-1f3fd-200d-1f37c"},"mx_claus:_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f384}","c":"1f9d1-1f3fd-200d-1f384"},"student:_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f393}","c":"1f9d1-1f3fd-200d-1f393"},"singer:_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f3a4}","c":"1f9d1-1f3fd-200d-1f3a4"},"artist:_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f3a8}","c":"1f9d1-1f3fd-200d-1f3a8"},"teacher:_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f3eb}","c":"1f9d1-1f3fd-200d-1f3eb"},"factory_worker:_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f3ed}","c":"1f9d1-1f3fd-200d-1f3ed"},"people_with_bunny_ears:_medium_skin_tone,_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f430}\u{200d}\u{1f9d1}\u{1f3fb}","c":"1f9d1-1f3fd-200d-1f430-200d-1f9d1-1f3fb"},"people_with_bunny_ears:_medium_skin_tone,_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f430}\u{200d}\u{1f9d1}\u{1f3fc}","c":"1f9d1-1f3fd-200d-1f430-200d-1f9d1-1f3fc"},"people_with_bunny_ears:_medium_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f430}\u{200d}\u{1f9d1}\u{1f3fe}","c":"1f9d1-1f3fd-200d-1f430-200d-1f9d1-1f3fe"},"people_with_bunny_ears:_medium_skin_tone,_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f430}\u{200d}\u{1f9d1}\u{1f3ff}","c":"1f9d1-1f3fd-200d-1f430-200d-1f9d1-1f3ff"},"technologist:_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f4bb}","c":"1f9d1-1f3fd-200d-1f4bb"},"office_worker:_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f4bc}","c":"1f9d1-1f3fd-200d-1f4bc"},"mechanic:_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f527}","c":"1f9d1-1f3fd-200d-1f527"},"scientist:_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f52c}","c":"1f9d1-1f3fd-200d-1f52c"},"astronaut:_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f680}","c":"1f9d1-1f3fd-200d-1f680"},"firefighter:_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f692}","c":"1f9d1-1f3fd-200d-1f692"},"people_holding_hands:_medium_skin_tone,_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f91d}\u{200d}\u{1f9d1}\u{1f3fb}","c":"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fb"},"people_holding_hands:_medium_skin_tone,_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f91d}\u{200d}\u{1f9d1}\u{1f3fc}","c":"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fc"},"people_holding_hands:_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f91d}\u{200d}\u{1f9d1}\u{1f3fd}","c":"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fd"},"people_holding_hands:_medium_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f91d}\u{200d}\u{1f9d1}\u{1f3fe}","c":"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fe"},"people_holding_hands:_medium_skin_tone,_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f91d}\u{200d}\u{1f9d1}\u{1f3ff}","c":"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3ff"},"person_with_white_cane_facing_right:_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f9af}\u{200d}\u{27a1}\u{fe0f}","c":"1f9d1-1f3fd-200d-1f9af-200d-27a1-fe0f"},"person_with_white_cane:_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f9af}","c":"1f9d1-1f3fd-200d-1f9af"},"person:_medium_skin_tone,_red_hair":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f9b0}","c":"1f9d1-1f3fd-200d-1f9b0"},"person:_medium_skin_tone,_curly_hair":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f9b1}","c":"1f9d1-1f3fd-200d-1f9b1"},"person:_medium_skin_tone,_bald":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f9b2}","c":"1f9d1-1f3fd-200d-1f9b2"},"person:_medium_skin_tone,_white_hair":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f9b3}","c":"1f9d1-1f3fd-200d-1f9b3"},"person_in_motorized_wheelchair_facing_right:_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f9bc}\u{200d}\u{27a1}\u{fe0f}","c":"1f9d1-1f3fd-200d-1f9bc-200d-27a1-fe0f"},"person_in_motorized_wheelchair:_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f9bc}","c":"1f9d1-1f3fd-200d-1f9bc"},"person_in_manual_wheelchair_facing_right:_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f9bd}\u{200d}\u{27a1}\u{fe0f}","c":"1f9d1-1f3fd-200d-1f9bd-200d-27a1-fe0f"},"person_in_manual_wheelchair:_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1f9bd}","c":"1f9d1-1f3fd-200d-1f9bd"},"ballet_dancer:_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1fa70}","c":"1f9d1-1f3fd-200d-1fa70"},"people_wrestling:_medium_skin_tone,_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1faef}\u{200d}\u{1f9d1}\u{1f3fb}","c":"1f9d1-1f3fd-200d-1faef-200d-1f9d1-1f3fb"},"people_wrestling:_medium_skin_tone,_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1faef}\u{200d}\u{1f9d1}\u{1f3fc}","c":"1f9d1-1f3fd-200d-1faef-200d-1f9d1-1f3fc"},"people_wrestling:_medium_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1faef}\u{200d}\u{1f9d1}\u{1f3fe}","c":"1f9d1-1f3fd-200d-1faef-200d-1f9d1-1f3fe"},"people_wrestling:_medium_skin_tone,_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{1faef}\u{200d}\u{1f9d1}\u{1f3ff}","c":"1f9d1-1f3fd-200d-1faef-200d-1f9d1-1f3ff"},"health_worker:_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{2695}\u{fe0f}","c":"1f9d1-1f3fd-200d-2695-fe0f"},"judge:_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{2696}\u{fe0f}","c":"1f9d1-1f3fd-200d-2696-fe0f"},"pilot:_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{2708}\u{fe0f}","c":"1f9d1-1f3fd-200d-2708-fe0f"},"kiss:_person,_person,_medium_skin_tone,_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f9d1}\u{1f3fb}","c":"1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb"},"kiss:_person,_person,_medium_skin_tone,_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f9d1}\u{1f3fc}","c":"1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc"},"kiss:_person,_person,_medium_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f9d1}\u{1f3fe}","c":"1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe"},"kiss:_person,_person,_medium_skin_tone,_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f9d1}\u{1f3ff}","c":"1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff"},"couple_with_heart:_person,_person,_medium_skin_tone,_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f9d1}\u{1f3fb}","c":"1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fb"},"couple_with_heart:_person,_person,_medium_skin_tone,_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f9d1}\u{1f3fc}","c":"1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fc"},"couple_with_heart:_person,_person,_medium_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f9d1}\u{1f3fe}","c":"1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fe"},"couple_with_heart:_person,_person,_medium_skin_tone,_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f9d1}\u{1f3ff}","c":"1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3ff"},"person_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fd}","c":"1f9d1-1f3fd"},"farmer:_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f33e}","c":"1f9d1-1f3fe-200d-1f33e"},"cook:_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f373}","c":"1f9d1-1f3fe-200d-1f373"},"person_feeding_baby:_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f37c}","c":"1f9d1-1f3fe-200d-1f37c"},"mx_claus:_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f384}","c":"1f9d1-1f3fe-200d-1f384"},"student:_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f393}","c":"1f9d1-1f3fe-200d-1f393"},"singer:_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f3a4}","c":"1f9d1-1f3fe-200d-1f3a4"},"artist:_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f3a8}","c":"1f9d1-1f3fe-200d-1f3a8"},"teacher:_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f3eb}","c":"1f9d1-1f3fe-200d-1f3eb"},"factory_worker:_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f3ed}","c":"1f9d1-1f3fe-200d-1f3ed"},"people_with_bunny_ears:_medium_dark_skin_tone,_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f430}\u{200d}\u{1f9d1}\u{1f3fb}","c":"1f9d1-1f3fe-200d-1f430-200d-1f9d1-1f3fb"},"people_with_bunny_ears:_medium_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f430}\u{200d}\u{1f9d1}\u{1f3fc}","c":"1f9d1-1f3fe-200d-1f430-200d-1f9d1-1f3fc"},"people_with_bunny_ears:_medium_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f430}\u{200d}\u{1f9d1}\u{1f3fd}","c":"1f9d1-1f3fe-200d-1f430-200d-1f9d1-1f3fd"},"people_with_bunny_ears:_medium_dark_skin_tone,_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f430}\u{200d}\u{1f9d1}\u{1f3ff}","c":"1f9d1-1f3fe-200d-1f430-200d-1f9d1-1f3ff"},"technologist:_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f4bb}","c":"1f9d1-1f3fe-200d-1f4bb"},"office_worker:_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f4bc}","c":"1f9d1-1f3fe-200d-1f4bc"},"mechanic:_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f527}","c":"1f9d1-1f3fe-200d-1f527"},"scientist:_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f52c}","c":"1f9d1-1f3fe-200d-1f52c"},"astronaut:_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f680}","c":"1f9d1-1f3fe-200d-1f680"},"firefighter:_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f692}","c":"1f9d1-1f3fe-200d-1f692"},"people_holding_hands:_medium_dark_skin_tone,_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f91d}\u{200d}\u{1f9d1}\u{1f3fb}","c":"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fb"},"people_holding_hands:_medium_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f91d}\u{200d}\u{1f9d1}\u{1f3fc}","c":"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fc"},"people_holding_hands:_medium_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f91d}\u{200d}\u{1f9d1}\u{1f3fd}","c":"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fd"},"people_holding_hands:_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f91d}\u{200d}\u{1f9d1}\u{1f3fe}","c":"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fe"},"people_holding_hands:_medium_dark_skin_tone,_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f91d}\u{200d}\u{1f9d1}\u{1f3ff}","c":"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3ff"},"person_with_white_cane_facing_right:_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f9af}\u{200d}\u{27a1}\u{fe0f}","c":"1f9d1-1f3fe-200d-1f9af-200d-27a1-fe0f"},"person_with_white_cane:_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f9af}","c":"1f9d1-1f3fe-200d-1f9af"},"person:_medium_dark_skin_tone,_red_hair":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f9b0}","c":"1f9d1-1f3fe-200d-1f9b0"},"person:_medium_dark_skin_tone,_curly_hair":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f9b1}","c":"1f9d1-1f3fe-200d-1f9b1"},"person:_medium_dark_skin_tone,_bald":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f9b2}","c":"1f9d1-1f3fe-200d-1f9b2"},"person:_medium_dark_skin_tone,_white_hair":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f9b3}","c":"1f9d1-1f3fe-200d-1f9b3"},"person_in_motorized_wheelchair_facing_right:_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f9bc}\u{200d}\u{27a1}\u{fe0f}","c":"1f9d1-1f3fe-200d-1f9bc-200d-27a1-fe0f"},"person_in_motorized_wheelchair:_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f9bc}","c":"1f9d1-1f3fe-200d-1f9bc"},"person_in_manual_wheelchair_facing_right:_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f9bd}\u{200d}\u{27a1}\u{fe0f}","c":"1f9d1-1f3fe-200d-1f9bd-200d-27a1-fe0f"},"person_in_manual_wheelchair:_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1f9bd}","c":"1f9d1-1f3fe-200d-1f9bd"},"ballet_dancer:_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1fa70}","c":"1f9d1-1f3fe-200d-1fa70"},"people_wrestling:_medium_dark_skin_tone,_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1faef}\u{200d}\u{1f9d1}\u{1f3fb}","c":"1f9d1-1f3fe-200d-1faef-200d-1f9d1-1f3fb"},"people_wrestling:_medium_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1faef}\u{200d}\u{1f9d1}\u{1f3fc}","c":"1f9d1-1f3fe-200d-1faef-200d-1f9d1-1f3fc"},"people_wrestling:_medium_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1faef}\u{200d}\u{1f9d1}\u{1f3fd}","c":"1f9d1-1f3fe-200d-1faef-200d-1f9d1-1f3fd"},"people_wrestling:_medium_dark_skin_tone,_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{1faef}\u{200d}\u{1f9d1}\u{1f3ff}","c":"1f9d1-1f3fe-200d-1faef-200d-1f9d1-1f3ff"},"health_worker:_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{2695}\u{fe0f}","c":"1f9d1-1f3fe-200d-2695-fe0f"},"judge:_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{2696}\u{fe0f}","c":"1f9d1-1f3fe-200d-2696-fe0f"},"pilot:_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{2708}\u{fe0f}","c":"1f9d1-1f3fe-200d-2708-fe0f"},"kiss:_person,_person,_medium_dark_skin_tone,_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f9d1}\u{1f3fb}","c":"1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb"},"kiss:_person,_person,_medium_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f9d1}\u{1f3fc}","c":"1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc"},"kiss:_person,_person,_medium_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f9d1}\u{1f3fd}","c":"1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd"},"kiss:_person,_person,_medium_dark_skin_tone,_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f9d1}\u{1f3ff}","c":"1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff"},"couple_with_heart:_person,_person,_medium_dark_skin_tone,_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f9d1}\u{1f3fb}","c":"1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fb"},"couple_with_heart:_person,_person,_medium_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f9d1}\u{1f3fc}","c":"1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fc"},"couple_with_heart:_person,_person,_medium_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f9d1}\u{1f3fd}","c":"1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fd"},"couple_with_heart:_person,_person,_medium_dark_skin_tone,_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f9d1}\u{1f3ff}","c":"1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3ff"},"person_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3fe}","c":"1f9d1-1f3fe"},"farmer:_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f33e}","c":"1f9d1-1f3ff-200d-1f33e"},"cook:_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f373}","c":"1f9d1-1f3ff-200d-1f373"},"person_feeding_baby:_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f37c}","c":"1f9d1-1f3ff-200d-1f37c"},"mx_claus:_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f384}","c":"1f9d1-1f3ff-200d-1f384"},"student:_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f393}","c":"1f9d1-1f3ff-200d-1f393"},"singer:_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f3a4}","c":"1f9d1-1f3ff-200d-1f3a4"},"artist:_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f3a8}","c":"1f9d1-1f3ff-200d-1f3a8"},"teacher:_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f3eb}","c":"1f9d1-1f3ff-200d-1f3eb"},"factory_worker:_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f3ed}","c":"1f9d1-1f3ff-200d-1f3ed"},"people_with_bunny_ears:_dark_skin_tone,_light_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f430}\u{200d}\u{1f9d1}\u{1f3fb}","c":"1f9d1-1f3ff-200d-1f430-200d-1f9d1-1f3fb"},"people_with_bunny_ears:_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f430}\u{200d}\u{1f9d1}\u{1f3fc}","c":"1f9d1-1f3ff-200d-1f430-200d-1f9d1-1f3fc"},"people_with_bunny_ears:_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f430}\u{200d}\u{1f9d1}\u{1f3fd}","c":"1f9d1-1f3ff-200d-1f430-200d-1f9d1-1f3fd"},"people_with_bunny_ears:_dark_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f430}\u{200d}\u{1f9d1}\u{1f3fe}","c":"1f9d1-1f3ff-200d-1f430-200d-1f9d1-1f3fe"},"technologist:_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f4bb}","c":"1f9d1-1f3ff-200d-1f4bb"},"office_worker:_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f4bc}","c":"1f9d1-1f3ff-200d-1f4bc"},"mechanic:_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f527}","c":"1f9d1-1f3ff-200d-1f527"},"scientist:_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f52c}","c":"1f9d1-1f3ff-200d-1f52c"},"astronaut:_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f680}","c":"1f9d1-1f3ff-200d-1f680"},"firefighter:_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f692}","c":"1f9d1-1f3ff-200d-1f692"},"people_holding_hands:_dark_skin_tone,_light_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f91d}\u{200d}\u{1f9d1}\u{1f3fb}","c":"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fb"},"people_holding_hands:_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f91d}\u{200d}\u{1f9d1}\u{1f3fc}","c":"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fc"},"people_holding_hands:_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f91d}\u{200d}\u{1f9d1}\u{1f3fd}","c":"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fd"},"people_holding_hands:_dark_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f91d}\u{200d}\u{1f9d1}\u{1f3fe}","c":"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fe"},"people_holding_hands:_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f91d}\u{200d}\u{1f9d1}\u{1f3ff}","c":"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3ff"},"person_with_white_cane_facing_right:_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f9af}\u{200d}\u{27a1}\u{fe0f}","c":"1f9d1-1f3ff-200d-1f9af-200d-27a1-fe0f"},"person_with_white_cane:_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f9af}","c":"1f9d1-1f3ff-200d-1f9af"},"person:_dark_skin_tone,_red_hair":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f9b0}","c":"1f9d1-1f3ff-200d-1f9b0"},"person:_dark_skin_tone,_curly_hair":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f9b1}","c":"1f9d1-1f3ff-200d-1f9b1"},"person:_dark_skin_tone,_bald":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f9b2}","c":"1f9d1-1f3ff-200d-1f9b2"},"person:_dark_skin_tone,_white_hair":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f9b3}","c":"1f9d1-1f3ff-200d-1f9b3"},"person_in_motorized_wheelchair_facing_right:_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f9bc}\u{200d}\u{27a1}\u{fe0f}","c":"1f9d1-1f3ff-200d-1f9bc-200d-27a1-fe0f"},"person_in_motorized_wheelchair:_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f9bc}","c":"1f9d1-1f3ff-200d-1f9bc"},"person_in_manual_wheelchair_facing_right:_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f9bd}\u{200d}\u{27a1}\u{fe0f}","c":"1f9d1-1f3ff-200d-1f9bd-200d-27a1-fe0f"},"person_in_manual_wheelchair:_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1f9bd}","c":"1f9d1-1f3ff-200d-1f9bd"},"ballet_dancer:_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1fa70}","c":"1f9d1-1f3ff-200d-1fa70"},"people_wrestling:_dark_skin_tone,_light_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1faef}\u{200d}\u{1f9d1}\u{1f3fb}","c":"1f9d1-1f3ff-200d-1faef-200d-1f9d1-1f3fb"},"people_wrestling:_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1faef}\u{200d}\u{1f9d1}\u{1f3fc}","c":"1f9d1-1f3ff-200d-1faef-200d-1f9d1-1f3fc"},"people_wrestling:_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1faef}\u{200d}\u{1f9d1}\u{1f3fd}","c":"1f9d1-1f3ff-200d-1faef-200d-1f9d1-1f3fd"},"people_wrestling:_dark_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{1faef}\u{200d}\u{1f9d1}\u{1f3fe}","c":"1f9d1-1f3ff-200d-1faef-200d-1f9d1-1f3fe"},"health_worker:_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{2695}\u{fe0f}","c":"1f9d1-1f3ff-200d-2695-fe0f"},"judge:_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{2696}\u{fe0f}","c":"1f9d1-1f3ff-200d-2696-fe0f"},"pilot:_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{2708}\u{fe0f}","c":"1f9d1-1f3ff-200d-2708-fe0f"},"kiss:_person,_person,_dark_skin_tone,_light_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f9d1}\u{1f3fb}","c":"1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb"},"kiss:_person,_person,_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f9d1}\u{1f3fc}","c":"1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc"},"kiss:_person,_person,_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f9d1}\u{1f3fd}","c":"1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd"},"kiss:_person,_person,_dark_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f48b}\u{200d}\u{1f9d1}\u{1f3fe}","c":"1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe"},"couple_with_heart:_person,_person,_dark_skin_tone,_light_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f9d1}\u{1f3fb}","c":"1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fb"},"couple_with_heart:_person,_person,_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f9d1}\u{1f3fc}","c":"1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fc"},"couple_with_heart:_person,_person,_dark_skin_tone,_medium_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f9d1}\u{1f3fd}","c":"1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fd"},"couple_with_heart:_person,_person,_dark_skin_tone,_medium_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}\u{200d}\u{2764}\u{fe0f}\u{200d}\u{1f9d1}\u{1f3fe}","c":"1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fe"},"person_dark_skin_tone":{"e":"\u{1f9d1}\u{1f3ff}","c":"1f9d1-1f3ff"},"farmer":{"e":"\u{1f9d1}\u{200d}\u{1f33e}","c":"1f9d1-200d-1f33e"},"cook":{"e":"\u{1f9d1}\u{200d}\u{1f373}","c":"1f9d1-200d-1f373"},"person_feeding_baby":{"e":"\u{1f9d1}\u{200d}\u{1f37c}","c":"1f9d1-200d-1f37c"},"mx_claus":{"e":"\u{1f9d1}\u{200d}\u{1f384}","c":"1f9d1-200d-1f384"},"student":{"e":"\u{1f9d1}\u{200d}\u{1f393}","c":"1f9d1-200d-1f393"},"singer":{"e":"\u{1f9d1}\u{200d}\u{1f3a4}","c":"1f9d1-200d-1f3a4"},"artist":{"e":"\u{1f9d1}\u{200d}\u{1f3a8}","c":"1f9d1-200d-1f3a8"},"teacher":{"e":"\u{1f9d1}\u{200d}\u{1f3eb}","c":"1f9d1-200d-1f3eb"},"factory_worker":{"e":"\u{1f9d1}\u{200d}\u{1f3ed}","c":"1f9d1-200d-1f3ed"},"technologist":{"e":"\u{1f9d1}\u{200d}\u{1f4bb}","c":"1f9d1-200d-1f4bb"},"office_worker":{"e":"\u{1f9d1}\u{200d}\u{1f4bc}","c":"1f9d1-200d-1f4bc"},"mechanic":{"e":"\u{1f9d1}\u{200d}\u{1f527}","c":"1f9d1-200d-1f527"},"scientist":{"e":"\u{1f9d1}\u{200d}\u{1f52c}","c":"1f9d1-200d-1f52c"},"astronaut":{"e":"\u{1f9d1}\u{200d}\u{1f680}","c":"1f9d1-200d-1f680"},"firefighter":{"e":"\u{1f9d1}\u{200d}\u{1f692}","c":"1f9d1-200d-1f692"},"people_holding_hands":{"e":"\u{1f9d1}\u{200d}\u{1f91d}\u{200d}\u{1f9d1}","c":"1f9d1-200d-1f91d-200d-1f9d1"},"person_with_white_cane_facing_right":{"e":"\u{1f9d1}\u{200d}\u{1f9af}\u{200d}\u{27a1}\u{fe0f}","c":"1f9d1-200d-1f9af-200d-27a1-fe0f"},"person_with_white_cane":{"e":"\u{1f9d1}\u{200d}\u{1f9af}","c":"1f9d1-200d-1f9af"},"person:_red_hair":{"e":"\u{1f9d1}\u{200d}\u{1f9b0}","c":"1f9d1-200d-1f9b0"},"person:_curly_hair":{"e":"\u{1f9d1}\u{200d}\u{1f9b1}","c":"1f9d1-200d-1f9b1"},"person:_bald":{"e":"\u{1f9d1}\u{200d}\u{1f9b2}","c":"1f9d1-200d-1f9b2"},"person:_white_hair":{"e":"\u{1f9d1}\u{200d}\u{1f9b3}","c":"1f9d1-200d-1f9b3"},"person_in_motorized_wheelchair_facing_right":{"e":"\u{1f9d1}\u{200d}\u{1f9bc}\u{200d}\u{27a1}\u{fe0f}","c":"1f9d1-200d-1f9bc-200d-27a1-fe0f"},"person_in_motorized_wheelchair":{"e":"\u{1f9d1}\u{200d}\u{1f9bc}","c":"1f9d1-200d-1f9bc"},"person_in_manual_wheelchair_facing_right":{"e":"\u{1f9d1}\u{200d}\u{1f9bd}\u{200d}\u{27a1}\u{fe0f}","c":"1f9d1-200d-1f9bd-200d-27a1-fe0f"},"person_in_manual_wheelchair":{"e":"\u{1f9d1}\u{200d}\u{1f9bd}","c":"1f9d1-200d-1f9bd"},"family:_adult,_adult,_child,_child":{"e":"\u{1f9d1}\u{200d}\u{1f9d1}\u{200d}\u{1f9d2}\u{200d}\u{1f9d2}","c":"1f9d1-200d-1f9d1-200d-1f9d2-200d-1f9d2"},"family:_adult,_adult,_child":{"e":"\u{1f9d1}\u{200d}\u{1f9d1}\u{200d}\u{1f9d2}","c":"1f9d1-200d-1f9d1-200d-1f9d2"},"family:_adult,_child,_child":{"e":"\u{1f9d1}\u{200d}\u{1f9d2}\u{200d}\u{1f9d2}","c":"1f9d1-200d-1f9d2-200d-1f9d2"},"family:_adult,_child":{"e":"\u{1f9d1}\u{200d}\u{1f9d2}","c":"1f9d1-200d-1f9d2"},"ballet_dancer":{"e":"\u{1f9d1}\u{200d}\u{1fa70}","c":"1f9d1-200d-1fa70"},"health_worker":{"e":"\u{1f9d1}\u{200d}\u{2695}\u{fe0f}","c":"1f9d1-200d-2695-fe0f"},"judge":{"e":"\u{1f9d1}\u{200d}\u{2696}\u{fe0f}","c":"1f9d1-200d-2696-fe0f"},"pilot":{"e":"\u{1f9d1}\u{200d}\u{2708}\u{fe0f}","c":"1f9d1-200d-2708-fe0f"},"person":{"e":"\u{1f9d1}","c":"1f9d1"},"child_light_skin_tone":{"e":"\u{1f9d2}\u{1f3fb}","c":"1f9d2-1f3fb"},"child_medium_light_skin_tone":{"e":"\u{1f9d2}\u{1f3fc}","c":"1f9d2-1f3fc"},"child_medium_skin_tone":{"e":"\u{1f9d2}\u{1f3fd}","c":"1f9d2-1f3fd"},"child_medium_dark_skin_tone":{"e":"\u{1f9d2}\u{1f3fe}","c":"1f9d2-1f3fe"},"child_dark_skin_tone":{"e":"\u{1f9d2}\u{1f3ff}","c":"1f9d2-1f3ff"},"child":{"e":"\u{1f9d2}","c":"1f9d2"},"older_person_light_skin_tone":{"e":"\u{1f9d3}\u{1f3fb}","c":"1f9d3-1f3fb"},"older_person_medium_light_skin_tone":{"e":"\u{1f9d3}\u{1f3fc}","c":"1f9d3-1f3fc"},"older_person_medium_skin_tone":{"e":"\u{1f9d3}\u{1f3fd}","c":"1f9d3-1f3fd"},"older_person_medium_dark_skin_tone":{"e":"\u{1f9d3}\u{1f3fe}","c":"1f9d3-1f3fe"},"older_person_dark_skin_tone":{"e":"\u{1f9d3}\u{1f3ff}","c":"1f9d3-1f3ff"},"older_person":{"e":"\u{1f9d3}","c":"1f9d3"},"woman:_light_skin_tone,_beard":{"e":"\u{1f9d4}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f9d4-1f3fb-200d-2640-fe0f"},"man:_light_skin_tone,_beard":{"e":"\u{1f9d4}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f9d4-1f3fb-200d-2642-fe0f"},"person_light_skin_tone,_beard":{"e":"\u{1f9d4}\u{1f3fb}","c":"1f9d4-1f3fb"},"woman:_medium_light_skin_tone,_beard":{"e":"\u{1f9d4}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f9d4-1f3fc-200d-2640-fe0f"},"man:_medium_light_skin_tone,_beard":{"e":"\u{1f9d4}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f9d4-1f3fc-200d-2642-fe0f"},"person_medium_light_skin_tone,_beard":{"e":"\u{1f9d4}\u{1f3fc}","c":"1f9d4-1f3fc"},"woman:_medium_skin_tone,_beard":{"e":"\u{1f9d4}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f9d4-1f3fd-200d-2640-fe0f"},"man:_medium_skin_tone,_beard":{"e":"\u{1f9d4}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f9d4-1f3fd-200d-2642-fe0f"},"person_medium_skin_tone,_beard":{"e":"\u{1f9d4}\u{1f3fd}","c":"1f9d4-1f3fd"},"woman:_medium_dark_skin_tone,_beard":{"e":"\u{1f9d4}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f9d4-1f3fe-200d-2640-fe0f"},"man:_medium_dark_skin_tone,_beard":{"e":"\u{1f9d4}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f9d4-1f3fe-200d-2642-fe0f"},"person_medium_dark_skin_tone,_beard":{"e":"\u{1f9d4}\u{1f3fe}","c":"1f9d4-1f3fe"},"woman:_dark_skin_tone,_beard":{"e":"\u{1f9d4}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f9d4-1f3ff-200d-2640-fe0f"},"man:_dark_skin_tone,_beard":{"e":"\u{1f9d4}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f9d4-1f3ff-200d-2642-fe0f"},"person_dark_skin_tone,_beard":{"e":"\u{1f9d4}\u{1f3ff}","c":"1f9d4-1f3ff"},"woman:_beard":{"e":"\u{1f9d4}\u{200d}\u{2640}\u{fe0f}","c":"1f9d4-200d-2640-fe0f"},"man:_beard":{"e":"\u{1f9d4}\u{200d}\u{2642}\u{fe0f}","c":"1f9d4-200d-2642-fe0f"},"person_beard":{"e":"\u{1f9d4}","c":"1f9d4"},"woman_with_headscarf_light_skin_tone":{"e":"\u{1f9d5}\u{1f3fb}","c":"1f9d5-1f3fb"},"woman_with_headscarf_medium_light_skin_tone":{"e":"\u{1f9d5}\u{1f3fc}","c":"1f9d5-1f3fc"},"woman_with_headscarf_medium_skin_tone":{"e":"\u{1f9d5}\u{1f3fd}","c":"1f9d5-1f3fd"},"woman_with_headscarf_medium_dark_skin_tone":{"e":"\u{1f9d5}\u{1f3fe}","c":"1f9d5-1f3fe"},"woman_with_headscarf_dark_skin_tone":{"e":"\u{1f9d5}\u{1f3ff}","c":"1f9d5-1f3ff"},"woman_with_headscarf":{"e":"\u{1f9d5}","c":"1f9d5"},"woman_in_steamy_room:_light_skin_tone":{"e":"\u{1f9d6}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f9d6-1f3fb-200d-2640-fe0f"},"man_in_steamy_room:_light_skin_tone":{"e":"\u{1f9d6}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f9d6-1f3fb-200d-2642-fe0f"},"person_in_steamy_room_light_skin_tone":{"e":"\u{1f9d6}\u{1f3fb}","c":"1f9d6-1f3fb"},"woman_in_steamy_room:_medium_light_skin_tone":{"e":"\u{1f9d6}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f9d6-1f3fc-200d-2640-fe0f"},"man_in_steamy_room:_medium_light_skin_tone":{"e":"\u{1f9d6}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f9d6-1f3fc-200d-2642-fe0f"},"person_in_steamy_room_medium_light_skin_tone":{"e":"\u{1f9d6}\u{1f3fc}","c":"1f9d6-1f3fc"},"woman_in_steamy_room:_medium_skin_tone":{"e":"\u{1f9d6}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f9d6-1f3fd-200d-2640-fe0f"},"man_in_steamy_room:_medium_skin_tone":{"e":"\u{1f9d6}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f9d6-1f3fd-200d-2642-fe0f"},"person_in_steamy_room_medium_skin_tone":{"e":"\u{1f9d6}\u{1f3fd}","c":"1f9d6-1f3fd"},"woman_in_steamy_room:_medium_dark_skin_tone":{"e":"\u{1f9d6}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f9d6-1f3fe-200d-2640-fe0f"},"man_in_steamy_room:_medium_dark_skin_tone":{"e":"\u{1f9d6}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f9d6-1f3fe-200d-2642-fe0f"},"person_in_steamy_room_medium_dark_skin_tone":{"e":"\u{1f9d6}\u{1f3fe}","c":"1f9d6-1f3fe"},"woman_in_steamy_room:_dark_skin_tone":{"e":"\u{1f9d6}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f9d6-1f3ff-200d-2640-fe0f"},"man_in_steamy_room:_dark_skin_tone":{"e":"\u{1f9d6}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f9d6-1f3ff-200d-2642-fe0f"},"person_in_steamy_room_dark_skin_tone":{"e":"\u{1f9d6}\u{1f3ff}","c":"1f9d6-1f3ff"},"woman_in_steamy_room":{"e":"\u{1f9d6}\u{200d}\u{2640}\u{fe0f}","c":"1f9d6-200d-2640-fe0f"},"man_in_steamy_room":{"e":"\u{1f9d6}\u{200d}\u{2642}\u{fe0f}","c":"1f9d6-200d-2642-fe0f"},"person_in_steamy_room":{"e":"\u{1f9d6}","c":"1f9d6"},"woman_climbing:_light_skin_tone":{"e":"\u{1f9d7}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f9d7-1f3fb-200d-2640-fe0f"},"man_climbing:_light_skin_tone":{"e":"\u{1f9d7}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f9d7-1f3fb-200d-2642-fe0f"},"person_climbing_light_skin_tone":{"e":"\u{1f9d7}\u{1f3fb}","c":"1f9d7-1f3fb"},"woman_climbing:_medium_light_skin_tone":{"e":"\u{1f9d7}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f9d7-1f3fc-200d-2640-fe0f"},"man_climbing:_medium_light_skin_tone":{"e":"\u{1f9d7}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f9d7-1f3fc-200d-2642-fe0f"},"person_climbing_medium_light_skin_tone":{"e":"\u{1f9d7}\u{1f3fc}","c":"1f9d7-1f3fc"},"woman_climbing:_medium_skin_tone":{"e":"\u{1f9d7}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f9d7-1f3fd-200d-2640-fe0f"},"man_climbing:_medium_skin_tone":{"e":"\u{1f9d7}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f9d7-1f3fd-200d-2642-fe0f"},"person_climbing_medium_skin_tone":{"e":"\u{1f9d7}\u{1f3fd}","c":"1f9d7-1f3fd"},"woman_climbing:_medium_dark_skin_tone":{"e":"\u{1f9d7}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f9d7-1f3fe-200d-2640-fe0f"},"man_climbing:_medium_dark_skin_tone":{"e":"\u{1f9d7}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f9d7-1f3fe-200d-2642-fe0f"},"person_climbing_medium_dark_skin_tone":{"e":"\u{1f9d7}\u{1f3fe}","c":"1f9d7-1f3fe"},"woman_climbing:_dark_skin_tone":{"e":"\u{1f9d7}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f9d7-1f3ff-200d-2640-fe0f"},"man_climbing:_dark_skin_tone":{"e":"\u{1f9d7}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f9d7-1f3ff-200d-2642-fe0f"},"person_climbing_dark_skin_tone":{"e":"\u{1f9d7}\u{1f3ff}","c":"1f9d7-1f3ff"},"woman_climbing":{"e":"\u{1f9d7}\u{200d}\u{2640}\u{fe0f}","c":"1f9d7-200d-2640-fe0f"},"man_climbing":{"e":"\u{1f9d7}\u{200d}\u{2642}\u{fe0f}","c":"1f9d7-200d-2642-fe0f"},"person_climbing":{"e":"\u{1f9d7}","c":"1f9d7"},"woman_in_lotus_position:_light_skin_tone":{"e":"\u{1f9d8}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f9d8-1f3fb-200d-2640-fe0f"},"man_in_lotus_position:_light_skin_tone":{"e":"\u{1f9d8}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f9d8-1f3fb-200d-2642-fe0f"},"person_in_lotus_position_light_skin_tone":{"e":"\u{1f9d8}\u{1f3fb}","c":"1f9d8-1f3fb"},"woman_in_lotus_position:_medium_light_skin_tone":{"e":"\u{1f9d8}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f9d8-1f3fc-200d-2640-fe0f"},"man_in_lotus_position:_medium_light_skin_tone":{"e":"\u{1f9d8}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f9d8-1f3fc-200d-2642-fe0f"},"person_in_lotus_position_medium_light_skin_tone":{"e":"\u{1f9d8}\u{1f3fc}","c":"1f9d8-1f3fc"},"woman_in_lotus_position:_medium_skin_tone":{"e":"\u{1f9d8}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f9d8-1f3fd-200d-2640-fe0f"},"man_in_lotus_position:_medium_skin_tone":{"e":"\u{1f9d8}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f9d8-1f3fd-200d-2642-fe0f"},"person_in_lotus_position_medium_skin_tone":{"e":"\u{1f9d8}\u{1f3fd}","c":"1f9d8-1f3fd"},"woman_in_lotus_position:_medium_dark_skin_tone":{"e":"\u{1f9d8}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f9d8-1f3fe-200d-2640-fe0f"},"man_in_lotus_position:_medium_dark_skin_tone":{"e":"\u{1f9d8}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f9d8-1f3fe-200d-2642-fe0f"},"person_in_lotus_position_medium_dark_skin_tone":{"e":"\u{1f9d8}\u{1f3fe}","c":"1f9d8-1f3fe"},"woman_in_lotus_position:_dark_skin_tone":{"e":"\u{1f9d8}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f9d8-1f3ff-200d-2640-fe0f"},"man_in_lotus_position:_dark_skin_tone":{"e":"\u{1f9d8}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f9d8-1f3ff-200d-2642-fe0f"},"person_in_lotus_position_dark_skin_tone":{"e":"\u{1f9d8}\u{1f3ff}","c":"1f9d8-1f3ff"},"woman_in_lotus_position":{"e":"\u{1f9d8}\u{200d}\u{2640}\u{fe0f}","c":"1f9d8-200d-2640-fe0f"},"man_in_lotus_position":{"e":"\u{1f9d8}\u{200d}\u{2642}\u{fe0f}","c":"1f9d8-200d-2642-fe0f"},"person_in_lotus_position":{"e":"\u{1f9d8}","c":"1f9d8"},"woman_mage:_light_skin_tone":{"e":"\u{1f9d9}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f9d9-1f3fb-200d-2640-fe0f"},"man_mage:_light_skin_tone":{"e":"\u{1f9d9}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f9d9-1f3fb-200d-2642-fe0f"},"mage_light_skin_tone":{"e":"\u{1f9d9}\u{1f3fb}","c":"1f9d9-1f3fb"},"woman_mage:_medium_light_skin_tone":{"e":"\u{1f9d9}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f9d9-1f3fc-200d-2640-fe0f"},"man_mage:_medium_light_skin_tone":{"e":"\u{1f9d9}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f9d9-1f3fc-200d-2642-fe0f"},"mage_medium_light_skin_tone":{"e":"\u{1f9d9}\u{1f3fc}","c":"1f9d9-1f3fc"},"woman_mage:_medium_skin_tone":{"e":"\u{1f9d9}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f9d9-1f3fd-200d-2640-fe0f"},"man_mage:_medium_skin_tone":{"e":"\u{1f9d9}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f9d9-1f3fd-200d-2642-fe0f"},"mage_medium_skin_tone":{"e":"\u{1f9d9}\u{1f3fd}","c":"1f9d9-1f3fd"},"woman_mage:_medium_dark_skin_tone":{"e":"\u{1f9d9}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f9d9-1f3fe-200d-2640-fe0f"},"man_mage:_medium_dark_skin_tone":{"e":"\u{1f9d9}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f9d9-1f3fe-200d-2642-fe0f"},"mage_medium_dark_skin_tone":{"e":"\u{1f9d9}\u{1f3fe}","c":"1f9d9-1f3fe"},"woman_mage:_dark_skin_tone":{"e":"\u{1f9d9}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f9d9-1f3ff-200d-2640-fe0f"},"man_mage:_dark_skin_tone":{"e":"\u{1f9d9}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f9d9-1f3ff-200d-2642-fe0f"},"mage_dark_skin_tone":{"e":"\u{1f9d9}\u{1f3ff}","c":"1f9d9-1f3ff"},"woman_mage":{"e":"\u{1f9d9}\u{200d}\u{2640}\u{fe0f}","c":"1f9d9-200d-2640-fe0f"},"man_mage":{"e":"\u{1f9d9}\u{200d}\u{2642}\u{fe0f}","c":"1f9d9-200d-2642-fe0f"},"mage":{"e":"\u{1f9d9}","c":"1f9d9"},"woman_fairy:_light_skin_tone":{"e":"\u{1f9da}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f9da-1f3fb-200d-2640-fe0f"},"man_fairy:_light_skin_tone":{"e":"\u{1f9da}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f9da-1f3fb-200d-2642-fe0f"},"fairy_light_skin_tone":{"e":"\u{1f9da}\u{1f3fb}","c":"1f9da-1f3fb"},"woman_fairy:_medium_light_skin_tone":{"e":"\u{1f9da}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f9da-1f3fc-200d-2640-fe0f"},"man_fairy:_medium_light_skin_tone":{"e":"\u{1f9da}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f9da-1f3fc-200d-2642-fe0f"},"fairy_medium_light_skin_tone":{"e":"\u{1f9da}\u{1f3fc}","c":"1f9da-1f3fc"},"woman_fairy:_medium_skin_tone":{"e":"\u{1f9da}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f9da-1f3fd-200d-2640-fe0f"},"man_fairy:_medium_skin_tone":{"e":"\u{1f9da}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f9da-1f3fd-200d-2642-fe0f"},"fairy_medium_skin_tone":{"e":"\u{1f9da}\u{1f3fd}","c":"1f9da-1f3fd"},"woman_fairy:_medium_dark_skin_tone":{"e":"\u{1f9da}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f9da-1f3fe-200d-2640-fe0f"},"man_fairy:_medium_dark_skin_tone":{"e":"\u{1f9da}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f9da-1f3fe-200d-2642-fe0f"},"fairy_medium_dark_skin_tone":{"e":"\u{1f9da}\u{1f3fe}","c":"1f9da-1f3fe"},"woman_fairy:_dark_skin_tone":{"e":"\u{1f9da}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f9da-1f3ff-200d-2640-fe0f"},"man_fairy:_dark_skin_tone":{"e":"\u{1f9da}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f9da-1f3ff-200d-2642-fe0f"},"fairy_dark_skin_tone":{"e":"\u{1f9da}\u{1f3ff}","c":"1f9da-1f3ff"},"woman_fairy":{"e":"\u{1f9da}\u{200d}\u{2640}\u{fe0f}","c":"1f9da-200d-2640-fe0f"},"man_fairy":{"e":"\u{1f9da}\u{200d}\u{2642}\u{fe0f}","c":"1f9da-200d-2642-fe0f"},"fairy":{"e":"\u{1f9da}","c":"1f9da"},"woman_vampire:_light_skin_tone":{"e":"\u{1f9db}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f9db-1f3fb-200d-2640-fe0f"},"man_vampire:_light_skin_tone":{"e":"\u{1f9db}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f9db-1f3fb-200d-2642-fe0f"},"vampire_light_skin_tone":{"e":"\u{1f9db}\u{1f3fb}","c":"1f9db-1f3fb"},"woman_vampire:_medium_light_skin_tone":{"e":"\u{1f9db}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f9db-1f3fc-200d-2640-fe0f"},"man_vampire:_medium_light_skin_tone":{"e":"\u{1f9db}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f9db-1f3fc-200d-2642-fe0f"},"vampire_medium_light_skin_tone":{"e":"\u{1f9db}\u{1f3fc}","c":"1f9db-1f3fc"},"woman_vampire:_medium_skin_tone":{"e":"\u{1f9db}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f9db-1f3fd-200d-2640-fe0f"},"man_vampire:_medium_skin_tone":{"e":"\u{1f9db}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f9db-1f3fd-200d-2642-fe0f"},"vampire_medium_skin_tone":{"e":"\u{1f9db}\u{1f3fd}","c":"1f9db-1f3fd"},"woman_vampire:_medium_dark_skin_tone":{"e":"\u{1f9db}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f9db-1f3fe-200d-2640-fe0f"},"man_vampire:_medium_dark_skin_tone":{"e":"\u{1f9db}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f9db-1f3fe-200d-2642-fe0f"},"vampire_medium_dark_skin_tone":{"e":"\u{1f9db}\u{1f3fe}","c":"1f9db-1f3fe"},"woman_vampire:_dark_skin_tone":{"e":"\u{1f9db}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f9db-1f3ff-200d-2640-fe0f"},"man_vampire:_dark_skin_tone":{"e":"\u{1f9db}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f9db-1f3ff-200d-2642-fe0f"},"vampire_dark_skin_tone":{"e":"\u{1f9db}\u{1f3ff}","c":"1f9db-1f3ff"},"woman_vampire":{"e":"\u{1f9db}\u{200d}\u{2640}\u{fe0f}","c":"1f9db-200d-2640-fe0f"},"man_vampire":{"e":"\u{1f9db}\u{200d}\u{2642}\u{fe0f}","c":"1f9db-200d-2642-fe0f"},"vampire":{"e":"\u{1f9db}","c":"1f9db"},"mermaid:_light_skin_tone":{"e":"\u{1f9dc}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f9dc-1f3fb-200d-2640-fe0f"},"merman:_light_skin_tone":{"e":"\u{1f9dc}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f9dc-1f3fb-200d-2642-fe0f"},"merperson_light_skin_tone":{"e":"\u{1f9dc}\u{1f3fb}","c":"1f9dc-1f3fb"},"mermaid:_medium_light_skin_tone":{"e":"\u{1f9dc}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f9dc-1f3fc-200d-2640-fe0f"},"merman:_medium_light_skin_tone":{"e":"\u{1f9dc}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f9dc-1f3fc-200d-2642-fe0f"},"merperson_medium_light_skin_tone":{"e":"\u{1f9dc}\u{1f3fc}","c":"1f9dc-1f3fc"},"mermaid:_medium_skin_tone":{"e":"\u{1f9dc}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f9dc-1f3fd-200d-2640-fe0f"},"merman:_medium_skin_tone":{"e":"\u{1f9dc}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f9dc-1f3fd-200d-2642-fe0f"},"merperson_medium_skin_tone":{"e":"\u{1f9dc}\u{1f3fd}","c":"1f9dc-1f3fd"},"mermaid:_medium_dark_skin_tone":{"e":"\u{1f9dc}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f9dc-1f3fe-200d-2640-fe0f"},"merman:_medium_dark_skin_tone":{"e":"\u{1f9dc}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f9dc-1f3fe-200d-2642-fe0f"},"merperson_medium_dark_skin_tone":{"e":"\u{1f9dc}\u{1f3fe}","c":"1f9dc-1f3fe"},"mermaid:_dark_skin_tone":{"e":"\u{1f9dc}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f9dc-1f3ff-200d-2640-fe0f"},"merman:_dark_skin_tone":{"e":"\u{1f9dc}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f9dc-1f3ff-200d-2642-fe0f"},"merperson_dark_skin_tone":{"e":"\u{1f9dc}\u{1f3ff}","c":"1f9dc-1f3ff"},"mermaid":{"e":"\u{1f9dc}\u{200d}\u{2640}\u{fe0f}","c":"1f9dc-200d-2640-fe0f"},"merman":{"e":"\u{1f9dc}\u{200d}\u{2642}\u{fe0f}","c":"1f9dc-200d-2642-fe0f"},"merperson":{"e":"\u{1f9dc}","c":"1f9dc"},"woman_elf:_light_skin_tone":{"e":"\u{1f9dd}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"1f9dd-1f3fb-200d-2640-fe0f"},"man_elf:_light_skin_tone":{"e":"\u{1f9dd}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"1f9dd-1f3fb-200d-2642-fe0f"},"elf_light_skin_tone":{"e":"\u{1f9dd}\u{1f3fb}","c":"1f9dd-1f3fb"},"woman_elf:_medium_light_skin_tone":{"e":"\u{1f9dd}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"1f9dd-1f3fc-200d-2640-fe0f"},"man_elf:_medium_light_skin_tone":{"e":"\u{1f9dd}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"1f9dd-1f3fc-200d-2642-fe0f"},"elf_medium_light_skin_tone":{"e":"\u{1f9dd}\u{1f3fc}","c":"1f9dd-1f3fc"},"woman_elf:_medium_skin_tone":{"e":"\u{1f9dd}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"1f9dd-1f3fd-200d-2640-fe0f"},"man_elf:_medium_skin_tone":{"e":"\u{1f9dd}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"1f9dd-1f3fd-200d-2642-fe0f"},"elf_medium_skin_tone":{"e":"\u{1f9dd}\u{1f3fd}","c":"1f9dd-1f3fd"},"woman_elf:_medium_dark_skin_tone":{"e":"\u{1f9dd}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"1f9dd-1f3fe-200d-2640-fe0f"},"man_elf:_medium_dark_skin_tone":{"e":"\u{1f9dd}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"1f9dd-1f3fe-200d-2642-fe0f"},"elf_medium_dark_skin_tone":{"e":"\u{1f9dd}\u{1f3fe}","c":"1f9dd-1f3fe"},"woman_elf:_dark_skin_tone":{"e":"\u{1f9dd}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"1f9dd-1f3ff-200d-2640-fe0f"},"man_elf:_dark_skin_tone":{"e":"\u{1f9dd}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"1f9dd-1f3ff-200d-2642-fe0f"},"elf_dark_skin_tone":{"e":"\u{1f9dd}\u{1f3ff}","c":"1f9dd-1f3ff"},"woman_elf":{"e":"\u{1f9dd}\u{200d}\u{2640}\u{fe0f}","c":"1f9dd-200d-2640-fe0f"},"man_elf":{"e":"\u{1f9dd}\u{200d}\u{2642}\u{fe0f}","c":"1f9dd-200d-2642-fe0f"},"elf":{"e":"\u{1f9dd}","c":"1f9dd"},"woman_genie":{"e":"\u{1f9de}\u{200d}\u{2640}\u{fe0f}","c":"1f9de-200d-2640-fe0f"},"man_genie":{"e":"\u{1f9de}\u{200d}\u{2642}\u{fe0f}","c":"1f9de-200d-2642-fe0f"},"genie":{"e":"\u{1f9de}","c":"1f9de"},"woman_zombie":{"e":"\u{1f9df}\u{200d}\u{2640}\u{fe0f}","c":"1f9df-200d-2640-fe0f"},"man_zombie":{"e":"\u{1f9df}\u{200d}\u{2642}\u{fe0f}","c":"1f9df-200d-2642-fe0f"},"zombie":{"e":"\u{1f9df}","c":"1f9df"},"brain":{"e":"\u{1f9e0}","c":"1f9e0"},"orange_heart":{"e":"\u{1f9e1}","c":"1f9e1"},"billed_cap":{"e":"\u{1f9e2}","c":"1f9e2"},"scarf":{"e":"\u{1f9e3}","c":"1f9e3"},"gloves":{"e":"\u{1f9e4}","c":"1f9e4"},"coat":{"e":"\u{1f9e5}","c":"1f9e5"},"socks":{"e":"\u{1f9e6}","c":"1f9e6"},"red_envelope":{"e":"\u{1f9e7}","c":"1f9e7"},"firecracker":{"e":"\u{1f9e8}","c":"1f9e8"},"puzzle_piece":{"e":"\u{1f9e9}","c":"1f9e9"},"test_tube":{"e":"\u{1f9ea}","c":"1f9ea"},"petri_dish":{"e":"\u{1f9eb}","c":"1f9eb"},"dna":{"e":"\u{1f9ec}","c":"1f9ec"},"compass":{"e":"\u{1f9ed}","c":"1f9ed"},"abacus":{"e":"\u{1f9ee}","c":"1f9ee"},"fire_extinguisher":{"e":"\u{1f9ef}","c":"1f9ef"},"toolbox":{"e":"\u{1f9f0}","c":"1f9f0"},"brick":{"e":"\u{1f9f1}","c":"1f9f1"},"magnet":{"e":"\u{1f9f2}","c":"1f9f2"},"luggage":{"e":"\u{1f9f3}","c":"1f9f3"},"lotion_bottle":{"e":"\u{1f9f4}","c":"1f9f4"},"thread":{"e":"\u{1f9f5}","c":"1f9f5"},"yarn":{"e":"\u{1f9f6}","c":"1f9f6"},"safety_pin":{"e":"\u{1f9f7}","c":"1f9f7"},"teddy_bear":{"e":"\u{1f9f8}","c":"1f9f8"},"broom":{"e":"\u{1f9f9}","c":"1f9f9"},"basket":{"e":"\u{1f9fa}","c":"1f9fa"},"roll_of_paper":{"e":"\u{1f9fb}","c":"1f9fb"},"soap":{"e":"\u{1f9fc}","c":"1f9fc"},"sponge":{"e":"\u{1f9fd}","c":"1f9fd"},"receipt":{"e":"\u{1f9fe}","c":"1f9fe"},"nazar_amulet":{"e":"\u{1f9ff}","c":"1f9ff"},"ballet_shoes":{"e":"\u{1fa70}","c":"1fa70"},"one_piece_swimsuit":{"e":"\u{1fa71}","c":"1fa71"},"briefs":{"e":"\u{1fa72}","c":"1fa72"},"shorts":{"e":"\u{1fa73}","c":"1fa73"},"thong_sandal":{"e":"\u{1fa74}","c":"1fa74"},"light_blue_heart":{"e":"\u{1fa75}","c":"1fa75"},"grey_heart":{"e":"\u{1fa76}","c":"1fa76"},"pink_heart":{"e":"\u{1fa77}","c":"1fa77"},"drop_of_blood":{"e":"\u{1fa78}","c":"1fa78"},"adhesive_bandage":{"e":"\u{1fa79}","c":"1fa79"},"stethoscope":{"e":"\u{1fa7a}","c":"1fa7a"},"x_ray":{"e":"\u{1fa7b}","c":"1fa7b"},"crutch":{"e":"\u{1fa7c}","c":"1fa7c"},"yo_yo":{"e":"\u{1fa80}","c":"1fa80"},"kite":{"e":"\u{1fa81}","c":"1fa81"},"parachute":{"e":"\u{1fa82}","c":"1fa82"},"boomerang":{"e":"\u{1fa83}","c":"1fa83"},"magic_wand":{"e":"\u{1fa84}","c":"1fa84"},"pi\u00f1ata":{"e":"\u{1fa85}","c":"1fa85"},"nesting_dolls":{"e":"\u{1fa86}","c":"1fa86"},"maracas":{"e":"\u{1fa87}","c":"1fa87"},"flute":{"e":"\u{1fa88}","c":"1fa88"},"harp":{"e":"\u{1fa89}","c":"1fa89"},"trombone":{"e":"\u{1fa8a}","c":"1fa8a"},"treasure_chest":{"e":"\u{1fa8e}","c":"1fa8e"},"shovel":{"e":"\u{1fa8f}","c":"1fa8f"},"ringed_planet":{"e":"\u{1fa90}","c":"1fa90"},"chair":{"e":"\u{1fa91}","c":"1fa91"},"razor":{"e":"\u{1fa92}","c":"1fa92"},"axe":{"e":"\u{1fa93}","c":"1fa93"},"diya_lamp":{"e":"\u{1fa94}","c":"1fa94"},"banjo":{"e":"\u{1fa95}","c":"1fa95"},"military_helmet":{"e":"\u{1fa96}","c":"1fa96"},"accordion":{"e":"\u{1fa97}","c":"1fa97"},"long_drum":{"e":"\u{1fa98}","c":"1fa98"},"coin":{"e":"\u{1fa99}","c":"1fa99"},"carpentry_saw":{"e":"\u{1fa9a}","c":"1fa9a"},"screwdriver":{"e":"\u{1fa9b}","c":"1fa9b"},"ladder":{"e":"\u{1fa9c}","c":"1fa9c"},"hook":{"e":"\u{1fa9d}","c":"1fa9d"},"mirror":{"e":"\u{1fa9e}","c":"1fa9e"},"window":{"e":"\u{1fa9f}","c":"1fa9f"},"plunger":{"e":"\u{1faa0}","c":"1faa0"},"sewing_needle":{"e":"\u{1faa1}","c":"1faa1"},"knot":{"e":"\u{1faa2}","c":"1faa2"},"bucket":{"e":"\u{1faa3}","c":"1faa3"},"mouse_trap":{"e":"\u{1faa4}","c":"1faa4"},"toothbrush":{"e":"\u{1faa5}","c":"1faa5"},"headstone":{"e":"\u{1faa6}","c":"1faa6"},"placard":{"e":"\u{1faa7}","c":"1faa7"},"rock":{"e":"\u{1faa8}","c":"1faa8"},"mirror_ball":{"e":"\u{1faa9}","c":"1faa9"},"identification_card":{"e":"\u{1faaa}","c":"1faaa"},"low_battery":{"e":"\u{1faab}","c":"1faab"},"hamsa":{"e":"\u{1faac}","c":"1faac"},"folding_hand_fan":{"e":"\u{1faad}","c":"1faad"},"hair_pick":{"e":"\u{1faae}","c":"1faae"},"khanda":{"e":"\u{1faaf}","c":"1faaf"},"fly":{"e":"\u{1fab0}","c":"1fab0"},"worm":{"e":"\u{1fab1}","c":"1fab1"},"beetle":{"e":"\u{1fab2}","c":"1fab2"},"cockroach":{"e":"\u{1fab3}","c":"1fab3"},"potted_plant":{"e":"\u{1fab4}","c":"1fab4"},"wood":{"e":"\u{1fab5}","c":"1fab5"},"feather":{"e":"\u{1fab6}","c":"1fab6"},"lotus":{"e":"\u{1fab7}","c":"1fab7"},"coral":{"e":"\u{1fab8}","c":"1fab8"},"empty_nest":{"e":"\u{1fab9}","c":"1fab9"},"nest_with_eggs":{"e":"\u{1faba}","c":"1faba"},"hyacinth":{"e":"\u{1fabb}","c":"1fabb"},"jellyfish":{"e":"\u{1fabc}","c":"1fabc"},"wing":{"e":"\u{1fabd}","c":"1fabd"},"leafless_tree":{"e":"\u{1fabe}","c":"1fabe"},"goose":{"e":"\u{1fabf}","c":"1fabf"},"anatomical_heart":{"e":"\u{1fac0}","c":"1fac0"},"lungs":{"e":"\u{1fac1}","c":"1fac1"},"people_hugging":{"e":"\u{1fac2}","c":"1fac2"},"pregnant_man_light_skin_tone":{"e":"\u{1fac3}\u{1f3fb}","c":"1fac3-1f3fb"},"pregnant_man_medium_light_skin_tone":{"e":"\u{1fac3}\u{1f3fc}","c":"1fac3-1f3fc"},"pregnant_man_medium_skin_tone":{"e":"\u{1fac3}\u{1f3fd}","c":"1fac3-1f3fd"},"pregnant_man_medium_dark_skin_tone":{"e":"\u{1fac3}\u{1f3fe}","c":"1fac3-1f3fe"},"pregnant_man_dark_skin_tone":{"e":"\u{1fac3}\u{1f3ff}","c":"1fac3-1f3ff"},"pregnant_man":{"e":"\u{1fac3}","c":"1fac3"},"pregnant_person_light_skin_tone":{"e":"\u{1fac4}\u{1f3fb}","c":"1fac4-1f3fb"},"pregnant_person_medium_light_skin_tone":{"e":"\u{1fac4}\u{1f3fc}","c":"1fac4-1f3fc"},"pregnant_person_medium_skin_tone":{"e":"\u{1fac4}\u{1f3fd}","c":"1fac4-1f3fd"},"pregnant_person_medium_dark_skin_tone":{"e":"\u{1fac4}\u{1f3fe}","c":"1fac4-1f3fe"},"pregnant_person_dark_skin_tone":{"e":"\u{1fac4}\u{1f3ff}","c":"1fac4-1f3ff"},"pregnant_person":{"e":"\u{1fac4}","c":"1fac4"},"person_with_crown_light_skin_tone":{"e":"\u{1fac5}\u{1f3fb}","c":"1fac5-1f3fb"},"person_with_crown_medium_light_skin_tone":{"e":"\u{1fac5}\u{1f3fc}","c":"1fac5-1f3fc"},"person_with_crown_medium_skin_tone":{"e":"\u{1fac5}\u{1f3fd}","c":"1fac5-1f3fd"},"person_with_crown_medium_dark_skin_tone":{"e":"\u{1fac5}\u{1f3fe}","c":"1fac5-1f3fe"},"person_with_crown_dark_skin_tone":{"e":"\u{1fac5}\u{1f3ff}","c":"1fac5-1f3ff"},"person_with_crown":{"e":"\u{1fac5}","c":"1fac5"},"fingerprint":{"e":"\u{1fac6}","c":"1fac6"},"hairy_creature":{"e":"\u{1fac8}","c":"1fac8"},"orca":{"e":"\u{1facd}","c":"1facd"},"moose":{"e":"\u{1face}","c":"1face"},"donkey":{"e":"\u{1facf}","c":"1facf"},"blueberries":{"e":"\u{1fad0}","c":"1fad0"},"bell_pepper":{"e":"\u{1fad1}","c":"1fad1"},"olive":{"e":"\u{1fad2}","c":"1fad2"},"flatbread":{"e":"\u{1fad3}","c":"1fad3"},"tamale":{"e":"\u{1fad4}","c":"1fad4"},"fondue":{"e":"\u{1fad5}","c":"1fad5"},"teapot":{"e":"\u{1fad6}","c":"1fad6"},"pouring_liquid":{"e":"\u{1fad7}","c":"1fad7"},"beans":{"e":"\u{1fad8}","c":"1fad8"},"jar":{"e":"\u{1fad9}","c":"1fad9"},"ginger_root":{"e":"\u{1fada}","c":"1fada"},"pea_pod":{"e":"\u{1fadb}","c":"1fadb"},"root_vegetable":{"e":"\u{1fadc}","c":"1fadc"},"splatter":{"e":"\u{1fadf}","c":"1fadf"},"melting_face":{"e":"\u{1fae0}","c":"1fae0"},"saluting_face":{"e":"\u{1fae1}","c":"1fae1"},"face_with_open_eyes_and_hand_over_mouth":{"e":"\u{1fae2}","c":"1fae2"},"face_with_peeking_eye":{"e":"\u{1fae3}","c":"1fae3"},"face_with_diagonal_mouth":{"e":"\u{1fae4}","c":"1fae4"},"dotted_line_face":{"e":"\u{1fae5}","c":"1fae5"},"biting_lip":{"e":"\u{1fae6}","c":"1fae6"},"bubbles":{"e":"\u{1fae7}","c":"1fae7"},"shaking_face":{"e":"\u{1fae8}","c":"1fae8"},"face_with_bags_under_eyes":{"e":"\u{1fae9}","c":"1fae9"},"distorted_face":{"e":"\u{1faea}","c":"1faea"},"fight_cloud":{"e":"\u{1faef}","c":"1faef"},"hand_with_index_finger_and_thumb_crossed_light_skin_tone":{"e":"\u{1faf0}\u{1f3fb}","c":"1faf0-1f3fb"},"hand_with_index_finger_and_thumb_crossed_medium_light_skin_tone":{"e":"\u{1faf0}\u{1f3fc}","c":"1faf0-1f3fc"},"hand_with_index_finger_and_thumb_crossed_medium_skin_tone":{"e":"\u{1faf0}\u{1f3fd}","c":"1faf0-1f3fd"},"hand_with_index_finger_and_thumb_crossed_medium_dark_skin_tone":{"e":"\u{1faf0}\u{1f3fe}","c":"1faf0-1f3fe"},"hand_with_index_finger_and_thumb_crossed_dark_skin_tone":{"e":"\u{1faf0}\u{1f3ff}","c":"1faf0-1f3ff"},"hand_with_index_finger_and_thumb_crossed":{"e":"\u{1faf0}","c":"1faf0"},"handshake:_light_skin_tone,_medium_light_skin_tone":{"e":"\u{1faf1}\u{1f3fb}\u{200d}\u{1faf2}\u{1f3fc}","c":"1faf1-1f3fb-200d-1faf2-1f3fc"},"handshake:_light_skin_tone,_medium_skin_tone":{"e":"\u{1faf1}\u{1f3fb}\u{200d}\u{1faf2}\u{1f3fd}","c":"1faf1-1f3fb-200d-1faf2-1f3fd"},"handshake:_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1faf1}\u{1f3fb}\u{200d}\u{1faf2}\u{1f3fe}","c":"1faf1-1f3fb-200d-1faf2-1f3fe"},"handshake:_light_skin_tone,_dark_skin_tone":{"e":"\u{1faf1}\u{1f3fb}\u{200d}\u{1faf2}\u{1f3ff}","c":"1faf1-1f3fb-200d-1faf2-1f3ff"},"rightwards_hand_light_skin_tone":{"e":"\u{1faf1}\u{1f3fb}","c":"1faf1-1f3fb"},"handshake:_medium_light_skin_tone,_light_skin_tone":{"e":"\u{1faf1}\u{1f3fc}\u{200d}\u{1faf2}\u{1f3fb}","c":"1faf1-1f3fc-200d-1faf2-1f3fb"},"handshake:_medium_light_skin_tone,_medium_skin_tone":{"e":"\u{1faf1}\u{1f3fc}\u{200d}\u{1faf2}\u{1f3fd}","c":"1faf1-1f3fc-200d-1faf2-1f3fd"},"handshake:_medium_light_skin_tone,_medium_dark_skin_tone":{"e":"\u{1faf1}\u{1f3fc}\u{200d}\u{1faf2}\u{1f3fe}","c":"1faf1-1f3fc-200d-1faf2-1f3fe"},"handshake:_medium_light_skin_tone,_dark_skin_tone":{"e":"\u{1faf1}\u{1f3fc}\u{200d}\u{1faf2}\u{1f3ff}","c":"1faf1-1f3fc-200d-1faf2-1f3ff"},"rightwards_hand_medium_light_skin_tone":{"e":"\u{1faf1}\u{1f3fc}","c":"1faf1-1f3fc"},"handshake:_medium_skin_tone,_light_skin_tone":{"e":"\u{1faf1}\u{1f3fd}\u{200d}\u{1faf2}\u{1f3fb}","c":"1faf1-1f3fd-200d-1faf2-1f3fb"},"handshake:_medium_skin_tone,_medium_light_skin_tone":{"e":"\u{1faf1}\u{1f3fd}\u{200d}\u{1faf2}\u{1f3fc}","c":"1faf1-1f3fd-200d-1faf2-1f3fc"},"handshake:_medium_skin_tone,_medium_dark_skin_tone":{"e":"\u{1faf1}\u{1f3fd}\u{200d}\u{1faf2}\u{1f3fe}","c":"1faf1-1f3fd-200d-1faf2-1f3fe"},"handshake:_medium_skin_tone,_dark_skin_tone":{"e":"\u{1faf1}\u{1f3fd}\u{200d}\u{1faf2}\u{1f3ff}","c":"1faf1-1f3fd-200d-1faf2-1f3ff"},"rightwards_hand_medium_skin_tone":{"e":"\u{1faf1}\u{1f3fd}","c":"1faf1-1f3fd"},"handshake:_medium_dark_skin_tone,_light_skin_tone":{"e":"\u{1faf1}\u{1f3fe}\u{200d}\u{1faf2}\u{1f3fb}","c":"1faf1-1f3fe-200d-1faf2-1f3fb"},"handshake:_medium_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1faf1}\u{1f3fe}\u{200d}\u{1faf2}\u{1f3fc}","c":"1faf1-1f3fe-200d-1faf2-1f3fc"},"handshake:_medium_dark_skin_tone,_medium_skin_tone":{"e":"\u{1faf1}\u{1f3fe}\u{200d}\u{1faf2}\u{1f3fd}","c":"1faf1-1f3fe-200d-1faf2-1f3fd"},"handshake:_medium_dark_skin_tone,_dark_skin_tone":{"e":"\u{1faf1}\u{1f3fe}\u{200d}\u{1faf2}\u{1f3ff}","c":"1faf1-1f3fe-200d-1faf2-1f3ff"},"rightwards_hand_medium_dark_skin_tone":{"e":"\u{1faf1}\u{1f3fe}","c":"1faf1-1f3fe"},"handshake:_dark_skin_tone,_light_skin_tone":{"e":"\u{1faf1}\u{1f3ff}\u{200d}\u{1faf2}\u{1f3fb}","c":"1faf1-1f3ff-200d-1faf2-1f3fb"},"handshake:_dark_skin_tone,_medium_light_skin_tone":{"e":"\u{1faf1}\u{1f3ff}\u{200d}\u{1faf2}\u{1f3fc}","c":"1faf1-1f3ff-200d-1faf2-1f3fc"},"handshake:_dark_skin_tone,_medium_skin_tone":{"e":"\u{1faf1}\u{1f3ff}\u{200d}\u{1faf2}\u{1f3fd}","c":"1faf1-1f3ff-200d-1faf2-1f3fd"},"handshake:_dark_skin_tone,_medium_dark_skin_tone":{"e":"\u{1faf1}\u{1f3ff}\u{200d}\u{1faf2}\u{1f3fe}","c":"1faf1-1f3ff-200d-1faf2-1f3fe"},"rightwards_hand_dark_skin_tone":{"e":"\u{1faf1}\u{1f3ff}","c":"1faf1-1f3ff"},"rightwards_hand":{"e":"\u{1faf1}","c":"1faf1"},"leftwards_hand_light_skin_tone":{"e":"\u{1faf2}\u{1f3fb}","c":"1faf2-1f3fb"},"leftwards_hand_medium_light_skin_tone":{"e":"\u{1faf2}\u{1f3fc}","c":"1faf2-1f3fc"},"leftwards_hand_medium_skin_tone":{"e":"\u{1faf2}\u{1f3fd}","c":"1faf2-1f3fd"},"leftwards_hand_medium_dark_skin_tone":{"e":"\u{1faf2}\u{1f3fe}","c":"1faf2-1f3fe"},"leftwards_hand_dark_skin_tone":{"e":"\u{1faf2}\u{1f3ff}","c":"1faf2-1f3ff"},"leftwards_hand":{"e":"\u{1faf2}","c":"1faf2"},"palm_down_hand_light_skin_tone":{"e":"\u{1faf3}\u{1f3fb}","c":"1faf3-1f3fb"},"palm_down_hand_medium_light_skin_tone":{"e":"\u{1faf3}\u{1f3fc}","c":"1faf3-1f3fc"},"palm_down_hand_medium_skin_tone":{"e":"\u{1faf3}\u{1f3fd}","c":"1faf3-1f3fd"},"palm_down_hand_medium_dark_skin_tone":{"e":"\u{1faf3}\u{1f3fe}","c":"1faf3-1f3fe"},"palm_down_hand_dark_skin_tone":{"e":"\u{1faf3}\u{1f3ff}","c":"1faf3-1f3ff"},"palm_down_hand":{"e":"\u{1faf3}","c":"1faf3"},"palm_up_hand_light_skin_tone":{"e":"\u{1faf4}\u{1f3fb}","c":"1faf4-1f3fb"},"palm_up_hand_medium_light_skin_tone":{"e":"\u{1faf4}\u{1f3fc}","c":"1faf4-1f3fc"},"palm_up_hand_medium_skin_tone":{"e":"\u{1faf4}\u{1f3fd}","c":"1faf4-1f3fd"},"palm_up_hand_medium_dark_skin_tone":{"e":"\u{1faf4}\u{1f3fe}","c":"1faf4-1f3fe"},"palm_up_hand_dark_skin_tone":{"e":"\u{1faf4}\u{1f3ff}","c":"1faf4-1f3ff"},"palm_up_hand":{"e":"\u{1faf4}","c":"1faf4"},"index_pointing_at_the_viewer_light_skin_tone":{"e":"\u{1faf5}\u{1f3fb}","c":"1faf5-1f3fb"},"index_pointing_at_the_viewer_medium_light_skin_tone":{"e":"\u{1faf5}\u{1f3fc}","c":"1faf5-1f3fc"},"index_pointing_at_the_viewer_medium_skin_tone":{"e":"\u{1faf5}\u{1f3fd}","c":"1faf5-1f3fd"},"index_pointing_at_the_viewer_medium_dark_skin_tone":{"e":"\u{1faf5}\u{1f3fe}","c":"1faf5-1f3fe"},"index_pointing_at_the_viewer_dark_skin_tone":{"e":"\u{1faf5}\u{1f3ff}","c":"1faf5-1f3ff"},"index_pointing_at_the_viewer":{"e":"\u{1faf5}","c":"1faf5"},"heart_hands_light_skin_tone":{"e":"\u{1faf6}\u{1f3fb}","c":"1faf6-1f3fb"},"heart_hands_medium_light_skin_tone":{"e":"\u{1faf6}\u{1f3fc}","c":"1faf6-1f3fc"},"heart_hands_medium_skin_tone":{"e":"\u{1faf6}\u{1f3fd}","c":"1faf6-1f3fd"},"heart_hands_medium_dark_skin_tone":{"e":"\u{1faf6}\u{1f3fe}","c":"1faf6-1f3fe"},"heart_hands_dark_skin_tone":{"e":"\u{1faf6}\u{1f3ff}","c":"1faf6-1f3ff"},"heart_hands":{"e":"\u{1faf6}","c":"1faf6"},"leftwards_pushing_hand_light_skin_tone":{"e":"\u{1faf7}\u{1f3fb}","c":"1faf7-1f3fb"},"leftwards_pushing_hand_medium_light_skin_tone":{"e":"\u{1faf7}\u{1f3fc}","c":"1faf7-1f3fc"},"leftwards_pushing_hand_medium_skin_tone":{"e":"\u{1faf7}\u{1f3fd}","c":"1faf7-1f3fd"},"leftwards_pushing_hand_medium_dark_skin_tone":{"e":"\u{1faf7}\u{1f3fe}","c":"1faf7-1f3fe"},"leftwards_pushing_hand_dark_skin_tone":{"e":"\u{1faf7}\u{1f3ff}","c":"1faf7-1f3ff"},"leftwards_pushing_hand":{"e":"\u{1faf7}","c":"1faf7"},"rightwards_pushing_hand_light_skin_tone":{"e":"\u{1faf8}\u{1f3fb}","c":"1faf8-1f3fb"},"rightwards_pushing_hand_medium_light_skin_tone":{"e":"\u{1faf8}\u{1f3fc}","c":"1faf8-1f3fc"},"rightwards_pushing_hand_medium_skin_tone":{"e":"\u{1faf8}\u{1f3fd}","c":"1faf8-1f3fd"},"rightwards_pushing_hand_medium_dark_skin_tone":{"e":"\u{1faf8}\u{1f3fe}","c":"1faf8-1f3fe"},"rightwards_pushing_hand_dark_skin_tone":{"e":"\u{1faf8}\u{1f3ff}","c":"1faf8-1f3ff"},"rightwards_pushing_hand":{"e":"\u{1faf8}","c":"1faf8"},"double_exclamation_mark":{"e":"\u{203c}","c":"203c"},"exclamation_question_mark":{"e":"\u{2049}","c":2049},"trade_mark":{"e":"\u{2122}","c":2122},"information":{"e":"\u{2139}","c":2139},"left_right_arrow":{"e":"\u{2194}","c":2194},"up_down_arrow":{"e":"\u{2195}","c":2195},"up_left_arrow":{"e":"\u{2196}","c":2196},"up_right_arrow":{"e":"\u{2197}","c":2197},"down_right_arrow":{"e":"\u{2198}","c":2198},"down_left_arrow":{"e":"\u{2199}","c":2199},"right_arrow_curving_left":{"e":"\u{21a9}","c":"21a9"},"left_arrow_curving_right":{"e":"\u{21aa}","c":"21aa"},"watch":{"e":"\u{231a}","c":"231a"},"hourglass_done":{"e":"\u{231b}","c":"231b"},"keyboard":{"e":"\u{2328}","c":2328},"eject_button":{"e":"\u{23cf}","c":"23cf"},"fast_forward_button":{"e":"\u{23e9}","c":"23e9"},"fast_reverse_button":{"e":"\u{23ea}","c":"23ea"},"fast_up_button":{"e":"\u{23eb}","c":"23eb"},"fast_down_button":{"e":"\u{23ec}","c":"23ec"},"next_track_button":{"e":"\u{23ed}","c":"23ed"},"last_track_button":{"e":"\u{23ee}","c":"23ee"},"play_or_pause_button":{"e":"\u{23ef}","c":"23ef"},"alarm_clock":{"e":"\u{23f0}","c":"23f0"},"stopwatch":{"e":"\u{23f1}","c":"23f1"},"timer_clock":{"e":"\u{23f2}","c":"23f2"},"hourglass_not_done":{"e":"\u{23f3}","c":"23f3"},"pause_button":{"e":"\u{23f8}","c":"23f8"},"stop_button":{"e":"\u{23f9}","c":"23f9"},"record_button":{"e":"\u{23fa}","c":"23fa"},"circled_m":{"e":"\u{24c2}","c":"24c2"},"black_small_square":{"e":"\u{25aa}","c":"25aa"},"white_small_square":{"e":"\u{25ab}","c":"25ab"},"play_button":{"e":"\u{25b6}","c":"25b6"},"reverse_button":{"e":"\u{25c0}","c":"25c0"},"white_medium_square":{"e":"\u{25fb}","c":"25fb"},"black_medium_square":{"e":"\u{25fc}","c":"25fc"},"white_medium_small_square":{"e":"\u{25fd}","c":"25fd"},"black_medium_small_square":{"e":"\u{25fe}","c":"25fe"},"sun":{"e":"\u{2600}","c":2600},"cloud":{"e":"\u{2601}","c":2601},"umbrella":{"e":"\u{2602}","c":2602},"snowman":{"e":"\u{2603}","c":2603},"comet":{"e":"\u{2604}","c":2604},"telephone":{"e":"\u{260e}","c":"260e"},"check_box_with_check":{"e":"\u{2611}","c":2611},"umbrella_with_rain_drops":{"e":"\u{2614}","c":2614},"hot_beverage":{"e":"\u{2615}","c":2615},"shamrock":{"e":"\u{2618}","c":2618},"index_pointing_up_light_skin_tone":{"e":"\u{261d}\u{1f3fb}","c":"261d-1f3fb"},"index_pointing_up_medium_light_skin_tone":{"e":"\u{261d}\u{1f3fc}","c":"261d-1f3fc"},"index_pointing_up_medium_skin_tone":{"e":"\u{261d}\u{1f3fd}","c":"261d-1f3fd"},"index_pointing_up_medium_dark_skin_tone":{"e":"\u{261d}\u{1f3fe}","c":"261d-1f3fe"},"index_pointing_up_dark_skin_tone":{"e":"\u{261d}\u{1f3ff}","c":"261d-1f3ff"},"index_pointing_up":{"e":"\u{261d}","c":"261d"},"skull_and_crossbones":{"e":"\u{2620}","c":2620},"radioactive":{"e":"\u{2622}","c":2622},"biohazard":{"e":"\u{2623}","c":2623},"orthodox_cross":{"e":"\u{2626}","c":2626},"star_and_crescent":{"e":"\u{262a}","c":"262a"},"peace_symbol":{"e":"\u{262e}","c":"262e"},"yin_yang":{"e":"\u{262f}","c":"262f"},"wheel_of_dharma":{"e":"\u{2638}","c":2638},"frowning_face":{"e":"\u{2639}","c":2639},"smiling_face":{"e":"\u{263a}","c":"263a"},"female_sign":{"e":"\u{2640}","c":2640},"male_sign":{"e":"\u{2642}","c":2642},"aries":{"e":"\u{2648}","c":2648},"taurus":{"e":"\u{2649}","c":2649},"gemini":{"e":"\u{264a}","c":"264a"},"cancer":{"e":"\u{264b}","c":"264b"},"leo":{"e":"\u{264c}","c":"264c"},"virgo":{"e":"\u{264d}","c":"264d"},"libra":{"e":"\u{264e}","c":"264e"},"scorpio":{"e":"\u{264f}","c":"264f"},"sagittarius":{"e":"\u{2650}","c":2650},"capricorn":{"e":"\u{2651}","c":2651},"aquarius":{"e":"\u{2652}","c":2652},"pisces":{"e":"\u{2653}","c":2653},"chess_pawn":{"e":"\u{265f}","c":"265f"},"spade_suit":{"e":"\u{2660}","c":2660},"club_suit":{"e":"\u{2663}","c":2663},"heart_suit":{"e":"\u{2665}","c":2665},"diamond_suit":{"e":"\u{2666}","c":2666},"hot_springs":{"e":"\u{2668}","c":2668},"recycling_symbol":{"e":"\u{267b}","c":"267b"},"infinity":{"e":"\u{267e}","c":"267e"},"wheelchair_symbol":{"e":"\u{267f}","c":"267f"},"hammer_and_pick":{"e":"\u{2692}","c":2692},"anchor":{"e":"\u{2693}","c":2693},"crossed_swords":{"e":"\u{2694}","c":2694},"medical_symbol":{"e":"\u{2695}","c":2695},"balance_scale":{"e":"\u{2696}","c":2696},"alembic":{"e":"\u{2697}","c":2697},"gear":{"e":"\u{2699}","c":2699},"atom_symbol":{"e":"\u{269b}","c":"269b"},"fleur_de_lis":{"e":"\u{269c}","c":"269c"},"warning":{"e":"\u{26a0}","c":"26a0"},"high_voltage":{"e":"\u{26a1}","c":"26a1"},"transgender_symbol":{"e":"\u{26a7}","c":"26a7"},"white_circle":{"e":"\u{26aa}","c":"26aa"},"black_circle":{"e":"\u{26ab}","c":"26ab"},"coffin":{"e":"\u{26b0}","c":"26b0"},"funeral_urn":{"e":"\u{26b1}","c":"26b1"},"soccer_ball":{"e":"\u{26bd}","c":"26bd"},"baseball":{"e":"\u{26be}","c":"26be"},"snowman_without_snow":{"e":"\u{26c4}","c":"26c4"},"sun_behind_cloud":{"e":"\u{26c5}","c":"26c5"},"cloud_with_lightning_and_rain":{"e":"\u{26c8}","c":"26c8"},"ophiuchus":{"e":"\u{26ce}","c":"26ce"},"pick":{"e":"\u{26cf}","c":"26cf"},"rescue_worker\u2019s_helmet":{"e":"\u{26d1}","c":"26d1"},"broken_chain":{"e":"\u{26d3}\u{fe0f}\u{200d}\u{1f4a5}","c":"26d3-fe0f-200d-1f4a5"},"chains":{"e":"\u{26d3}","c":"26d3"},"no_entry":{"e":"\u{26d4}","c":"26d4"},"shinto_shrine":{"e":"\u{26e9}","c":"26e9"},"church":{"e":"\u{26ea}","c":"26ea"},"mountain":{"e":"\u{26f0}","c":"26f0"},"umbrella_on_ground":{"e":"\u{26f1}","c":"26f1"},"fountain":{"e":"\u{26f2}","c":"26f2"},"flag_in_hole":{"e":"\u{26f3}","c":"26f3"},"ferry":{"e":"\u{26f4}","c":"26f4"},"sailboat":{"e":"\u{26f5}","c":"26f5"},"skier":{"e":"\u{26f7}","c":"26f7"},"ice_skate":{"e":"\u{26f8}","c":"26f8"},"woman_bouncing_ball:_light_skin_tone":{"e":"\u{26f9}\u{1f3fb}\u{200d}\u{2640}\u{fe0f}","c":"26f9-1f3fb-200d-2640-fe0f"},"man_bouncing_ball:_light_skin_tone":{"e":"\u{26f9}\u{1f3fb}\u{200d}\u{2642}\u{fe0f}","c":"26f9-1f3fb-200d-2642-fe0f"},"person_bouncing_ball_light_skin_tone":{"e":"\u{26f9}\u{1f3fb}","c":"26f9-1f3fb"},"woman_bouncing_ball:_medium_light_skin_tone":{"e":"\u{26f9}\u{1f3fc}\u{200d}\u{2640}\u{fe0f}","c":"26f9-1f3fc-200d-2640-fe0f"},"man_bouncing_ball:_medium_light_skin_tone":{"e":"\u{26f9}\u{1f3fc}\u{200d}\u{2642}\u{fe0f}","c":"26f9-1f3fc-200d-2642-fe0f"},"person_bouncing_ball_medium_light_skin_tone":{"e":"\u{26f9}\u{1f3fc}","c":"26f9-1f3fc"},"woman_bouncing_ball:_medium_skin_tone":{"e":"\u{26f9}\u{1f3fd}\u{200d}\u{2640}\u{fe0f}","c":"26f9-1f3fd-200d-2640-fe0f"},"man_bouncing_ball:_medium_skin_tone":{"e":"\u{26f9}\u{1f3fd}\u{200d}\u{2642}\u{fe0f}","c":"26f9-1f3fd-200d-2642-fe0f"},"person_bouncing_ball_medium_skin_tone":{"e":"\u{26f9}\u{1f3fd}","c":"26f9-1f3fd"},"woman_bouncing_ball:_medium_dark_skin_tone":{"e":"\u{26f9}\u{1f3fe}\u{200d}\u{2640}\u{fe0f}","c":"26f9-1f3fe-200d-2640-fe0f"},"man_bouncing_ball:_medium_dark_skin_tone":{"e":"\u{26f9}\u{1f3fe}\u{200d}\u{2642}\u{fe0f}","c":"26f9-1f3fe-200d-2642-fe0f"},"person_bouncing_ball_medium_dark_skin_tone":{"e":"\u{26f9}\u{1f3fe}","c":"26f9-1f3fe"},"woman_bouncing_ball:_dark_skin_tone":{"e":"\u{26f9}\u{1f3ff}\u{200d}\u{2640}\u{fe0f}","c":"26f9-1f3ff-200d-2640-fe0f"},"man_bouncing_ball:_dark_skin_tone":{"e":"\u{26f9}\u{1f3ff}\u{200d}\u{2642}\u{fe0f}","c":"26f9-1f3ff-200d-2642-fe0f"},"person_bouncing_ball_dark_skin_tone":{"e":"\u{26f9}\u{1f3ff}","c":"26f9-1f3ff"},"woman_bouncing_ball":{"e":"\u{26f9}\u{fe0f}\u{200d}\u{2640}\u{fe0f}","c":"26f9-fe0f-200d-2640-fe0f"},"man_bouncing_ball":{"e":"\u{26f9}\u{fe0f}\u{200d}\u{2642}\u{fe0f}","c":"26f9-fe0f-200d-2642-fe0f"},"person_bouncing_ball":{"e":"\u{26f9}","c":"26f9"},"tent":{"e":"\u{26fa}","c":"26fa"},"fuel_pump":{"e":"\u{26fd}","c":"26fd"},"scissors":{"e":"\u{2702}","c":2702},"check_mark_button":{"e":"\u{2705}","c":2705},"airplane":{"e":"\u{2708}","c":2708},"envelope":{"e":"\u{2709}","c":2709},"raised_fist_light_skin_tone":{"e":"\u{270a}\u{1f3fb}","c":"270a-1f3fb"},"raised_fist_medium_light_skin_tone":{"e":"\u{270a}\u{1f3fc}","c":"270a-1f3fc"},"raised_fist_medium_skin_tone":{"e":"\u{270a}\u{1f3fd}","c":"270a-1f3fd"},"raised_fist_medium_dark_skin_tone":{"e":"\u{270a}\u{1f3fe}","c":"270a-1f3fe"},"raised_fist_dark_skin_tone":{"e":"\u{270a}\u{1f3ff}","c":"270a-1f3ff"},"raised_fist":{"e":"\u{270a}","c":"270a"},"raised_hand_light_skin_tone":{"e":"\u{270b}\u{1f3fb}","c":"270b-1f3fb"},"raised_hand_medium_light_skin_tone":{"e":"\u{270b}\u{1f3fc}","c":"270b-1f3fc"},"raised_hand_medium_skin_tone":{"e":"\u{270b}\u{1f3fd}","c":"270b-1f3fd"},"raised_hand_medium_dark_skin_tone":{"e":"\u{270b}\u{1f3fe}","c":"270b-1f3fe"},"raised_hand_dark_skin_tone":{"e":"\u{270b}\u{1f3ff}","c":"270b-1f3ff"},"raised_hand":{"e":"\u{270b}","c":"270b"},"victory_hand_light_skin_tone":{"e":"\u{270c}\u{1f3fb}","c":"270c-1f3fb"},"victory_hand_medium_light_skin_tone":{"e":"\u{270c}\u{1f3fc}","c":"270c-1f3fc"},"victory_hand_medium_skin_tone":{"e":"\u{270c}\u{1f3fd}","c":"270c-1f3fd"},"victory_hand_medium_dark_skin_tone":{"e":"\u{270c}\u{1f3fe}","c":"270c-1f3fe"},"victory_hand_dark_skin_tone":{"e":"\u{270c}\u{1f3ff}","c":"270c-1f3ff"},"victory_hand":{"e":"\u{270c}","c":"270c"},"writing_hand_light_skin_tone":{"e":"\u{270d}\u{1f3fb}","c":"270d-1f3fb"},"writing_hand_medium_light_skin_tone":{"e":"\u{270d}\u{1f3fc}","c":"270d-1f3fc"},"writing_hand_medium_skin_tone":{"e":"\u{270d}\u{1f3fd}","c":"270d-1f3fd"},"writing_hand_medium_dark_skin_tone":{"e":"\u{270d}\u{1f3fe}","c":"270d-1f3fe"},"writing_hand_dark_skin_tone":{"e":"\u{270d}\u{1f3ff}","c":"270d-1f3ff"},"writing_hand":{"e":"\u{270d}","c":"270d"},"pencil":{"e":"\u{270f}","c":"270f"},"black_nib":{"e":"\u{2712}","c":2712},"check_mark":{"e":"\u{2714}","c":2714},"multiply":{"e":"\u{2716}","c":2716},"latin_cross":{"e":"\u{271d}","c":"271d"},"star_of_david":{"e":"\u{2721}","c":2721},"sparkles":{"e":"\u{2728}","c":2728},"eight_spoked_asterisk":{"e":"\u{2733}","c":2733},"eight_pointed_star":{"e":"\u{2734}","c":2734},"snowflake":{"e":"\u{2744}","c":2744},"sparkle":{"e":"\u{2747}","c":2747},"cross_mark":{"e":"\u{274c}","c":"274c"},"cross_mark_button":{"e":"\u{274e}","c":"274e"},"red_question_mark":{"e":"\u{2753}","c":2753},"white_question_mark":{"e":"\u{2754}","c":2754},"white_exclamation_mark":{"e":"\u{2755}","c":2755},"red_exclamation_mark":{"e":"\u{2757}","c":2757},"heart_exclamation":{"e":"\u{2763}","c":2763},"heart_on_fire":{"e":"\u{2764}\u{fe0f}\u{200d}\u{1f525}","c":"2764-fe0f-200d-1f525"},"mending_heart":{"e":"\u{2764}\u{fe0f}\u{200d}\u{1fa79}","c":"2764-fe0f-200d-1fa79"},"red_heart":{"e":"\u{2764}","c":2764},"plus":{"e":"\u{2795}","c":2795},"minus":{"e":"\u{2796}","c":2796},"divide":{"e":"\u{2797}","c":2797},"right_arrow":{"e":"\u{27a1}","c":"27a1"},"curly_loop":{"e":"\u{27b0}","c":"27b0"},"double_curly_loop":{"e":"\u{27bf}","c":"27bf"},"right_arrow_curving_up":{"e":"\u{2934}","c":2934},"right_arrow_curving_down":{"e":"\u{2935}","c":2935},"left_arrow":{"e":"\u{2b05}","c":"2b05"},"up_arrow":{"e":"\u{2b06}","c":"2b06"},"down_arrow":{"e":"\u{2b07}","c":"2b07"},"black_large_square":{"e":"\u{2b1b}","c":"2b1b"},"white_large_square":{"e":"\u{2b1c}","c":"2b1c"},"star":{"e":"\u{2b50}","c":"2b50"},"hollow_red_circle":{"e":"\u{2b55}","c":"2b55"},"wavy_dash":{"e":"\u{3030}","c":3030},"part_alternation_mark":{"e":"\u{303d}","c":"303d"},"japanese_\u201ccongratulations\u201d_button":{"e":"\u{3297}","c":3297},"japanese_\u201csecret\u201d_button":{"e":"\u{3299}","c":3299}} \ No newline at end of file diff --git a/frontend/scripts/movim_events.js b/frontend/scripts/movim_events.js new file mode 100644 index 0000000..ebcbdef --- /dev/null +++ b/frontend/scripts/movim_events.js @@ -0,0 +1,94 @@ +/** + * Movim Events + */ + +var MovimEvents = { + eventsBody: {}, + eventsWindow: {}, + isFocused: false, + isTouch: false, + + /** + * @brief Register an event on the body + * @param string event + * @param string key + * @param function action + */ + registerBody: function (event, key, action) { + if (MovimEvents.eventsBody[event] == undefined) { + MovimEvents.eventsBody[event] = {}; + } + + MovimEvents.eventsBody[event][key] = action; + }, + + /** + * @brief Register an event on the window + * @param string event + * @param string key + * @param function action + */ + registerWindow: function (event, key, action) { + if (MovimEvents.eventsWindow[event] == undefined) { + MovimEvents.eventsWindow[event] = {}; + } + + MovimEvents.eventsWindow[event][key] = action; + }, + + triggerBody: function (event, e) { + if (MovimEvents.eventsBody[event] != undefined) { + for (const value of Object.values(MovimEvents.eventsBody[event])) { + value(e); + } + } + }, + + triggerWindow: function (event, e) { + if (MovimEvents.eventsWindow[event] != undefined) { + for (const value of Object.values(MovimEvents.eventsWindow[event])) { + value(e); + } + } + }, + + focusEvent: function (e) { + if (MovimEvents.isFocused) return; + + MovimEvents.isFocused = true; + MovimEvents.triggerWindow('focus', e); + } +} + +document.addEventListener('DOMContentLoaded', (e) => { + // Window + window.addEventListener('load', (e) => MovimEvents.triggerWindow('loaded', e), false); + window.addEventListener('keydown', (e) => MovimEvents.triggerWindow('keydown', e), false); + window.addEventListener('paste', (e) => MovimEvents.triggerWindow('paste', e), false); + window.addEventListener('resize', (e) => MovimEvents.triggerWindow('resize', e), false); + window.addEventListener('online', (e) => MovimEvents.triggerWindow('online', e), false); + window.addEventListener('offline', (e) => MovimEvents.triggerWindow('offline', e), false); + window.addEventListener('popstate', (e) => MovimEvents.triggerWindow('popstate', e), false); + window.addEventListener('touchstart', (e) => MovimEvents.triggerWindow('touchstart', e), false); + window.addEventListener('touchstart', function () { MovimEvents.isTouch = true; }, { once: true }); + + /** + * The focus event doesn't seems to be triggered all the time ¯\_(ツ)_/¯ + */ + window.addEventListener('blur', (e) => { + MovimEvents.isFocused = false; + MovimEvents.triggerWindow('blur', e); + }, false); + window.addEventListener('focusin', (e) => MovimEvents.focusEvent(e), false); + window.addEventListener('mouseover', (e) => MovimEvents.focusEvent(e), false); + + // Body + document.body.addEventListener('click', (e) => MovimEvents.triggerBody('click', e), false); + document.body.addEventListener('keydown', (e) => MovimEvents.triggerBody('keydown', e), false); + document.body.addEventListener('touchstart', (e) => MovimEvents.triggerBody('touchstart', e), false); + document.body.addEventListener('touchend', (e) => MovimEvents.triggerBody('touchend', e), false); + document.body.addEventListener('touchmove', (e) => MovimEvents.triggerBody('touchmove', e), false); + document.body.addEventListener('dragover', (e) => MovimEvents.triggerBody('dragover', e), false); + document.body.addEventListener('drop', (e) => MovimEvents.triggerBody('drop', e), false); + document.body.addEventListener('dragleave', (e) => MovimEvents.triggerBody('dragleave', e), false); +}, false); \ No newline at end of file diff --git a/frontend/scripts/movim_favicon.js b/frontend/scripts/movim_favicon.js new file mode 100644 index 0000000..f87987c --- /dev/null +++ b/frontend/scripts/movim_favicon.js @@ -0,0 +1,75 @@ +var MovimFavicon = { + originalUrl: null, + originalIcon: null, + sizes: '128x128', + + counter: function (counterTab1, counterTab2) { + let counter = counterTab1 + counterTab2; + + link = document.querySelector('link[sizes="' + MovimFavicon.sizes + '"]'); + + canvas = document.createElement("canvas"); + ctx = canvas.getContext('2d'); + + canvas.width = 32; + canvas.height = 32; + + ctx.drawImage(MovimFavicon.originalIcon, 0, 0, 32, 32); + + if (counter > 0) { + large = counter > 9; + if (counter > 99) { + counter = '+'; + large = false; + } + + ctx.textAlign = 'center'; + ctx.font = 'bold 18px Roboto'; + + radius = 5; + x = large ? 4 : 12; + y = 12; + w = large ? 28 : 20; + h = 20; + + var r = x + w; + var b = y + h; + + ctx.beginPath(); + ctx.fillStyle = getComputedStyle(document.body).getPropertyValue(counterTab2 > 0 + ? '--p-red' + : '--movim-accent' + ); + ctx.moveTo(x + radius, y); + ctx.lineTo(r - radius, y); + ctx.quadraticCurveTo(r, y, r, y + radius); + ctx.lineTo(r, y + h - radius); + ctx.quadraticCurveTo(r, b, r - radius, b); + ctx.lineTo(x + radius, b); + ctx.quadraticCurveTo(x, b, x, b - radius); + ctx.lineTo(x, y + radius); + ctx.quadraticCurveTo(x, y, x + radius, y); + ctx.fill(); + + ctx.fillStyle = "#fff"; + counterTextX = large ? 18 : 22; + ctx.fillText(counter, counterTextX, 28, w); + } + + MovimFavicon.set(canvas.toDataURL()); + }, + + set: function (url) { + link = document.querySelector('link[sizes="' + MovimFavicon.sizes + '"]'); + link.href = url; + }, + + init: function () { + link = document.querySelector('link[sizes="' + MovimFavicon.sizes + '"]'); + MovimFavicon.originalUrl = link.href; + MovimFavicon.originalIcon = new Image(); + MovimFavicon.originalIcon.src = MovimFavicon.originalUrl; + } +} + +MovimFavicon.init(); diff --git a/frontend/scripts/movim_jingle_session_audio_worklet.js b/frontend/scripts/movim_jingle_session_audio_worklet.js new file mode 100644 index 0000000..6b8015d --- /dev/null +++ b/frontend/scripts/movim_jingle_session_audio_worklet.js @@ -0,0 +1,61 @@ +class MovimJingleSessionAudioWorklet extends AudioWorkletProcessor { + static BUFFER_SIZE = 128 * 128; + + constructor() { + super(); + this.isMuteStep = 0; + this.remoteMaxLevel = 0; + this.buffer = new Float32Array(MovimJingleSessionAudioWorklet.BUFFER_SIZE); + this.offset = 0; + } + + process(inputList, _outputList, _parameters) { + const input = inputList[0][0]; + + if (input != undefined) { + for (let i = 0; i < input.length; i++) { + this.buffer[i + this.offset] = input[i]; + } + + this.offset += input.length; + + if (this.offset >= this.buffer.length - 1) { + this.flush(); + } + + return true; + } + } + + flush() { + this.offset = 0; + + var instant = 0.0; + var sum = 0.0; + + for (var i = 0; i < this.buffer.length; ++i) { + sum += this.buffer[i] * this.buffer[i]; + } + + instant = Math.sqrt(sum / this.buffer.length); + this.remoteMaxLevel = Math.max(this.remoteMaxLevel, instant); + + var base = (instant / this.remoteMaxLevel); + var level = (base > 0.05) ? base ** .3 : 0; + + // Fallback in case we don't have the proper signalisation + if (level == 0) { + this.isMuteStep++; + } else { + this.isMuteStep = 0; + } + + this.port.postMessage({ + "isMuteStep": this.isMuteStep, + "level": level.toFixed(2), + "published": Date.now() + }); + } +} + +registerProcessor('jinglesession-audioworklet', MovimJingleSessionAudioWorklet); \ No newline at end of file diff --git a/frontend/scripts/movim_jingles.js b/frontend/scripts/movim_jingles.js new file mode 100644 index 0000000..81a886a --- /dev/null +++ b/frontend/scripts/movim_jingles.js @@ -0,0 +1,935 @@ +var MovimJingleSession = function (jid, fullJid, id, name, avatarUrl) { + this.id = id ?? crypto.randomUUID(); + this.jid = jid; + this.fullJid = fullJid; + this.tracksTypes = {}; + this.tracksScreen = {}; + this.name = name; + this.avatarUrl = avatarUrl; + this.audioLevel = 0; + this.lastPostMessage = 0; + + this.audioSharingSender = null; + this.screenSharingSender = null; + + this.pc = new RTCPeerConnection({ + iceServers: MovimVisio.services, + bundlePolicy: 'max-bundle', + iceCandidatePoolSize: 10 + }); + + this.screenSharingPc = null; // RTCPc specific for the SFU + + this.adaptToNetworkCondition = setInterval(() => { + VisioUtils.adaptToNetworkCondition(this.pc); + }, 5000); + + this.participant = document.createElement('div'); + this.participant.dataset.jid = this.jid; + this.participant.classList.add('participant'); + + document.querySelector('#participants').appendChild(this.participant); + + this.participant.classList.add('audio_off'); + this.participant.classList.add('screen_off'); + this.participant.classList.add('video_off'); + + this.remoteScreenVideo = document.createElement('video'); + this.remoteScreenVideo.classList.add('screen'); + this.remoteScreenVideo.autoplay = true; + this.remoteScreenVideo.disablePictureInPicture = true; + this.remoteScreenVideo.poster = BASE_URI + 'theme/img/empty.png'; + this.participant.appendChild(this.remoteScreenVideo); + + this.remoteVideo = document.createElement('video'); + this.remoteVideo.autoplay = true; + this.remoteVideo.disablePictureInPicture = true; + this.remoteVideo.poster = BASE_URI + 'theme/img/empty.png'; + this.remoteVideo.muted = true; + this.participant.appendChild(this.remoteVideo); + + this.remoteAudio = document.createElement('audio'); + this.remoteAudio.autoplay = true; + this.participant.appendChild(this.remoteAudio); + + this.remoteScreenAudio = document.createElement('audio'); + this.remoteScreenAudio.classList.add('screen'); + this.remoteScreenAudio.autoplay = true; + this.participant.appendChild(this.remoteScreenAudio); + + this.callStatus = document.createElement('div') + this.callStatus.classList.add('status'); + this.participant.appendChild(this.callStatus); + + this.audioOffStatus = document.createElement('span'); + this.audioOffStatus.classList.add('audio_off'); + this.callStatus.appendChild(this.audioOffStatus); + + this.videoOffStatus = document.createElement('span'); + this.videoOffStatus.classList.add('video_off'); + this.callStatus.appendChild(this.videoOffStatus); + + this.screenStatus = document.createElement('span'); + this.screenStatus.classList.add('screen'); + this.callStatus.appendChild(this.screenStatus); + + // Pin button + this.pin = document.createElement('span'); + this.pin.classList.add('pin'); + this.participant.appendChild(this.pin); + + this.pin.addEventListener('click', e => { + VisioUtils.toggleMode(true); + + if (MovimJingles.pinned == this.jid) { + MovimJingles.pinned = null; + Visio_ajaxHttpUnpin(); + } else { + MovimJingles.pinned = this.jid; + + if (this.name) { + Visio_ajaxHttpPin(this.name); + } + } + + MovimJingles.checkActiveSpeaker(); + }) + + this.screenQualityInterval = setInterval(() => { + this.callStatus.classList.remove('screen_hd', 'screen_fhd'); + if (!this.participant.classList.contains('screen_off')) { + if (this.remoteScreenVideo.videoWidth >= 1920) { + this.callStatus.classList.add('screen_fhd'); + } else if (this.remoteScreenVideo.videoWidth >= 1280) { + this.callStatus.classList.add('screen_hd'); + } + } + }, 3000); + + if (this.name) { + this.callStatus.dataset.name = this.name; + } + + if (this.avatarUrl) { + let background = document.createElement('img'); + background.classList.add('avatar'); + background.src = this.avatarUrl; + this.participant.prepend(background); + } + + this.pc.ontrack = event => { + var srcObject = null; + + if (event.streams && event.streams[0]) { + srcObject = event.streams[0]; + } else { + srcObject = new MediaStream(); + srcObject.addTrack(event.track); + } + + if (event.track.kind == 'audio') { + if (this.tracksScreen[event.transceiver.mid]) { + this.remoteScreenAudio.srcObject = srcObject; + this.tracksTypes['mid' + event.transceiver.mid] = 'audio_screen'; + } else { + this.remoteAudio.srcObject = srcObject; + this.participant.classList.remove('audio_off'); + this.handleRemoteAudio(); + this.tracksTypes['mid' + event.transceiver.mid] = 'audio'; + } + } else if (event.track.kind === 'video') { + if (this.tracksScreen[event.transceiver.mid]) { + this.remoteScreenVideo.srcObject = srcObject; + this.tracksTypes['mid' + event.transceiver.mid] = 'video_screen'; + this.remoteScreenVideo.oncanplay = event => { + this.participant.classList.remove('screen_off'); + } + } else { + this.remoteVideo.srcObject = srcObject; + this.tracksTypes['mid' + event.transceiver.mid] = 'video'; + this.participant.classList.remove('video_off'); + } + } + } + + this.pc.onnegotiationneeded = event => { + if (this.pc.localDescription) { + this.oldLocalDescription = this.pc.localDescription.sdp; + + this.pc.getTransceivers().forEach(transceiver => { + if (transceiver.sender.track && transceiver.sender.track.kind === 'video') { + VisioUtils.setVideoCodecPreferences(transceiver); + } + }); + + this.pc.createOffer() + .then(offer => { + offer.sdp = this.maybeInjectScreenCategory(offer.sdp); + return this.pc.setLocalDescription(offer) + }).then(() => this.updateContent()) + .catch(err => MovimUtils.logError(err)); + } + }; + + this.pc.onicecandidate = event => { + let candidate = event.candidate; + if (candidate && candidate.candidate && candidate.candidate.length > 0) { + Visio_ajaxCandidate(this.fullJid, this.id, event.candidate); + } + }; + + /** + * Add all the existing tracks + */ + + if (MovimVisio.sfu == null) { + MovimVisio.localStream.getTracks().forEach(track => { + this.pc.addTrack(track, MovimVisio.localStream); + }); + + if (MovimVisio.screenSharing.srcObject) { + this.enableScreenSharing(); + } + } + + Notif.userJoinedCall(); + MovimJingles.checkActiveSpeaker(); +} + +MovimJingleSession.prototype.handleRemoteAudio = async function () { + this.remoteAudioContext = new AudioContext(); + + try { + var remoteMicrophone = this.remoteAudioContext.createMediaStreamSource( + this.remoteAudio.srcObject + ); + + await this.remoteAudioContext.audioWorklet.addModule(BASE_URI + 'scripts/movim_jingle_session_audio_worklet.js'); + const audioWorkletNode = new AudioWorkletNode(this.remoteAudioContext, 'jinglesession-audioworklet'); + remoteMicrophone.connect(audioWorkletNode); + + audioWorkletNode.port.onmessage = (e) => { + this.processRemoteAudioMessage(e.data); + }; + + } catch (error) { + MovimUtils.logError(error); + return; + } +} + +/** + * In some clients, such as Dino, the buffer is stopped when the microphone is muted + * we detect that there and send a clear message properly + */ +MovimJingleSession.prototype.clearRemoteAudioMessage = function () { + const second = 1000; + const secondAgo = Date.now() - second; + + if (this.lastPostMessage < secondAgo) { + this.processRemoteAudioMessage({ + "isMuteStep": 5, + "level": 0, + "published": Date.now() + }); + } +} + +MovimJingleSession.prototype.processRemoteAudioMessage = function (message) { + if (message.isMuteStep >= 5) { + this.participant.classList.add('audio_off'); + } else { + this.participant.classList.remove('audio_off'); + } + + this.lastPostMessage = message.published; + this.audioLevel = message.level; + this.participant.style.setProperty('--level', message.level); + + if (message.level > 0) { + clearTimeout(this.clearRemoteAudioMessageId); + this.clearRemoteAudioMessageId = setTimeout(this.clearRemoteAudioMessage.bind(this), 2000); + } +} + +/** + * movim-rs: the signaling messages can arrive faster than the asynchronous + * WebRTC calls complete (a content-add right after a session-accept, candidates + * before the remote description), run them one after the other. + */ +MovimJingleSession.prototype.enqueue = function (task) { + this.queue = (this.queue || Promise.resolve()) + .then(() => this.pc ? task() : null) + .catch(error => MovimUtils.logError(error)); +} + +MovimJingleSession.prototype.onCandidate = function (candidate, mid, mlineindex) { + this.enqueue(() => this._onCandidate(candidate, mid, mlineindex)); +} + +MovimJingleSession.prototype.onContentAdd = function (sdp, mids) { + this.enqueue(() => this._onContentAdd(sdp, mids)); +} + +MovimJingleSession.prototype.onContentModify = function (sdp, mid) { + this.enqueue(() => this._onContentModify(sdp, mid)); +} + +MovimJingleSession.prototype.onContentRemove = function (sdp, mids) { + this.enqueue(() => this._onContentRemove(sdp, mids)); +} + +MovimJingleSession.prototype.onAcceptSDP = function (sdp) { + this.enqueue(() => this._onAcceptSDP(sdp)); +} + +MovimJingleSession.prototype.onInitiateSDP = function (sdp) { + this.enqueue(() => this._onInitiateSDP(sdp)); +} + +MovimJingleSession.prototype.terminate = function (reason, muji) { + if (MovimVisio.sfu == null) { + Visio_ajaxTerminate(this.fullJid, this.id, reason, muji); + } + this.close(); +} + +MovimJingleSession.prototype.close = function () { + clearInterval(this.adaptToNetworkCondition); + clearInterval(this.screenQualityInterval); + + Notif.userLeftCall(); + + if (this.pc) { + this.pc.close(); + this.pc = null; + } + + if (this.remoteAudioContext) { + this.remoteAudioContext.close(); + this.remoteAudioContext = null; + } + + let participant = document.querySelector('.participant[data-jid="' + this.jid + '"]'); + if (participant) participant.remove(); + + let remoteVideoStream = this.remoteVideo.srcObject; + if (remoteVideoStream) { + remoteVideoStream.getTracks().forEach(track => track.stop()); + remoteVideoStream = null; + } + + let remoteAudioStream = this.remoteAudio.srcObject; + if (remoteAudioStream) { + remoteAudioStream.getTracks().forEach(track => track.stop()); + remoteAudioStream = null; + } +} + +MovimJingleSession.prototype._onCandidate = function (candidate, mid, mlineindex) { + const iceCandidate = new RTCIceCandidate({ + // filter the a=candidate lines + 'candidate': candidate.split(/\n/).filter(line => { + return line.startsWith('a=candidate'); + }).join('').substring(2), + 'sdpMid': mid, + 'sdpMLineIndex': mlineindex + }); + + // When we share our own screen have some candidates from the SFU for our PC + if (this.jid == MovimVisio.sfu && MovimVisio.screenshareSFUPc) { + MovimVisio.screenshareSFUPc.addIceCandidate(iceCandidate).catch(error => MovimUtils.logError(error)); + } + + if (this.screenSharingPc) { + // In this case we send the candidate to both pcs, and let it sort it out ¯\_(ツ)_/¯ + this.screenSharingPc.addIceCandidate(iceCandidate).catch(error => MovimUtils.logError(error)); + } else if (this.pc && this.pc.remoteDescription) { + return this.pc.addIceCandidate(iceCandidate).catch(error => MovimUtils.logError(error)); + } +} + +MovimJingleSession.prototype._onContentAdd = function (sdp, mids) { + remoteDescription = this.pc.remoteDescription.sdp; + remoteDescription += sdp.match('m=[^]*'); + remoteDescription = remoteDescription.replace(/^a=group.*/m, sdp.match(/a=group.*/)[0]); + + this.maybeDetectTracksScreen(sdp); + + return this.pc.setRemoteDescription({ 'sdp': remoteDescription + "\n", 'type': 'offer' }) + .then(() => { + return this.pc.createAnswer() + .then(answer => this.pc.setLocalDescription(answer)) + .then(() => Visio_ajaxContentAccept(this.fullJid, this.id, this.pc.localDescription.sdp)) + .catch(MovimUtils.logError); + }) + .catch(error => MovimUtils.logError(error)); +} + +MovimJingleSession.prototype._onContentModify = function (sdp, mid) { + // TODO, implement mid + this.maybeDetectTracksScreen(sdp); + + return this.pc.setRemoteDescription({ 'sdp': sdp + "\n", 'type': 'offer' }) + .then(() => { + return this.pc.createAnswer() + .then(answer => this.pc.setLocalDescription(answer)) + .then(() => Visio_ajaxContentAccept(this.fullJid, this.id, this.pc.localDescription.sdp)) + .catch(MovimUtils.logError); + }) + .catch(error => MovimUtils.logError(error)); +} + +MovimJingleSession.prototype._onContentRemove = function (sdp, mids) { + remoteDescription = this.pc.remoteDescription.sdp; + mids.forEach(mid => delete this.tracksScreen[mid]); + + let parts = remoteDescription.split('m='); + let filtered = []; + + parts.forEach(part => { + let mid = part.match(/a=mid:(.*)/); + if (!mid || !mids.includes(mid[1])) { + filtered.push(part) + } + }); + + remoteDescription = filtered.join('m='); + return this.pc.setRemoteDescription({ 'sdp': sdp + "\n", 'type': 'offer' }) + .then(() => { + return this.pc.createAnswer() + .then(answer => this.pc.setLocalDescription(answer)) + .then(() => Visio_ajaxContentAccept(this.fullJid, this.id, this.pc.localDescription.sdp)) + .catch(MovimUtils.logError); + }) + .catch(error => MovimUtils.logError(error)); +} + +MovimJingleSession.prototype.sessionInitiate = function (fullJid, id, mujiRoom) { + this.id = id; + this.fullJid = fullJid; + + this.pc.getTransceivers().forEach(transceiver => { + if (transceiver.sender.track.kind === 'video') { + VisioUtils.setVideoCodecPreferences(transceiver) + } + }); + + this.pc.createOffer() + .then(offer => this.pc.setLocalDescription(offer)) + .then(() => Visio_ajaxSessionInitiate(this.fullJid, this.pc.localDescription, id, mujiRoom)); +} + +MovimJingleSession.prototype.updateContent = function () { + let oldMedias = this.oldLocalDescription.match(MovimVisio.bundleRegex)[2].split(' '); + let newMedias = this.pc.localDescription.sdp.match(MovimVisio.bundleRegex)[2].split(' '); + + let createdMedias = newMedias.filter((e) => !oldMedias.includes(e)); + let destroyedMedias = oldMedias.filter((e) => !newMedias.includes(e)); + + let changed = false; + let localDescription = this.maybeInjectScreenCategory(this.pc.localDescription.sdp); + + if (createdMedias.length > 0) { + changed = true; + console.log('CONTENT ADD ?' + this.fullJid + ' ' + this.jid); + Visio_ajaxContentAdd(this.fullJid, localDescription, this.id, createdMedias); + } + + if (destroyedMedias.length > 0) { + changed = true; + Visio_ajaxContentRemove(this.fullJid, this.oldLocalDescription, this.id, destroyedMedias); + } + + // Nothing added, nothing removed, lets update everything... + if (changed == false) { + Visio_ajaxContentModify(this.fullJid, localDescription, this.id); + } +} + +MovimJingleSession.prototype._onAcceptSDP = function (sdp) { + this.maybeDetectTracksScreen(sdp); + + return this.pc.setRemoteDescription({ 'sdp': sdp + "\n", 'type': 'answer' }) + .catch(error => { + let visio = document.querySelector('#visio'); + Visio_ajaxGoodbye(visio.dataset.jid, this.id, 'incompatible-parameters'); + + MovimUtils.logError(error); + }); +} + +MovimJingleSession.prototype._onInitiateSDP = function (sdp) { + this.maybeDetectTracksScreen(sdp); + + return this.pc.setRemoteDescription({ 'sdp': sdp + "\n", 'type': 'offer' }) + .then(() => { + return this.pc.createAnswer() + .then(answer => this.pc.setLocalDescription(answer)) + .then(() => { + if (MovimVisio.sfu != null) { + Visio_ajaxContentAccept( + this.fullJid, + this.id, + this.maybeInjectScreenCategory(this.pc.localDescription.sdp), + this.jid + ); + } else { + Visio_ajaxSessionAccept( + this.fullJid, + this.id, + this.maybeInjectScreenCategory(this.pc.localDescription.sdp) + ); + } + }) + .catch(MovimUtils.logError); + }).catch(error => MovimUtils.logError(error)); +} + +/** + * With the SFU we can't have the screen as a new content, so we have to build a completely + * new RTPPc + */ +MovimJingleSession.prototype.onSFUScreenSharingPropose = function (sdp) { + this.maybeDetectTracksScreen(sdp); + + this.screenSharingPc = new RTCPeerConnection({ + iceServers: MovimVisio.services, + bundlePolicy: 'max-bundle', + iceCandidatePoolSize: 10 + }); + + this.screenSharingPc.ontrack = event => { + var srcObject = null; + + if (event.streams && event.streams[0]) { + srcObject = event.streams[0]; + } else { + srcObject = new MediaStream(); + srcObject.addTrack(event.track); + } + + if (event.track.kind == 'audio') { + if (this.tracksScreen[event.transceiver.mid]) { + this.remoteScreenAudio.srcObject = srcObject; + this.tracksTypes['sfu_screen_mid' + event.transceiver.mid] = 'audio_screen'; + } + } else if (event.track.kind === 'video') { + if (this.tracksScreen[event.transceiver.mid]) { + this.remoteScreenVideo.srcObject = srcObject; + this.tracksTypes['sfu_screen_mid' + event.transceiver.mid] = 'video_screen'; + this.remoteScreenVideo.oncanplay = event => { + this.participant.classList.remove('screen_off'); + } + } + } + } + + this.screenSharingPc.onicecandidate = event => { + let candidate = event.candidate; + if (candidate && candidate.candidate && candidate.candidate.length > 0) { + Visio_ajaxCandidate(this.fullJid, this.id, event.candidate); + } + }; + + this.screenSharingPc.setRemoteDescription({ 'sdp': sdp + "\n", 'type': 'offer' }) + .then(this.screenSharingPc.createAnswer() + .then(answer => this.screenSharingPc.setLocalDescription(answer)) + .then(() => { + Visio_ajaxContentAccept( + this.fullJid, + this.id, + this.maybeInjectScreenCategory(this.screenSharingPc.localDescription.sdp), + this.jid + ) + }) + .catch(MovimUtils.logError)); +} + +MovimJingleSession.prototype.onSFUScreenSharingTerminate = function () { + if (this.screenSharingPc) { + this.screenSharingPc.close(); + this.screenSharingPc = null; + } + + this.participant.classList.add('screen_off'); + + Object.keys(MovimJingles.sessions[this.jid].tracksTypes).forEach( + key => { + if (key.startsWith('sfu_screen_mid')) { + delete MovimJingles.sessions[this.jid].tracksTypes[key] + } + } + ); +} + +MovimJingleSession.prototype.enableScreenSharing = function () { + MovimVisio.screenSharing.srcObject.getTracks().forEach(track => { + if (track.kind == 'video') { + if (this.screenSharingSender) { + this.screenSharingSender.replaceTrack(track).then(() => { + this.unmute(track); + }); + } else { + this.screenSharingSender = this.pc.addTrack(track); + } + } else { + if (this.audioSharingSender) { + this.audioSharingSender.replaceTrack(track).then(() => { + this.unmute(track); + }); + } else { + this.audioSharingSender = this.pc.addTrack(track); + } + } + }); +} + +MovimJingleSession.prototype.disableScreenSharing = function () { + if (this.pc && MovimVisio.screenSharing.srcObject) { + MovimVisio.screenSharing.srcObject.getTracks().forEach(track => this.mute(track)); + } +} + +MovimJingleSession.prototype.resolveTransceiver = function (track) { + const transceiver = this.pc.getTransceivers().find(transceiver => transceiver.sender.track && transceiver.sender.track.id == track.id); + return transceiver ?? null; +} + +MovimJingleSession.prototype.mute = function (track) { + const transceiver = this.resolveTransceiver(track); + if (transceiver) { + Visio_ajaxMute(this.fullJid, this.id, 'mid' + transceiver.mid); + } +} + +MovimJingleSession.prototype.unmute = function (track) { + const transceiver = this.resolveTransceiver(track); + if (transceiver) { + Visio_ajaxUnmute(this.fullJid, this.id, 'mid' + transceiver.mid); + } else if (track.kind == 'video') { + this.pc.addTrack(track); + } +} + +MovimJingleSession.prototype.onMute = function (name) { + if (this.tracksTypes[name]) { + if (this.tracksTypes[name] == 'audio') { + this.participant.classList.add('audio_off'); + } + + if (this.tracksTypes[name] == 'video') { + this.participant.classList.add('video_off'); + } + + if (this.tracksTypes[name] == 'video_screen') { + this.participant.classList.add('screen_off'); + } + } +} + +MovimJingleSession.prototype.onUnmute = function (name) { + if (this.tracksTypes[name]) { + if (this.tracksTypes[name] == 'audio') { + this.participant.classList.remove('audio_off'); + } + + if (this.tracksTypes[name] == 'video') { + this.participant.classList.remove('video_off'); + } + + if (this.tracksTypes[name] == 'video_screen') { + this.participant.classList.remove('screen_off'); + } + } +} + +MovimJingleSession.prototype.insertDtmf = function (s) { + var rtc = this.pc.getSenders().find(rtc => rtc.track && rtc.track.kind == 'audio'); + + if (!rtc || !rtc.dtmf.canInsertDTMF) return; + + rtc.dtmf.insertDTMF(s); +} + +/** + * Detect RFC4796 content attribute + */ +MovimJingleSession.prototype.maybeDetectTracksScreen = function (sdp) { + sdp.split('m=').forEach(media => { + let content = media.match(/a=content:(.*)/); + if (content && content.includes('slides')) { + let mid = media.match(/a=mid:(.*)/); + this.tracksScreen[mid[1]] = true; + } + }); +} + +/** + * Inject RFC4796 content attribute to respect XEP-0507: Jingle Content Category + */ +MovimJingleSession.prototype.maybeInjectScreenCategory = function (sdp) { + if (this.audioSharingSender?.track || this.screenSharingSender?.track) { + let ids = []; + if (this.audioSharingSender) ids.push(this.audioSharingSender.track.id); + if (this.screenSharingSender) ids.push(this.screenSharingSender.track.id); + + sdp = sdp.split('m=').map(media => { + let mid = media.match(MovimVisio.midRegex); + if (mid != null) { + const transceiver = this.pc.getTransceivers().find(transceiver => transceiver.mid == mid[1]); + if (transceiver) { + if (ids.includes(transceiver.sender.track.id)) { + return media + 'a=content:slides' + "\n"; + } + } + } + + return media; + }).join('m='); + } + + return sdp; +} + +var MovimJingles = { + sessions: {}, + pinned: null, + + startCalls: function (mujiRoom) { + for (const jid of Object.keys(MovimJingles.sessions)) { + MovimJingles.onProceed(jid, MovimJingles.sessions[jid].fullJid, MovimJingles.sessions[jid].id, mujiRoom); + } + }, + + initSession: function (jid, fullJid, id, name, avatarUrl) { + if (Object.keys(MovimJingles.sessions).includes(jid)) { + return; + } + + if (!MovimVisio.localStream) { + throw Error('localStream is not ready'); + }; + + MovimJingles.sessions[jid] = new MovimJingleSession(jid, fullJid, id, name, avatarUrl); + return MovimJingles.sessions[jid].id; + }, + + checkActiveSpeaker: function () { + let maxLevel = 0; + let maxJid = null; + + for (const jid of Object.keys(MovimJingles.sessions)) { + if (maxLevel < MovimJingles.sessions[jid].audioLevel) { + maxLevel = MovimJingles.sessions[jid].audioLevel; + maxJid = jid; + } + + MovimJingles.sessions[jid].participant.classList.remove('active', 'pinned'); + } + + // Pinned has priority + if (MovimJingles.pinned && MovimJingles.sessions[MovimJingles.pinned]) { + MovimJingles.sessions[MovimJingles.pinned].participant.classList.add('active', 'pinned'); + return; + } + + if (maxJid != null) { + MovimJingles.sessions[maxJid].participant.classList.add('active'); + } else if (Object.values(MovimJingles.sessions).length > 0) { + Object.values(MovimJingles.sessions)[MovimVisio.sfu != null ? 1 : 0]?.participant.classList.add('active'); + } + }, + + onManageTrack: function (stream, enable) { + for (const jid of Object.keys(MovimJingles.sessions)) { + MovimJingles.sessions[jid].onManageTrack(stream, enable); + } + }, + + enableScreenSharing: function () { + for (const jid of Object.keys(MovimJingles.sessions)) { + MovimJingles.sessions[jid].enableScreenSharing(); + } + }, + + disableScreenSharing: function () { + for (const jid of Object.keys(MovimJingles.sessions)) { + MovimJingles.sessions[jid].disableScreenSharing(); + } + }, + + enableAudio: function (enable = true) { + MovimVisio.localStream.getTracks().filter(track => track.kind == 'audio').forEach(track => { + track.enabled = enable; + + for (const jid of Object.keys(MovimJingles.sessions)) { + if (enable) { + MovimJingles.sessions[jid].unmute(track); + } else { + MovimJingles.sessions[jid].mute(track); + } + } + }); + }, + + enableVideo: function (enable = true) { + MovimVisio.mujiPublish(); + + MovimVisio.localStream.getTracks().filter(track => track.kind == 'video').forEach(track => { + track.enabled = enable; + + for (const jid of Object.keys(MovimJingles.sessions)) { + if (enable) { + MovimJingles.sessions[jid].unmute(track); + } else { + MovimJingles.sessions[jid].mute(track); + } + } + }); + }, + + insertDtmf: function (s) { + for (const jid of Object.keys(MovimJingles.sessions)) { + MovimJingles.sessions[jid].insertDtmf(s); + } + }, + + onCandidate: function (jid, candidate, mid, mlineindex, sid) { + if (MovimJingles.sessions[jid] == undefined) { + console.log('Candidate from a non initiated session ' + jid); return; + } + + if (sid && sid === MovimVisio.screenshareSid) { + MovimVisio.onScreenshareCandidate(candidate, mid, mlineindex); + return; + } + + MovimJingles.sessions[jid].onCandidate(candidate, mid, mlineindex); + }, + + onInitiateSDP: function (jid, sdp, sid) { + if (MovimJingles.sessions[jid] == undefined) { + console.log('Initiate SDP from a non initiated session ' + jid); return; + } + + // Put the real sid + MovimJingles.sessions[jid].id = sid; + MovimJingles.sessions[jid].onInitiateSDP(sdp); + }, + + onAcceptSDP: function (jid, sdp, sid) { + if (MovimJingles.sessions[jid] == undefined) { + console.log('Accept SDP from a non initiated session ' + jid); return; + } + + if (sid && sid === MovimVisio.screenshareSid) { + MovimVisio.onScreenshareAcceptSDP(sdp); + return; + } + + MovimJingles.sessions[jid].onAcceptSDP(sdp); + }, + + onProceed: function (jid, fullJid, id, mujiRoom) { + if (MovimJingles.sessions[jid] == undefined) { + console.log('Proceed from a non initiated session ' + jid); return; + } + + MovimJingles.sessions[jid].sessionInitiate(fullJid, id, mujiRoom); + }, + + onMute: function (jid, name) { + if (MovimJingles.sessions[jid] == undefined) { + console.log('Mute from a non initiated session ' + jid); return; + } + + MovimJingles.sessions[jid].onMute(name); + }, + + onUnmute: function (jid, name) { + if (MovimJingles.sessions[jid] == undefined) { + console.log('Unmute from a non initiated session ' + jid); return; + } + + MovimJingles.sessions[jid].onUnmute(name); + }, + + onContentAdd: function (jid, sdp, mid) { + if (MovimJingles.sessions[jid] == undefined) { + console.log('Content add from a non initiated session ' + jid); return; + } + + MovimJingles.sessions[jid].onContentAdd(sdp, mid); + }, + + onContentModify: function (jid, sdp, mid) { + if (MovimJingles.sessions[jid] == undefined) { + console.log('Content modify from a non initiated session ' + jid); return; + } + + MovimJingles.sessions[jid].onContentModify(sdp, mid); + }, + + onContentRemove: function (jid, sdp, mid) { + if (MovimJingles.sessions[jid] == undefined) { + console.log('Content remove from a non initiated session ' + jid); return; + } + + MovimJingles.sessions[jid].onContentRemove(sdp, mid); + }, + + onSFUScreenSharingPropose: function (jid, sdp) { + if (MovimJingles.sessions[jid] == undefined) { + console.log('SFU screen sharing propose from a non initiated session ' + jid); return; + } + + MovimJingles.sessions[jid].onSFUScreenSharingPropose(sdp); + }, + + onSFUScreenSharingTerminate: function (jid) { + if (MovimJingles.sessions[jid] == undefined) { + console.log('SFU screen sharing terminate from a non initiated session ' + jid); return; + } + + MovimJingles.sessions[jid].onSFUScreenSharingTerminate(); + }, + + terminate: function (jid, reason) { + if (MovimJingles.sessions[jid] == undefined) return; + + let visio = document.querySelector('#visio'); + MovimJingles.sessions[jid].terminate(reason, (visio.dataset.muji == 'true')); + delete MovimJingles.sessions[jid]; + }, + + onTerminate: function (jid) { + if (MovimJingles.sessions[jid] == undefined) return; + + MovimJingles.sessions[jid].close(); + delete MovimJingles.sessions[jid]; + + let visio = document.querySelector('#visio'); + + // No sessions left + if (Object.keys(MovimJingles.sessions).length == 0) { + if (visio.dataset.muji == 'false') { + Visio_ajaxClear(); + } else { + let state = document.querySelector('p.state'); + if (state) { + state.innerText = MovimVisio.states.no_participants_left; + } + } + } + }, + + terminateAll: function (reason) { + for (const jid of Object.keys(MovimJingles.sessions)) { + MovimJingles.terminate(jid, reason); + } + + MovimJingles.pinned = null; + Visio_ajaxClear(); + } +} \ No newline at end of file diff --git a/frontend/scripts/movim_rpc.js b/frontend/scripts/movim_rpc.js new file mode 100644 index 0000000..5fcd109 --- /dev/null +++ b/frontend/scripts/movim_rpc.js @@ -0,0 +1,88 @@ +/** + * Short functions + */ +function MWSa(widget, func, params) { + return MovimRPC.fetch(widget, func, params, false); +} + +function MWSad(widget, func, params) { + return MovimRPC.fetch(widget, func, params, true); +} + +var MovimRPC = { + fetchWithTimeout: async function (resource, options = {}) { + const { timeout = 5000 } = options; + + const controller = new AbortController(); + + const id = setTimeout(() => controller.abort(), timeout); + const response = await fetch(resource, { + ...options, + signal: controller.signal + }); + clearTimeout(id); + + return response; + }, + + fetch: function (widget, func, params, daemon) { + var body = { + 'c': MovimUtils.urlParts().page, + 'w': widget, + 'f': func + }; + + if (params) body.p = params; + + var url = BASE_URI; + let request = MovimRPC.fetchWithTimeout(url += daemon ? 'ajaxd' : 'ajax', { + method: 'POST', + headers: { + 'Accept': 'application/json', + 'Content-Type': 'application/json' + }, + body: JSON.stringify( + { 'func': 'message', 'b': body } + ) + }); + + if (!daemon) { + request.then(response => { + if (response.ok) { + return response.json(); + } else if (response.status == 403) { + MovimUtils.disconnect(); + } + }).then(data => { + for (funcall of data) { + MovimRPC.handle(funcall); + } + }); + } + + return request; + }, + + handle: function (funcall) { + if (funcall.func != null && (typeof window[funcall.func] == 'function')) { + try { + window[funcall.func].apply(null, funcall.p); + } catch (err) { + console.log("Error caught: " + + err.toString() + + " - " + + funcall.func + + ":" + + JSON.stringify(funcall.p) + ); + } + } else if (funcall.func != null) { + var funcs = funcall.func.split('.'); + var called = funcs[0]; + if (typeof window[called] == 'object' + && typeof window[funcs[0]][funcs[1]] != 'undefined') { + window[funcs[0]][funcs[1]].apply(null, funcall.p); + } + } + } +} diff --git a/frontend/scripts/movim_tpl.js b/frontend/scripts/movim_tpl.js new file mode 100644 index 0000000..65004ea --- /dev/null +++ b/frontend/scripts/movim_tpl.js @@ -0,0 +1,137 @@ +/** + * Movim Javascript Template functions + + * Look at the comments for help. + */ + +var MovimTpl = { + startX: 0, + startY: 0, + translateX: 0, + menuDragged: false, + currentPage: '', + currentAnchor: '', + popAnchorKey: null, + popAnchorAction: null, + + loadingPage: function () { + document.body.classList.add('loading'); + document.body.classList.remove('finished'); + }, + finishedPage: function () { + document.body.classList.add('finished'); + + setTimeout(e => { + document.body.classList.remove('loading', 'finished'); + }, 1000); + }, + + append: function (selector, html) { + target = document.querySelector(selector); + if (target) { + target.insertAdjacentHTML('beforeend', html); + } + }, + appendAfter: function (selector, html) { + target = document.querySelector(selector); + if (target) { + target.insertAdjacentHTML('afterend', html); + } + }, + pushAnchorState: function (key, action) { + if (MovimTpl.popAnchorAction && key != MovimTpl.popAnchorKey) { + MovimTpl.popAnchorAction(); + } + + window.history.pushState(null, null, '#' + key); + MovimTpl.popAnchorKey = key; + MovimTpl.popAnchorAction = action; + }, + clearAnchorState: function () { + if (MovimTpl.popAnchorAction) { + MovimTpl.popAnchorAction(); + } + + MovimTpl.popAnchorKey = null; + MovimTpl.popAnchorAction = null; + window.history.replaceState(null, null, ' '); + }, + fill: function (selector, html) { + target = document.querySelector(selector); + if (target) { + target.innerHTML = html; + } + }, + showPanel: function () { + MovimUtils.addClass('main', 'enabled'); + MovimUtils.addClass('ul#bottomnavigation', 'hidden'); + }, + hidePanel: function () { + MovimUtils.removeClass('main', 'enabled'); + MovimUtils.removeClass('ul#bottomnavigation', 'hidden'); + }, + prepend: function (selector, html) { + target = document.querySelector(selector); + if (target) { + target.insertAdjacentHTML('afterbegin', html); + } + }, + prependBefore: function (selector, html) { + target = document.querySelector(selector); + if (target) { + target.insertAdjacentHTML('beforebegin', html); + } + }, + remove: function (selector) { + target = document.querySelector(selector); + if (target) { + target.remove(); + } + }, + replace: function (selector, html) { + target = document.querySelector(selector); + if (target) { + var div = document.createElement('div'); + div.innerHTML = html; + var element = div.firstChild; + replacedNode = target.parentNode.replaceChild(element, target); + } + }, + showContextMenu: function () { + var contextMenu = document.querySelector('ul.context_menu'); + contextMenu.classList.add('shown'); + }, + hideContextMenu: function (e) { + var contextMenu = document.querySelector('ul.context_menu'); + if (contextMenu == null) return; + + if (!document.querySelector('.show_context_menu')?.contains(e.target)) { + contextMenu.classList.remove('shown'); + } + } +}; + +MovimEvents.registerBody('click', 'movimtpl', (e) => MovimTpl.hideContextMenu(e)); + +MovimEvents.registerWindow('loaded', 'movimtpl', () => { + MovimTpl.currentPage = window.location.pathname; +}); + +MovimEvents.registerWindow('popstate', 'movimtpl', (e) => { + if (Dialog.filled()) { + Dialog.clear(); + return; + } + + if (MovimTpl.popAnchorKey || e.target.location.hash != '') { + MovimTpl.clearAnchorState(); + return; + } + + if (e.target.location.pathname == MovimTpl.currentPage) return; + + MovimUtils.reload(e.target.location.href, true); + + MovimTpl.currentPage = e.target.location.pathname; + MovimTpl.currentAnchor = window.location.hash.substring(1); +}); diff --git a/frontend/scripts/movim_utils.js b/frontend/scripts/movim_utils.js new file mode 100644 index 0000000..4f0ff68 --- /dev/null +++ b/frontend/scripts/movim_utils.js @@ -0,0 +1,484 @@ +/** + * Movim Utils + * + * This file include some useful functions used quite everywhere in Movim + */ + +/** + * @brief Set object in localStorage + * @param key string + * @param value the object + */ +Storage.prototype.setObject = function (key, value) { + this.setItem(key, JSON.stringify(value)); +}; + +/** + * @brief Get object in localStorage + * @param key + */ +Storage.prototype.getObject = function (key) { + return JSON.parse(this.getItem(key)); +}; + +var MovimUtils = { + cleanupId: function (string) { + return 'id-' + string.replace(/([^a-z0-9]+)/gi, '-').toLowerCase(); + }, + hash(string) { + let hash = 0; + + if (string.length === 0) return hash; + + for (let i = 0; i < string.length; i++) { + const char = string.charCodeAt(i); + hash = ((hash << 5) - hash) + char; + hash = hash & hash; + } + + return hash; + }, + isMobile: function () { + return window.matchMedia('(max-width: 1024px)').matches; + }, + disconnect: function () { + window.location.replace(ERROR_URI); + }, + + clearAllActivesRooms: function () { + document.querySelectorAll('ul.list.rooms li:not(.subheader)') + .forEach(item => item.classList.remove('active')); + }, + setActiveRoom: function (jid) { + if (typeof Chats != 'undefined') Chats.clearAllActives(); + MovimUtils.clearAllActivesRooms(); + MovimUtils.addClass('ul.list.rooms li[data-jid="' + jid + '"]', 'active'); + }, + + formSetDirty: function (formname) { + var form = document.forms[formname]; + + if (!form) { + return false; + } + + form.dataset.dirty = true; + }, + + formToJson: function (formname) { + var form = document.forms[formname]; + + if (!form) { + return; + } + + var json = {}; + + json['isDirty'] = Boolean(form.dataset.dirty); + + for (var i = 0; i < form.elements.length; i++) { + json_att = {}; + + for (var j = 0; j < form.elements[i].attributes.length; j++) { + if (form.elements[i].attributes[j].name != 'value') { + json_att[form.elements[i].attributes[j].name] = form.elements[i].attributes[j].value; + } + } + + if (form.elements[i].name.length != 0) { + if (form.elements[i].type == 'checkbox') { + json[form.elements[i].name] = { + 'value': form.elements[i].checked, + 'attributes': json_att + }; + } else if (form.elements[i].type == 'radio' && form.elements[i].checked) { + json[form.elements[i].name] = { + 'value': form.elements[i].value, + 'attributes': json_att + }; + } else if (form.elements[i].type != 'radio') { + json[form.elements[i].name] = { + 'value': form.elements[i].value, + 'attributes': json_att + }; + } + } + } + + return json; + }, + cleanTime: function (seconds) { + var currentMinute = parseInt(seconds / 60) % 60, + currentSecondsLong = seconds % 60, + currentSeconds = currentSecondsLong.toFixed(), + currentTime = (currentMinute < 10 ? "0" + currentMinute : currentMinute) + + ":" + (currentSeconds < 10 ? "0" + currentSeconds : currentSeconds); + + return currentTime; + }, + setTitle: function (title) { + document.title = title; + }, + pushState: function (url) { + window.history.pushState(null, '', url); + }, + pushSoftState: function (url) { + if (window.location != url) { + window.history.pushState({ soft: true }, '', url); + MovimTpl.currentPage = window.location.pathname; + } + }, + redirect: function (url) { + window.location.href = url; + }, + openInNew: function (url) { + window.open(url, '_blank'); + }, + reload: function (uri, noHistory) { + requestUri = new URL(uri.replace(/^\/\//, 'https://')); + requestUri.searchParams.append('soft', 'true'); + + MovimTpl.loadingPage(); + + MovimRPC.fetchWithTimeout(requestUri.toString(), { + headers: { + 'Accept': 'application/json', + 'Content-Type': 'application/json' + } + }).then(reponse => { + reponse.text().then(value => { + let page = JSON.parse(value); + + const oldWidgetCss = Array.from( + document.head.querySelectorAll('link[rel=stylesheet].widget') + ); + + const cssPromises = page.widgetsCSS.map(url => new Promise((resolve) => { + const css = document.createElement('link'); + css.setAttribute('rel', 'stylesheet'); + css.href = url; + css.classList.add('widget'); + css.onload = resolve; + css.onerror = resolve; + document.head.appendChild(css); + })); + + Promise.all(cssPromises).then(() => { + MovimTpl.finishedPage(); + + if (noHistory !== true) { + MovimUtils.pushSoftState(uri); + } + + if (typeof MovimWebsocket !== 'undefined') { + MovimWebsocket.clear(); + } + + oldWidgetCss.forEach(e => e.remove()); + document.head.querySelectorAll('script[type=\'text/javascript\'].widget').forEach(e => e.remove()); + document.head.querySelectorAll('script[type=\'text/javascript\'].inline').forEach(e => e.remove()); + document.querySelectorAll('#endcommon ~ *').forEach(e => e.remove()); + + document.body.insertAdjacentHTML('beforeend', page.content); + document.title = page.title; + + const promises = page.widgetsScripts.map(script => new Promise((resolve) => { + const js = document.createElement('script'); + js.src = script; + js.setAttribute('type', 'text/javascript'); + js.onload = resolve; + js.onerror = resolve; + js.classList.add('widget'); + document.head.appendChild(js); + })); + + const inlineJs = document.createElement('script'); + inlineJs.classList.add('inline'); + inlineJs.innerHTML = page.inlineScripts; + document.head.appendChild(inlineJs); + + Promise.all(promises).then(() => { + MovimEvents.triggerWindow('loaded', null); + }); + }); + }); + }).catch(error => { + document.body.classList.add('finished'); + }); + }, + reloadThis: function () { + window.location.reload(); + }, + addClass: function (element, classname) { + let el = document.querySelector(element); + if (el) el.classList.add(classname); + }, + removeClass: function (element, classname) { + let el = document.querySelector(element); + if (el) el.classList.remove(classname); + }, + setDataItem: function (element, key, value) { + let el = document.querySelector(element); + if (el) { + if (value) { + el.dataset[key] = value; + } else { + delete el.dataset[key]; + } + } + }, + decodeHTMLEntities(text) { + var textarea = document.createElement('textarea'); + textarea.innerHTML = text; + return textarea.value; + }, + copyToClipboard: function (text) { + navigator.clipboard.writeText(text).catch(err => MovimUtils.logError(err)); + }, + htmlEscape: function (string) { + return string + .replaceAll("&", "&") + .replaceAll("<", "<") + .replaceAll(">", ">") + .replaceAll('"', """) + .replaceAll("'", "'"); + }, + enhanceArticlesContent: function () { + document.querySelectorAll('article section > div video') + .forEach(item => item.setAttribute('controls', 'controls')); + + document.querySelectorAll('article section > div a:not(.innertag)') + .forEach(link => link.setAttribute('target', '_blank')); + + document.querySelectorAll('article section > div img') + .forEach(img => { + if (img.parentNode.localName != 'a') { + var div = document.createElement('div'); + if (!img.parentNode.classList.contains('previewable')) { + img.parentNode.insertBefore(div, img); + div.classList.add('previewable'); + img.classList.add('active'); + img.addEventListener('click', () => Preview_ajaxHttpShow(img.src)) + + div.appendChild(img); + } + } + }); + }, + urlParts: function () { + var str = window.location.pathname.split('/'); + var page = str[1]; + + str.shift(); + str.shift(); + + str = str.map(param => decodeURIComponent(param)); + + return { 'page': page, 'params': str, 'hash': window.location.hash.substring(1) }; + }, + humanFileSize: function (bytes, si) { + var thresh = si ? 1000 : 1024; + if (Math.abs(bytes) < thresh) { + return bytes + ' B'; + } + var units = si + ? ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] + : ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']; + var u = -1; + do { + bytes /= thresh; + ++u; + } while (Math.abs(bytes) >= thresh && u < units.length - 1); + return bytes.toFixed(1) + ' ' + units[u]; + }, + getOrientation: function (file, callback) { + var testImageURL = + 'data:image/jpeg;base64,/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAA' + + 'AAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA' + + 'QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE' + + 'BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAIAAwMBEQACEQEDEQH/x' + + 'ABRAAEAAAAAAAAAAAAAAAAAAAAKEAEBAQADAQEAAAAAAAAAAAAGBQQDCAkCBwEBAAAAAAA' + + 'AAAAAAAAAAAAAABEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8AG8T9NfSMEVMhQ' + + 'voP3fFiRZ+MTHDifa/95OFSZU5OzRzxkyejv8ciEfhSceSXGjS8eSdLnZc2HDm4M3BxcXw' + + 'H/9k=' + + var img = document.createElement('img'); + img.onload = function () { + // Check if the browser supports automatic image orientation: + let orientation = img.width === 2 && img.height === 3; + + if (orientation) { + return callback(-1); + } else { + var reader = new FileReader(); + + reader.onload = function (e) { + var view = new DataView(e.target.result); + if (view.getUint16(0, false) != 0xFFD8) return callback(-2); + var length = view.byteLength, offset = 2; + + while (offset < length) { + var marker = view.getUint16(offset, false); + offset += 2; + if (marker == 0xFFE1) { + if (view.getUint32(offset += 2, false) != 0x45786966) return callback(-1); + + var little = view.getUint16(offset += 6, false) == 0x4949; + offset += view.getUint32(offset + 4, little); + + var tags = view.getUint16(offset, little); + offset += 2; + + for (var i = 0; i < tags; i++) + if (view.getUint16(offset + (i * 12), little) == 0x0112) + + return callback(view.getUint16(offset + (i * 12) + 8, little)); + } + else if ((marker & 0xFF00) != 0xFF00) break; + else offset += view.getUint16(offset, false); + } + + return callback(-1); + }; + + reader.readAsArrayBuffer(file); + } + } + img.src = testImageURL + }, + applyOrientation: function (ctx, orientation, width, height) { + switch (orientation) { + case 2: ctx.transform(-1, 0, 0, 1, width, 0); break; + case 3: ctx.transform(-1, 0, 0, -1, width, height); break; + case 4: ctx.transform(1, 0, 0, -1, 0, height); break; + case 5: ctx.transform(0, 1, 1, 0, 0, 0); break; + case 6: ctx.transform(0, 1, -1, 0, height, 0); break; + case 7: ctx.transform(0, -1, -1, 0, height, width); break; + case 8: ctx.transform(0, -1, 1, 0, 0, width); break; + default: ctx.transform(1, 0, 0, 1, 0, 0); + } + }, + drawImageProp: function (ctx, img, x, y, w, h, offsetX, offsetY) { + if (arguments.length === 2) { + x = y = 0; + w = ctx.canvas.width; + h = ctx.canvas.height; + } + + // default offset is center + offsetX = typeof offsetX === "number" ? offsetX : 0.5; + offsetY = typeof offsetY === "number" ? offsetY : 0.5; + + // keep bounds [0.0, 1.0] + if (offsetX < 0) offsetX = 0; + if (offsetY < 0) offsetY = 0; + if (offsetX > 1) offsetX = 1; + if (offsetY > 1) offsetY = 1; + + var iw = img.width, + ih = img.height, + r = Math.min(w / iw, h / ih), + nw = iw * r, // new prop. width + nh = ih * r, // new prop. height + cx, cy, cw, ch, ar = 1; + + // decide which gap to fill + if (nw < w) ar = w / nw; + if (Math.abs(ar - 1) < 1e-14 && nh < h) ar = h / nh; // updated + nw *= ar; + nh *= ar; + + // calc source rectangle + cw = iw / (nw / w); + ch = ih / (nh / h); + + cx = (iw - cw) * offsetX; + cy = (ih - ch) * offsetY; + + // make sure source rectangle is valid + if (cx < 0) cx = 0; + if (cy < 0) cy = 0; + if (cw > iw) cw = iw; + if (ch > ih) ch = ih; + + // fill image in dest. rectangle + ctx.drawImage(img, cx, cy, cw, ch, x, y, w, h); + }, + imageToHex: function (img) { + const context = document.createElement("canvas").getContext("2d"); + context.drawImage(img, 0, 0, 1, 1); + const i = context.getImageData(0, 0, 1, 1).data; + return "#" + ((1 << 24) + (i[0] << 16) + (i[1] << 8) + i[2]).toString(16).slice(1); + }, + getEventLocation: function (e) { + if (e.touches && e.touches.length == 1) { + return { x: e.touches[0].clientX, y: e.touches[0].clientY } + } + else if (e.clientX && e.clientY) { + return { x: e.clientX, y: e.clientY } + } + }, + base64ToBinary: function (base64) { + return new Uint8Array(atob(base64).split('').map(x => x.charCodeAt(0))); + }, + arrayBufferToBase64: function (ab) { + return btoa((new Uint8Array(ab)).reduce((data, byte) => data + String.fromCharCode(byte), '')); + }, + base64ToArrayBuffer: function (base64) { + var binary_string = window.atob(base64); + var len = binary_string.length; + var bytes = new Uint8Array(len); + for (var i = 0; i < len; i++) { + bytes[i] = binary_string.charCodeAt(i); + } + return bytes.buffer; + }, + stringToArrayBuffer: function (string) { + const bytes = new TextEncoder("utf-8").encode(string); + return bytes.buffer; + }, + arrayBufferToString: function (ab) { + return new TextDecoder().decode(ab); + }, + hexToArrayBuffer: function (hex) { + const typedArray = new Uint8Array(hex.match(/[\da-f]{2}/gi).map(h => parseInt(h, 16))); + return typedArray.buffer; + }, + appendArrayBuffer: function (buffer1, buffer2) { + const tmp = new Uint8Array(buffer1.byteLength + buffer2.byteLength); + tmp.set(new Uint8Array(buffer1), 0); + tmp.set(new Uint8Array(buffer2), buffer1.byteLength); + return tmp.buffer; + }, + range: function (start, end) { + return Array.from({ length: end - start + 1 }, (_, i) => i) + }, + linkify: function (inputText) { + const replacePattern1 = /(^|[ ])(\b(https?|ftp):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])($|[ ])/gim; + const replacePattern2 = /(([a-zA-Z0-9\-\_\.])+@[a-zA-Z\_]+?(\.[a-zA-Z]{2,6})+)/gim; + + let replacedText = inputText.replace(replacePattern1, '$2'); + replacedText = replacedText.replace(replacePattern2, '$1'); + + return replacedText; + }, + logError: function (error) { + console.log(error.name + ': ' + error.message); + console.error(error); + }, +}; + +/* + * Set the li onclick event to the link and stop propagation, for accessinility purposes + */ +function listIconClick(event) { + event.stopPropagation(); + let li = event.target.closest('li'); + if (li && li.onclick) { + li.click(); + return; + } + + let span = event.target.closest('span.icon'); + if (span) span.click(); +} \ No newline at end of file diff --git a/frontend/scripts/movim_visio.js b/frontend/scripts/movim_visio.js new file mode 100644 index 0000000..4844e54 --- /dev/null +++ b/frontend/scripts/movim_visio.js @@ -0,0 +1,473 @@ +var MovimVisio = { + id: null, + + calling: false, + + pc: null, + + screenshareSid: null, + screenshareSFUPc: null, + + states: null, + services: [], + + localStream: null, + localVideo: null, + localAudio: null, + screenSharing: null, + + observer: null, + + activeSpeakerIntervalId: null, + + bundleRegex: 'a=group:(\\S+) (.+)', + midRegex: 'a=mid:(.+)', + + mouseMovement: null, + mouseMovementTimeout: 5000, + + startedAtTimer: null, + + sfu: null, + + load: function () { + MovimVisio.localVideo = document.getElementById('local_video'); + + // Disable the video toggle by default + MovimVisio.localVideo.classList.add('video_off'); + + MovimVisio.localVideo.addEventListener('loadeddata', () => { + MovimVisio.localVideo.play() + }); + + MovimVisio.screenSharing = document.getElementById('screen_sharing_video'); + MovimVisio.localAudio = document.getElementById('local_audio'); + }, + + init: function (fullJid, jid, id, withVideo, isMuji, sfuConference, contactName, contactAvatarUrl) { + MovimVisio.id = id; + + // Set a lock for the current browser (in case there's several others opened) + localStorage.setItem('callId', id); + localStorage.setItem('callJid', jid); + + let visio = document.querySelector('#visio'); + delete visio.dataset.type; + visio.dataset.jid = jid; + visio.dataset.muji = isMuji ? 'true' : 'false'; + + if (typeof sfuConference == 'string') { + visio.dataset.muji = 'true'; // To use the Muji layout... without using Muji + visio.dataset.sfu = 'true'; + visio.dataset.jid = sfuConference; + + Visio_ajaxHttpPrepareInfo(sfuConference, true); + MovimVisio.activeSpeakerIntervalId = setInterval(MovimJingles.checkActiveSpeaker, 1000); + } else { + Visio_ajaxHttpPrepareInfo(jid, isMuji); + } + + if (isMuji == true) { + MovimVisio.mujiPublish(true); + MovimVisio.activeSpeakerIntervalId = setInterval(MovimJingles.checkActiveSpeaker, 1000); + } else { + MovimJingles.initSession(jid, fullJid, id, contactName, contactAvatarUrl); + + if (MovimVisio.id) { + // Called + Visio_ajaxProceed(fullJid, MovimVisio.id); + } else { + // Calling + MovimVisio.id = crypto.randomUUID(); + localStorage.setItem('callId', MovimVisio.id); + Visio_ajaxPropose(fullJid, MovimVisio.id, withVideo, (typeof sfuConference == 'string')); + } + } + + if (typeof sfuConference == 'string') { + MovimVisio.sfu = jid; + + let sfuParticipant = visio.querySelector('div.participant[data-jid="' + jid + '"]'); + if (sfuParticipant) { + // Ugly but works for now + sfuParticipant.remove(); + } + + Visio_ajaxUpgradeCurrentCallToSFU(jid, sfuConference); + } + + visio.classList.add('movements'); + + Notif.setCallStatus(MovimVisio.states.in_call); + + visio.addEventListener('mousemove', e => { + clearTimeout(MovimVisio.mouseMovement); + visio.classList.add('movements'); + + MovimVisio.mouseMovement = setTimeout(() => { + visio.classList.remove('movements'); + }, MovimVisio.mouseMovementTimeout); + }) + + if (typeof navigator.mediaDevices.getDisplayMedia == 'undefined') { + document.querySelector('#screen_sharing').classList.add('hide'); + } + + if (MovimVisio.startedAtTimer) { + clearInterval(MovimVisio.startedAtTimer); + } + + setInterval(VisioUtils.updateStartedAtCounters, 1000); + + Dialog_ajaxClear(); + Notif.snackbarClear(); + }, + + startScreenshareSFU: function () { + if (!MovimVisio.screenSharing.srcObject) return; + + const pc = new RTCPeerConnection({ + iceServers: MovimVisio.services, + bundlePolicy: 'max-bundle', + iceCandidatePoolSize: 10 + }); + + MovimVisio.screenshareSid = crypto.randomUUID(); + MovimVisio.screenshareSFUPc = pc; + + MovimVisio.screenSharing.srcObject.getTracks().forEach(track => { + pc.addTrack(track, MovimVisio.screenSharing.srcObject); + }); + + pc.onicecandidate = event => { + if (event.candidate && event.candidate.candidate) { + Visio_ajaxCandidate(MovimVisio.sfu, MovimVisio.screenshareSid, event.candidate); + } + }; + + pc.createOffer() + .then(offer => pc.setLocalDescription(offer)) + .then(() => Visio_ajaxSessionInitiate(MovimVisio.sfu, pc.localDescription, MovimVisio.screenshareSid, null)) + .catch(err => MovimUtils.logError(err)); + }, + + stopScreenshareSFU: function () { + if (!MovimVisio.screenshareSFUPc) return; + + Visio_ajaxTerminate(MovimVisio.sfu, MovimVisio.screenshareSid, 'success', false); + + MovimVisio.screenshareSFUPc.close(); + MovimVisio.screenshareSFUPc = null; + MovimVisio.screenshareSid = null; + }, + + onScreenshareAcceptSDP: function (sdp) { + if (!MovimVisio.screenshareSFUPc) return; + + MovimVisio.screenshareSFUPc + .setRemoteDescription({ 'sdp': sdp + "\n", 'type': 'answer' }) + .catch(err => MovimUtils.logError(err)); + }, + + onScreenshareCandidate: function (candidate, mid, mlineindex) { + if (!MovimVisio.screenshareSFUPc) return; + + MovimVisio.screenshareSFUPc.addIceCandidate(new RTCIceCandidate({ + 'candidate': candidate.split(/\n/).filter(line => line.startsWith('a=candidate')).join('').substring(2), + 'sdpMid': mid, + 'sdpMLineIndex': mlineindex + })).catch(error => MovimUtils.logError(error)); + }, + + mujiPublish: function (init) { + let pc = new RTCPeerConnection({ 'iceServers': MovimVisio.services }); + + /** + * Ugly heuristic because it is not possible to match the SDP mids with the tranceiver sender track ids... + */ + let id = 0; + + MovimVisio.localStream.getTracks().forEach(track => { + pc.addTrack(track, MovimVisio.localStream); + id++; + }); + + let screenIds = []; + + if (MovimVisio.screenSharing.srcObject) { + MovimVisio.screenSharing.srcObject.getTracks().forEach(track => { + pc.addTrack(track); + screenIds.push(id); + id++; + }); + } + + pc.createOffer().then(function (offer) { + if (MovimVisio.screenSharing.srcObject) { + // XEP-0507: Jingle Content Category + newMedias = offer.sdp.split('m=').map(media => { + let mid = media.match(MovimVisio.midRegex); + if (mid != null) { + if (screenIds.includes(parseInt(mid[1]))) { + return media + 'a=content:slides' + "\n"; + } + } + + return media; + }); + + localDescription = newMedias.join('m='); + offer.sdp = localDescription; + } + + Visio_ajaxMujiPublish(MovimVisio.id, offer, init); + pc.close(); + }); + }, + + setStates: function (states) { + MovimVisio.states = states; + }, + + setServices: function (services) { + MovimVisio.services = services; + }, + + getUserMedia: function (withVideo) { + MovimVisio.load(); + + let lobby = document.querySelector('#visio_lobby'); + + if (lobby) { + VisioUtils.disableLobbyCallButton(); + } + + MovimTpl.loadingPage(); + + return navigator.mediaDevices.getUserMedia(VisioUtils.getConstraints(withVideo)).then(stream => { + MovimTpl.finishedPage(); + + MovimVisio.localStream = stream; + + if (lobby) { + lobby.classList.add('configure'); + } else if (MovimVisio.localAudio.srcObject == null) { + Visio_ajaxClear(); + return; + } + + stream.getTracks().forEach(track => { + if (lobby) { + VisioUtils.enableLobbyCallButton(); + } + + if (track.kind == 'audio' && MovimVisio.localAudio && MovimVisio.localAudio.srcObject == null /* In case we're just adding the video */) { + MovimVisio.localAudio.srcObject = stream; + } else if (withVideo && track.kind === 'video') { + MovimVisio.localVideo.srcObject = stream; + + // Toggle the video on + MovimVisio.localVideo.classList.remove('video_off'); + document.querySelector('#toggle_video i').innerText = 'videocam'; + + if (lobby) { + let cameraPreview = lobby.querySelector('video#camera_preview'); + cameraPreview.addEventListener('loadeddata', () => cameraPreview.play()); + cameraPreview.srcObject = stream; + cameraPreview.disablePictureInPicture = true; + } + + } + }); + + VisioUtils.handleAudio(); + + if (lobby) { + navigator.mediaDevices.enumerateDevices().then(devices => MovimVisio.gotDevices(withVideo, devices)); + } + }, (e) => { + MovimTpl.finishedPage(); + }); + }, + + gotDevices: function (withVideo, devicesInfo) { + microphoneFound = false; + cameraFound = false; + + let microphoneSelect = document.querySelector('select[name=default_microphone]'); + microphoneSelect.onchange = (e) => { + localStorage.defaultMicrophone = e.target.value; + MovimVisio.getUserMedia(withVideo); + }; + microphoneSelect.innerText = ''; + + VisioUtils.handleAudio(); + + let cameraSelect = document.querySelector('select[name=default_camera]'); + + if (cameraSelect) { + cameraSelect.addEventListener('change', e => { + localStorage.defaultCamera = e.target.value; + + let cameraPreview = document.querySelector('video#camera_preview'); + + if (cameraPreview.srcObject) { + cameraPreview.srcObject.getTracks().forEach(track => track.stop()); + } + + cameraPreview.srcObject = null; + + MovimVisio.getUserMedia(withVideo); + }); + cameraSelect.innerText = ''; + } + + for (const deviceInfo of devicesInfo) { + if (deviceInfo.kind === 'audioinput') { + const option = document.createElement('option'); + option.value = deviceInfo.deviceId; + option.text = deviceInfo.label || `Microphone ${microphoneSelect.length + 1}`; + + if (deviceInfo.deviceId == localStorage.defaultMicrophone) { + option.selected = true; + microphoneFound = true; + } + + microphoneSelect.appendChild(option); + } + + if (withVideo && deviceInfo.kind === 'videoinput') { + const option = document.createElement('option'); + option.value = deviceInfo.deviceId; + option.text = deviceInfo.label || `Camera ${microphoneSelect.length + 1}`; + + if (deviceInfo.deviceId == localStorage.defaultCamera) { + option.selected = true; + cameraFound = true; + } + + // Sometimes we can have two devices with the same id + if (!cameraSelect.querySelector('option[value="' + deviceInfo.deviceId + '"]')) { + cameraSelect.appendChild(option); + } + } + } + + if (microphoneFound == false) { + localStorage.defaultMicrophone = microphoneSelect.value; + } + + if (withVideo && cameraFound == false) { + localStorage.defaultCamera = cameraSelect.value; + } + }, + + clear: function () { + MovimTpl.finishedPage(); + + MovimVisio.id = null; + MovimVisio.sfu = null; + + Notif.setCallStatus(null); + + clearInterval(MovimVisio.activeSpeakerIntervalId); + + let visio = document.querySelector('#visio'); + //delete visio.dataset.type; + delete visio.dataset.jid; + delete visio.dataset.muji; + delete visio.dataset.sfu; + + if (document.fullscreenElement) { + document.exitFullscreen(); + } + + VisioUtils.stopAudio(); + + if (MovimVisio.localAudio) { + let stream = MovimVisio.localAudio.srcObject; + + if (stream) { + stream.getTracks().forEach(track => track.stop()); + stream = null; + } + + MovimVisio.localAudio.srcObject = null; + } + + if (MovimVisio.localVideo) { + let stream = MovimVisio.localVideo.srcObject; + + if (stream) { + stream.getTracks().forEach(track => track.stop()); + stream = null; + } + + MovimVisio.localVideo.srcObject = null; + } + + if (MovimVisio.localStream) { + MovimVisio.localStream.getTracks().forEach(function (track) { + track.stop(); + }); + MovimVisio.localStream = null; + } + + VisioUtils.disableScreenSharing(); + + MovimVisio.localAudio = null; + MovimVisio.localVideo = null; + MovimVisio.screenSharing = null; + }, + + moveToChat: function (jid) { + if (MovimVisio.observer != null) { + MovimVisio.observer.disconnect(); + } + + // SFU case + if (MovimVisio.sfu != null) { + let visio = document.querySelector('#visio'); + jid = visio.dataset.jid; + } + + var parts = MovimUtils.urlParts(); + + if ((parts.page == 'chat' && parts.params[0] == jid) + || (parts.page == 'space' && parts.params[2] == jid)) { + const visio = document.getElementById('visio'); + const body = document.body; + + document.querySelector('#chat_widget header').after(visio); + Chat.scrollRestore(); + + const callback = (mutationList, observer) => { + if (!document.getElementById('visio')) { + document.getElementById('endcommon').before(visio); + } + }; + + MovimVisio.observer = new MutationObserver(callback); + MovimVisio.observer.observe(body, { childList: true, subtree: true }); + } + + }, + + callStop: function (id, jid) { + localStorage.removeItem('callId'); + localStorage.removeItem('callJid'); + } +} + +if (typeof Visio_ajaxHttpGetStates == 'function') { + Visio_ajaxHttpGetStates(); +} + +if (typeof MovimWebsocket != 'undefined') { + MovimWebsocket.attach(() => { + if (MovimVisio.services.length == 0 && typeof Visio_ajaxResolveServices == 'function') { + Visio_ajaxResolveServices(); + Visio_ajaxCheckStatus(localStorage.getItem('callId'), localStorage.getItem('callJid')); + } + }); +} diff --git a/frontend/scripts/movim_websocket.js b/frontend/scripts/movim_websocket.js new file mode 100644 index 0000000..07a4734 --- /dev/null +++ b/frontend/scripts/movim_websocket.js @@ -0,0 +1,284 @@ +/** + * Movim Websocket + * + * This file define the websocket behaviour and handle its connection + */ + +WebSocket.prototype.unregister = function () { + this.send(JSON.stringify({ 'func': 'unregister' })); +}; + +WebSocket.prototype.register = function (host) { + this.send(JSON.stringify({ 'func': 'register', 'host': host })); +}; + +/** + * Short functions + */ +function MWSs(widget, func, params) { + MovimWebsocket.send(widget, func, params); +} + +/** + * @brief Definition of the MovimWebsocket object + * @param string error + */ + +var MovimWebsocket = { + connection: null, + initiated: [], // Launched when the socket is connecting or reconnecting + attached: [], // Launched when the socket is connected to the daemon + started: [], // Launched when the linker is started + registered: [], // Launched when the linker is connected to XMPP + reconnectTimeout: null, + attempts: 1, + pong: false, + closed: false, + statusBar: null, + + launchAttached: function () { + // We hide the Websocket error + MovimWebsocket.statusBar.classList.add('hide'); + + for (var i = 0; i < MovimWebsocket.attached.length; i++) { + MovimWebsocket.attached[i](); + } + }, + + launchRegistered: function () { + for (var i = 0; i < MovimWebsocket.registered.length; i++) { + MovimWebsocket.registered[i](); + } + }, + + launchStarted: function () { + for (var i = 0; i < MovimWebsocket.started.length; i++) { + MovimWebsocket.started[i](); + } + }, + + launchInitiated: function () { + for (var i = 0; i < MovimWebsocket.initiated.length; i++) { + MovimWebsocket.initiated[i](); + } + }, + + resolvePushEndpoint: async function () { + if (!('serviceWorker' in navigator)) return null; + + const registration = await navigator.serviceWorker.getRegistration(SW_URI); + if (!registration || !registration.pushManager) return null; + + const pushSubscription = await registration.pushManager.getSubscription(); + if (!pushSubscription) return null; + + return pushSubscription.endpoint; + }, + + init: async function () { + var uri = 'ws:' + BASE_URI + 'ws/'; + + if (window.location.protocol === "https:") { + var uri = 'wss:' + BASE_URI + 'ws/'; + } + + if (this.connection !== null) { + this.connection.onclose = null; + this.connection.close(); + } + + const pushEndpoint = await this.resolvePushEndpoint(); + + if (pushEndpoint) { + uri += '?push=' + encodeURIComponent(pushEndpoint); + } + + this.connection = new WebSocket(uri); + + this.connection.onopen = function (e) { + console.log("Connection established!"); + + MovimWebsocket.attempts = 1; + clearTimeout(MovimWebsocket.reconnectTimeout); + + MovimWebsocket.launchAttached(); + }; + + this.connection.onmessage = function (e) { + var obj = JSON.parse(e.data); + + if (obj != null) { + if (obj.func == 'registered') { + MovimWebsocket.launchRegistered(); + } + + if (obj.func == 'started') { + // If the linker was started but we're not on the login page + if (!['login', 'account', 'register', 'tag', 'about', 'community'].includes(MovimUtils.urlParts().page)) { + MovimUtils.disconnect(); + } else { + MovimWebsocket.launchStarted(); + } + } + + if (obj.func == 'disconnected') { + MovimUtils.disconnect(); + } + + if (obj.func == 'pong') { + MovimWebsocket.pong = true; + } + + MovimRPC.handle(obj); + } + }; + + this.connection.onclose = function (e) { + console.log("Connection closed by the server or session closed"); + + if (e.code == 1008) { + // The server closed the connection and asked to keep it this way + this.closed = true; + MovimWebsocket.statusBar.classList.remove('hide', 'connect'); + MovimWebsocket.connection.close(); + } else if (e.code == 1006) { + MovimWebsocket.reconnect(); + } else if (e.code == 1000) { + MovimUtils.disconnect(); + } + }; + + this.connection.onerror = function (e) { + console.log("Connection error!"); + + // We show the Websocket error + MovimWebsocket.statusBar.classList.remove('hide', 'connect'); + MovimWebsocket.reconnect(); + + // We prevent the onclose launch + this.onclose = null; + }; + }, + + send: function (widget, func, params) { + if (this.connection && this.connection.readyState == 1) { + var body = { + 'w': widget, + 'f': func + }; + + if (params) body.p = params; + this.connection.send(JSON.stringify( + { 'func': 'message', 'b': body } + )); + } + }, + + attach: function (func) { + if (typeof (func) === "function") { + this.attached.push(func); + } + }, + + register: function (func) { + if (typeof (func) === "function") { + this.registered.push(func); + } + }, + + start: function (func) { + if (typeof (func) === "function") { + this.started.push(func); + } + }, + + initiate: function (func) { + if (typeof (func) === "function") { + this.initiated.push(func); + } + }, + + clearAttached: function () { + this.attached = []; + }, + + clearInitiated: function () { + this.initiated = []; + }, + + clear: function () { + this.clearAttached(); + this.clearInitiated(); + }, + + unregister: function () { + this.connection.unregister(); + }, + + reconnect: function () { + var interval = MovimWebsocket.generateInterval(); + console.log("Try to reconnect"); + + MovimWebsocket.reconnectTimeout = setTimeout(function () { + // We've tried to reconnect so increment the attempts by 1 + MovimWebsocket.attempts++; + + // Show the reconnect state + MovimWebsocket.statusBar.classList.remove('hide'); + MovimWebsocket.statusBar.classList.add('connect'); + + // Connection has closed so try to reconnect every x seconds. + MovimWebsocket.init(); + }, interval); + }, + + generateInterval: function () { + var maxInterval = (Math.pow(2, MovimWebsocket.attempts) - 1) * 1000; + + if (maxInterval > 10 * 1000) { + maxInterval = 10 * 1000; // If the generated interval is more than 30 seconds, truncate it down to 30 seconds. + } + + // generate the interval to a random number between 0 and the maxInterval determined from above + return Math.random() * maxInterval; + } +} + +MovimEvents.registerWindow('offline', 'movimwebsocket', () => { + console.log('offline'); + MovimWebsocket.connection.onerror(); +}); + +MovimEvents.registerWindow('online', 'movimwebsocket', () => { + MovimWebsocket.statusBar.classList.remove('hide'); + MovimWebsocket.statusBar.classList.add('connect'); + + MovimWebsocket.launchInitiated(); + MovimWebsocket.init(); +}); + +window.onbeforeunload = function () { + if (MovimWebsocket.connection !== null) { + MovimWebsocket.connection.onclose = function () { }; // disable onclose handler first + MovimWebsocket.connection.close() + } +}; + +// If the Websocket was closed after some inactivity, we try to reconnect +MovimEvents.registerWindow('focus', 'movimwebsocket', () => { + if (MovimWebsocket.connection !== null + && MovimWebsocket.connection.readyState > 1) { + + // Show the reconnect state + MovimWebsocket.statusBar.classList.remove('hide'); + MovimWebsocket.statusBar.classList.add('connect'); + + MovimWebsocket.init(); + } +}); + +MovimEvents.registerWindow('loaded', 'movimwebsocket', () => { + MovimWebsocket.statusBar = document.getElementById('status_websocket'); + MovimWebsocket.launchInitiated(); + MovimWebsocket.init(); +}); diff --git a/frontend/scripts/thumbhash.js b/frontend/scripts/thumbhash.js new file mode 100644 index 0000000..27b8802 --- /dev/null +++ b/frontend/scripts/thumbhash.js @@ -0,0 +1,288 @@ +/** + * Encodes an RGBA image to a ThumbHash. RGB should not be premultiplied by A. + * + * @param w The width of the input image. Must be ≤100px. + * @param h The height of the input image. Must be ≤100px. + * @param rgba The pixels in the input image, row-by-row. Must have w*h*4 elements. + * @returns The ThumbHash as a Uint8Array. + */ +function rgbaToThumbHash(w, h, rgba) { + // Encoding an image larger than 100x100 is slow with no benefit + if (w > 100 || h > 100) throw new Error(`${w}x${h} doesn't fit in 100x100`) + let { PI, round, max, cos, abs } = Math + + // Determine the average color + let avg_r = 0, avg_g = 0, avg_b = 0, avg_a = 0 + for (let i = 0, j = 0; i < w * h; i++, j += 4) { + let alpha = rgba[j + 3] / 255 + avg_r += alpha / 255 * rgba[j] + avg_g += alpha / 255 * rgba[j + 1] + avg_b += alpha / 255 * rgba[j + 2] + avg_a += alpha + } + if (avg_a) { + avg_r /= avg_a + avg_g /= avg_a + avg_b /= avg_a + } + + let hasAlpha = avg_a < w * h + let l_limit = hasAlpha ? 5 : 7 // Use fewer luminance bits if there's alpha + let lx = max(1, round(l_limit * w / max(w, h))) + let ly = max(1, round(l_limit * h / max(w, h))) + let l = [] // luminance + let p = [] // yellow - blue + let q = [] // red - green + let a = [] // alpha + + // Convert the image from RGBA to LPQA (composite atop the average color) + for (let i = 0, j = 0; i < w * h; i++, j += 4) { + let alpha = rgba[j + 3] / 255 + let r = avg_r * (1 - alpha) + alpha / 255 * rgba[j] + let g = avg_g * (1 - alpha) + alpha / 255 * rgba[j + 1] + let b = avg_b * (1 - alpha) + alpha / 255 * rgba[j + 2] + l[i] = (r + g + b) / 3 + p[i] = (r + g) / 2 - b + q[i] = r - g + a[i] = alpha + } + + // Encode using the DCT into DC (constant) and normalized AC (varying) terms + let encodeChannel = (channel, nx, ny) => { + let dc = 0, ac = [], scale = 0, fx = [] + for (let cy = 0; cy < ny; cy++) { + for (let cx = 0; cx * ny < nx * (ny - cy); cx++) { + let f = 0 + for (let x = 0; x < w; x++) + fx[x] = cos(PI / w * cx * (x + 0.5)) + for (let y = 0; y < h; y++) + for (let x = 0, fy = cos(PI / h * cy * (y + 0.5)); x < w; x++) + f += channel[x + y * w] * fx[x] * fy + f /= w * h + if (cx || cy) { + ac.push(f) + scale = max(scale, abs(f)) + } else { + dc = f + } + } + } + if (scale) + for (let i = 0; i < ac.length; i++) + ac[i] = 0.5 + 0.5 / scale * ac[i] + return [dc, ac, scale] + } + let [l_dc, l_ac, l_scale] = encodeChannel(l, max(3, lx), max(3, ly)) + let [p_dc, p_ac, p_scale] = encodeChannel(p, 3, 3) + let [q_dc, q_ac, q_scale] = encodeChannel(q, 3, 3) + let [a_dc, a_ac, a_scale] = hasAlpha ? encodeChannel(a, 5, 5) : [] + + // Write the constants + let isLandscape = w > h + let header24 = round(63 * l_dc) | (round(31.5 + 31.5 * p_dc) << 6) | (round(31.5 + 31.5 * q_dc) << 12) | (round(31 * l_scale) << 18) | (hasAlpha << 23) + let header16 = (isLandscape ? ly : lx) | (round(63 * p_scale) << 3) | (round(63 * q_scale) << 9) | (isLandscape << 15) + let hash = [header24 & 255, (header24 >> 8) & 255, header24 >> 16, header16 & 255, header16 >> 8] + let ac_start = hasAlpha ? 6 : 5 + let ac_index = 0 + if (hasAlpha) hash.push(round(15 * a_dc) | (round(15 * a_scale) << 4)) + + // Write the varying factors + for (let ac of hasAlpha ? [l_ac, p_ac, q_ac, a_ac] : [l_ac, p_ac, q_ac]) + for (let f of ac) + hash[ac_start + (ac_index >> 1)] |= round(15 * f) << ((ac_index++ & 1) << 2) + return new Uint8Array(hash) +} + +/** + * Decodes a ThumbHash to an RGBA image. RGB is not be premultiplied by A. + * + * @param hash The bytes of the ThumbHash. + * @returns The width, height, and pixels of the rendered placeholder image. + */ +function thumbHashToRGBA(hash) { + let { PI, min, max, cos, round } = Math + + // Read the constants + let header24 = hash[0] | (hash[1] << 8) | (hash[2] << 16) + let header16 = hash[3] | (hash[4] << 8) + let l_dc = (header24 & 63) / 63 + let p_dc = ((header24 >> 6) & 63) / 31.5 - 1 + let q_dc = ((header24 >> 12) & 63) / 31.5 - 1 + let l_scale = ((header24 >> 18) & 31) / 31 + let hasAlpha = header24 >> 23 + let p_scale = ((header16 >> 3) & 63) / 63 + let q_scale = ((header16 >> 9) & 63) / 63 + let isLandscape = header16 >> 15 + let lx = max(3, isLandscape ? hasAlpha ? 5 : 7 : header16 & 7) + let ly = max(3, isLandscape ? header16 & 7 : hasAlpha ? 5 : 7) + let a_dc = hasAlpha ? (hash[5] & 15) / 15 : 1 + let a_scale = (hash[5] >> 4) / 15 + + // Read the varying factors (boost saturation by 1.25x to compensate for quantization) + let ac_start = hasAlpha ? 6 : 5 + let ac_index = 0 + let decodeChannel = (nx, ny, scale) => { + let ac = [] + for (let cy = 0; cy < ny; cy++) + for (let cx = cy ? 0 : 1; cx * ny < nx * (ny - cy); cx++) + ac.push((((hash[ac_start + (ac_index >> 1)] >> ((ac_index++ & 1) << 2)) & 15) / 7.5 - 1) * scale) + return ac + } + let l_ac = decodeChannel(lx, ly, l_scale) + let p_ac = decodeChannel(3, 3, p_scale * 1.25) + let q_ac = decodeChannel(3, 3, q_scale * 1.25) + let a_ac = hasAlpha && decodeChannel(5, 5, a_scale) + + // Decode using the DCT into RGB + let ratio = thumbHashToApproximateAspectRatio(hash) + let w = round(ratio > 1 ? 32 : 32 * ratio) + let h = round(ratio > 1 ? 32 / ratio : 32) + let rgba = new Uint8Array(w * h * 4), fx = [], fy = [] + for (let y = 0, i = 0; y < h; y++) { + for (let x = 0; x < w; x++, i += 4) { + let l = l_dc, p = p_dc, q = q_dc, a = a_dc + + // Precompute the coefficients + for (let cx = 0, n = max(lx, hasAlpha ? 5 : 3); cx < n; cx++) + fx[cx] = cos(PI / w * (x + 0.5) * cx) + for (let cy = 0, n = max(ly, hasAlpha ? 5 : 3); cy < n; cy++) + fy[cy] = cos(PI / h * (y + 0.5) * cy) + + // Decode L + for (let cy = 0, j = 0; cy < ly; cy++) + for (let cx = cy ? 0 : 1, fy2 = fy[cy] * 2; cx * ly < lx * (ly - cy); cx++, j++) + l += l_ac[j] * fx[cx] * fy2 + + // Decode P and Q + for (let cy = 0, j = 0; cy < 3; cy++) { + for (let cx = cy ? 0 : 1, fy2 = fy[cy] * 2; cx < 3 - cy; cx++, j++) { + let f = fx[cx] * fy2 + p += p_ac[j] * f + q += q_ac[j] * f + } + } + + // Decode A + if (hasAlpha) + for (let cy = 0, j = 0; cy < 5; cy++) + for (let cx = cy ? 0 : 1, fy2 = fy[cy] * 2; cx < 5 - cy; cx++, j++) + a += a_ac[j] * fx[cx] * fy2 + + // Convert to RGB + let b = l - 2 / 3 * p + let r = (3 * l - b + q) / 2 + let g = r - q + rgba[i] = max(0, 255 * min(1, r)) + rgba[i + 1] = max(0, 255 * min(1, g)) + rgba[i + 2] = max(0, 255 * min(1, b)) + rgba[i + 3] = max(0, 255 * min(1, a)) + } + } + return { w, h, rgba } +} + +/** + * Extracts the average color from a ThumbHash. RGB is not be premultiplied by A. + * + * @param hash The bytes of the ThumbHash. + * @returns The RGBA values for the average color. Each value ranges from 0 to 1. + */ +function thumbHashToAverageRGBA(hash) { + let { min, max } = Math + let header = hash[0] | (hash[1] << 8) | (hash[2] << 16) + let l = (header & 63) / 63 + let p = ((header >> 6) & 63) / 31.5 - 1 + let q = ((header >> 12) & 63) / 31.5 - 1 + let hasAlpha = header >> 23 + let a = hasAlpha ? (hash[5] & 15) / 15 : 1 + let b = l - 2 / 3 * p + let r = (3 * l - b + q) / 2 + let g = r - q + return { + r: max(0, min(1, r)), + g: max(0, min(1, g)), + b: max(0, min(1, b)), + a + } +} + +/** + * Extracts the approximate aspect ratio of the original image. + * + * @param hash The bytes of the ThumbHash. + * @returns The approximate aspect ratio (i.e. width / height). + */ +function thumbHashToApproximateAspectRatio(hash) { + let header = hash[3] + let hasAlpha = hash[2] & 0x80 + let isLandscape = hash[4] & 0x80 + let lx = isLandscape ? hasAlpha ? 5 : 7 : header & 7 + let ly = isLandscape ? header & 7 : hasAlpha ? 5 : 7 + return lx / ly +} + +/** + * Encodes an RGBA image to a PNG data URL. RGB should not be premultiplied by + * A. This is optimized for speed and simplicity and does not optimize for size + * at all. This doesn't do any compression (all values are stored uncompressed). + * + * @param w The width of the input image. Must be ≤100px. + * @param h The height of the input image. Must be ≤100px. + * @param rgba The pixels in the input image, row-by-row. Must have w*h*4 elements. + * @returns A data URL containing a PNG for the input image. + */ +function rgbaToDataURL(w, h, rgba) { + let row = w * 4 + 1 + let idat = 6 + h * (5 + row) + let bytes = [ + 137, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, + w >> 8, w & 255, 0, 0, h >> 8, h & 255, 8, 6, 0, 0, 0, 0, 0, 0, 0, + idat >>> 24, (idat >> 16) & 255, (idat >> 8) & 255, idat & 255, + 73, 68, 65, 84, 120, 1 + ] + let table = [ + 0, 498536548, 997073096, 651767980, 1994146192, 1802195444, 1303535960, + 1342533948, -306674912, -267414716, -690576408, -882789492, -1687895376, + -2032938284, -1609899400, -1111625188 + ] + let a = 1, b = 0 + for (let y = 0, i = 0, end = row - 1; y < h; y++, end += row - 1) { + bytes.push(y + 1 < h ? 0 : 1, row & 255, row >> 8, ~row & 255, (row >> 8) ^ 255, 0) + for (b = (b + a) % 65521; i < end; i++) { + let u = rgba[i] & 255 + bytes.push(u) + a = (a + u) % 65521 + b = (b + a) % 65521 + } + } + bytes.push( + b >> 8, b & 255, a >> 8, a & 255, 0, 0, 0, 0, + 0, 0, 0, 0, 73, 69, 78, 68, 174, 66, 96, 130 + ) + for (let [start, end] of [[12, 29], [37, 41 + idat]]) { + let c = ~0 + for (let i = start; i < end; i++) { + c ^= bytes[i] + c = (c >>> 4) ^ table[c & 15] + c = (c >>> 4) ^ table[c & 15] + } + c = ~c + bytes[end++] = c >>> 24 + bytes[end++] = (c >> 16) & 255 + bytes[end++] = (c >> 8) & 255 + bytes[end++] = c & 255 + } + return 'data:image/png;base64,' + btoa(String.fromCharCode(...bytes)) +} + +/** + * Decodes a ThumbHash to a PNG data URL. This is a convenience function that + * just calls "thumbHashToRGBA" followed by "rgbaToDataURL". + * + * @param hash The bytes of the ThumbHash. + * @returns A data URL containing a PNG for the rendered ThumbHash. + */ +function thumbHashToDataURL(hash) { + let image = thumbHashToRGBA(hash) + return rgbaToDataURL(image.w, image.h, image.rgba) +} \ No newline at end of file diff --git a/frontend/stickers/meme/037edb73175c5f04eaca5732f542119f3f945117.png b/frontend/stickers/meme/037edb73175c5f04eaca5732f542119f3f945117.png new file mode 100644 index 0000000..c04fcf6 Binary files /dev/null and b/frontend/stickers/meme/037edb73175c5f04eaca5732f542119f3f945117.png differ diff --git a/frontend/stickers/meme/05caae67d947ab974958a81980499fa9f7333587.png b/frontend/stickers/meme/05caae67d947ab974958a81980499fa9f7333587.png new file mode 100644 index 0000000..8fe57c7 Binary files /dev/null and b/frontend/stickers/meme/05caae67d947ab974958a81980499fa9f7333587.png differ diff --git a/frontend/stickers/meme/09a50ee45f8250aeefdba2213390754eb3118761.png b/frontend/stickers/meme/09a50ee45f8250aeefdba2213390754eb3118761.png new file mode 100644 index 0000000..efc5cbf Binary files /dev/null and b/frontend/stickers/meme/09a50ee45f8250aeefdba2213390754eb3118761.png differ diff --git a/frontend/stickers/meme/0b4ffbd316ea17f16690a248c47da0c9b8290a6a.png b/frontend/stickers/meme/0b4ffbd316ea17f16690a248c47da0c9b8290a6a.png new file mode 100644 index 0000000..3024ccd Binary files /dev/null and b/frontend/stickers/meme/0b4ffbd316ea17f16690a248c47da0c9b8290a6a.png differ diff --git a/frontend/stickers/meme/12528eeeb211f5ea234d1e6d2e778393b6dfba3c.png b/frontend/stickers/meme/12528eeeb211f5ea234d1e6d2e778393b6dfba3c.png new file mode 100644 index 0000000..26aaa05 Binary files /dev/null and b/frontend/stickers/meme/12528eeeb211f5ea234d1e6d2e778393b6dfba3c.png differ diff --git a/frontend/stickers/meme/125f7c9a2ce910e1ed271774c6d1bde7e12d2e75.png b/frontend/stickers/meme/125f7c9a2ce910e1ed271774c6d1bde7e12d2e75.png new file mode 100644 index 0000000..cfcb609 Binary files /dev/null and b/frontend/stickers/meme/125f7c9a2ce910e1ed271774c6d1bde7e12d2e75.png differ diff --git a/frontend/stickers/meme/17f9b681b65399195d24acc4b901f007d24e0154.png b/frontend/stickers/meme/17f9b681b65399195d24acc4b901f007d24e0154.png new file mode 100644 index 0000000..ddf9549 Binary files /dev/null and b/frontend/stickers/meme/17f9b681b65399195d24acc4b901f007d24e0154.png differ diff --git a/frontend/stickers/meme/1ea38708c9bc6bef691c7c80ee188a173465a4bd.png b/frontend/stickers/meme/1ea38708c9bc6bef691c7c80ee188a173465a4bd.png new file mode 100644 index 0000000..63e4c4d Binary files /dev/null and b/frontend/stickers/meme/1ea38708c9bc6bef691c7c80ee188a173465a4bd.png differ diff --git a/frontend/stickers/meme/1fa7b57d9065e4d422311fcbd78cac7a02ed9313.png b/frontend/stickers/meme/1fa7b57d9065e4d422311fcbd78cac7a02ed9313.png new file mode 100644 index 0000000..dda9c61 Binary files /dev/null and b/frontend/stickers/meme/1fa7b57d9065e4d422311fcbd78cac7a02ed9313.png differ diff --git a/frontend/stickers/meme/24d8f0e08f9ab29ec07e4d909d2b120bb93d7744.png b/frontend/stickers/meme/24d8f0e08f9ab29ec07e4d909d2b120bb93d7744.png new file mode 100644 index 0000000..9120778 Binary files /dev/null and b/frontend/stickers/meme/24d8f0e08f9ab29ec07e4d909d2b120bb93d7744.png differ diff --git a/frontend/stickers/meme/30e42ed65ebd51a5bf7faba17291fe0c83c4c954.png b/frontend/stickers/meme/30e42ed65ebd51a5bf7faba17291fe0c83c4c954.png new file mode 100644 index 0000000..5510188 Binary files /dev/null and b/frontend/stickers/meme/30e42ed65ebd51a5bf7faba17291fe0c83c4c954.png differ diff --git a/frontend/stickers/meme/38cb89fb203f71899e3751362e175b2fbd975db2.png b/frontend/stickers/meme/38cb89fb203f71899e3751362e175b2fbd975db2.png new file mode 100644 index 0000000..b9e9d44 Binary files /dev/null and b/frontend/stickers/meme/38cb89fb203f71899e3751362e175b2fbd975db2.png differ diff --git a/frontend/stickers/meme/401c6e363511624f480594c6ec9734dc6af79501.png b/frontend/stickers/meme/401c6e363511624f480594c6ec9734dc6af79501.png new file mode 100644 index 0000000..5389038 Binary files /dev/null and b/frontend/stickers/meme/401c6e363511624f480594c6ec9734dc6af79501.png differ diff --git a/frontend/stickers/meme/40d044a7e898486f7c3fbceba1a3c86eb78bbe53.png b/frontend/stickers/meme/40d044a7e898486f7c3fbceba1a3c86eb78bbe53.png new file mode 100644 index 0000000..4d0514b Binary files /dev/null and b/frontend/stickers/meme/40d044a7e898486f7c3fbceba1a3c86eb78bbe53.png differ diff --git a/frontend/stickers/meme/436bbc3df30357dd064ab85506a68e84fb3f3215.png b/frontend/stickers/meme/436bbc3df30357dd064ab85506a68e84fb3f3215.png new file mode 100644 index 0000000..fcea9dc Binary files /dev/null and b/frontend/stickers/meme/436bbc3df30357dd064ab85506a68e84fb3f3215.png differ diff --git a/frontend/stickers/meme/47c5db95aa0ef907d8fa4416e5de043a7f53814c.png b/frontend/stickers/meme/47c5db95aa0ef907d8fa4416e5de043a7f53814c.png new file mode 100644 index 0000000..e1f1e6f Binary files /dev/null and b/frontend/stickers/meme/47c5db95aa0ef907d8fa4416e5de043a7f53814c.png differ diff --git a/frontend/stickers/meme/4ec2a828f232ae32dacddffa9a91cbedd393a008.png b/frontend/stickers/meme/4ec2a828f232ae32dacddffa9a91cbedd393a008.png new file mode 100644 index 0000000..f09f9c0 Binary files /dev/null and b/frontend/stickers/meme/4ec2a828f232ae32dacddffa9a91cbedd393a008.png differ diff --git a/frontend/stickers/meme/50b10670289f615f9983519d998e1d31bb05abe7.png b/frontend/stickers/meme/50b10670289f615f9983519d998e1d31bb05abe7.png new file mode 100644 index 0000000..376265b Binary files /dev/null and b/frontend/stickers/meme/50b10670289f615f9983519d998e1d31bb05abe7.png differ diff --git a/frontend/stickers/meme/54dac672a728e6a548946c31e9e3296460ae5a4a.png b/frontend/stickers/meme/54dac672a728e6a548946c31e9e3296460ae5a4a.png new file mode 100644 index 0000000..e39254e Binary files /dev/null and b/frontend/stickers/meme/54dac672a728e6a548946c31e9e3296460ae5a4a.png differ diff --git a/frontend/stickers/meme/5936dd2556870c4f82cf3b6c3e5e24592560a5e6.png b/frontend/stickers/meme/5936dd2556870c4f82cf3b6c3e5e24592560a5e6.png new file mode 100644 index 0000000..bd6be00 Binary files /dev/null and b/frontend/stickers/meme/5936dd2556870c4f82cf3b6c3e5e24592560a5e6.png differ diff --git a/frontend/stickers/meme/5995cd4f9350e19965e3184de709097d26f6763c.png b/frontend/stickers/meme/5995cd4f9350e19965e3184de709097d26f6763c.png new file mode 100644 index 0000000..bbd828b Binary files /dev/null and b/frontend/stickers/meme/5995cd4f9350e19965e3184de709097d26f6763c.png differ diff --git a/frontend/stickers/meme/5bb4bce81cdcb403ffcc92f9e71b1cdcb7442bfa.png b/frontend/stickers/meme/5bb4bce81cdcb403ffcc92f9e71b1cdcb7442bfa.png new file mode 100644 index 0000000..0205b22 Binary files /dev/null and b/frontend/stickers/meme/5bb4bce81cdcb403ffcc92f9e71b1cdcb7442bfa.png differ diff --git a/frontend/stickers/meme/5bed574796c2bb1c68f21a3b9dba18d150813fa5.png b/frontend/stickers/meme/5bed574796c2bb1c68f21a3b9dba18d150813fa5.png new file mode 100644 index 0000000..67a29dc Binary files /dev/null and b/frontend/stickers/meme/5bed574796c2bb1c68f21a3b9dba18d150813fa5.png differ diff --git a/frontend/stickers/meme/5c0c2ab28e2b691bc99d523f8f458e2e2da4ee32.png b/frontend/stickers/meme/5c0c2ab28e2b691bc99d523f8f458e2e2da4ee32.png new file mode 100644 index 0000000..5ba723c Binary files /dev/null and b/frontend/stickers/meme/5c0c2ab28e2b691bc99d523f8f458e2e2da4ee32.png differ diff --git a/frontend/stickers/meme/5d08b5a46eca2444b76947c50a6f287533b403ad.png b/frontend/stickers/meme/5d08b5a46eca2444b76947c50a6f287533b403ad.png new file mode 100644 index 0000000..ffa50f3 Binary files /dev/null and b/frontend/stickers/meme/5d08b5a46eca2444b76947c50a6f287533b403ad.png differ diff --git a/frontend/stickers/meme/5f4b680fc20044850e7983fcd3d279a51c1b044e.png b/frontend/stickers/meme/5f4b680fc20044850e7983fcd3d279a51c1b044e.png new file mode 100644 index 0000000..12e5a4f Binary files /dev/null and b/frontend/stickers/meme/5f4b680fc20044850e7983fcd3d279a51c1b044e.png differ diff --git a/frontend/stickers/meme/61fb135c460f6080b9d11ef0c078df90e8eda67c.png b/frontend/stickers/meme/61fb135c460f6080b9d11ef0c078df90e8eda67c.png new file mode 100644 index 0000000..d01bdf5 Binary files /dev/null and b/frontend/stickers/meme/61fb135c460f6080b9d11ef0c078df90e8eda67c.png differ diff --git a/frontend/stickers/meme/638a4fe9d8eb5eca1292eb560e6ccb7a67086779.png b/frontend/stickers/meme/638a4fe9d8eb5eca1292eb560e6ccb7a67086779.png new file mode 100644 index 0000000..007fef7 Binary files /dev/null and b/frontend/stickers/meme/638a4fe9d8eb5eca1292eb560e6ccb7a67086779.png differ diff --git a/frontend/stickers/meme/6587cc65908c1bca0be89ec6a8b2d4936c1a76c5.png b/frontend/stickers/meme/6587cc65908c1bca0be89ec6a8b2d4936c1a76c5.png new file mode 100644 index 0000000..4394972 Binary files /dev/null and b/frontend/stickers/meme/6587cc65908c1bca0be89ec6a8b2d4936c1a76c5.png differ diff --git a/frontend/stickers/meme/69e3ac83624e0fce10070e1c0f93cfc91eb74fd2.png b/frontend/stickers/meme/69e3ac83624e0fce10070e1c0f93cfc91eb74fd2.png new file mode 100644 index 0000000..5188ab5 Binary files /dev/null and b/frontend/stickers/meme/69e3ac83624e0fce10070e1c0f93cfc91eb74fd2.png differ diff --git a/frontend/stickers/meme/6c2105e8793c2588be9c61fee467ec79c7ea026d.png b/frontend/stickers/meme/6c2105e8793c2588be9c61fee467ec79c7ea026d.png new file mode 100644 index 0000000..ff9d653 Binary files /dev/null and b/frontend/stickers/meme/6c2105e8793c2588be9c61fee467ec79c7ea026d.png differ diff --git a/frontend/stickers/meme/6f6a362ee5c7fd7b8e0b5aaa049d4de1063762a9.png b/frontend/stickers/meme/6f6a362ee5c7fd7b8e0b5aaa049d4de1063762a9.png new file mode 100644 index 0000000..486f640 Binary files /dev/null and b/frontend/stickers/meme/6f6a362ee5c7fd7b8e0b5aaa049d4de1063762a9.png differ diff --git a/frontend/stickers/meme/7251f3fad76e198b337942a42a3767a6a6fc2ca1.png b/frontend/stickers/meme/7251f3fad76e198b337942a42a3767a6a6fc2ca1.png new file mode 100644 index 0000000..e0f2bcc Binary files /dev/null and b/frontend/stickers/meme/7251f3fad76e198b337942a42a3767a6a6fc2ca1.png differ diff --git a/frontend/stickers/meme/72d83ea55c430b7bcc557a5b698038c807ce7f4f.png b/frontend/stickers/meme/72d83ea55c430b7bcc557a5b698038c807ce7f4f.png new file mode 100644 index 0000000..df095e1 Binary files /dev/null and b/frontend/stickers/meme/72d83ea55c430b7bcc557a5b698038c807ce7f4f.png differ diff --git a/frontend/stickers/meme/754872684dcbbfb52380b6658583626558f0f732.png b/frontend/stickers/meme/754872684dcbbfb52380b6658583626558f0f732.png new file mode 100644 index 0000000..4d42de7 Binary files /dev/null and b/frontend/stickers/meme/754872684dcbbfb52380b6658583626558f0f732.png differ diff --git a/frontend/stickers/meme/7bf172f6cb53cc7e6389899aa8129566cb1d7292.png b/frontend/stickers/meme/7bf172f6cb53cc7e6389899aa8129566cb1d7292.png new file mode 100644 index 0000000..779a7eb Binary files /dev/null and b/frontend/stickers/meme/7bf172f6cb53cc7e6389899aa8129566cb1d7292.png differ diff --git a/frontend/stickers/meme/875028404de878151a44e7d4fa1bfe8a31f84e9b.png b/frontend/stickers/meme/875028404de878151a44e7d4fa1bfe8a31f84e9b.png new file mode 100644 index 0000000..48b86f3 Binary files /dev/null and b/frontend/stickers/meme/875028404de878151a44e7d4fa1bfe8a31f84e9b.png differ diff --git a/frontend/stickers/meme/8bbd816dac729ab3e16eb0a0463721113c4b5514.png b/frontend/stickers/meme/8bbd816dac729ab3e16eb0a0463721113c4b5514.png new file mode 100644 index 0000000..c26e818 Binary files /dev/null and b/frontend/stickers/meme/8bbd816dac729ab3e16eb0a0463721113c4b5514.png differ diff --git a/frontend/stickers/meme/8c06dfb3770d63b87c7a2e7e6ecdb32477d70180.png b/frontend/stickers/meme/8c06dfb3770d63b87c7a2e7e6ecdb32477d70180.png new file mode 100644 index 0000000..692cfbc Binary files /dev/null and b/frontend/stickers/meme/8c06dfb3770d63b87c7a2e7e6ecdb32477d70180.png differ diff --git a/frontend/stickers/meme/8cfded99ab1993a328984f3751059ba9e11b3acc.png b/frontend/stickers/meme/8cfded99ab1993a328984f3751059ba9e11b3acc.png new file mode 100644 index 0000000..765f18f Binary files /dev/null and b/frontend/stickers/meme/8cfded99ab1993a328984f3751059ba9e11b3acc.png differ diff --git a/frontend/stickers/meme/96fef27b74041d98e8785188490f1ecce2a4d3f1.png b/frontend/stickers/meme/96fef27b74041d98e8785188490f1ecce2a4d3f1.png new file mode 100644 index 0000000..4e7d0bc Binary files /dev/null and b/frontend/stickers/meme/96fef27b74041d98e8785188490f1ecce2a4d3f1.png differ diff --git a/frontend/stickers/meme/97ca3d828ea2c7b59b71f60892ce943b515c71cd.png b/frontend/stickers/meme/97ca3d828ea2c7b59b71f60892ce943b515c71cd.png new file mode 100644 index 0000000..0d63119 Binary files /dev/null and b/frontend/stickers/meme/97ca3d828ea2c7b59b71f60892ce943b515c71cd.png differ diff --git a/frontend/stickers/meme/980c11ed09188fe30801170d3729474c8339cf95.png b/frontend/stickers/meme/980c11ed09188fe30801170d3729474c8339cf95.png new file mode 100644 index 0000000..702348d Binary files /dev/null and b/frontend/stickers/meme/980c11ed09188fe30801170d3729474c8339cf95.png differ diff --git a/frontend/stickers/meme/99b921560dbd2f3804f027a2d1577db41c5435e5.png b/frontend/stickers/meme/99b921560dbd2f3804f027a2d1577db41c5435e5.png new file mode 100644 index 0000000..4be1d86 Binary files /dev/null and b/frontend/stickers/meme/99b921560dbd2f3804f027a2d1577db41c5435e5.png differ diff --git a/frontend/stickers/meme/9eac783c31ded435142d54632e0625311a5d3ca5.png b/frontend/stickers/meme/9eac783c31ded435142d54632e0625311a5d3ca5.png new file mode 100644 index 0000000..7ade755 Binary files /dev/null and b/frontend/stickers/meme/9eac783c31ded435142d54632e0625311a5d3ca5.png differ diff --git a/frontend/stickers/meme/9fccc1ef8bf51dda05eede40710272940faa2eb4.png b/frontend/stickers/meme/9fccc1ef8bf51dda05eede40710272940faa2eb4.png new file mode 100644 index 0000000..79167cb Binary files /dev/null and b/frontend/stickers/meme/9fccc1ef8bf51dda05eede40710272940faa2eb4.png differ diff --git a/frontend/stickers/meme/a4dae5405f1ab959c43d0c0b3c98df4de72d7e96.png b/frontend/stickers/meme/a4dae5405f1ab959c43d0c0b3c98df4de72d7e96.png new file mode 100644 index 0000000..34b3f2d Binary files /dev/null and b/frontend/stickers/meme/a4dae5405f1ab959c43d0c0b3c98df4de72d7e96.png differ diff --git a/frontend/stickers/meme/b4424b167d94d0df3a5ee6d79753225341683f47.png b/frontend/stickers/meme/b4424b167d94d0df3a5ee6d79753225341683f47.png new file mode 100644 index 0000000..e7e628e Binary files /dev/null and b/frontend/stickers/meme/b4424b167d94d0df3a5ee6d79753225341683f47.png differ diff --git a/frontend/stickers/meme/b8a008e3a17ca18346a5b5542c4105dac48ad427.png b/frontend/stickers/meme/b8a008e3a17ca18346a5b5542c4105dac48ad427.png new file mode 100644 index 0000000..ade4a44 Binary files /dev/null and b/frontend/stickers/meme/b8a008e3a17ca18346a5b5542c4105dac48ad427.png differ diff --git a/frontend/stickers/meme/bca6ec3d24635373767b403aa3f2f5527e08dfd6.png b/frontend/stickers/meme/bca6ec3d24635373767b403aa3f2f5527e08dfd6.png new file mode 100644 index 0000000..fb74caa Binary files /dev/null and b/frontend/stickers/meme/bca6ec3d24635373767b403aa3f2f5527e08dfd6.png differ diff --git a/frontend/stickers/meme/bf8bc087ff6caed401a453f44891a6eb5787d34b.png b/frontend/stickers/meme/bf8bc087ff6caed401a453f44891a6eb5787d34b.png new file mode 100644 index 0000000..959f713 Binary files /dev/null and b/frontend/stickers/meme/bf8bc087ff6caed401a453f44891a6eb5787d34b.png differ diff --git a/frontend/stickers/meme/c4166e04762b2f253765fc71732da2cea4803a03.png b/frontend/stickers/meme/c4166e04762b2f253765fc71732da2cea4803a03.png new file mode 100644 index 0000000..02486f2 Binary files /dev/null and b/frontend/stickers/meme/c4166e04762b2f253765fc71732da2cea4803a03.png differ diff --git a/frontend/stickers/meme/c669877d68060c183bcbd66847a36e879847701d.png b/frontend/stickers/meme/c669877d68060c183bcbd66847a36e879847701d.png new file mode 100644 index 0000000..26bc944 Binary files /dev/null and b/frontend/stickers/meme/c669877d68060c183bcbd66847a36e879847701d.png differ diff --git a/frontend/stickers/meme/cb43e45e950fe8fd527e0d9dae45efb7de04869e.png b/frontend/stickers/meme/cb43e45e950fe8fd527e0d9dae45efb7de04869e.png new file mode 100644 index 0000000..83c8029 Binary files /dev/null and b/frontend/stickers/meme/cb43e45e950fe8fd527e0d9dae45efb7de04869e.png differ diff --git a/frontend/stickers/meme/cf97f4b564fa7c2a8282825f5ad317cd8cb35fb9.png b/frontend/stickers/meme/cf97f4b564fa7c2a8282825f5ad317cd8cb35fb9.png new file mode 100644 index 0000000..8538261 Binary files /dev/null and b/frontend/stickers/meme/cf97f4b564fa7c2a8282825f5ad317cd8cb35fb9.png differ diff --git a/frontend/stickers/meme/d40dabc49dd4af3e9ec02d8f3f19c91fb2096f23.png b/frontend/stickers/meme/d40dabc49dd4af3e9ec02d8f3f19c91fb2096f23.png new file mode 100644 index 0000000..c8be535 Binary files /dev/null and b/frontend/stickers/meme/d40dabc49dd4af3e9ec02d8f3f19c91fb2096f23.png differ diff --git a/frontend/stickers/meme/d46640d991d3dc88a582b91b50ae2a6e56a49c6c.png b/frontend/stickers/meme/d46640d991d3dc88a582b91b50ae2a6e56a49c6c.png new file mode 100644 index 0000000..4bb5b18 Binary files /dev/null and b/frontend/stickers/meme/d46640d991d3dc88a582b91b50ae2a6e56a49c6c.png differ diff --git a/frontend/stickers/meme/db30343b65209e7562a4eafb76da0a7eb10bd3e0.png b/frontend/stickers/meme/db30343b65209e7562a4eafb76da0a7eb10bd3e0.png new file mode 100644 index 0000000..b82ac79 Binary files /dev/null and b/frontend/stickers/meme/db30343b65209e7562a4eafb76da0a7eb10bd3e0.png differ diff --git a/frontend/stickers/meme/de52ce763360fcba0c5bd607ae661f2b83074d8c.png b/frontend/stickers/meme/de52ce763360fcba0c5bd607ae661f2b83074d8c.png new file mode 100644 index 0000000..244e12a Binary files /dev/null and b/frontend/stickers/meme/de52ce763360fcba0c5bd607ae661f2b83074d8c.png differ diff --git a/frontend/stickers/meme/e172c8f1d668fa2d2111c2c4659abafc95d1be61.png b/frontend/stickers/meme/e172c8f1d668fa2d2111c2c4659abafc95d1be61.png new file mode 100644 index 0000000..ee62a45 Binary files /dev/null and b/frontend/stickers/meme/e172c8f1d668fa2d2111c2c4659abafc95d1be61.png differ diff --git a/frontend/stickers/meme/e7d93a7969d33ce1f0fecb851a41cdc6ee38abd5.png b/frontend/stickers/meme/e7d93a7969d33ce1f0fecb851a41cdc6ee38abd5.png new file mode 100644 index 0000000..8f28150 Binary files /dev/null and b/frontend/stickers/meme/e7d93a7969d33ce1f0fecb851a41cdc6ee38abd5.png differ diff --git a/frontend/stickers/meme/eb5fc148a6c15d5fe9cc533ca7ffe47fa49f918d.png b/frontend/stickers/meme/eb5fc148a6c15d5fe9cc533ca7ffe47fa49f918d.png new file mode 100644 index 0000000..5bff697 Binary files /dev/null and b/frontend/stickers/meme/eb5fc148a6c15d5fe9cc533ca7ffe47fa49f918d.png differ diff --git a/frontend/stickers/meme/ec1ee179f4ed071909ed13529e22ce9e5b3b14fc.png b/frontend/stickers/meme/ec1ee179f4ed071909ed13529e22ce9e5b3b14fc.png new file mode 100644 index 0000000..628a2a9 Binary files /dev/null and b/frontend/stickers/meme/ec1ee179f4ed071909ed13529e22ce9e5b3b14fc.png differ diff --git a/frontend/stickers/meme/ed41387d695d019762571c2a13a81ce03f7459a3.png b/frontend/stickers/meme/ed41387d695d019762571c2a13a81ce03f7459a3.png new file mode 100644 index 0000000..ca52c39 Binary files /dev/null and b/frontend/stickers/meme/ed41387d695d019762571c2a13a81ce03f7459a3.png differ diff --git a/frontend/stickers/meme/efb8206b2a4f4f4057e2a66cc48ded56ca3481b2.png b/frontend/stickers/meme/efb8206b2a4f4f4057e2a66cc48ded56ca3481b2.png new file mode 100644 index 0000000..4191df9 Binary files /dev/null and b/frontend/stickers/meme/efb8206b2a4f4f4057e2a66cc48ded56ca3481b2.png differ diff --git a/frontend/stickers/meme/efc5dbaf7365b606c0a54d86e4ca360870ff07bd.png b/frontend/stickers/meme/efc5dbaf7365b606c0a54d86e4ca360870ff07bd.png new file mode 100644 index 0000000..51f6900 Binary files /dev/null and b/frontend/stickers/meme/efc5dbaf7365b606c0a54d86e4ca360870ff07bd.png differ diff --git a/frontend/stickers/meme/f1e961f742f145d745cbe842696a07e7811104ac.png b/frontend/stickers/meme/f1e961f742f145d745cbe842696a07e7811104ac.png new file mode 100644 index 0000000..c563063 Binary files /dev/null and b/frontend/stickers/meme/f1e961f742f145d745cbe842696a07e7811104ac.png differ diff --git a/frontend/stickers/meme/f7b79e66bb14d1bd123f169e1946c2107b9d87f0.png b/frontend/stickers/meme/f7b79e66bb14d1bd123f169e1946c2107b9d87f0.png new file mode 100644 index 0000000..012469a Binary files /dev/null and b/frontend/stickers/meme/f7b79e66bb14d1bd123f169e1946c2107b9d87f0.png differ diff --git a/frontend/stickers/meme/icon.png b/frontend/stickers/meme/icon.png new file mode 100644 index 0000000..90117e9 Binary files /dev/null and b/frontend/stickers/meme/icon.png differ diff --git a/frontend/stickers/meme/info.ini b/frontend/stickers/meme/info.ini new file mode 100644 index 0000000..d4ea486 --- /dev/null +++ b/frontend/stickers/meme/info.ini @@ -0,0 +1,3 @@ +author = Movim Team +license = "No License" +url = https://movim.eu/ diff --git a/frontend/stickers/miho/04214b0b967163915432d5406adec8c4017e093b.png b/frontend/stickers/miho/04214b0b967163915432d5406adec8c4017e093b.png new file mode 100644 index 0000000..c8de03e Binary files /dev/null and b/frontend/stickers/miho/04214b0b967163915432d5406adec8c4017e093b.png differ diff --git a/frontend/stickers/miho/100bdb0e14c557b87ad4d253018b71eb65b80725.png b/frontend/stickers/miho/100bdb0e14c557b87ad4d253018b71eb65b80725.png new file mode 100644 index 0000000..e227c44 Binary files /dev/null and b/frontend/stickers/miho/100bdb0e14c557b87ad4d253018b71eb65b80725.png differ diff --git a/frontend/stickers/miho/3142d1222d82d9f2dbe48d284c8f189660f418c3.png b/frontend/stickers/miho/3142d1222d82d9f2dbe48d284c8f189660f418c3.png new file mode 100644 index 0000000..760ab6d Binary files /dev/null and b/frontend/stickers/miho/3142d1222d82d9f2dbe48d284c8f189660f418c3.png differ diff --git a/frontend/stickers/miho/34a406c2212522d7e6b60e888665267b16fc37ba.png b/frontend/stickers/miho/34a406c2212522d7e6b60e888665267b16fc37ba.png new file mode 100644 index 0000000..19fd815 Binary files /dev/null and b/frontend/stickers/miho/34a406c2212522d7e6b60e888665267b16fc37ba.png differ diff --git a/frontend/stickers/miho/580999b6110e859e336229913a73ec0ae640ef06.png b/frontend/stickers/miho/580999b6110e859e336229913a73ec0ae640ef06.png new file mode 100644 index 0000000..7f52500 Binary files /dev/null and b/frontend/stickers/miho/580999b6110e859e336229913a73ec0ae640ef06.png differ diff --git a/frontend/stickers/miho/6bbee3f5bcaeecbaa9fac68ba1aa4656e10a158d.png b/frontend/stickers/miho/6bbee3f5bcaeecbaa9fac68ba1aa4656e10a158d.png new file mode 100644 index 0000000..cd4426f Binary files /dev/null and b/frontend/stickers/miho/6bbee3f5bcaeecbaa9fac68ba1aa4656e10a158d.png differ diff --git a/frontend/stickers/miho/777e80a69ccc9c9938457844f9723f4debac0653.png b/frontend/stickers/miho/777e80a69ccc9c9938457844f9723f4debac0653.png new file mode 100644 index 0000000..894944f Binary files /dev/null and b/frontend/stickers/miho/777e80a69ccc9c9938457844f9723f4debac0653.png differ diff --git a/frontend/stickers/miho/a3366676e1aea97dd9425fe7cc45a6ed86288f2e.png b/frontend/stickers/miho/a3366676e1aea97dd9425fe7cc45a6ed86288f2e.png new file mode 100644 index 0000000..72a3b42 Binary files /dev/null and b/frontend/stickers/miho/a3366676e1aea97dd9425fe7cc45a6ed86288f2e.png differ diff --git a/frontend/stickers/miho/ae0ba6cdae25fbe512dc53c7e0413d706a9410f8.png b/frontend/stickers/miho/ae0ba6cdae25fbe512dc53c7e0413d706a9410f8.png new file mode 100644 index 0000000..d8e87d0 Binary files /dev/null and b/frontend/stickers/miho/ae0ba6cdae25fbe512dc53c7e0413d706a9410f8.png differ diff --git a/frontend/stickers/miho/c069c6deff735fab3e4416ca354594a64a79ae40.png b/frontend/stickers/miho/c069c6deff735fab3e4416ca354594a64a79ae40.png new file mode 100644 index 0000000..b8ebb05 Binary files /dev/null and b/frontend/stickers/miho/c069c6deff735fab3e4416ca354594a64a79ae40.png differ diff --git a/frontend/stickers/miho/c42fc57e5234c4d19a2455178eff2b30bced20ef.png b/frontend/stickers/miho/c42fc57e5234c4d19a2455178eff2b30bced20ef.png new file mode 100644 index 0000000..fa009a9 Binary files /dev/null and b/frontend/stickers/miho/c42fc57e5234c4d19a2455178eff2b30bced20ef.png differ diff --git a/frontend/stickers/miho/e599dca3de182a821ef2e92234fb2bfca04a325e.png b/frontend/stickers/miho/e599dca3de182a821ef2e92234fb2bfca04a325e.png new file mode 100644 index 0000000..6c1615d Binary files /dev/null and b/frontend/stickers/miho/e599dca3de182a821ef2e92234fb2bfca04a325e.png differ diff --git a/frontend/stickers/miho/eb7d0dd12b283017edee25243c3edacd62033ed0.png b/frontend/stickers/miho/eb7d0dd12b283017edee25243c3edacd62033ed0.png new file mode 100644 index 0000000..7f80915 Binary files /dev/null and b/frontend/stickers/miho/eb7d0dd12b283017edee25243c3edacd62033ed0.png differ diff --git a/frontend/stickers/miho/f038ef01f098cae73a727618c0fbf9adf3e96ef6.png b/frontend/stickers/miho/f038ef01f098cae73a727618c0fbf9adf3e96ef6.png new file mode 100644 index 0000000..395888e Binary files /dev/null and b/frontend/stickers/miho/f038ef01f098cae73a727618c0fbf9adf3e96ef6.png differ diff --git a/frontend/stickers/miho/fc0f48df75138fa0f3aec605629226b8ac57c639.png b/frontend/stickers/miho/fc0f48df75138fa0f3aec605629226b8ac57c639.png new file mode 100644 index 0000000..8e17e91 Binary files /dev/null and b/frontend/stickers/miho/fc0f48df75138fa0f3aec605629226b8ac57c639.png differ diff --git a/frontend/stickers/miho/fd759226e3ec153956f3e941b81ed820614792a6.png b/frontend/stickers/miho/fd759226e3ec153956f3e941b81ed820614792a6.png new file mode 100644 index 0000000..a5679d3 Binary files /dev/null and b/frontend/stickers/miho/fd759226e3ec153956f3e941b81ed820614792a6.png differ diff --git a/frontend/stickers/miho/icon.png b/frontend/stickers/miho/icon.png new file mode 100644 index 0000000..9919554 Binary files /dev/null and b/frontend/stickers/miho/icon.png differ diff --git a/frontend/stickers/miho/info.ini b/frontend/stickers/miho/info.ini new file mode 100644 index 0000000..22d0c4f --- /dev/null +++ b/frontend/stickers/miho/info.ini @@ -0,0 +1,3 @@ +author = Hey-Xander +license = CreativeCommon BY SA +url = http://hey-xander.deviantart.com/ diff --git a/frontend/stickers/mochi/29f4cfaca739286f6f19477a629b89818b3cf6c9.png b/frontend/stickers/mochi/29f4cfaca739286f6f19477a629b89818b3cf6c9.png new file mode 100644 index 0000000..1e0838d Binary files /dev/null and b/frontend/stickers/mochi/29f4cfaca739286f6f19477a629b89818b3cf6c9.png differ diff --git a/frontend/stickers/mochi/3e80ebb78199b9b8b979884087e4cfd9af12aafd.png b/frontend/stickers/mochi/3e80ebb78199b9b8b979884087e4cfd9af12aafd.png new file mode 100644 index 0000000..d9f1c8f Binary files /dev/null and b/frontend/stickers/mochi/3e80ebb78199b9b8b979884087e4cfd9af12aafd.png differ diff --git a/frontend/stickers/mochi/751c9c8e314735b5c0b0b64148ae08a5983c96c8.png b/frontend/stickers/mochi/751c9c8e314735b5c0b0b64148ae08a5983c96c8.png new file mode 100644 index 0000000..a242bcc Binary files /dev/null and b/frontend/stickers/mochi/751c9c8e314735b5c0b0b64148ae08a5983c96c8.png differ diff --git a/frontend/stickers/mochi/9919c834182a683c6dc28ba3059f19376ff152ee.png b/frontend/stickers/mochi/9919c834182a683c6dc28ba3059f19376ff152ee.png new file mode 100644 index 0000000..d9b5350 Binary files /dev/null and b/frontend/stickers/mochi/9919c834182a683c6dc28ba3059f19376ff152ee.png differ diff --git a/frontend/stickers/mochi/a37967e78e43acdad23d41394a2dd6a345740672.png b/frontend/stickers/mochi/a37967e78e43acdad23d41394a2dd6a345740672.png new file mode 100644 index 0000000..496d199 Binary files /dev/null and b/frontend/stickers/mochi/a37967e78e43acdad23d41394a2dd6a345740672.png differ diff --git a/frontend/stickers/mochi/b93fca2188d23dd40247b83dcff7dea4fa1ba981.png b/frontend/stickers/mochi/b93fca2188d23dd40247b83dcff7dea4fa1ba981.png new file mode 100644 index 0000000..28d257c Binary files /dev/null and b/frontend/stickers/mochi/b93fca2188d23dd40247b83dcff7dea4fa1ba981.png differ diff --git a/frontend/stickers/mochi/d670caaa0e7c6104e7eddf53861593e300dd1512.png b/frontend/stickers/mochi/d670caaa0e7c6104e7eddf53861593e300dd1512.png new file mode 100644 index 0000000..779859b Binary files /dev/null and b/frontend/stickers/mochi/d670caaa0e7c6104e7eddf53861593e300dd1512.png differ diff --git a/frontend/stickers/mochi/icon.png b/frontend/stickers/mochi/icon.png new file mode 100644 index 0000000..cd54491 Binary files /dev/null and b/frontend/stickers/mochi/icon.png differ diff --git a/frontend/stickers/mochi/info.ini b/frontend/stickers/mochi/info.ini new file mode 100644 index 0000000..3e06898 --- /dev/null +++ b/frontend/stickers/mochi/info.ini @@ -0,0 +1,3 @@ +author = Timothée Jaussoin +license = CreativeCommon BY SA +url = https://edhelas.movim.eu/ diff --git a/frontend/stickers/movim/05c18ab6cc80ddc889621d1e8fd6e92c55c35c0e.png b/frontend/stickers/movim/05c18ab6cc80ddc889621d1e8fd6e92c55c35c0e.png new file mode 100644 index 0000000..dfd1afa Binary files /dev/null and b/frontend/stickers/movim/05c18ab6cc80ddc889621d1e8fd6e92c55c35c0e.png differ diff --git a/frontend/stickers/movim/1ee8b0a00a05f88fc5709bb4d2e5499f3de16d55.png b/frontend/stickers/movim/1ee8b0a00a05f88fc5709bb4d2e5499f3de16d55.png new file mode 100644 index 0000000..d8067c2 Binary files /dev/null and b/frontend/stickers/movim/1ee8b0a00a05f88fc5709bb4d2e5499f3de16d55.png differ diff --git a/frontend/stickers/movim/39991cebf3bdb822071a9a0a08cbbc2dbdef9d91.png b/frontend/stickers/movim/39991cebf3bdb822071a9a0a08cbbc2dbdef9d91.png new file mode 100644 index 0000000..c92f02e Binary files /dev/null and b/frontend/stickers/movim/39991cebf3bdb822071a9a0a08cbbc2dbdef9d91.png differ diff --git a/frontend/stickers/movim/44e645dfafa0705c73667c595f985fb230d9ac1a.png b/frontend/stickers/movim/44e645dfafa0705c73667c595f985fb230d9ac1a.png new file mode 100644 index 0000000..3e35755 Binary files /dev/null and b/frontend/stickers/movim/44e645dfafa0705c73667c595f985fb230d9ac1a.png differ diff --git a/frontend/stickers/movim/5772a1d9196c35a704d6e157764c74b37b4c52fa.png b/frontend/stickers/movim/5772a1d9196c35a704d6e157764c74b37b4c52fa.png new file mode 100644 index 0000000..91c6f4a Binary files /dev/null and b/frontend/stickers/movim/5772a1d9196c35a704d6e157764c74b37b4c52fa.png differ diff --git a/frontend/stickers/movim/6060dd38097516a77a036a982ff19239b02ed7ff.png b/frontend/stickers/movim/6060dd38097516a77a036a982ff19239b02ed7ff.png new file mode 100644 index 0000000..28c40e2 Binary files /dev/null and b/frontend/stickers/movim/6060dd38097516a77a036a982ff19239b02ed7ff.png differ diff --git a/frontend/stickers/movim/63f2e7f6b9948c09720ca271a24d1da4956e44ae.png b/frontend/stickers/movim/63f2e7f6b9948c09720ca271a24d1da4956e44ae.png new file mode 100644 index 0000000..df18de1 Binary files /dev/null and b/frontend/stickers/movim/63f2e7f6b9948c09720ca271a24d1da4956e44ae.png differ diff --git a/frontend/stickers/movim/7d2bbac1f073c1d888d41d7a0b1c34a0de6f82a9.png b/frontend/stickers/movim/7d2bbac1f073c1d888d41d7a0b1c34a0de6f82a9.png new file mode 100644 index 0000000..4d11c07 Binary files /dev/null and b/frontend/stickers/movim/7d2bbac1f073c1d888d41d7a0b1c34a0de6f82a9.png differ diff --git a/frontend/stickers/movim/82ca1d038ed421e6f6afd8eff3ca5f7d89c481bb.png b/frontend/stickers/movim/82ca1d038ed421e6f6afd8eff3ca5f7d89c481bb.png new file mode 100644 index 0000000..6e35cfb Binary files /dev/null and b/frontend/stickers/movim/82ca1d038ed421e6f6afd8eff3ca5f7d89c481bb.png differ diff --git a/frontend/stickers/movim/8d9e77d002270b565a55616ec73dd831904fa754.png b/frontend/stickers/movim/8d9e77d002270b565a55616ec73dd831904fa754.png new file mode 100644 index 0000000..04135e8 Binary files /dev/null and b/frontend/stickers/movim/8d9e77d002270b565a55616ec73dd831904fa754.png differ diff --git a/frontend/stickers/movim/9a64ff1a9e581eadf312c64f0c549833f67eccaf.png b/frontend/stickers/movim/9a64ff1a9e581eadf312c64f0c549833f67eccaf.png new file mode 100644 index 0000000..deeb9cc Binary files /dev/null and b/frontend/stickers/movim/9a64ff1a9e581eadf312c64f0c549833f67eccaf.png differ diff --git a/frontend/stickers/movim/b1f9d2f5bc3c58bf7308c09103bb60087284c0ab.png b/frontend/stickers/movim/b1f9d2f5bc3c58bf7308c09103bb60087284c0ab.png new file mode 100644 index 0000000..5ad928a Binary files /dev/null and b/frontend/stickers/movim/b1f9d2f5bc3c58bf7308c09103bb60087284c0ab.png differ diff --git a/frontend/stickers/movim/d104163b335d9743f6e701d2f66c4e220e625cfe.png b/frontend/stickers/movim/d104163b335d9743f6e701d2f66c4e220e625cfe.png new file mode 100644 index 0000000..8ac77fd Binary files /dev/null and b/frontend/stickers/movim/d104163b335d9743f6e701d2f66c4e220e625cfe.png differ diff --git a/frontend/stickers/movim/d4e9adaf33fdce6948a075db3fa957bd4bfa38e1.png b/frontend/stickers/movim/d4e9adaf33fdce6948a075db3fa957bd4bfa38e1.png new file mode 100644 index 0000000..25034c0 Binary files /dev/null and b/frontend/stickers/movim/d4e9adaf33fdce6948a075db3fa957bd4bfa38e1.png differ diff --git a/frontend/stickers/movim/de482e47cd1f0b668844940735e489ea6fa69d85.png b/frontend/stickers/movim/de482e47cd1f0b668844940735e489ea6fa69d85.png new file mode 100644 index 0000000..3cff4d5 Binary files /dev/null and b/frontend/stickers/movim/de482e47cd1f0b668844940735e489ea6fa69d85.png differ diff --git a/frontend/stickers/movim/fc81dad244f0666cbfe3a37adee15b6f05016219.png b/frontend/stickers/movim/fc81dad244f0666cbfe3a37adee15b6f05016219.png new file mode 100644 index 0000000..1252831 Binary files /dev/null and b/frontend/stickers/movim/fc81dad244f0666cbfe3a37adee15b6f05016219.png differ diff --git a/frontend/stickers/movim/info.ini b/frontend/stickers/movim/info.ini new file mode 100644 index 0000000..d7f2a92 --- /dev/null +++ b/frontend/stickers/movim/info.ini @@ -0,0 +1,3 @@ +author = Rimou +license = CC BY-NC 4.0 +url = https://lematougraphe.fr/ \ No newline at end of file diff --git a/frontend/stickers/noblerimou/06447ce1991f6786a17c816a43dbe978340a6704.png b/frontend/stickers/noblerimou/06447ce1991f6786a17c816a43dbe978340a6704.png new file mode 100644 index 0000000..c1614dc Binary files /dev/null and b/frontend/stickers/noblerimou/06447ce1991f6786a17c816a43dbe978340a6704.png differ diff --git a/frontend/stickers/noblerimou/0c4e4ee3ce29dc019b63969c7fcd158385ff7430.png b/frontend/stickers/noblerimou/0c4e4ee3ce29dc019b63969c7fcd158385ff7430.png new file mode 100644 index 0000000..ecaaa88 Binary files /dev/null and b/frontend/stickers/noblerimou/0c4e4ee3ce29dc019b63969c7fcd158385ff7430.png differ diff --git a/frontend/stickers/noblerimou/0eed4eae79d4302a42e198ef7f63ea354b053d7d.png b/frontend/stickers/noblerimou/0eed4eae79d4302a42e198ef7f63ea354b053d7d.png new file mode 100644 index 0000000..953b422 Binary files /dev/null and b/frontend/stickers/noblerimou/0eed4eae79d4302a42e198ef7f63ea354b053d7d.png differ diff --git a/frontend/stickers/noblerimou/1061d16ff34a1508f995a61bca5792d97cfc12a8.png b/frontend/stickers/noblerimou/1061d16ff34a1508f995a61bca5792d97cfc12a8.png new file mode 100644 index 0000000..9c985db Binary files /dev/null and b/frontend/stickers/noblerimou/1061d16ff34a1508f995a61bca5792d97cfc12a8.png differ diff --git a/frontend/stickers/noblerimou/157146789023488d0870ac9bedadba298482b582.png b/frontend/stickers/noblerimou/157146789023488d0870ac9bedadba298482b582.png new file mode 100644 index 0000000..ee8f34b Binary files /dev/null and b/frontend/stickers/noblerimou/157146789023488d0870ac9bedadba298482b582.png differ diff --git a/frontend/stickers/noblerimou/159ee9700f7eb38d2649d4ad568a71a99b4c14c5.png b/frontend/stickers/noblerimou/159ee9700f7eb38d2649d4ad568a71a99b4c14c5.png new file mode 100644 index 0000000..fe4da47 Binary files /dev/null and b/frontend/stickers/noblerimou/159ee9700f7eb38d2649d4ad568a71a99b4c14c5.png differ diff --git a/frontend/stickers/noblerimou/29443afca2ba27a54f7961a397cd62add17ff8f8.png b/frontend/stickers/noblerimou/29443afca2ba27a54f7961a397cd62add17ff8f8.png new file mode 100644 index 0000000..aa7b21c Binary files /dev/null and b/frontend/stickers/noblerimou/29443afca2ba27a54f7961a397cd62add17ff8f8.png differ diff --git a/frontend/stickers/noblerimou/29e189ca823d6cb138840cb1dd9d5e8953cdb2e7.png b/frontend/stickers/noblerimou/29e189ca823d6cb138840cb1dd9d5e8953cdb2e7.png new file mode 100644 index 0000000..2f98f2a Binary files /dev/null and b/frontend/stickers/noblerimou/29e189ca823d6cb138840cb1dd9d5e8953cdb2e7.png differ diff --git a/frontend/stickers/noblerimou/3b1b22454f797aa81672aafae13ed319f38026f5.png b/frontend/stickers/noblerimou/3b1b22454f797aa81672aafae13ed319f38026f5.png new file mode 100644 index 0000000..844268c Binary files /dev/null and b/frontend/stickers/noblerimou/3b1b22454f797aa81672aafae13ed319f38026f5.png differ diff --git a/frontend/stickers/noblerimou/4195b36b79fbd8722a29a40b979ce3eb1271dbfd.png b/frontend/stickers/noblerimou/4195b36b79fbd8722a29a40b979ce3eb1271dbfd.png new file mode 100644 index 0000000..8af32b5 Binary files /dev/null and b/frontend/stickers/noblerimou/4195b36b79fbd8722a29a40b979ce3eb1271dbfd.png differ diff --git a/frontend/stickers/noblerimou/42c71571d9fa8a9bb14054473185d25de8e4b1b8.png b/frontend/stickers/noblerimou/42c71571d9fa8a9bb14054473185d25de8e4b1b8.png new file mode 100644 index 0000000..672b65b Binary files /dev/null and b/frontend/stickers/noblerimou/42c71571d9fa8a9bb14054473185d25de8e4b1b8.png differ diff --git a/frontend/stickers/noblerimou/553508fb609c48ea4d90d7f4de702db2309856ab.png b/frontend/stickers/noblerimou/553508fb609c48ea4d90d7f4de702db2309856ab.png new file mode 100644 index 0000000..a1828b3 Binary files /dev/null and b/frontend/stickers/noblerimou/553508fb609c48ea4d90d7f4de702db2309856ab.png differ diff --git a/frontend/stickers/noblerimou/592e2002174c196ed621d2516525240913954b9a.png b/frontend/stickers/noblerimou/592e2002174c196ed621d2516525240913954b9a.png new file mode 100644 index 0000000..11b07aa Binary files /dev/null and b/frontend/stickers/noblerimou/592e2002174c196ed621d2516525240913954b9a.png differ diff --git a/frontend/stickers/noblerimou/59ba45e1812597f439a664f3bdfe1821326679fd.png b/frontend/stickers/noblerimou/59ba45e1812597f439a664f3bdfe1821326679fd.png new file mode 100644 index 0000000..2c9c727 Binary files /dev/null and b/frontend/stickers/noblerimou/59ba45e1812597f439a664f3bdfe1821326679fd.png differ diff --git a/frontend/stickers/noblerimou/5c3a1ce7bfbae4bbb11f6cafe799a97580000cf6.png b/frontend/stickers/noblerimou/5c3a1ce7bfbae4bbb11f6cafe799a97580000cf6.png new file mode 100644 index 0000000..5f8d431 Binary files /dev/null and b/frontend/stickers/noblerimou/5c3a1ce7bfbae4bbb11f6cafe799a97580000cf6.png differ diff --git a/frontend/stickers/noblerimou/77d22b3550f3a9623c0bca853293b042cc97b2a5.png b/frontend/stickers/noblerimou/77d22b3550f3a9623c0bca853293b042cc97b2a5.png new file mode 100644 index 0000000..eb2356f Binary files /dev/null and b/frontend/stickers/noblerimou/77d22b3550f3a9623c0bca853293b042cc97b2a5.png differ diff --git a/frontend/stickers/noblerimou/867a31f82ad366c3ac8f30372ccc5be743aa50c1.png b/frontend/stickers/noblerimou/867a31f82ad366c3ac8f30372ccc5be743aa50c1.png new file mode 100644 index 0000000..9afd97f Binary files /dev/null and b/frontend/stickers/noblerimou/867a31f82ad366c3ac8f30372ccc5be743aa50c1.png differ diff --git a/frontend/stickers/noblerimou/90e743635af2fc33b4c17245bfc72721fc1c6936.png b/frontend/stickers/noblerimou/90e743635af2fc33b4c17245bfc72721fc1c6936.png new file mode 100644 index 0000000..5703a15 Binary files /dev/null and b/frontend/stickers/noblerimou/90e743635af2fc33b4c17245bfc72721fc1c6936.png differ diff --git a/frontend/stickers/noblerimou/a48404478afa5f6f903a0f63a252521638fc6d0b.png b/frontend/stickers/noblerimou/a48404478afa5f6f903a0f63a252521638fc6d0b.png new file mode 100644 index 0000000..505fe23 Binary files /dev/null and b/frontend/stickers/noblerimou/a48404478afa5f6f903a0f63a252521638fc6d0b.png differ diff --git a/frontend/stickers/noblerimou/ad1e93f47034320fd0990f93dd3cc33ea464c7be.png b/frontend/stickers/noblerimou/ad1e93f47034320fd0990f93dd3cc33ea464c7be.png new file mode 100644 index 0000000..15cdc26 Binary files /dev/null and b/frontend/stickers/noblerimou/ad1e93f47034320fd0990f93dd3cc33ea464c7be.png differ diff --git a/frontend/stickers/noblerimou/aed01985512e98d7566a3ec162c6ca6716a35bda.png b/frontend/stickers/noblerimou/aed01985512e98d7566a3ec162c6ca6716a35bda.png new file mode 100644 index 0000000..ffcbd8b Binary files /dev/null and b/frontend/stickers/noblerimou/aed01985512e98d7566a3ec162c6ca6716a35bda.png differ diff --git a/frontend/stickers/noblerimou/b98b50de84ed85d72e1ade77656e0896dcfd9670.png b/frontend/stickers/noblerimou/b98b50de84ed85d72e1ade77656e0896dcfd9670.png new file mode 100644 index 0000000..b0cc5dd Binary files /dev/null and b/frontend/stickers/noblerimou/b98b50de84ed85d72e1ade77656e0896dcfd9670.png differ diff --git a/frontend/stickers/noblerimou/beef0774a7fb8d2588fdeacdce95dc3bef0d2503.png b/frontend/stickers/noblerimou/beef0774a7fb8d2588fdeacdce95dc3bef0d2503.png new file mode 100644 index 0000000..dcd9b5a Binary files /dev/null and b/frontend/stickers/noblerimou/beef0774a7fb8d2588fdeacdce95dc3bef0d2503.png differ diff --git a/frontend/stickers/noblerimou/c0a6be29e1e710482ea10fbb27529a3b105df2a9.png b/frontend/stickers/noblerimou/c0a6be29e1e710482ea10fbb27529a3b105df2a9.png new file mode 100644 index 0000000..22e07e4 Binary files /dev/null and b/frontend/stickers/noblerimou/c0a6be29e1e710482ea10fbb27529a3b105df2a9.png differ diff --git a/frontend/stickers/noblerimou/c36c9e44a38f92a17eba1efe15b89cdc90c8fa34.png b/frontend/stickers/noblerimou/c36c9e44a38f92a17eba1efe15b89cdc90c8fa34.png new file mode 100644 index 0000000..a5b9a90 Binary files /dev/null and b/frontend/stickers/noblerimou/c36c9e44a38f92a17eba1efe15b89cdc90c8fa34.png differ diff --git a/frontend/stickers/noblerimou/c4fba069251970722f9f3f1b1b8b4816ac30f31a.png b/frontend/stickers/noblerimou/c4fba069251970722f9f3f1b1b8b4816ac30f31a.png new file mode 100644 index 0000000..f1c9883 Binary files /dev/null and b/frontend/stickers/noblerimou/c4fba069251970722f9f3f1b1b8b4816ac30f31a.png differ diff --git a/frontend/stickers/noblerimou/c83df126bb3d73505daf74bdb6cdf2d702770774.png b/frontend/stickers/noblerimou/c83df126bb3d73505daf74bdb6cdf2d702770774.png new file mode 100644 index 0000000..2a2afd3 Binary files /dev/null and b/frontend/stickers/noblerimou/c83df126bb3d73505daf74bdb6cdf2d702770774.png differ diff --git a/frontend/stickers/noblerimou/e472e6bd0d22bba297badab5567192d3e270a1fe.png b/frontend/stickers/noblerimou/e472e6bd0d22bba297badab5567192d3e270a1fe.png new file mode 100644 index 0000000..f097c60 Binary files /dev/null and b/frontend/stickers/noblerimou/e472e6bd0d22bba297badab5567192d3e270a1fe.png differ diff --git a/frontend/stickers/noblerimou/e7fb4b18ca2ab4792812f673ce3c5da1f1271866.png b/frontend/stickers/noblerimou/e7fb4b18ca2ab4792812f673ce3c5da1f1271866.png new file mode 100644 index 0000000..2f146ac Binary files /dev/null and b/frontend/stickers/noblerimou/e7fb4b18ca2ab4792812f673ce3c5da1f1271866.png differ diff --git a/frontend/stickers/noblerimou/e8c24db5014a12be558ac47db87967f1cb5ad1c4.png b/frontend/stickers/noblerimou/e8c24db5014a12be558ac47db87967f1cb5ad1c4.png new file mode 100644 index 0000000..37897fe Binary files /dev/null and b/frontend/stickers/noblerimou/e8c24db5014a12be558ac47db87967f1cb5ad1c4.png differ diff --git a/frontend/stickers/noblerimou/ee2494bffdfc6d34f111886b4a73178abaad0a30.png b/frontend/stickers/noblerimou/ee2494bffdfc6d34f111886b4a73178abaad0a30.png new file mode 100644 index 0000000..07dfce7 Binary files /dev/null and b/frontend/stickers/noblerimou/ee2494bffdfc6d34f111886b4a73178abaad0a30.png differ diff --git a/frontend/stickers/noblerimou/f0314e301c65a83c90c844126af808e03e7178b1.png b/frontend/stickers/noblerimou/f0314e301c65a83c90c844126af808e03e7178b1.png new file mode 100644 index 0000000..b5542f7 Binary files /dev/null and b/frontend/stickers/noblerimou/f0314e301c65a83c90c844126af808e03e7178b1.png differ diff --git a/frontend/stickers/noblerimou/icon.png b/frontend/stickers/noblerimou/icon.png new file mode 100644 index 0000000..672b65b Binary files /dev/null and b/frontend/stickers/noblerimou/icon.png differ diff --git a/frontend/stickers/noblerimou/info.ini b/frontend/stickers/noblerimou/info.ini new file mode 100644 index 0000000..d7f2a92 --- /dev/null +++ b/frontend/stickers/noblerimou/info.ini @@ -0,0 +1,3 @@ +author = Rimou +license = CC BY-NC 4.0 +url = https://lematougraphe.fr/ \ No newline at end of file diff --git a/frontend/stickers/racoon/066b6f96ac3b9c847bac3a73ef2bb353e245b398.png b/frontend/stickers/racoon/066b6f96ac3b9c847bac3a73ef2bb353e245b398.png new file mode 100644 index 0000000..b24ca9f Binary files /dev/null and b/frontend/stickers/racoon/066b6f96ac3b9c847bac3a73ef2bb353e245b398.png differ diff --git a/frontend/stickers/racoon/131d0c376dc98b545d82a5f70b7df95ad079ffc7.png b/frontend/stickers/racoon/131d0c376dc98b545d82a5f70b7df95ad079ffc7.png new file mode 100644 index 0000000..ef4a8b8 Binary files /dev/null and b/frontend/stickers/racoon/131d0c376dc98b545d82a5f70b7df95ad079ffc7.png differ diff --git a/frontend/stickers/racoon/1f1b758ca110b016c962f260d2315fd3f7e81727.png b/frontend/stickers/racoon/1f1b758ca110b016c962f260d2315fd3f7e81727.png new file mode 100644 index 0000000..ef5e112 Binary files /dev/null and b/frontend/stickers/racoon/1f1b758ca110b016c962f260d2315fd3f7e81727.png differ diff --git a/frontend/stickers/racoon/25360adec7e13fe321fae5fecf307fafdccb1cc7.png b/frontend/stickers/racoon/25360adec7e13fe321fae5fecf307fafdccb1cc7.png new file mode 100644 index 0000000..ac12b12 Binary files /dev/null and b/frontend/stickers/racoon/25360adec7e13fe321fae5fecf307fafdccb1cc7.png differ diff --git a/frontend/stickers/racoon/350d3713bf286f13c1ff247cd0322b3760e4f707.png b/frontend/stickers/racoon/350d3713bf286f13c1ff247cd0322b3760e4f707.png new file mode 100644 index 0000000..d09b54f Binary files /dev/null and b/frontend/stickers/racoon/350d3713bf286f13c1ff247cd0322b3760e4f707.png differ diff --git a/frontend/stickers/racoon/3cd2c71f542ea65b7394c32211981c4f1b36d4d5.png b/frontend/stickers/racoon/3cd2c71f542ea65b7394c32211981c4f1b36d4d5.png new file mode 100644 index 0000000..9cd1593 Binary files /dev/null and b/frontend/stickers/racoon/3cd2c71f542ea65b7394c32211981c4f1b36d4d5.png differ diff --git a/frontend/stickers/racoon/3f287132e542e55492e5a909b2eedf83b3e6c475.png b/frontend/stickers/racoon/3f287132e542e55492e5a909b2eedf83b3e6c475.png new file mode 100644 index 0000000..5168d1f Binary files /dev/null and b/frontend/stickers/racoon/3f287132e542e55492e5a909b2eedf83b3e6c475.png differ diff --git a/frontend/stickers/racoon/40ac00d6d3b3ad3c8711d9ad3d4913cda90a1e17.png b/frontend/stickers/racoon/40ac00d6d3b3ad3c8711d9ad3d4913cda90a1e17.png new file mode 100644 index 0000000..aeb1c05 Binary files /dev/null and b/frontend/stickers/racoon/40ac00d6d3b3ad3c8711d9ad3d4913cda90a1e17.png differ diff --git a/frontend/stickers/racoon/42abeda5e5586d099c5e259887c0324c88cfe9f0.png b/frontend/stickers/racoon/42abeda5e5586d099c5e259887c0324c88cfe9f0.png new file mode 100644 index 0000000..72bd55c Binary files /dev/null and b/frontend/stickers/racoon/42abeda5e5586d099c5e259887c0324c88cfe9f0.png differ diff --git a/frontend/stickers/racoon/5cef0fdb9de8c7b4f4d4a61a836704b8ce8b91b8.png b/frontend/stickers/racoon/5cef0fdb9de8c7b4f4d4a61a836704b8ce8b91b8.png new file mode 100644 index 0000000..1a7e143 Binary files /dev/null and b/frontend/stickers/racoon/5cef0fdb9de8c7b4f4d4a61a836704b8ce8b91b8.png differ diff --git a/frontend/stickers/racoon/5d570350f5ff8f7e5f4c45b952895bdc65e490ed.png b/frontend/stickers/racoon/5d570350f5ff8f7e5f4c45b952895bdc65e490ed.png new file mode 100644 index 0000000..db5837b Binary files /dev/null and b/frontend/stickers/racoon/5d570350f5ff8f7e5f4c45b952895bdc65e490ed.png differ diff --git a/frontend/stickers/racoon/75bae75930e4d18004c3ae52dfbd126f8ffaf757.png b/frontend/stickers/racoon/75bae75930e4d18004c3ae52dfbd126f8ffaf757.png new file mode 100644 index 0000000..fd951e6 Binary files /dev/null and b/frontend/stickers/racoon/75bae75930e4d18004c3ae52dfbd126f8ffaf757.png differ diff --git a/frontend/stickers/racoon/898ece6768016790bdad3f5a81c96d24c5a4dad5.png b/frontend/stickers/racoon/898ece6768016790bdad3f5a81c96d24c5a4dad5.png new file mode 100644 index 0000000..5a7a273 Binary files /dev/null and b/frontend/stickers/racoon/898ece6768016790bdad3f5a81c96d24c5a4dad5.png differ diff --git a/frontend/stickers/racoon/c6f5b7e8e40cff8ede87a23d9d52c6cf05fc259d.png b/frontend/stickers/racoon/c6f5b7e8e40cff8ede87a23d9d52c6cf05fc259d.png new file mode 100644 index 0000000..9dbf5bf Binary files /dev/null and b/frontend/stickers/racoon/c6f5b7e8e40cff8ede87a23d9d52c6cf05fc259d.png differ diff --git a/frontend/stickers/racoon/de2fabc34217d03ad8efa50afeedb22d3d3e9c40.png b/frontend/stickers/racoon/de2fabc34217d03ad8efa50afeedb22d3d3e9c40.png new file mode 100644 index 0000000..92fb968 Binary files /dev/null and b/frontend/stickers/racoon/de2fabc34217d03ad8efa50afeedb22d3d3e9c40.png differ diff --git a/frontend/stickers/racoon/f7aa4efde0d916b2f18393cb60dc86f3c4e2e4bd.png b/frontend/stickers/racoon/f7aa4efde0d916b2f18393cb60dc86f3c4e2e4bd.png new file mode 100644 index 0000000..5dafdd8 Binary files /dev/null and b/frontend/stickers/racoon/f7aa4efde0d916b2f18393cb60dc86f3c4e2e4bd.png differ diff --git a/frontend/stickers/racoon/icon.png b/frontend/stickers/racoon/icon.png new file mode 100644 index 0000000..001ad74 Binary files /dev/null and b/frontend/stickers/racoon/icon.png differ diff --git a/frontend/stickers/racoon/info.ini b/frontend/stickers/racoon/info.ini new file mode 100644 index 0000000..2ade7ea --- /dev/null +++ b/frontend/stickers/racoon/info.ini @@ -0,0 +1,3 @@ +author = Corine Tea +license = CreativeCommon BY SA +url = https://lechocobo.wordpress.com/ diff --git a/frontend/stickers/rage/0216db9a7d56a278fbd97e22e986d39d3e296876.png b/frontend/stickers/rage/0216db9a7d56a278fbd97e22e986d39d3e296876.png new file mode 100644 index 0000000..507c761 Binary files /dev/null and b/frontend/stickers/rage/0216db9a7d56a278fbd97e22e986d39d3e296876.png differ diff --git a/frontend/stickers/rage/053aabb9fd583b97ac7684885b9af35d2e173226.png b/frontend/stickers/rage/053aabb9fd583b97ac7684885b9af35d2e173226.png new file mode 100644 index 0000000..3177597 Binary files /dev/null and b/frontend/stickers/rage/053aabb9fd583b97ac7684885b9af35d2e173226.png differ diff --git a/frontend/stickers/rage/122f7f5d40598fa788228f4c5bde5b2c9db23bf2.png b/frontend/stickers/rage/122f7f5d40598fa788228f4c5bde5b2c9db23bf2.png new file mode 100644 index 0000000..5d54be6 Binary files /dev/null and b/frontend/stickers/rage/122f7f5d40598fa788228f4c5bde5b2c9db23bf2.png differ diff --git a/frontend/stickers/rage/1cb7f2213333e453ebe39f41f9b3a0e151647294.png b/frontend/stickers/rage/1cb7f2213333e453ebe39f41f9b3a0e151647294.png new file mode 100644 index 0000000..412477b Binary files /dev/null and b/frontend/stickers/rage/1cb7f2213333e453ebe39f41f9b3a0e151647294.png differ diff --git a/frontend/stickers/rage/1d2ec943ef9804603d16b87c196a720ed37539f0.png b/frontend/stickers/rage/1d2ec943ef9804603d16b87c196a720ed37539f0.png new file mode 100644 index 0000000..5b66d9b Binary files /dev/null and b/frontend/stickers/rage/1d2ec943ef9804603d16b87c196a720ed37539f0.png differ diff --git a/frontend/stickers/rage/238ee276e7e6f9c005ca87cb863cc183562efb15.png b/frontend/stickers/rage/238ee276e7e6f9c005ca87cb863cc183562efb15.png new file mode 100644 index 0000000..2cf8f19 Binary files /dev/null and b/frontend/stickers/rage/238ee276e7e6f9c005ca87cb863cc183562efb15.png differ diff --git a/frontend/stickers/rage/26486829c7bec4bcb20e7465ea5e94c4f728c9d4.png b/frontend/stickers/rage/26486829c7bec4bcb20e7465ea5e94c4f728c9d4.png new file mode 100644 index 0000000..42a9e65 Binary files /dev/null and b/frontend/stickers/rage/26486829c7bec4bcb20e7465ea5e94c4f728c9d4.png differ diff --git a/frontend/stickers/rage/2d018b8d0ad118cf033cddd11bbe53072caaaae8.png b/frontend/stickers/rage/2d018b8d0ad118cf033cddd11bbe53072caaaae8.png new file mode 100644 index 0000000..d402687 Binary files /dev/null and b/frontend/stickers/rage/2d018b8d0ad118cf033cddd11bbe53072caaaae8.png differ diff --git a/frontend/stickers/rage/2e0e74082cc1adb717b34d65a5c814e93ff416c8.png b/frontend/stickers/rage/2e0e74082cc1adb717b34d65a5c814e93ff416c8.png new file mode 100644 index 0000000..45c3eb7 Binary files /dev/null and b/frontend/stickers/rage/2e0e74082cc1adb717b34d65a5c814e93ff416c8.png differ diff --git a/frontend/stickers/rage/30b8ea7b9303e0b28e556f0f6b46633ce7c9d667.png b/frontend/stickers/rage/30b8ea7b9303e0b28e556f0f6b46633ce7c9d667.png new file mode 100644 index 0000000..d5404ef Binary files /dev/null and b/frontend/stickers/rage/30b8ea7b9303e0b28e556f0f6b46633ce7c9d667.png differ diff --git a/frontend/stickers/rage/3389d7fea5cad6d876736cf60d08086917ecaf01.png b/frontend/stickers/rage/3389d7fea5cad6d876736cf60d08086917ecaf01.png new file mode 100644 index 0000000..3bf0364 Binary files /dev/null and b/frontend/stickers/rage/3389d7fea5cad6d876736cf60d08086917ecaf01.png differ diff --git a/frontend/stickers/rage/33efc21c804cc5f143fa47735f96b46aed783036.png b/frontend/stickers/rage/33efc21c804cc5f143fa47735f96b46aed783036.png new file mode 100644 index 0000000..f6f858a Binary files /dev/null and b/frontend/stickers/rage/33efc21c804cc5f143fa47735f96b46aed783036.png differ diff --git a/frontend/stickers/rage/376d2f934db04bb11adc6d3e0b2de68dce68a084.png b/frontend/stickers/rage/376d2f934db04bb11adc6d3e0b2de68dce68a084.png new file mode 100644 index 0000000..6d2b713 Binary files /dev/null and b/frontend/stickers/rage/376d2f934db04bb11adc6d3e0b2de68dce68a084.png differ diff --git a/frontend/stickers/rage/3d882177b1f24336e355ed07c8ca0e02f2b6041c.png b/frontend/stickers/rage/3d882177b1f24336e355ed07c8ca0e02f2b6041c.png new file mode 100644 index 0000000..eff8b83 Binary files /dev/null and b/frontend/stickers/rage/3d882177b1f24336e355ed07c8ca0e02f2b6041c.png differ diff --git a/frontend/stickers/rage/3f99febe9f6d90e85e59656ad01846e3fc455661.png b/frontend/stickers/rage/3f99febe9f6d90e85e59656ad01846e3fc455661.png new file mode 100644 index 0000000..ab6f321 Binary files /dev/null and b/frontend/stickers/rage/3f99febe9f6d90e85e59656ad01846e3fc455661.png differ diff --git a/frontend/stickers/rage/4031ddc134d13355234b59f326c000e478854c25.png b/frontend/stickers/rage/4031ddc134d13355234b59f326c000e478854c25.png new file mode 100644 index 0000000..cfcae9a Binary files /dev/null and b/frontend/stickers/rage/4031ddc134d13355234b59f326c000e478854c25.png differ diff --git a/frontend/stickers/rage/405ac1a6a8edf8d5562530d7913c1f2e8f55bbbd.png b/frontend/stickers/rage/405ac1a6a8edf8d5562530d7913c1f2e8f55bbbd.png new file mode 100644 index 0000000..7a19a09 Binary files /dev/null and b/frontend/stickers/rage/405ac1a6a8edf8d5562530d7913c1f2e8f55bbbd.png differ diff --git a/frontend/stickers/rage/4806f52d8e004aa7a681a9d7d0d11d3c362de520.png b/frontend/stickers/rage/4806f52d8e004aa7a681a9d7d0d11d3c362de520.png new file mode 100644 index 0000000..dc17c98 Binary files /dev/null and b/frontend/stickers/rage/4806f52d8e004aa7a681a9d7d0d11d3c362de520.png differ diff --git a/frontend/stickers/rage/4872558c0a61f9e332867f11990ed29b399ee40c.png b/frontend/stickers/rage/4872558c0a61f9e332867f11990ed29b399ee40c.png new file mode 100644 index 0000000..65cedb1 Binary files /dev/null and b/frontend/stickers/rage/4872558c0a61f9e332867f11990ed29b399ee40c.png differ diff --git a/frontend/stickers/rage/496cc7efa3586e43ec8d8c4335b3b558aaaa9b7c.png b/frontend/stickers/rage/496cc7efa3586e43ec8d8c4335b3b558aaaa9b7c.png new file mode 100644 index 0000000..1b3d045 Binary files /dev/null and b/frontend/stickers/rage/496cc7efa3586e43ec8d8c4335b3b558aaaa9b7c.png differ diff --git a/frontend/stickers/rage/4babd7e641bd35d2f09f3fcb765d339934b63078.png b/frontend/stickers/rage/4babd7e641bd35d2f09f3fcb765d339934b63078.png new file mode 100644 index 0000000..3161d21 Binary files /dev/null and b/frontend/stickers/rage/4babd7e641bd35d2f09f3fcb765d339934b63078.png differ diff --git a/frontend/stickers/rage/4cd3e4baae8dc58e828d62300cb1f636567d2f6d.png b/frontend/stickers/rage/4cd3e4baae8dc58e828d62300cb1f636567d2f6d.png new file mode 100644 index 0000000..6a90c36 Binary files /dev/null and b/frontend/stickers/rage/4cd3e4baae8dc58e828d62300cb1f636567d2f6d.png differ diff --git a/frontend/stickers/rage/5069a171bae952f9912603576fdfa81eda0cdd43.png b/frontend/stickers/rage/5069a171bae952f9912603576fdfa81eda0cdd43.png new file mode 100644 index 0000000..b744ea8 Binary files /dev/null and b/frontend/stickers/rage/5069a171bae952f9912603576fdfa81eda0cdd43.png differ diff --git a/frontend/stickers/rage/51325a535986af9d521013b59be9b57ae01a0145.png b/frontend/stickers/rage/51325a535986af9d521013b59be9b57ae01a0145.png new file mode 100644 index 0000000..1a6e3a9 Binary files /dev/null and b/frontend/stickers/rage/51325a535986af9d521013b59be9b57ae01a0145.png differ diff --git a/frontend/stickers/rage/513c724ee95f6ea807dea7aaf242be6ecda6e872.png b/frontend/stickers/rage/513c724ee95f6ea807dea7aaf242be6ecda6e872.png new file mode 100644 index 0000000..a16f99d Binary files /dev/null and b/frontend/stickers/rage/513c724ee95f6ea807dea7aaf242be6ecda6e872.png differ diff --git a/frontend/stickers/rage/60e2dd38c2318a8e02b053418af1761409fe9d38.png b/frontend/stickers/rage/60e2dd38c2318a8e02b053418af1761409fe9d38.png new file mode 100644 index 0000000..5a26119 Binary files /dev/null and b/frontend/stickers/rage/60e2dd38c2318a8e02b053418af1761409fe9d38.png differ diff --git a/frontend/stickers/rage/673e7d47826dea8699b0f104f986a3de94a7f3e5.png b/frontend/stickers/rage/673e7d47826dea8699b0f104f986a3de94a7f3e5.png new file mode 100644 index 0000000..fba5f07 Binary files /dev/null and b/frontend/stickers/rage/673e7d47826dea8699b0f104f986a3de94a7f3e5.png differ diff --git a/frontend/stickers/rage/67f7d87cb1ee0c92db9b2dc0f0ad7ae2439fb5f6.png b/frontend/stickers/rage/67f7d87cb1ee0c92db9b2dc0f0ad7ae2439fb5f6.png new file mode 100644 index 0000000..b50e825 Binary files /dev/null and b/frontend/stickers/rage/67f7d87cb1ee0c92db9b2dc0f0ad7ae2439fb5f6.png differ diff --git a/frontend/stickers/rage/689f723eb4e00d07eb995f95c3b32ba52bee6513.png b/frontend/stickers/rage/689f723eb4e00d07eb995f95c3b32ba52bee6513.png new file mode 100644 index 0000000..dcf2464 Binary files /dev/null and b/frontend/stickers/rage/689f723eb4e00d07eb995f95c3b32ba52bee6513.png differ diff --git a/frontend/stickers/rage/6a86e85bf513b6d6c765dfcd5dc3d9c561dbe9d7.png b/frontend/stickers/rage/6a86e85bf513b6d6c765dfcd5dc3d9c561dbe9d7.png new file mode 100644 index 0000000..d1978ce Binary files /dev/null and b/frontend/stickers/rage/6a86e85bf513b6d6c765dfcd5dc3d9c561dbe9d7.png differ diff --git a/frontend/stickers/rage/70ab0e65fe1b4c7964b1f923ec7039990d891dd9.png b/frontend/stickers/rage/70ab0e65fe1b4c7964b1f923ec7039990d891dd9.png new file mode 100644 index 0000000..94c2c4a Binary files /dev/null and b/frontend/stickers/rage/70ab0e65fe1b4c7964b1f923ec7039990d891dd9.png differ diff --git a/frontend/stickers/rage/7252d55ffc7b6ae7c10b02865b08cbd88c92e9dd.png b/frontend/stickers/rage/7252d55ffc7b6ae7c10b02865b08cbd88c92e9dd.png new file mode 100644 index 0000000..3d73265 Binary files /dev/null and b/frontend/stickers/rage/7252d55ffc7b6ae7c10b02865b08cbd88c92e9dd.png differ diff --git a/frontend/stickers/rage/732560dc665ae419f41b7337ce36310a5577a374.png b/frontend/stickers/rage/732560dc665ae419f41b7337ce36310a5577a374.png new file mode 100644 index 0000000..c0f295b Binary files /dev/null and b/frontend/stickers/rage/732560dc665ae419f41b7337ce36310a5577a374.png differ diff --git a/frontend/stickers/rage/77acb7d16246e712aed1b3be173e563dc4b7b1ea.png b/frontend/stickers/rage/77acb7d16246e712aed1b3be173e563dc4b7b1ea.png new file mode 100644 index 0000000..f226366 Binary files /dev/null and b/frontend/stickers/rage/77acb7d16246e712aed1b3be173e563dc4b7b1ea.png differ diff --git a/frontend/stickers/rage/804b6ad6492e2ea1f6eab3daf82ddee4ff64dfd2.png b/frontend/stickers/rage/804b6ad6492e2ea1f6eab3daf82ddee4ff64dfd2.png new file mode 100644 index 0000000..acdc85d Binary files /dev/null and b/frontend/stickers/rage/804b6ad6492e2ea1f6eab3daf82ddee4ff64dfd2.png differ diff --git a/frontend/stickers/rage/851adfebcb0593811c671c3e772fc344e522af00.png b/frontend/stickers/rage/851adfebcb0593811c671c3e772fc344e522af00.png new file mode 100644 index 0000000..a5db2ff Binary files /dev/null and b/frontend/stickers/rage/851adfebcb0593811c671c3e772fc344e522af00.png differ diff --git a/frontend/stickers/rage/853ee692827150abb7429778b13b4c7e4c82dd31.png b/frontend/stickers/rage/853ee692827150abb7429778b13b4c7e4c82dd31.png new file mode 100644 index 0000000..adea63e Binary files /dev/null and b/frontend/stickers/rage/853ee692827150abb7429778b13b4c7e4c82dd31.png differ diff --git a/frontend/stickers/rage/8a1d4a2cc7260d75783fda4949186cb22b90719d.png b/frontend/stickers/rage/8a1d4a2cc7260d75783fda4949186cb22b90719d.png new file mode 100644 index 0000000..5a8f7cd Binary files /dev/null and b/frontend/stickers/rage/8a1d4a2cc7260d75783fda4949186cb22b90719d.png differ diff --git a/frontend/stickers/rage/8c4f4b8af2be839e6260b9248e4b8b720b7cd5d3.png b/frontend/stickers/rage/8c4f4b8af2be839e6260b9248e4b8b720b7cd5d3.png new file mode 100644 index 0000000..9b0d318 Binary files /dev/null and b/frontend/stickers/rage/8c4f4b8af2be839e6260b9248e4b8b720b7cd5d3.png differ diff --git a/frontend/stickers/rage/8d4db935c6aa8c9cc03e8a4e8415ba343af60fd5.png b/frontend/stickers/rage/8d4db935c6aa8c9cc03e8a4e8415ba343af60fd5.png new file mode 100644 index 0000000..39654d9 Binary files /dev/null and b/frontend/stickers/rage/8d4db935c6aa8c9cc03e8a4e8415ba343af60fd5.png differ diff --git a/frontend/stickers/rage/8dff0cedb4cb6171635c2795d22f314c6542a143.png b/frontend/stickers/rage/8dff0cedb4cb6171635c2795d22f314c6542a143.png new file mode 100644 index 0000000..7105afd Binary files /dev/null and b/frontend/stickers/rage/8dff0cedb4cb6171635c2795d22f314c6542a143.png differ diff --git a/frontend/stickers/rage/9313fa3b7b87ec3241937e9b37c2e4ae451a79af.png b/frontend/stickers/rage/9313fa3b7b87ec3241937e9b37c2e4ae451a79af.png new file mode 100644 index 0000000..718f0af Binary files /dev/null and b/frontend/stickers/rage/9313fa3b7b87ec3241937e9b37c2e4ae451a79af.png differ diff --git a/frontend/stickers/rage/93d9d4a3e8661d0d2f8e84b8b74a2af1174bf474.png b/frontend/stickers/rage/93d9d4a3e8661d0d2f8e84b8b74a2af1174bf474.png new file mode 100644 index 0000000..28ffed7 Binary files /dev/null and b/frontend/stickers/rage/93d9d4a3e8661d0d2f8e84b8b74a2af1174bf474.png differ diff --git a/frontend/stickers/rage/9499b5d7837c29adc93f99c552c726230654d7f6.png b/frontend/stickers/rage/9499b5d7837c29adc93f99c552c726230654d7f6.png new file mode 100644 index 0000000..e2c62c5 Binary files /dev/null and b/frontend/stickers/rage/9499b5d7837c29adc93f99c552c726230654d7f6.png differ diff --git a/frontend/stickers/rage/94a7bda648dea8bd1fa8eae09dba0895439759e1.png b/frontend/stickers/rage/94a7bda648dea8bd1fa8eae09dba0895439759e1.png new file mode 100644 index 0000000..f4d3879 Binary files /dev/null and b/frontend/stickers/rage/94a7bda648dea8bd1fa8eae09dba0895439759e1.png differ diff --git a/frontend/stickers/rage/977bfae5a1dc07bf7594329ef60b3ad66dbb6202.png b/frontend/stickers/rage/977bfae5a1dc07bf7594329ef60b3ad66dbb6202.png new file mode 100644 index 0000000..6e05311 Binary files /dev/null and b/frontend/stickers/rage/977bfae5a1dc07bf7594329ef60b3ad66dbb6202.png differ diff --git a/frontend/stickers/rage/99bf56657be9f5ad571104db5362d56564c0bf40.png b/frontend/stickers/rage/99bf56657be9f5ad571104db5362d56564c0bf40.png new file mode 100644 index 0000000..fb54678 Binary files /dev/null and b/frontend/stickers/rage/99bf56657be9f5ad571104db5362d56564c0bf40.png differ diff --git a/frontend/stickers/rage/9c1fa084e5bfd1edd6ce98b83443fb9fddd9e83c.png b/frontend/stickers/rage/9c1fa084e5bfd1edd6ce98b83443fb9fddd9e83c.png new file mode 100644 index 0000000..bacc7f4 Binary files /dev/null and b/frontend/stickers/rage/9c1fa084e5bfd1edd6ce98b83443fb9fddd9e83c.png differ diff --git a/frontend/stickers/rage/9f4c6db875092dd491484c307acc9085b0b9e5a3.png b/frontend/stickers/rage/9f4c6db875092dd491484c307acc9085b0b9e5a3.png new file mode 100644 index 0000000..de17d3e Binary files /dev/null and b/frontend/stickers/rage/9f4c6db875092dd491484c307acc9085b0b9e5a3.png differ diff --git a/frontend/stickers/rage/a4230e4f27f32358c8774a00ad9443fb61d7afb0.png b/frontend/stickers/rage/a4230e4f27f32358c8774a00ad9443fb61d7afb0.png new file mode 100644 index 0000000..299c5d3 Binary files /dev/null and b/frontend/stickers/rage/a4230e4f27f32358c8774a00ad9443fb61d7afb0.png differ diff --git a/frontend/stickers/rage/a96f7c9727c305fbd193985c69aa07cfb821916a.png b/frontend/stickers/rage/a96f7c9727c305fbd193985c69aa07cfb821916a.png new file mode 100644 index 0000000..3f5906c Binary files /dev/null and b/frontend/stickers/rage/a96f7c9727c305fbd193985c69aa07cfb821916a.png differ diff --git a/frontend/stickers/rage/ab241b1322e09c5cb262a3fcd9fc0f0a6d29edcc.png b/frontend/stickers/rage/ab241b1322e09c5cb262a3fcd9fc0f0a6d29edcc.png new file mode 100644 index 0000000..4b18e36 Binary files /dev/null and b/frontend/stickers/rage/ab241b1322e09c5cb262a3fcd9fc0f0a6d29edcc.png differ diff --git a/frontend/stickers/rage/abbd2e570915d3496062e219b9c095d775c84610.png b/frontend/stickers/rage/abbd2e570915d3496062e219b9c095d775c84610.png new file mode 100644 index 0000000..49dc925 Binary files /dev/null and b/frontend/stickers/rage/abbd2e570915d3496062e219b9c095d775c84610.png differ diff --git a/frontend/stickers/rage/ac8bbde82dc3025274bb47be9038c96c3a127c20.png b/frontend/stickers/rage/ac8bbde82dc3025274bb47be9038c96c3a127c20.png new file mode 100644 index 0000000..85422a0 Binary files /dev/null and b/frontend/stickers/rage/ac8bbde82dc3025274bb47be9038c96c3a127c20.png differ diff --git a/frontend/stickers/rage/acec64671a529e0da4b15c05db5d38bf4b5ff8c4.png b/frontend/stickers/rage/acec64671a529e0da4b15c05db5d38bf4b5ff8c4.png new file mode 100644 index 0000000..d8d2c72 Binary files /dev/null and b/frontend/stickers/rage/acec64671a529e0da4b15c05db5d38bf4b5ff8c4.png differ diff --git a/frontend/stickers/rage/ae3f8e0410a36dace0f642ba4f4c3a6e332493fd.png b/frontend/stickers/rage/ae3f8e0410a36dace0f642ba4f4c3a6e332493fd.png new file mode 100644 index 0000000..3bcda8b Binary files /dev/null and b/frontend/stickers/rage/ae3f8e0410a36dace0f642ba4f4c3a6e332493fd.png differ diff --git a/frontend/stickers/rage/aeeb4f06a4ba46ddc95fa757b7cfa7cc644fe584.png b/frontend/stickers/rage/aeeb4f06a4ba46ddc95fa757b7cfa7cc644fe584.png new file mode 100644 index 0000000..f6622ea Binary files /dev/null and b/frontend/stickers/rage/aeeb4f06a4ba46ddc95fa757b7cfa7cc644fe584.png differ diff --git a/frontend/stickers/rage/afc7c2aa7030fcee9188ae8acc66b3c7e4d2e225.png b/frontend/stickers/rage/afc7c2aa7030fcee9188ae8acc66b3c7e4d2e225.png new file mode 100644 index 0000000..766c844 Binary files /dev/null and b/frontend/stickers/rage/afc7c2aa7030fcee9188ae8acc66b3c7e4d2e225.png differ diff --git a/frontend/stickers/rage/b4a80eff83bf0fef0116bb71ca7cea3a349b37ae.png b/frontend/stickers/rage/b4a80eff83bf0fef0116bb71ca7cea3a349b37ae.png new file mode 100644 index 0000000..f7995b5 Binary files /dev/null and b/frontend/stickers/rage/b4a80eff83bf0fef0116bb71ca7cea3a349b37ae.png differ diff --git a/frontend/stickers/rage/b55953ecb81f96450859115029db2789284ac4ad.png b/frontend/stickers/rage/b55953ecb81f96450859115029db2789284ac4ad.png new file mode 100644 index 0000000..5936490 Binary files /dev/null and b/frontend/stickers/rage/b55953ecb81f96450859115029db2789284ac4ad.png differ diff --git a/frontend/stickers/rage/ba51f567695fe53c74821778d1a8606e8aa92248.png b/frontend/stickers/rage/ba51f567695fe53c74821778d1a8606e8aa92248.png new file mode 100644 index 0000000..b98fee9 Binary files /dev/null and b/frontend/stickers/rage/ba51f567695fe53c74821778d1a8606e8aa92248.png differ diff --git a/frontend/stickers/rage/bf210093dd2c45a21ac5bdcb123877368a74d780.png b/frontend/stickers/rage/bf210093dd2c45a21ac5bdcb123877368a74d780.png new file mode 100644 index 0000000..ef8c9b9 Binary files /dev/null and b/frontend/stickers/rage/bf210093dd2c45a21ac5bdcb123877368a74d780.png differ diff --git a/frontend/stickers/rage/c5c9ab88b86446e77be4b60439b42f28af06d977.png b/frontend/stickers/rage/c5c9ab88b86446e77be4b60439b42f28af06d977.png new file mode 100644 index 0000000..a0e9377 Binary files /dev/null and b/frontend/stickers/rage/c5c9ab88b86446e77be4b60439b42f28af06d977.png differ diff --git a/frontend/stickers/rage/c9de4342c742e75a6827b003c15313846cee263f.png b/frontend/stickers/rage/c9de4342c742e75a6827b003c15313846cee263f.png new file mode 100644 index 0000000..72f5abf Binary files /dev/null and b/frontend/stickers/rage/c9de4342c742e75a6827b003c15313846cee263f.png differ diff --git a/frontend/stickers/rage/cc557d068ff9b36e1deb0a38145f2ae5a295840f.png b/frontend/stickers/rage/cc557d068ff9b36e1deb0a38145f2ae5a295840f.png new file mode 100644 index 0000000..1bd2696 Binary files /dev/null and b/frontend/stickers/rage/cc557d068ff9b36e1deb0a38145f2ae5a295840f.png differ diff --git a/frontend/stickers/rage/ce70aee6fb2da31e700c93b876a91caa8e9b7135.png b/frontend/stickers/rage/ce70aee6fb2da31e700c93b876a91caa8e9b7135.png new file mode 100644 index 0000000..0813a55 Binary files /dev/null and b/frontend/stickers/rage/ce70aee6fb2da31e700c93b876a91caa8e9b7135.png differ diff --git a/frontend/stickers/rage/cf9c2833593c64883b2656dc6f9d1e8f39043a18.png b/frontend/stickers/rage/cf9c2833593c64883b2656dc6f9d1e8f39043a18.png new file mode 100644 index 0000000..a062985 Binary files /dev/null and b/frontend/stickers/rage/cf9c2833593c64883b2656dc6f9d1e8f39043a18.png differ diff --git a/frontend/stickers/rage/d90ba2ec8d0a8e35dde4823c4a2204e7bbf37030.png b/frontend/stickers/rage/d90ba2ec8d0a8e35dde4823c4a2204e7bbf37030.png new file mode 100644 index 0000000..10319f5 Binary files /dev/null and b/frontend/stickers/rage/d90ba2ec8d0a8e35dde4823c4a2204e7bbf37030.png differ diff --git a/frontend/stickers/rage/dc084b9de991d042070f7e414003cd14e51ed8cb.png b/frontend/stickers/rage/dc084b9de991d042070f7e414003cd14e51ed8cb.png new file mode 100644 index 0000000..ab906ed Binary files /dev/null and b/frontend/stickers/rage/dc084b9de991d042070f7e414003cd14e51ed8cb.png differ diff --git a/frontend/stickers/rage/dc9c3e66cbe7db9c90c27fead4dd9ac43c0768ab.png b/frontend/stickers/rage/dc9c3e66cbe7db9c90c27fead4dd9ac43c0768ab.png new file mode 100644 index 0000000..19877c9 Binary files /dev/null and b/frontend/stickers/rage/dc9c3e66cbe7db9c90c27fead4dd9ac43c0768ab.png differ diff --git a/frontend/stickers/rage/e07e1c0bae88870d298ac9ddb7a3a793b433b940.png b/frontend/stickers/rage/e07e1c0bae88870d298ac9ddb7a3a793b433b940.png new file mode 100644 index 0000000..296eb86 Binary files /dev/null and b/frontend/stickers/rage/e07e1c0bae88870d298ac9ddb7a3a793b433b940.png differ diff --git a/frontend/stickers/rage/e27bbb4ca81d9becb62559b906917759c4d792a5.png b/frontend/stickers/rage/e27bbb4ca81d9becb62559b906917759c4d792a5.png new file mode 100644 index 0000000..57fad15 Binary files /dev/null and b/frontend/stickers/rage/e27bbb4ca81d9becb62559b906917759c4d792a5.png differ diff --git a/frontend/stickers/rage/ef29b8c266f48e5d4357b64bb47f3be93b3a18e5.png b/frontend/stickers/rage/ef29b8c266f48e5d4357b64bb47f3be93b3a18e5.png new file mode 100644 index 0000000..8d6bb93 Binary files /dev/null and b/frontend/stickers/rage/ef29b8c266f48e5d4357b64bb47f3be93b3a18e5.png differ diff --git a/frontend/stickers/rage/fd4f0a71b3ca1f1ae41de83316ff4fc02a967d92.png b/frontend/stickers/rage/fd4f0a71b3ca1f1ae41de83316ff4fc02a967d92.png new file mode 100644 index 0000000..c5e86db Binary files /dev/null and b/frontend/stickers/rage/fd4f0a71b3ca1f1ae41de83316ff4fc02a967d92.png differ diff --git a/frontend/stickers/rage/icon.png b/frontend/stickers/rage/icon.png new file mode 100644 index 0000000..badbe07 Binary files /dev/null and b/frontend/stickers/rage/icon.png differ diff --git a/frontend/stickers/rage/info.ini b/frontend/stickers/rage/info.ini new file mode 100644 index 0000000..c5b39ba --- /dev/null +++ b/frontend/stickers/rage/info.ini @@ -0,0 +1,3 @@ +author = Movim Team +license = CreativeCommon BY SA +url = https://edhelas.movim.eu/ diff --git a/frontend/stickers/zemarmot/0e5559b02badb81113b49e73541476bf0ac85c99.png b/frontend/stickers/zemarmot/0e5559b02badb81113b49e73541476bf0ac85c99.png new file mode 100644 index 0000000..f16f831 Binary files /dev/null and b/frontend/stickers/zemarmot/0e5559b02badb81113b49e73541476bf0ac85c99.png differ diff --git a/frontend/stickers/zemarmot/17dc10c2e8aab65b9379ea8052166e23c7c839d3.png b/frontend/stickers/zemarmot/17dc10c2e8aab65b9379ea8052166e23c7c839d3.png new file mode 100644 index 0000000..5725927 Binary files /dev/null and b/frontend/stickers/zemarmot/17dc10c2e8aab65b9379ea8052166e23c7c839d3.png differ diff --git a/frontend/stickers/zemarmot/1ad6126ad0d904ff7948bb07cda2d10f286de904.png b/frontend/stickers/zemarmot/1ad6126ad0d904ff7948bb07cda2d10f286de904.png new file mode 100644 index 0000000..cca4c9f Binary files /dev/null and b/frontend/stickers/zemarmot/1ad6126ad0d904ff7948bb07cda2d10f286de904.png differ diff --git a/frontend/stickers/zemarmot/5634554edf68a6806a7e5cd87aca8554e77ca4e2.png b/frontend/stickers/zemarmot/5634554edf68a6806a7e5cd87aca8554e77ca4e2.png new file mode 100644 index 0000000..da22b13 Binary files /dev/null and b/frontend/stickers/zemarmot/5634554edf68a6806a7e5cd87aca8554e77ca4e2.png differ diff --git a/frontend/stickers/zemarmot/a0e791a78ce2275a368db103c7f9c335219902f4.png b/frontend/stickers/zemarmot/a0e791a78ce2275a368db103c7f9c335219902f4.png new file mode 100644 index 0000000..a8abf68 Binary files /dev/null and b/frontend/stickers/zemarmot/a0e791a78ce2275a368db103c7f9c335219902f4.png differ diff --git a/frontend/stickers/zemarmot/a1fe6c2544314eac8ab3d7660897cd98019a0f9b.png b/frontend/stickers/zemarmot/a1fe6c2544314eac8ab3d7660897cd98019a0f9b.png new file mode 100644 index 0000000..5cf1b29 Binary files /dev/null and b/frontend/stickers/zemarmot/a1fe6c2544314eac8ab3d7660897cd98019a0f9b.png differ diff --git a/frontend/stickers/zemarmot/b29fcbd8cb0c175f59854b227b9a581204e834a7.png b/frontend/stickers/zemarmot/b29fcbd8cb0c175f59854b227b9a581204e834a7.png new file mode 100644 index 0000000..a5cc4d0 Binary files /dev/null and b/frontend/stickers/zemarmot/b29fcbd8cb0c175f59854b227b9a581204e834a7.png differ diff --git a/frontend/stickers/zemarmot/b9ff7bdb71a2fedad72c7c76bd536d331c7b5975.png b/frontend/stickers/zemarmot/b9ff7bdb71a2fedad72c7c76bd536d331c7b5975.png new file mode 100644 index 0000000..4e84e63 Binary files /dev/null and b/frontend/stickers/zemarmot/b9ff7bdb71a2fedad72c7c76bd536d331c7b5975.png differ diff --git a/frontend/stickers/zemarmot/c28a2a3dd5190501b33e95568ca569ce7745922c.png b/frontend/stickers/zemarmot/c28a2a3dd5190501b33e95568ca569ce7745922c.png new file mode 100644 index 0000000..0ba9d8b Binary files /dev/null and b/frontend/stickers/zemarmot/c28a2a3dd5190501b33e95568ca569ce7745922c.png differ diff --git a/frontend/stickers/zemarmot/da6862408e387c164f0606769f909d253a3c20e3.png b/frontend/stickers/zemarmot/da6862408e387c164f0606769f909d253a3c20e3.png new file mode 100644 index 0000000..5e3de41 Binary files /dev/null and b/frontend/stickers/zemarmot/da6862408e387c164f0606769f909d253a3c20e3.png differ diff --git a/frontend/stickers/zemarmot/icon.png b/frontend/stickers/zemarmot/icon.png new file mode 100644 index 0000000..0acfe63 Binary files /dev/null and b/frontend/stickers/zemarmot/icon.png differ diff --git a/frontend/stickers/zemarmot/info.ini b/frontend/stickers/zemarmot/info.ini new file mode 100644 index 0000000..a244039 --- /dev/null +++ b/frontend/stickers/zemarmot/info.ini @@ -0,0 +1,3 @@ +author = Aryeom Han +license = CreativeCommon BY SA +url = http://film.zemarmot.net/ diff --git a/frontend/sw.js b/frontend/sw.js new file mode 100644 index 0000000..526299f --- /dev/null +++ b/frontend/sw.js @@ -0,0 +1,17 @@ +/** + * Self-destruct all the old sw.js workers + */ + +self.addEventListener('install', function (e) { + self.skipWaiting(); +}); + +self.addEventListener('activate', function (e) { + self.registration.unregister() + .then(function () { + return self.clients.matchAll(); + }) + .then(function (clients) { + clients.forEach(client => client.navigate(client.url)) + }); +}); \ No newline at end of file diff --git a/frontend/theme/audio/call.opus b/frontend/theme/audio/call.opus new file mode 100644 index 0000000..03a74b4 Binary files /dev/null and b/frontend/theme/audio/call.opus differ diff --git a/frontend/theme/audio/message.opus b/frontend/theme/audio/message.opus new file mode 100644 index 0000000..98c8be3 Binary files /dev/null and b/frontend/theme/audio/message.opus differ diff --git a/frontend/theme/audio/user_joined.opus b/frontend/theme/audio/user_joined.opus new file mode 100644 index 0000000..9f12cab Binary files /dev/null and b/frontend/theme/audio/user_joined.opus differ diff --git a/frontend/theme/audio/user_left.opus b/frontend/theme/audio/user_left.opus new file mode 100644 index 0000000..5162cbc Binary files /dev/null and b/frontend/theme/audio/user_left.opus differ diff --git a/frontend/theme/css/article.css b/frontend/theme/css/article.css new file mode 100644 index 0000000..398e964 --- /dev/null +++ b/frontend/theme/css/article.css @@ -0,0 +1,237 @@ +/* Article */ + +header:has(+ article) { + background-color: rgb(var(--movim-background-main)); + position: sticky; + z-index: 1; + top: 0; +} + +article { + overflow: hidden; +} + +article header { + position: relative; +} + +article footer { + margin-bottom: 1rem; +} + +article>ul.list.thick:first-child>li>span { + align-self: start; + top: 2rem; +} + +article>ul.list.thick:first-child>li>span.control { + top: 0; +} + +article header ul:not(:first-child) { + padding: 0 1rem; +} + +@media print { + article footer { + display: none; + } +} + +article section { + font-size: 2rem; + line-height: 3rem; + font-weight: 500; + padding: 0 1.5rem; +} + +article section[dir=rtl] { + text-align: right; +} + +article section.limited { + display: block; + max-height: 60rem; + overflow: hidden; + margin: 0; + mask-image: linear-gradient(to bottom, black calc(100% - 10rem), transparent); +} + +@media screen and (max-width: 1024px) { + article section.limited { + max-height: 40rem; + } +} + +article img, +article video { + max-width: 100%; + height: auto; + animation: fadeIn 0.2s; + border-radius: 0.5rem; +} + +article pre { + margin: 1.5rem 0; +} + +/* Some CSS to style the quote XHTML generated by Movim */ + +article section>div div.quote { + display: block; + border-radius: 2px; + border: 1px solid rgba(0, 0, 0, 0.12); + padding: 1rem 2rem; + margin-bottom: 1rem; + box-sizing: border-box; +} + +article section>div div.quote:before, +article section>div div.quote:after { + content: ''; + display: none; +} + +article section>div div.quote ul { + display: flex; + flex-flow: row wrap; +} + +article section>div div.quote ul:not(.list):not(.tabs):not(.grid)>li { + list-style-type: none; + padding-left: 0; +} + +article section>div div.quote ul li>* { + margin-right: 1rem; +} + +article section>div div.quote li:first-child { + flex: 1 75%; + padding-right: 2rem; + box-sizing: border-box; +} + +@media screen and (max-width: 1024px) { + article section>div div.quote li { + flex: 1 100%; + } +} + +article section>div div.quote li img { + max-height: 10rem; + max-width: 100%; + float: right; +} + +article section>div img.big_picture { + display: block; + margin-bottom: 1rem; + border-radius: 0.25rem; +} + +article section>div img.big_picture:last-child { + margin-bottom: 0; +} + +article section>div img.active:hover { + cursor: pointer; +} + +article section>div div.video_embed { + position: relative; + padding-bottom: 56.25%; + /* 16:9 */ + margin-bottom: 2rem; + border-radius: 0.25rem; + overflow: hidden; + height: 0; +} + +article section>div div.video_embed iframe { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +article ul li.pic img { + max-width: 30rem; + max-height: 30rem; +} + +article section>div div hr { + margin: 2rem 0; +} + +/* Spoiler */ + +article input[type=checkbox].spoiler { + display: none; +} + +article input[type=checkbox].spoiler:not(:checked)+section { + position: relative; +} + +article input[type=checkbox].spoiler:not(:checked)+section>div>* { + opacity: 0.05; + pointer-events: none; + filter: blur(1rem); +} + +article section label.spoiler, +article input[type=checkbox].spoiler:checked+section label.spoiler { + display: none; +} + +article input[type=checkbox].spoiler+section label.spoiler { + text-align: center; + display: block; + position: absolute; + top: calc(50% - 5rem); + left: calc(50% - 5rem); + width: 10rem; + height: 10rem; + line-height: 10rem; + font-size: 4rem; + border-radius: 100%; + background-color: var(--movim-accent); + color: rgba(var(--movim-font), 0.87); + box-shadow: var(--elevation-1); +} + +article section label.spoiler:hover { + cursor: pointer; + font-variation-settings: 'FILL' 1; + box-shadow: var(--elevation-2); +} + +/* Table */ + +.dialog>section table, +article table { + border-collapse: collapse; + margin: 2rem 0; +} + +.dialog>section table tbody tr:nth-child(even), +article table tbody tr:nth-child(even) { + background-color: rgba(var(--movim-font), 0.05); +} + +.dialog>section table td, +article table td { + padding: 0.5rem; + font-size: 1.9rem; + line-height: 2.5rem; +} + +.dialog>section table th, +article table th { + padding: 0.5rem; + font-size: 1.8rem; + line-height: 2.5rem; + text-align: left; +} \ No newline at end of file diff --git a/frontend/theme/css/block.css b/frontend/theme/css/block.css new file mode 100644 index 0000000..7e0f060 --- /dev/null +++ b/frontend/theme/css/block.css @@ -0,0 +1,171 @@ +.flex { + display: grid; + grid-template-columns: repeat(2, 1fr); +} + +.flex.card { + gap: 1rem; + padding: 1rem; +} + +.flex.card.large { + padding: 1rem 0; +} + +ul.flex li.block { + border-radius: 0.65rem; + transition: background 0.3s ease; +} + +ul.flex li.subheader { + grid-column: 1/-1; +} + +ul.flex.card li.subheader { + margin: -1rem 0; +} + +.flex .block:not(.subheader) { + overflow: hidden; +} + +.flex.card .block:not(.subheader) { + min-height: 5rem; +} + +.flex.stacked .block:not(.subheader) { + margin-bottom: 0; +} + +.flex.third { + grid-template-columns: repeat(3, 1fr); +} + +.flex.fourth { + grid-template-columns: repeat(4, 1fr); +} + +.flex.fifth { + grid-template-columns: repeat(5, 1fr); +} + +.flex .block.large, +.flex.card .block.large { + grid-column: 1/-1; +} + +.column { + column-count: 3; + margin: 1rem 0; + line-height: 0; +} + +.column > * { + display: inline-block; + width: 100%; +} + +@media screen and (min-width: 451px) and (max-width: 900px) { + .flex.third { + grid-template-columns: repeat(2, 1fr); + } + + .flex.fourth { + grid-template-columns: repeat(3, 1fr); + } + + .flex.fifth { + grid-template-columns: repeat(4, 1fr); + } + + .column { + column-count: 2; + } +} + +@media screen and (max-width: 450px) { + .flex, + .flex.flex.third { + grid-template-columns: repeat(1, 1fr); + } + + .flex.fourth { + grid-template-columns: repeat(2, 1fr); + } + + .flex.flex.fifth { + grid-template-columns: repeat(3, 1fr); + } + + .column { + column-count: 1; + } +} + +/* Gallery */ + +ul.flex.gallery li.block:not(.subheader) { + min-height: 25rem; +} + +ul.flex.gallery li.block.story { + width: 10rem; + min-height: 0; + padding: 0 0.5rem 0.5rem; +} + +ul.flex.gallery li.block { + display: flex; + flex-direction: column; + max-width: 100%; +} + +ul.flex.gallery li.block p a.node, +ul.flex.gallery li.block > img + span, +ul.flex.gallery li.block > span.primary, +ul.flex.gallery li.block > span.control { + display: none; +} + +ul.flex.gallery li.block div { + flex: initial; + margin-top: auto; + width: 100%; + z-index: 0; /* It seems that the img mask is applied on the div */ +} + +ul.flex.gallery li.block img.main { + position: relative; + opacity: 1; + height: initial; + max-height: 35rem; + left: 0; + top: 0; + max-width: calc(100% + 3rem); + width: calc(100% + 3rem); + filter: none; + mask-image: linear-gradient(to bottom, black calc(100% - 20rem), transparent); + margin-bottom: -10rem; +} + +ul.flex.gallery li.block.story img.main { + max-height: 100%; + max-width: calc(100% + 1rem); +} + +ul.flex.gallery li.block img.main:after { + content: attr(alt); +} + +ul.flex.gallery li.block.embed:before { + font-family: 'Material Symbols'; + content: "\e02c"; + display: flex; + align-items: center; + font-size: 3rem; + line-height: 5rem; + opacity: 0.75; + position: absolute; + left: 1.5rem; + z-index: 1; +} diff --git a/frontend/theme/css/card.css b/frontend/theme/css/card.css new file mode 100644 index 0000000..2e5c1f3 --- /dev/null +++ b/frontend/theme/css/card.css @@ -0,0 +1,99 @@ +/* Card */ + +.card img.main, +.card div.main { + position: absolute; + width: calc(100% + 2rem); + height: calc(100% + 2rem); + max-width: calc(100% + 2rem); + object-fit: cover; + left: -1rem; + top: -1rem; + opacity: 0.1; +} + +.card:not(.flex) > li:not(.subheader), +.card:not(.flex) > div.block { + margin-bottom: 1rem; +} + +.card > .block:focus:not(:hover) { + outline: 2px solid var(--movim-accent); +} + +.card img.main { + filter: blur(0.4rem); +} + +.card i.main { + position: absolute; + font-size: 18rem; + opacity: 0.2; + filter: blur(0.5rem); + right: -5rem; + bottom: -8rem; + pointer-events: none; +} + +.card li > div > p > span.info { + margin-right: 0.5rem; +} + +.card li.block.color { + background-image: linear-gradient(rgba(0, 0, 0, 0.5)); +} + +/* Accessibility */ + +.card li[onclick]:focus-within { + outline: 3px solid var(--movim-accent); + outline-offset: 2px; +} + +.card li[onclick] span.primary a:focus { + outline: none; +} + +.card > .block:not(.subheader):not(.simple) { + animation: fadeIn 0.3s; + border-radius: 1rem; + border: 1px solid; + overflow: hidden; + box-sizing: border-box; +} + +.card.noanim > .block:not(.subheader):not(.simple) { + animation: none; +} + +.card > form.block { + padding: 2rem; + padding-top: 0; + box-sizing: border-box; +} + +.card:not(.gallery) > .block.ticket div { + display: flex; + justify-content:safe; + flex-direction: column; + height: calc(calc(100% - 2rem)); + gap: 0.25rem; +} + +.card:not(.gallery) > .block.ticket div p:last-of-type { + margin-top: auto; +} + +.card.shadow > .block:not(.subheader):not(.simple) { + transition: background 0.3s ease, box-shadow 0.3s ease; + box-shadow: var(--elevation-1); + border: none; +} + +.card.shadow > .block:not(.subheader):not(.simple):hover { + box-shadow: var(--elevation-2); +} + +.card.shadow > .block:not(.subheader):not(.simple):active { + box-shadow: var(--elevation-0); +} diff --git a/frontend/theme/css/chip.css b/frontend/theme/css/chip.css new file mode 100644 index 0000000..4198552 --- /dev/null +++ b/frontend/theme/css/chip.css @@ -0,0 +1,89 @@ +.chip { + display: inline-block; + line-height: 4rem; + padding: 0 2rem; + font-size: 1.75rem; + margin: 0.5rem; + border-radius: 1rem; + color: rgb(var(--movim-font)); + background-color: rgba(var(--movim-element-action), 0.05); + transition: background 0.3s ease; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + max-width: 80%; + vertical-align: middle; + text-decoration: none; +} + +.chip.thin { + line-height: 3rem; + padding: 0 1rem; + margin: 0; +} + +p+p>.chip:first-child, +*:not(p):not(h4)>.chip:first-child { + margin-left: 0; +} + +p+p>.chip:last-child, +*:not(p):not(h4)>.chip:last-child { + margin-right: 0; +} + +.chip:has(i:not(.on_mobile)) { + padding-inline-start: 0; +} + +.chip.thin:has(i) { + padding-inline-start: 0.5rem; +} + +.chip i { + margin: 0 1rem; + font-size: 2rem; +} + +.chip.thin i { + margin: 0 0.25rem; + font-size: 1.25rem; +} + +.chip i.spin, +.chip i.on_mobile { + margin: 0; +} + +.chip.oppose { + float: right; +} + +.chip.active:hover { + background-color: rgba(var(--movim-element-action), 0.2); + box-shadow: var(--elevation-1); + text-decoration: none; +} + +.chip.active:focus { + background-color: rgba(var(--movim-element-action), 0.4); + box-shadow: var(--elevation-0); +} + +.chip.outline { + outline: 1px solid rgba(var(--movim-font), 0.12); + outline-offset: -1px; +} + +.chip.enabled { + background-color: rgba(var(--movim-element-action), 0.4); + box-shadow: var(--elevation-2); + pointer-events: none; +} + +.chip img { + margin-bottom: -0.7rem; + margin-right: 0.5rem; + margin-left: -1.5rem; + height: 2.5rem; +} \ No newline at end of file diff --git a/frontend/theme/css/color.css b/frontend/theme/css/color.css new file mode 100644 index 0000000..e6c73b8 --- /dev/null +++ b/frontend/theme/css/color.css @@ -0,0 +1,442 @@ +/* Color */ + +body { + --movim-background-main: 238, 238, 238; + --movim-background: 255, 255, 255; + --movim-gray: 35, 35, 35; + --movim-font: 0, 0, 0; + --movim-header-font: 200, 200, 200; + --movim-element-action: 153, 153, 153; + scrollbar-color: rgba(var(--movim-font), 0.2) transparent; + --movim-shadow: 0, 0, 0; + --movim-shadow-strength: 1; +} + +/* Night mode, using an enforced class and with the browser media-query, the two following +sections are therefore copy pasted */ + +body.nightmode { + --movim-background-main: 20, 26, 33; + --movim-background: 25, 32, 40; + --movim-gray: var(--movim-background-main); + --movim-font: 255, 255, 255; + --movim-element-action: 74, 86, 99; + scrollbar-color: rgba(var(--movim-font), 0.1) transparent; + --movim-shadow-strength: 1.2; +} + +@media (prefers-color-scheme: dark) { + body { + --movim-background-main: 20, 26, 33; + --movim-background: 25, 32, 40; + --movim-gray: var(--movim-background-main); + --movim-font: 255, 255, 255; + --movim-element-action: 74, 86, 99; + scrollbar-color: rgba(var(--movim-font), 0.1) transparent; + --movim-shadow-strength: 1.6; + } +} + +body>*, +.context_menu, +.icon-text, +.tabs a, +input, +textarea, +select { + color: rgba(var(--movim-font), 0.87); +} + +input::placeholder, +textarea::placeholder, +select::placeholder { + color: rgba(var(--movim-font), 0.67); +} + +ul.list li.divided:after, +*.divided:not(.spaced):not(li)>*:not(:last-child):not(.subheader):after, +*.divided.spaced>*:not(:last-child):after, +hr:not(.clear), +.card>.block:not(.subheader):not(.simple), +*.divided>*:not(:last-child) { + border-color: rgba(var(--movim-font), 0.12); +} + +ul.list li span.control.divided:before { + border-color: rgba(var(--movim-font), 0.128); +} + +label, +span.info, +li div.bubble:after, +ul.list li>div>p>span.second, +table tr th { + color: rgba(var(--movim-font), 0.54); +} + +ul.list li.color>div>p>span.second { + color: rgba(255, 255, 255, 0.54); +} + +body, +#drawer .card>.block:not(.subheader):not(.simple):not(.color) { + background-color: rgb(var(--movim-background-main)); +} + +.drawer, +.dialog, +ul.context_menu, +ul>li.date>div>p, +.card>.block:not(.subheader):not(.simple):not(.color) { + background-color: rgb(var(--movim-background)); +} + +main>header a, +.icon:not(.placeholder):not(.active) a, +.color input { + color: rgb(var(--movim-font)); +} + +.button.color, +.color, +span.icon span.counter, +span.icon[data-counter]:after, +span.icon.composing:after, +form>div .checkbox>input[type="checkbox"]:checked:before, +form>div .radio>input[type="radio"]:checked+label { + border-color: var(--movim-accent); + background-color: var(--movim-accent); + color: white; +} + +span.icon span.counter:not(.alt) { + color: white; +} + +span.icon span.counter.alt { + color: var(--movim-font); + background-color: rgb(var(--movim-background-main)); +} + +/* Elements */ + +ul li.action>div.action, +ul li.action>form>div.action, +.button.dorange, +.icon.dorange, +span.resource.dorange { + color: var(--p-dorange) +} + +li div.bubble.moderator:after, +ul li div>p>span.moderator, +.button.orange, +.icon.orange, +span.resource.orange { + color: var(--p-orange); +} + +.button.amber, +.icon.anber, +span.resource.amber { + color: var(--p-amber) +} + +.button.yellow, +.icon.yellow, +span.resource.yellow { + color: var(--p-yellow); +} + +.button.lime, +.icon.lime, +span.resource.lime { + color: var(--p-lime) +} + +.button.lgreen, +.icon.lgreen, +span.resource.lgreen { + color: var(--p-lgreen); +} + +.button.green, +.icon.green, +span.resource.green { + color: var(--p-green); +} + +.button.teal, +.icon.teal, +span.resource.teal { + color: var(--p-teal) +} + +.button.cyan, +.icon.cyan, +span.resource.cyan { + color: var(--p-cyan) +} + +.button.lblue, +.icon.lblue, +span.resource.lblue { + color: var(--p-lblue) +} + +.button.blue, +.icon.blue, +span.resource.blue { + color: var(--p-blue); +} + +.button.red, +.icon.red, +span.resource.red, +p.encrypted.error { + color: var(--p-red); +} + +.button.indigo, +.icon.indigo, +span.resource.indigo { + color: var(--p-indigo); +} + +.button.dpurple, +.icon.dpurple, +span.resource.dpurple { + color: var(--p-dpurple); +} + +.button.purple, +.icon.purple, +span.resource.purple { + color: var(--p-purple); +} + +.button.pink, +.icon.pink, +span.resource.pink { + color: var(--p-pink) +} + +.button.black, +.icon.black, +span.resource.black { + color: var(--p-black); +} + +.button.gray, +.icon.gray, +span.resource.gray { + color: var(--p-gray); +} + +.color { + color: white; + background-color: var(--movim-accent); + border-color: var(--movim-accent) +} + +.color.gray { + color: white; + background-color: var(--p-gray); + border-color: var(--p-gray) +} + +.color.dorange { + color: white; + background-color: var(--p-dorange); + border-color: var(--p-dorange) +} + +.color.orange { + color: white; + background-color: var(--p-orange); + border-color: var(--p-orange) +} + +.color.amber { + color: white; + background-color: var(--p-amber); + border-color: var(--p-amber) +} + +span.icon:not(.composing):not([data-counter]):not(.story).status.away:after, +.color.yellow { + color: white; + background-color: var(--p-yellow); + border-color: var(--p-yellow) +} + +.color.lime { + color: white; + background-color: var(--p-lime); + border-color: var(--p-lime) +} + +span.icon:not(.composing):not([data-counter]):not(.story).status.chat:after, +span.icon:not(.composing):not([data-counter]):not(.story).status.online:after, +.color.lgreen { + color: white; + background-color: var(--p-lgreen); + border-color: var(--p-lgreen) +} + +.color.green { + color: white; + background-color: var(--p-green); + border-color: var(--p-green) +} + +.color.teal { + color: white; + background-color: var(--p-teal); + border-color: var(--p-teal) +} + +.color.cyan { + color: white; + background-color: var(--p-cyan); + border-color: var(--p-cyan) +} + +.color.lblue { + color: white; + background-color: var(--p-lblue); + border-color: var(--p-lblue) +} + +.color.blue { + color: white; + background-color: var(--p-blue); + border-color: var(--p-blue) +} + +span.icon:not(.composing):not([data-counter]):not(.story).status.server_error:after, +.color.indigo { + color: white; + background-color: var(--p-indigo); + border-color: var(--p-indigo) +} + +.color.dpurple { + color: white; + background-color: var(--p-dpurple); + border-color: var(--p-dpurple) +} + +span.icon:not(.composing):not([data-counter]):not(.story).status.xa:after, +.color.purple { + color: white; + background-color: var(--p-purple); + border-color: var(--p-purple) +} + +.color.pink { + color: white; + background-color: var(--p-pink); + border-color: var(--p-pink) +} + +span.icon:not(.composing):not([data-counter]):not(.story).status.dnd:after, +.color.red { + color: white; + background-color: var(--p-red); + border-color: var(--p-red) +} + +.color.black { + color: white; + background-color: var(--p-black); + border-color: var(--p-black) +} + +.color.none { + color: white; + background-color: transparent; +} + +.color.transparent { + color: white; + backdrop-filter: blur(1rem); + background-color: rgba(0, 0, 0, 0.25); +} + +.color.semi { + color: rgba(var(--movim-font), 0.87); + background-color: rgba(var(--movim-background-main), 0.75); +} + +form>div>input:focus:invalid, +form>div>input:focus:required { + box-shadow: 0px 2px 0px var(--p-red); +} + +form>div>input:invalid, +form input:focus:invalid+label, +form textarea:focus:invalid+label { + color: var(--p-red); +} + +ul.list li>div>p:not(:first-of-type):not(.main):not(.brief) { + color: rgba(var(--movim-font), 0.6); +} + +ul.list li.color>div>p:not(:first-of-type):not(.main) { + color: rgba(255, 255, 255, 0.8); +} + +header.big ul.list li>div>p:not(:first-of-type):not(.main), +div.snackbar ul.list li>div>p:not(:first-of-type):not(.main) { + color: rgb(var(--movim-header-font)); +} + +header.big ul.list li>div>p>span.second { + color: rgba(var(--movim-header-font), 0.9); +} + +/* Default color : indigo */ + +input[type=button].color, +header.big, +mark, +main>header { + background-color: var(--movim-accent); + border-color: var(--movim-accent); +} + +/* Accent color */ + +.tabs, +.button, +header:not(.big) .icon a, +a { + color: var(--movim-accent); + border-color: var(--movim-accent); +} + +span.control.icon a > i, +span.primary.icon a > i { + color: rgba(var(--movim-font), 0.68); +} + +a.normal { + color: inherit; +} + +form>div .checkbox:before { + background-color: var(--movim-accent); +} + +form input:focus:not(:invalid)+label, +form textarea:focus:not(:invalid)+label { + color: var(--movim-accent); +} + +form>div .select:has(:focus), +form input:focus:not(:invalid):not(.button), +form textarea:focus:not(:invalid):not(.button) { + box-shadow: 0px 2px 0px var(--movim-accent); +} \ No newline at end of file diff --git a/frontend/theme/css/dialog.css b/frontend/theme/css/dialog.css new file mode 100644 index 0000000..a4cf3c5 --- /dev/null +++ b/frontend/theme/css/dialog.css @@ -0,0 +1,78 @@ +.dialog { + position: fixed; + top: 5%; + left: calc(50% - 30rem); + height: initial; + width: 60rem; + + overflow: hidden; + + box-shadow: var(--elevation-3); + border-radius: 2rem; + z-index: 4; + box-sizing: border-box; + animation: zoom .25s ease-in-out; +} + +.dialog:empty { + display: none; +} + +.dialog.scroll { + height: 90%; +} + +.dialog>section { + max-height: calc(90vh - 7.2rem); + height: 100%; + overflow-y: auto; + position: relative; +} + +.dialog>section>*:first-child:not(ul):not(header) { + margin-top: 1rem; +} + +.dialog>section table { + margin: 0 auto; + width: calc(100% - 3rem); +} + +.dialog>section>form>label, +.dialog>section>h3, +.dialog>section>h4, +.dialog>section form>div:not(:has(ul.list)) { + padding-left: 1.5rem; + padding-right: 1.5rem; +} + +.dialog>footer { + text-align: right; + padding: 0.75rem; + padding-bottom: 0.5rem; + padding-top: 0; +} + +.dialog>section h3+h4 { + opacity: 0.7; + padding-top: 0.5rem; +} + +.dialog>section form>p { + margin-top: 1rem; + padding: 0 1.5rem; +} + +/* List specific */ +.dialog>section form ul.list li>.primary { + left: 0; +} + +@media screen and (max-width: 34rem) { + .dialog { + width: calc(100% - 6rem); + min-height: 0; + min-width: 0; + left: 3rem; + } +} \ No newline at end of file diff --git a/frontend/theme/css/elevation.css b/frontend/theme/css/elevation.css new file mode 100644 index 0000000..765416c --- /dev/null +++ b/frontend/theme/css/elevation.css @@ -0,0 +1,16 @@ +body { + --elevation-flat: 0px 1px 1px 0px rgba(var(--movim-shadow), calc(0.2 * var(--movim-shadow-strength))); + --elevation-0: 0px 0px 0px 0px rgba(var(--movim-shadow), calc(0.2 * var(--movim-shadow-strength))), 0px 0px 0px 0px rgba(var(--movim-shadow), calc(0.14 * var(--movim-shadow-strength))), 0px 0px 0px 0px rgba(var(--movim-shadow), calc(0.12 * var(--movim-shadow-strength))); + --elevation-1: 0px 2px 1px -1px rgba(var(--movim-shadow), calc(0.2 * var(--movim-shadow-strength))), 0px 1px 1px 0px rgba(var(--movim-shadow), calc(0.14 * var(--movim-shadow-strength))), 0px 1px 3px 0px rgba(var(--movim-shadow), calc(0.12 * var(--movim-shadow-strength))); + --elevation-2: 0px 3px 1px -2px rgba(var(--movim-shadow), calc(0.2 * var(--movim-shadow-strength))), 0px 2px 2px 0px rgba(var(--movim-shadow), calc(0.14 * var(--movim-shadow-strength))), 0px 1px 5px 0px rgba(var(--movim-shadow), calc(0.12 * var(--movim-shadow-strength))); + --elevation-3: 0px 3px 3px -2px rgba(var(--movim-shadow), calc(0.2 * var(--movim-shadow-strength))), 0px 3px 4px 0px rgba(var(--movim-shadow), calc(0.14 * var(--movim-shadow-strength))), 0px 1px 8px 0px rgba(var(--movim-shadow), calc(0.12 * var(--movim-shadow-strength))); + --elevation-4: 0px 2px 4px -1px rgba(var(--movim-shadow), calc(0.2 * var(--movim-shadow-strength))), 0px 4px 5px 0px rgba(var(--movim-shadow), calc(0.14 * var(--movim-shadow-strength))), 0px 1px 10px 0px rgba(var(--movim-shadow), calc(0.12 * var(--movim-shadow-strength))); + --elevation-5: 0px 3px 5px -1px rgba(var(--movim-shadow), calc(0.2 * var(--movim-shadow-strength))), 0px 5px 8px 0px rgba(var(--movim-shadow), calc(0.14 * var(--movim-shadow-strength))), 0px 1px 14px 0px rgba(var(--movim-shadow), calc(0.12 * var(--movim-shadow-strength))); + --elevation-6: 0px 3px 5px -1px rgba(var(--movim-shadow), calc(0.2 * var(--movim-shadow-strength))), 0px 6px 10px 0px rgba(var(--movim-shadow), calc(0.14 * var(--movim-shadow-strength))), 0px 1px 18px 0px rgba(var(--movim-shadow), calc(0.12 * var(--movim-shadow-strength))); + --elevation-7: 0px 4px 5px -2px rgba(var(--movim-shadow), calc(0.2 * var(--movim-shadow-strength))), 0px 7px 10px 1px rgba(var(--movim-shadow), calc(0.14 * var(--movim-shadow-strength))), 0px 2px 16px 1px rgba(var(--movim-shadow), calc(0.12 * var(--movim-shadow-strength))); + --elevation-8: 0px 5px 5px -3px rgba(var(--movim-shadow), calc(0.2 * var(--movim-shadow-strength))), 0px 8px 10px 1px rgba(var(--movim-shadow), calc(0.14 * var(--movim-shadow-strength))), 0px 3px 14px 2px rgba(var(--movim-shadow), calc(0.12 * var(--movim-shadow-strength))); + --elevation-9: 0px 5px 6px -3px rgba(var(--movim-shadow), calc(0.2 * var(--movim-shadow-strength))), 0px 9px 12px 1px rgba(var(--movim-shadow), calc(0.14 * var(--movim-shadow-strength))), 0px 3px 16px 2px rgba(var(--movim-shadow), calc(0.12 * var(--movim-shadow-strength))); + --elevation-10: 0px 6px 6px -3px rgba(var(--movim-shadow), calc(0.2 * var(--movim-shadow-strength))), 0px 10px 14px 1px rgba(var(--movim-shadow), calc(0.14 * var(--movim-shadow-strength))), 0px 4px 18px 3px rgba(var(--movim-shadow), calc(0.12 * var(--movim-shadow-strength))); + --elevation-11: 0px 6px 7px -4px rgba(var(--movim-shadow), calc(0.2 * var(--movim-shadow-strength))), 0px 11px 15px 1px rgba(var(--movim-shadow), calc(0.14 * var(--movim-shadow-strength))), 0px 4px 20px 3px rgba(var(--movim-shadow), calc(0.12 * var(--movim-shadow-strength))); + --elevation-12: 0px 7px 8px -4px rgba(var(--movim-shadow), calc(0.2 * var(--movim-shadow-strength))), 0px 12px 17px 2px rgba(var(--movim-shadow), calc(0.14 * var(--movim-shadow-strength))), 0px 5px 22px 4px rgba(var(--movim-shadow), calc(0.12 * var(--movim-shadow-strength))); +} diff --git a/frontend/theme/css/fonts.css b/frontend/theme/css/fonts.css new file mode 100644 index 0000000..b91c6a9 --- /dev/null +++ b/frontend/theme/css/fonts.css @@ -0,0 +1,297 @@ +/* Material Symbols */ + +@font-face { + font-family: 'Material Symbols'; + font-style: normal; + font-weight: 400; + /** https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0..1,0 **/ + src: url(../fonts/MaterialSymbols/MaterialSymbols-Outlined.woff2?3) format('woff2'); +} + +.material-symbols { + font-family: 'Material Symbols'; + font-weight: normal; + font-style: normal; + letter-spacing: normal; + text-transform: none; + display: inline-block; + white-space: nowrap; + overflow-wrap: normal; + direction: ltr; + vertical-align: bottom; + user-select: none; + -moz-user-select: none; + -moz-font-feature-settings: 'liga'; + + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + + /* Support for IE. */ + font-feature-settings: 'liga'; +} + +.material-symbols.fill { + font-variation-settings: 'FILL' 1; +} + +.material-symbols.blink { + animation: blink 3s infinite; +} + +.material-symbols.flip-hor { + transform: scale(-1, 1); +} + +.material-symbols.flip-vert { + transform: scale(1, -1); +} + +.material-symbols.flip-hor.flip-vert { + transform: scale(-1, -1); +} + +/* Roboto */ + +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../fonts/Roboto/KFOmCnqEu92Fr1Mu72xKOzY.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} + +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../fonts/Roboto/KFOmCnqEu92Fr1Mu5mxKOzY.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} + +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../fonts/Roboto/KFOmCnqEu92Fr1Mu7mxKOzY.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} + +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../fonts/Roboto/KFOmCnqEu92Fr1Mu4WxKOzY.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} + +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../fonts/Roboto/KFOmCnqEu92Fr1Mu7WxKOzY.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} + +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../fonts/Roboto/KFOmCnqEu92Fr1Mu7GxKOzY.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} + +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../fonts/Roboto/KFOmCnqEu92Fr1Mu4mxK.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(../fonts/Roboto/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} + +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(../fonts/Roboto/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} + +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(../fonts/Roboto/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} + +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(../fonts/Roboto/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} + +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(../fonts/Roboto/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} + +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(../fonts/Roboto/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} + +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(../fonts/Roboto/KFOlCnqEu92Fr1MmEU9fBBc4.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(../fonts/Roboto/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} + +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(../fonts/Roboto/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} + +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(../fonts/Roboto/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} + +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(../fonts/Roboto/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} + +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(../fonts/Roboto/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} + +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(../fonts/Roboto/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} + +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(../fonts/Roboto/KFOlCnqEu92Fr1MmWUlfBBc4.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +/* Others */ + +.emoji { + width: 3rem; + height: 3rem; + margin: 0 0.5rem; + margin-bottom: -0.7rem; +} + +ul.list p+p .emoji { + margin-bottom: -0.5rem; + width: 2rem; + height: 2rem; +} + +.emoji.medium { + width: auto; + height: 3.5rem; + margin: 0; + margin-bottom: -1.2rem; +} + +.emoji.large { + width: 4.5rem; + height: 5rem; + margin: 0; +} \ No newline at end of file diff --git a/frontend/theme/css/form.css b/frontend/theme/css/form.css new file mode 100644 index 0000000..dfa0140 --- /dev/null +++ b/frontend/theme/css/form.css @@ -0,0 +1,512 @@ +/* Form */ + +input { + filter: none; +} + +li>form { + display: block; +} + +form>div:not(.clear):not(.control) { + min-height: 9rem; + position: relative; + box-sizing: border-box; +} + +form>div.compact:not(.clear):not(.control) { + min-height: 0; +} + +form>div label { + position: absolute; + top: 1.5rem; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + max-width: calc(100% - 3rem); + user-select: none; +} + +form>div textarea[required]+label:after, +form>div input[required]:not([type=checkbox])+label:after { + content: '✱'; + margin-left: 0.5rem; +} + +form>div.icon { + padding-left: 9rem; +} + +form>div textarea { + field-sizing: content; + border: none; + resize: none; + line-height: 3rem; + box-sizing: border-box; +} + +form>div .select:has(option:nth-child(2)):after { + font-family: 'Material Symbols'; + content: "\e5c5"; + display: block; + font-size: 4rem; + color: rgba(var(--movim-font), 0.75); + position: absolute; + bottom: 0rem; + pointer-events: none; + inset-inline-end: 0; +} + +form>div .select:hover:after { + color: rgba(var(--movim-font), 0.6); +} + +form>div .select select { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + width: 100%; + background-color: transparent; + background-image: none; + padding-bottom: 1rem; + mask-image: linear-gradient(to right, black calc(100% - 15rem), transparent); +} + +*[dir="rtl"] form>div .select select { + mask-image: linear-gradient(to left, black calc(100% - 15rem), transparent); +} + +form>div .select:not(:has(option:nth-child(2))) { + pointer-events: none; +} + +/* Placeholders to mimic FF */ + +input:-webkit-autofill, +input:-webkit-autofill:hover, +input:-webkit-autofill:focus, +input:-webkit-autofill:active { + transition: background-color 0s 50000s; + -webkit-text-fill-color: rgba(var(--movim-font), 0.87) !important; +} + +/* Webkit weird CSS, sic */ + +form>div .select select, +form>div input:not([type=submit]), +form>div textarea { + outline-width: 0; +} + +form>div .select select option, +form>div .select select optgroup { + background-color: rgb(var(--movim-background-main)); +} + +form>div .select, +form>div input:not([type=submit]), +form>div textarea { + display: block; + padding: 1rem 0; + padding-top: 4rem; + width: 100%; + background-color: transparent; + margin-bottom: 1rem; + + -webkit-appearance: none; + /* iOS */ + border-radius: 0; + /* iOS */ + overflow: hidden; + /* Fixme */ + + position: relative; + z-index: 1; +} + +form>div .select, +form>div input:not([type=submit]), +form>div textarea { + box-shadow: 0px 1px 0px rgba(var(--movim-font), 0.12); +} + +form>div>img, +form>div>p { + padding-top: 1.5rem; +} + +form>div .select { + position: relative; + padding-top: 4rem; + padding-bottom: 0; +} + +form>div.compact>.select, +form>div.compact>input:not([type=submit]), +form>div.compact>textarea { + padding-top: 2.5rem; +} + +/* Supporting text */ +ul.list li div span.supporting, +form div>span.supporting { + line-height: 2.25rem; + font-size: 1.5rem; + color: rgba(var(--movim-font), 0.60); + display: inline-block; + margin-bottom: 1rem; +} + +/* Webkit hack */ +form>div input:not([type=submit]):-webkit-autofill { + -webkit-box-shadow: 0 0 0 50px transparent inset; +} + +form>div input:not([type=submit]):-webkit-autofill:focus { + box-shadow: none; + -webkit-text-fill-color: rgba(var(--movim-font), 0.87); +} + +/* File */ + +input[type=file] { + max-width: 100%; + margin-top: 1rem; +} + +/* Checkbox element */ + +form>div .checkbox>input[type="checkbox"], +form>div .radio>input[type="radio"] { + display: inline; + width: 0; + height: 0; + position: initial; +} + +form>div .checkbox { + position: relative; + width: 6rem; + height: 4rem; + margin-top: calc(50% - 2rem); + direction: ltr; + left: -1rem; +} + +form>div ul.list .control .checkbox { + left: 0; +} + +form>div .checkbox>input[type="checkbox"]:before { + content: ''; + display: block; + position: absolute; + height: 100%; + width: 100%; + border: 0.3rem solid rgba(var(--movim-font), 0.2); + background-color: rgba(var(--movim-font), 0.12); + box-sizing: border-box; + transition: background-color 0.3s ease; + top: 0; +} + +form>div .checkbox>input[type="checkbox"]:before { + border-radius: 4rem; +} + +form>div .checkbox>input[type="checkbox"]:focus:before { + outline: 3px solid var(--movim-accent); + outline-offset: 2px; +} + +form>div .checkbox>input[type="checkbox"]+label { + z-index: 1; + display: block; + background-color: rgba(var(--movim-font), 0.2); + width: 2rem; + height: 2rem; + border-radius: 2rem; + top: 1rem; + left: 1rem; + position: absolute; + font-size: 2rem; + text-align: center; + line-height: normal; + transition: left 0.3s ease, top 0.2s ease, width 0.2s ease, height 0.2s ease, box-shadow 0.1s ease; +} + +form>div .checkbox>input[type="checkbox"]+label i { + vertical-align: middle; + color: rgba(var(--movim-font), 0.5); + line-height: 1.75em; + font-size: 1.75rem; +} + +form>div .checkbox:hover>input[type="checkbox"]+label { + cursor: pointer; + box-shadow: 0 0 0 1.75rem rgba(var(--movim-font), 0.05); +} + +form>div .checkbox>input[type="checkbox"]:checked+label { + color: white; + width: 3rem; + height: 3rem; + left: 1.25em; + top: 0.25em; + background-color: white; +} + +form>div .checkbox>input[type="checkbox"]:checked+label i { + color: var(--movim-accent); +} + +/* Radio */ + +form>div .radio>input[type="radio"]+label { + display: inline-block; + width: 2rem; + height: 2rem; + border-radius: 2rem; + border-width: 2px; + border-style: solid; + border-color: gray; + transition: box-shadow 0.1s ease; + margin: 1.25rem; + margin-bottom: 0; +} + +form>div .radio>input[type="radio"]:focus+label { + outline: 3px solid var(--movim-accent); + outline-offset: 2px; +} + +form>div .radio>input[type="radio"]+label:hover { + cursor: pointer; + background-color: rgba(var(--movim-font), 0.1); + box-shadow: 0 0 0 1.5rem rgba(var(--movim-font), 0.1); +} + +form>div .radio>input[type="radio"]:checked+label { + box-shadow: inset 0 0 0 0.4rem rgb(var(--movim-background-main)); + +} + +form>div .radio>input[type="radio"]:checked+label:hover { + box-shadow: inset 0 0 0rem 0.4rem rgb(var(--movim-background-main)), 0 0 0 1.55rem rgba(var(--movim-font), 0.05); +} + +/* Disabled */ + +form>div input:disabled, +form>div input:disabled+label, +form>div select:disabled, +form>div select:disabled+label, +form>div textarea:disabled, +form>div textarea:disabled+label { + opacity: 0.5; +} + +/* Readonly */ + +form>div input[readonly], +form>div textarea[readonly] { + opacity: 0.75; +} + +/* Button */ + +.button.oppose { + float: inline-end; +} + +.button:disabled, +.button.inactive { + opacity: 0.6; + pointer-events: none; +} + +.button:focus-visible { + outline: 3px solid var(--movim-accent); + outline-offset: 2px; +} + +.button, +input[type=button] { + -webkit-appearance: none; + /* iOS */ + min-width: 5rem; + text-align: center; + display: inline-block; + box-sizing: border-box; + font-size: 2rem; + font-weight: 500; + line-height: 5rem; + height: 5rem; + margin: 0.75rem 0.25rem; + border-radius: 3rem; + padding: 0 2rem; + border: 0; + transition: background 0.3s ease, + box-shadow 0.3s ease, + border-radius 0.2s var(--standard-easing), + filter 0.2s var(--standard-easing); + background-image: none; + user-select: none; +} + +.button.color { + box-shadow: var(--elevation-1); +} + +.button.color:hover { + box-shadow: var(--elevation-2); +} + +p>.button, +p>input[type=button] { + margin: 0.75rem 0; +} + +.button.narrow { + padding: 0 1rem; +} + +.button:not(.color), +input[type=button]:not(.color) { + background-color: white; +} + +.button:active, +input[type=button]:active { + filter: saturate(0.8) brightness(0.9); + box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.23), 0 0.5rem 1.25rem rgba(0, 0, 0, 0.16); +} + +.button.flat, +input[type=button].flat { + box-shadow: none; + background-color: transparent; + border: 0; +} + +.button:hover, +a.button:link:hover, +a.button:visited:hover, +input[type=button]:hover { + cursor: pointer; + text-decoration: none; + border-radius: 1rem; +} + +.button.flat:not(.color):hover, +.button.flat:not(.color).on, +input[type=button].flat:not(.color):hover { + background-color: rgba(var(--movim-element-action), 0.2); +} + +.button:focus, +input[type=button]:focus { + border: 0; +} + +.button.flat:not(.color):focus, +input[type=button].flat:not(.color):focus { + background-color: rgba(var(--movim-element-action), 0.4); + font-variation-settings: 'FILL' 1; +} + +.button.action { + position: fixed; + bottom: 2rem; + right: 2rem; + min-height: 0rem; + min-width: 0rem; + line-height: 7rem; + height: 7rem; + width: 7rem; + z-index: 2; + font-size: 3.5rem; + animation: zoom 0.3s; + padding: 0; + border-radius: 2.5rem; + margin: 0; +} + +.button.action.small { + height: 5rem; + width: 5rem; + line-height: 5rem; +} + +body>nav.active~main .button.action, +body>div.dialog:not(:empty)~main .button.action, +body>div.drawer:not(:empty):not(.empty)~main .button.action { + transform: scale(0.9); + opacity: 0; +} + +.button.action { + box-shadow: var(--elevation-3); +} + +.button.action:hover { + box-shadow: var(--elevation-4); +} + +.button.action, +.button.action>i { + transition: all 0.4s ease 0s; +} + +.button.action.active>i { + transform: rotate(45deg); +} + +ul.list li div>.button { + margin: 0.25rem; +} + +li.action div.action .button { + margin: 0.5rem; + display: block; +} + +.button:not(.action) i { + font-size: 2.5rem; + margin: 0 0.25rem; +} + +.snackbar#status_websocket:not(.hide)~main>section#sidebar~* .button.action { + display: none; +} + +@media screen and (min-width: 1025px) { + main>div:first-child:nth-last-child(2)+div .button.action { + right: calc(75% - 3rem); + } + + *[dir="rtl"] main>div:first-child:nth-last-child(2)+div .button.action { + right: auto; + left: calc(75% - 3rem); + } + + section#sidebar~* .button.action { + right: calc(50% - 21rem); + } + + *[dir="rtl"] section#sidebar~* .button.action { + right: auto; + left: calc(50% - 21rem); + } +} + +@media screen and (min-width: 1680px) { + main>div:first-child:nth-last-child(2)+div .button.action { + right: calc(63.75% + 2rem); + } + + section#sidebar~* .button.action { + right: calc(42.5% - 17rem); + } +} diff --git a/frontend/theme/css/grid.css b/frontend/theme/css/grid.css new file mode 100644 index 0000000..8acffb9 --- /dev/null +++ b/frontend/theme/css/grid.css @@ -0,0 +1,52 @@ +/* Grid */ +ul.grid { + display: flex; + flex-wrap: wrap; +} + +ul.grid > li { + flex: 0 1 25%; + background-repeat: no-repeat; + background-position: center center; + background-size: cover; + position: relative; + display: flex; + align-items: center; + justify-content: center; + background-color: rgba(var(--movim-gray), 0.3); + transition: opacity 0.2s ease-in-out; +} + +ul.grid.third > li { + flex: 0 1 33.33%; +} + +ul.grid.active > li:hover { + cursor: pointer; + opacity: 0.8; +} + +ul.grid.active > li i { + font-size: 4rem; + color: white; + text-shadow: 0px 2px 1px rgba(0, 0, 0, 0.2), 0px 1px 1px rgba(0, 0, 0, 0.14), 0px 1px 3px rgba(0, 0, 0, 0.12); + max-width: max-content; +} + +ul.grid.active > li span { + position: absolute; + bottom: 0; + right: 0; + background-color: rgba(0, 0, 0, 0.8); + color: white; + font-size: 1.5rem; + padding: 0 0.5rem; + line-height: 2.5rem; + border-radius: 0.3rem 0 0; +} + +ul.grid > li:after { + content: ''; + display: block; + padding-bottom: 100%; +} diff --git a/frontend/theme/css/header.css b/frontend/theme/css/header.css new file mode 100644 index 0000000..500411d --- /dev/null +++ b/frontend/theme/css/header.css @@ -0,0 +1,20 @@ +header.big { + background-size: cover, cover; + background-position: center center; + width: 100%; + max-width: 100%; + color: white; + position: relative; +} + +header.big span.primary.icon a i, +header.big span.control.icon a i { + color: white; +} + +header.big.top { + border-radius: 0 0 1rem 1rem; + padding-top: 15rem; + margin-bottom: 1rem; + box-shadow: var(--elevation-1); +} diff --git a/frontend/theme/css/icon.css b/frontend/theme/css/icon.css new file mode 100644 index 0000000..2350722 --- /dev/null +++ b/frontend/theme/css/icon.css @@ -0,0 +1,312 @@ +/* Icon */ + +span.icon { + font-size: 3rem; + line-height: 5rem; + text-align: center; + background-size: cover; + background-position: center; + position: relative; + word-break: keep-all; +} + +span.icon.spin, +i.spin { + animation: spin 2s linear infinite; +} + +span.icon.shake, +i.shake { + animation: shake 1s linear infinite; +} + +span.icon img { + max-width: 100%; + height: 100%; + object-fit: cover; +} + +span.icon.r1 { + transform: rotate(90deg); +} + +span.icon.r2 { + transform: rotate(180deg); +} + +span.icon.r3 { + transform: rotate(270deg); +} + +/*span.icon.top { + position: relative; + top: -1.5rem; + width: 100%; + height: 10rem; + line-height: 10rem; + display: block; + margin: 0; + left: 0; +} + +span.icon.top.preview { + height: 25rem; +}*/ + +span.icon.primary.thumb, +span.icon.control.thumb { + width: 7rem; + line-height: 7rem; + margin-right: -1.5rem; + align-self: stretch; + height: auto; + text-shadow: 0 0 1rem rgba(0, 0, 0, 0.5); +} + +span.icon.primary.thumb { + margin-left: -1.5rem; + margin-right: 0.5rem; +} + +span.primary.overflow { + margin-left: -4.5rem; + margin-right: 0; +} + +span.icon.bubble { + border-radius: 5rem; + font-size: 2.25rem; + user-select: none; + -moz-user-select: none; + height: 5rem; +} + +span.icon.bubble img:not(.emoji) { + border-radius: 5rem; +} + +span.icon.bubble.space:not(:has(img)), +span.icon.bubble.space img:not(.emoji) { + border-radius: 2rem; +} + +span.icon.bubble>i, +span.icon.bubble>a>i { + font-size: 3rem; + line-height: 5rem; +} + +ul.list li span.icon.small { + height: 4rem; + line-height: 3.5rem; + font-size: 0; + /* Only display the first letter */ + flex: 0 0 4rem; + margin-left: 1rem; + margin-right: 1rem; +} + +ul.list li span.icon.small img.emoji { + width: 1.75rem; + height: 4rem; +} + +ul.list li span.icon.small:not(.bubble)>i { + font-size: 3rem; + line-height: 3rem; +} + +span.icon.small.bubble:first-letter, +span.icon.small.bubble>i, +span.icon.small.bubble>a>i { + font-size: 2.25rem; + line-height: 4rem; +} + +span.icon.bubble.status, +span.icon.bubble.stories { + border-radius: 0; + mask-size: 100%; + mask-origin: content-box; + mask-repeat: no-repeat; +} + +span.icon.bubble.stories { + mask-origin: fill-box; + background: linear-gradient(to top right, var(--p-orange), var(--p-pink)); + transition: transform 0.2s ease-in-out; +} + +span.icon.bubble.stories.seen { + background: none; + background-color: rgba(var(--movim-font), 0.25); +} + +span.icon.bubble.stories:active { + transform: scale(.95); +} + +span.icon.bubble.status:not(.offline):not(.composing):not([data-counter]):not(.location) { + mask-image: url(../img/avatar_mask.svg); + -webkit-mask-origin: unset; + mask-origin: unset; +} + +span.icon.bubble.stories.composing, +span.icon.bubble.stories[data-counter]:not(.composing):not(.location) { + mask-image: url(../img/avatar_mask_notifs_stories.svg); +} + +span.icon.bubble.stories:not(.composing):not([data-counter]):not(.location) { + mask-image: url(../img/avatar_mask_stories.svg); + -webkit-mask-origin: unset; + mask-origin: unset; +} + +span.icon.bubble.status.online.stories:not(.composing):not([data-counter]):not(.location) { + mask-image: url(../img/avatar_mask_stories_online.svg); +} + +span.icon.bubble.status.dnd:not(.composing):not([data-counter]):not(.location) { + mask-image: url(../img/avatar_mask_dnd.svg); +} + +span.icon.bubble.status.dnd.stories:not(.composing):not([data-counter]):not(.location) { + mask-image: url(../img/avatar_mask_dnd_stories.svg); +} + +span.icon.bubble.status.away:not(.composing):not([data-counter]):not(.location) { + mask-image: url(../img/avatar_mask_away.svg); +} + +span.icon.bubble.status.away.stories:not(.composing):not([data-counter]):not(.location) { + mask-image: url(../img/avatar_mask_away_stories.svg); +} + +span.icon.bubble.status.xa:not(.composing):not([data-counter]):not(.location) { + mask-image: url(../img/avatar_mask_xa.svg); +} + +span.icon.bubble.status.xa.stories:not(.composing):not([data-counter]):not(.location) { + mask-image: url(../img/avatar_mask_xa_stories.svg); +} + +span.icon.bubble.status.location { + mask-image: url(../img/avatar_mask_location.svg); +} + +span.icon.bubble.status.location.stories { + mask-image: url(../img/avatar_mask_location_stories.svg); +} + +span.icon span.counter, +span.icon[data-counter]:after, +span.icon.composing:after, +span.icon.status:after { + content: ''; + display: block; + min-width: 2rem; + height: 2rem; + font-size: 1.5rem; + line-height: 2rem; + right: calc(50% - 2.75rem); + top: calc(50% + 0.5rem); + position: absolute; + transition: border-radius 0.25s var(--standard-easing); + border-radius: 2em; + background-color: rgb(var(--movim-element-action)); + box-shadow: var(--elevation-0); +} + +span.icon.status.offline:not([data-counter]):after { + display: none; +} + +span.icon span.counter, +span.icon[data-counter]:after, +span.icon.composing:after { + padding: 0 0.25rem; + min-width: 1.5rem; + box-shadow: var(--elevation-1); +} + +/* Counter */ + +span.icon[data-counter]:after { + border-radius: 0.5rem; + content: attr(data-counter); +} + +span.icon[data-counter].symbol:after { + font-family: 'Material Symbols'; +} + +/* Composing */ + +span.icon.composing:after { + content: '…'; + line-height: 1rem; + font-size: 2rem; + font-weight: bold; + border-radius: 0.5rem; + animation: fadeText 1.5s infinite; +} + +/* Weird bug */ +span.icon.small.status:after { + border-radius: 2rem; +} + +span.icon.small span.counter, +span.icon.small.composing:after { + top: 2.25rem; +} + +span.icon.small.status:after { + top: 2.4rem; + min-width: 1.5rem; + height: 1.5rem; + right: calc(50% - 2.1rem); +} + +main ul li .control>i { + margin-left: 0; +} + +/* Counter */ + +span.icon span.counter { + border-radius: 0.5rem; +} + +span.icon span.counter:empty { + display: none; +} + +span.icon span.counter>i { + margin-left: 0.1rem; + margin-right: 0.1rem; +} + +/* Text icon */ +i.icon-text { + font-size: 2.5rem; + margin: 0 0.25rem; + line-height: 3rem; + vertical-align: middle; +} + +/* Tiny icon */ +p span.icon.tiny { + width: 2rem; + height: 2rem; + display: inline-block; + margin-right: 0.5rem; + vertical-align: text-top; + font-size: 1rem; + line-height: 2rem; +} + +p span.icon.tiny:not(:first-child) { + margin-left: 0.75rem; +} diff --git a/frontend/theme/css/listn.css b/frontend/theme/css/listn.css new file mode 100644 index 0000000..3232a54 --- /dev/null +++ b/frontend/theme/css/listn.css @@ -0,0 +1,815 @@ +ul.list>*>li, +ul.list>li { + clear: both; + display: flex; + align-items: center; + padding: 0 1.5rem; + box-sizing: border-box; + position: relative; + transition: background-color 0.15s ease; +} + +ul.list:not(.divided)>li { + border-radius: 1rem; +} + +ul.list.compact>li:not(.subheader) { + flex-direction: column; + align-items: flex-start; + padding: 1.5rem 1rem; +} + +ul.list.compact>li>div { + width: 100%; +} + +ul.list.compact>li>span.chip { + position: absolute; + inset-inline-end: 1rem; +} + +ul.list.controls>li { + padding: 0; +} + +article header>ul.list li { + padding: 0 1rem; +} + +ul.list li>* { + order: 2; + flex: 1; + min-width: 0; + max-width: 100%; + transition: background-color 0.15s ease, filter 0.15s ease; +} + +ul.list li:not(.subheader)>div { + padding: 0.25rem 0; +} + +ul.list.thin li:not(.subheader)>div { + padding: 0; +} + +ul.list.middle li:not(.subheader)>div { + padding: 0.75rem 0; +} + +ul.list.thick li:not(.subheader)>div { + padding: 1.5rem 0; +} + +/* Active list items */ + +ul.list.active>li:hover:not(.subheader), +ul.list.active.all>li:hover, +ul.list>li.active:hover, +ul.list.active>li.active:not(.subheader), +ul.tabs>li:hover { + cursor: pointer; + user-select: none; +} + +ul.list.active>li:hover:not(.subheader):not(.color), +ul.list.active.all>li:hover:not(.color), +ul.list>li.active:hover:not(.color), +ul.list.active>li.active:not(.subheader):not(.color), +ul.tabs>li:hover { + background-color: rgba(var(--movim-element-action), 0.1); +} + +ul.list>li>span.active:hover { + cursor: pointer; + user-select: none; +} + +ul.list>li>span.bubble.active:hover { + filter: grayscale(25%); +} + +ul.list>li>span:not(.bubble).active:hover, +ul.list>li>div.bubble:not(.file):hover { + cursor: pointer; + background-color: rgba(var(--movim-element-action), 0.1); +} + +/* Clicked list items */ + +ul.list.active>li:active:not(.subheader):not(.color), +ul.list.active.all>li:active:not(.color), +ul.tabs>li:active:not(.color) { + background-color: rgba(var(--movim-element-action), 0.2); +} + + +ul.list>li>span.bubble.active:active { + filter: grayscale(50%); +} + +ul.list>li>span:not(.bubble).active:active, +ul.list>li>div.bubble:not(.file):active { + cursor: pointer; + background-color: rgba(var(--movim-element-action), 0.2); + font-variation-settings: 'FILL' 1; +} + +/* Main elements */ + +ul.list li .control, +ul.list li .primary { + height: 5rem; + line-height: 5rem; + flex: 0 0 5rem; + justify-content: center; +} + +ul.list li .primary:not(.bubble)[onclick] { + flex: 0 0 6.5rem; + margin-inline-start: -1.5rem; +} + +ul.list li.primary ul.list.compact>li .primary { + width: 5rem; +} + +ul.list li>span.primary { + order: 1; +} + +ul.list li>span.control { + order: 3; +} + +ul.list li.invite:not(.subheader)>span.primary+span.primary { + margin-left: -2rem; +} + +ul.list:not(.navigation):not(.card) li>span.control:last-of-type:not(:has(>.checkbox)):not(.toggleable) { + margin-inline-end: -1.5rem; +} + +header>ul.list li>span.control:last-of-type, +nav>ul.list li>span.control:last-of-type, +ul.list.controls li>span.control:last-of-type { + margin-right: 0; +} + +ul.list li>span.thumb { + flex: 0 0 7rem; +} + +ul.list:not(.context_menu):not(.navigation) li:not(.subheader) .control:not(.bubble):not(.thumb), +ul.list:not(.context_menu):not(.navigation) li:not(.subheader) .primary:not(.bubble):not(.thumb):not(.small) { + padding: 0.25rem 0.5rem; +} + +ul.list:not(.navigation) li:not(.subheader) .control.bubble, +ul.list:not(.navigation) li:not(.subheader) .primary.bubble:not(.small) { + margin: 0 0.5rem; +} + +ul.list:not(.navigation) li:not(.subheader) .primary.stories.bubble { + margin: 0; + padding: 0.5rem; +} + +ul.list.thin:not(.navigation) li:not(.subheader) .control:not(.bubble):not(.thumb), +ul.list.thin:not(.navigation) li:not(.subheader) .primary:not(.bubble):not(.thumb):not(.small) { + padding: 0 0.5rem; +} + +ul.list.middle:not(.navigation) li:not(.subheader) .control:not(.bubble):not(.thumb), +ul.list.middle:not(.navigation) li:not(.subheader) .primary:not(.bubble):not(.thumb):not(.small) { + padding: 1rem 0.5rem; +} + +ul.list.thick:not(.navigation) li:not(.subheader) .control:not(.bubble):not(.thumb), +ul.list.thick:not(.navigation) li:not(.subheader) .primary:not(.bubble):not(.thumb):not(.small) { + padding: 1.75rem 0.5rem; +} + +ul.list li .primary~*:not(.primary):not(.control):not(.bubble) { + margin-inline-start: 1rem; +} + +ul.list.compact li .primary~*:not(.primary):not(.control):not(.bubble) { + margin-inline-start: 0.5rem; + padding-bottom: 0; +} + +ul.list:not(.gallery) li:not(.story)>.control~*:not(.primary):not(.control):not(.bubble) { + margin-inline-end: 1rem; +} + +ul.list li .primary>a, +ul.list li .control>a { + display: block; +} + +/* Safari fix */ +ul.list li .primary.bubble>a { + height: 5rem; +} + +ul.list li .primary.small.bubble>a { + height: 4rem; +} + +/* Truncated content */ + +ul.list li.subheader>div>p, +ul.list li>div>span.supporting.line, +ul.list li>div>p.line { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + max-width: 100%; +} + +ul.list li>div>p.line.two { + white-space: initial; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +ul.list li>div>p>span.second { + margin-left: 0.5rem; +} + +ul.list li>div>p>span.second.sticked { + margin-left: 0; +} + +ul.list li>div>p>span.info, +ul.list li>div.bubble:after { + float: inline-end; + font-size: 1.5rem; + margin-left: 0.5rem; + max-width: 70%; + overflow: hidden; + text-overflow: ellipsis; +} + +/* Size automagicaly the content */ + +ul.list li>div>p { + box-sizing: border-box; + width: auto; +} + +ul.list li>div>p.active:hover { + cursor: pointer; +} + +ul.list>*>li>div>p:first-of-type, +ul.list>li>div>p:first-of-type, +ul.list>li>div>p.brief { + line-height: 3rem; + font-size: 2rem; +} + +ul.list>*>li>div>p:not(:first-of-type):not(.brief), +ul.list>li>div>p:not(:first-of-type):not(.brief) { + line-height: 2.5rem; + font-size: 1.75rem; +} + +ul.list>*>li>div>p:not(.all), +ul.list>li>div>p:not(.all) { + max-height: 7.5rem; + overflow: hidden; + text-overflow: ellipsis; +} + +ul.list>*>li>div>p:only-child, +ul.list>li>div>p:only-child { + line-height: 5.5rem; +} + +ul.list>*>li>div>p.all, +ul.list>li>div>p.all { + line-height: 3rem; +} + +ul.list li:not(.subheader)>div:has(>p.brief:not(.line)) { + padding-bottom: 0.5rem; +} + +ul.list li>div>p.brief { + margin-top: 0.5rem; + margin-bottom: 0.5rem; +} + +ul.list li>div>p.bold { + font-weight: bold; +} + +ul.list li>div>p.center { + text-align: center; +} + +/* Subheader */ + +ul.list li.subheader { + overflow: hidden; + user-select: none; +} + +ul.list li.subheader>div>p { + font-size: 1.75rem; + line-height: 5rem; + font-weight: 700; +} + +ul.list li.subheader span.chip { + flex: 0 0 auto; +} + +ul.list li.subheader.sticky { + position: sticky; + top: 0; + background-color: rgb(var(--movim-background-main)); + z-index: 1; +} + +/* Search forms */ + +ul.list:has(>li.search) { + padding-top: 1rem; +} + +ul.list>li.main form div:after, +ul.list>li.comment form div:after, +ul.list>li.search form div:after { + content: ""; + display: block; + width: 100%; + height: 100%; + background-color: rgb(var(--movim-background)); + transition: background-color 0.2s ease-in-out; + position: absolute; + top: 0; + border-radius: 3rem; + pointer-events: none; +} + +ul.list>li.comment form div:after { + background-color: rgba(255, 255, 255, 0.1); +} + +ul.list>li.comment form div, +ul.list>li.search form div { + min-height: 0; +} + +ul.list>li.main.edit form div:before, +ul.list>li.comment form div:before, +ul.list>li.search form div:before { + font-family: 'Material Symbols'; + content: "\e8b6"; + display: block; + font-size: 3rem; + color: rgba(var(--movim-font), 0.5); + position: absolute; + left: 1.5rem; + line-height: 6rem; + pointer-events: none; + z-index: 1; +} + + +ul.list>li.comment form div::before { + content: "\e261"; + color: white; + z-index: 1; +} + +ul.list>li.search.searching form div:before { + content: "\e863"; + animation: spin 2s linear infinite; +} + +ul.list>li.comment form input, +ul.list>li.search form input { + margin-right: 2rem; + margin-left: 5.5rem; + box-shadow: none; + padding: 1.75rem 0; + line-height: 2rem; + max-width: calc(100% - 7rem); +} + +ul.list>li.comment form input:focus, +ul.list>li.search form input:focus { + box-shadow: none; +} + +ul.list>li.main form div:focus-within:after, +ul.list>li.search form div:focus-within:after { + box-shadow: var(--elevation-1); + background-color: rgba(var(--movim-background), 0.8); +} + +ul.list>li.comment form div:focus-within::after { + background-color: rgba(255, 255, 255, 0.2); +} + +/* Tabs */ + +ul.tabs { + text-align: center; + border-bottom: 1px solid rgba(var(--movim-font), 0.12); + overflow: hidden; + white-space: nowrap; + height: 5.5rem; + line-height: 5.5rem; + font-size: 0; + user-select: none; +} + +ul.tabs.reversed { + border-top: 1px solid rgba(var(--movim-font), 0.12); + border-bottom: 0; + padding-bottom: 0.75rem; +} + +ul.tabs:empty { + display: none; +} + +ul.tabs.wide>li { + width: 33.33%; + float: left; +} + +ul.tabs.wide.two>li { + width: 50%; +} + +ul.tabs:hover { + overflow-x: auto; +} + +ul.tabs>li { + display: inline-block; + white-space: nowrap; + font-size: 1.75rem; + font-weight: 700; + opacity: 0.6; + height: 100%; + box-sizing: border-box; + border-radius: 1rem 1rem 0 0; +} + +ul.tabs.reversed>li { + border-radius: 0 0 1rem 1rem; +} + +ul.tabs>li>* { + padding: 0 3rem; + box-sizing: border-box; + display: inline-block; + width: 100%; +} + +ul.tabs>li>*:hover { + text-decoration: none; +} + +ul.tabs>li>*>i { + font-size: 2.5rem; +} + +ul.tabs.narrow>li { + min-width: 8rem; +} + +ul.tabs.narrow>li>* { + padding: 0 1rem; +} + +ul.tabs>li.active { + opacity: 1; + font-variation-settings: 'FILL' 1; + border-bottom-width: 2px; + border-style: solid; +} + +ul.tabs.reversed>li.active { + border-top-width: 2px; + border-bottom-width: 0; +} + +/* Bubble */ + +ul.list li>div.bubble { + position: relative; + box-sizing: border-box; + display: block; + font-size: 1.75rem; + max-width: calc(100% - 11.5rem); + flex: 0 0 auto; + margin: 0 1.5rem; + padding: 0; + min-height: 5rem; + transition: transform 0.1s, background 0.3s ease, box-shadow 0.3s ease; +} + +ul.list li>div.bubble div[dir="rtl"] { + text-align: right; +} + +ul.list li>div.bubble:not(.file), +ul.list li>div.bubble.file div.audio_player { + padding: 1rem 1rem 1rem 1.5rem; + border-radius: 0 1rem 1rem; + line-height: 2.75rem; + border-color: rgb(var(--movim-background-main)); + margin-bottom: 1.5rem; +} + +ul.list li>div.bubble.file div.audio_player { + margin-bottom: 3rem; + padding: 0 0.5rem; +} + +ul.list li>div.bubble ul.card p:not(.line):not(:last-child) { + display: block; +} + +ul.list li>div.bubble ul.card p:not(.line):last-child { + white-space: inherit; + display: block; +} + +ul.list li>div.bubble>div>p { + overflow: hidden; + display: inline; + max-width: 100%; + min-width: 20rem; + font-size: 1.75rem; + overflow-wrap: break-word; + white-space: pre-wrap; + word-break: normal; + position: relative; +} + +ul.list li>div.bubble>div>p i { + vertical-align: middle; + margin-top: -0.25rem; +} + +ul.list li>div.bubble:not(.file)>div>p:empty { + display: none; +} + +ul.list li>div.bubble:not(.file) p { + margin-right: 1rem; +} + +ul.list li>div.bubble:not(.file) p:has(i.icon) { + white-space: inherit; +} + +ul.list li>div.bubble p.retracted, +ul.list li>div.bubble p.encrypted { + opacity: 0.5; +} + +ul.list li>div.bubble p.previewable { + display: block; + min-width: 0; + margin-bottom: 0.5rem; +} + +ul.list li>div.bubble p pre { + display: inline-block; + margin-bottom: 0; +} + +ul.list li>div.bubble span.resource { + display: none; +} + +ul li:not(.oppose):not(.sequel) div.bubble div:first-child span.resource { + display: block; + line-height: 2.5rem; +} + +ul.list li>div.bubble:not(.file), +ul.list li>div.bubble.file div.audio_player { + background-color: rgb(var(--movim-background)); +} + +ul li.oppose div.bubble:not(.file), +ul li.oppose div.bubble.file div.audio_player { + background-color: rgba(var(--movim-background), 0.5); + border-color: rgba(var(--movim-background), 0.5); + border-radius: 1rem 0 1rem 1rem; + padding-right: 1.5rem; +} + +ul.list li>div.bubble p i.icon { + margin-right: 0.25rem; +} + +ul li .quote { + font-style: italic; +} + +ul.list li>div.bubble:not(.file):before { + content: ""; + position: absolute; + top: 0; + left: -1.6rem; + width: 1.6rem; + height: 1.6rem; + background-color: rgb(var(--movim-background)); + mask-image: url(../img/bubble_mask.svg); + mask-size: 100%; + transition: background-color 0.3s ease; +} + +ul.list li>div.bubble:not(.file):hover:before, +ul li.oppose div.bubble:not(.file):hover:before { + background-color: rgba(var(--movim-element-action), 0.1); +} + +ul.list li>div.bubble:not(.file):active:before, +ul li.oppose div.bubble:not(.file):active:before { + background-color: rgba(var(--movim-element-action), 0.2); +} + +ul li.oppose div.bubble:not(.file):before { + left: initial; + right: -1.6rem; + background-color: rgba(var(--movim-background), 0.5); + mask-image: url(../img/bubble_mask_oppose.svg); +} + +/* Date separator */ + +ul>li.date { + min-height: 0; + text-align: center; +} + +ul>li.date>div>p:only-child { + line-height: 2.5rem; + font-size: 1.5rem; + display: inline-block; + border-radius: 2rem; + margin-bottom: 1.5rem; + padding: 0 2rem; +} + +ul>li.date:first-of-type>div>p:only-child { + margin-top: 1rem; +} + +ul.list li.separator:not(.subheader):not(.date) { + display: block; + border-top: 0.15rem dashed 0.15rem dashed rgba(var(--movim-font), 0.5); + margin-bottom: 0.7rem; + margin-top: -0.7rem; +} + +/* Top controls list */ + +ul.list.controls { + position: absolute; + width: 100%; + top: 0; + justify-content: space-between; +} + +ul.list.controls>li { + width: 100%; + margin: 0; + box-sizing: border-box; +} + +ul.list.controls i { + text-shadow: 0 0 3rem black; +} + +/* Icon */ + +.icon.tiny { + font-size: 1.8rem; + font-weight: 700; +} + +/* Menu */ + +header ul.context_menu { + border-radius: 1rem; + overflow: hidden; + position: absolute; + top: 0; + inset-inline-end: 0; + margin: 0.5rem; + z-index: 3; + box-shadow: var(--elevation-2); + transition: transform 0.2s, opacity 0.2s; + transform: translateY(-5%); + opacity: 0; + pointer-events: none; + min-width: 25rem; +} + +header ul.list.context_menu li { + padding: 0 0.5rem; +} + +header ul.list.context_menu li.subheader { + padding: 0 2rem; +} + +header ul.context_menu.shown { + transform: translateY(0); + opacity: 1; + pointer-events: all; +} + +/* Divided */ + +ul.list li.divided:after, +*.divided:not(.spaced):not(li)>*:not(:last-child):not(.subheader):after, +*.divided.spaced>*:not(:last-child):not(.subheader):after { + position: absolute; + inset-inline-end: 0; + bottom: 0; + content: ""; + display: block; + width: 100%; + border-bottom-width: 1px; + border-bottom-style: solid; +} + +ul.list li.divided.spaced:after, +*.divided.spaced>*:not(:last-child):not(.subheader):after { + width: calc(100% - 8.5rem); +} + +ul.list li span.control.divided:before { + position: absolute; + left: 0; + content: ""; + display: block; + height: calc(100% - 2rem); + top: 1rem; + border-left-width: 1px; + border-left-style: solid; +} + +ul li img.preview { + max-width: 100%; + margin: 1rem 0; +} + +/* Common between Rooms and Space Rooms */ + +ul.rooms.list>li:has(ul) { + padding-left: 0; + padding-right: 0; +} + +ul.rooms.list>li>ul:has(li:nth-child(2)) { + padding-bottom: 1rem; +} + +ul.rooms.list>li>ul>li:not(:first-child)>span.icon, +ul.rooms.list>li>ul>li:not(:first-child)>div>p { + line-height: 4rem; + height: 4rem; +} + +ul.rooms.list>li>ul>li:not(:first-child)>span.icon:first-child { + line-height: 4.5rem; + margin-right: 0; + margin-left: 2rem; +} + +ul.rooms.list>li>ul>li:not(:first-child)>span.icon:nth-child(2) { + margin: 0; + transform: scale(0.75); +} + +ul.rooms.list>li>ul>li:not(:first-child)>div>p>span.info { + font-size: 2rem; + margin-left: 1.5rem; +} + +ul.rooms.list>li>ul>li:not(:first-child)>div>p>span.info.live { + background-color: var(--p-red); + color: white; + padding: 0 1rem; + border-radius: 1rem; + box-shadow: var(--elevation-4); + line-height: 3.5rem; + margin-top: 0.25rem; + font-variation-settings: 'FILL' 1; +} \ No newline at end of file diff --git a/frontend/theme/css/menu.css b/frontend/theme/css/menu.css new file mode 100644 index 0000000..53dd972 --- /dev/null +++ b/frontend/theme/css/menu.css @@ -0,0 +1,90 @@ +/* Menu */ + +body>nav>ul:not(:first-child) li p:first-of-type { + height: 6rem; + line-height: 6rem; +} + +body>nav>ul.list { + flex-shrink: 0; +} + +body>nav>ul.list li { + padding-left: 0.5rem; +} + +ul.oppose { + margin-top: auto; +} + +/* Navigation */ + +ul.navigation li>span.primary i { + transition: opacity 0.15s ease; + opacity: 0.5; +} + +ul.navigation li.active>span.primary i { + color: rgba(var(--movim-font), 0.8); +} + +ul.navigation li.active>span.primary i, +ul.navigation li:not(.active):hover>span.primary>i { + opacity: 1; +} + +ul.navigation li.active>span.primary i { + font-variation-settings: 'FILL' 1; +} + +ul.list.active.navigation li:hover:not(.subheader), +ul.list.active.navigation li.active:not(.subheader) { + background-color: transparent; +} + +ul.list.navigation li { + padding-right: 0; +} + +ul.list.navigation li .primary { + margin: 0 0.25rem; +} + +ul.list.active.navigation li:hover:not(.subheader):before, +ul.list.active.navigation li.active:not(.subheader):before { + display: block; + content: ''; + width: 5.5rem; + height: calc(100% - 1rem); + background-color: rgba(var(--movim-element-action), 0.1); + position: absolute; + top: 0.5rem; + left: 0.5rem; + border-radius: 1.5rem; + z-index: -1; + transition: background-color 0.15s ease; +} + +ul.list.active.navigation li:active:not(.subheader):before, +ul.list.active.navigation li.active:active:not(.subheader):before { + background-color: rgba(var(--movim-element-action), 0.2); +} + +ul.navigation li { + transform: translateY(0); +} + +ul#bottomnavigation li:active { + transform: translateY(1px); +} + +@media screen and (min-width: 1025px) and (max-width: 1680px) { + ul.navigation li:active { + transform: translateY(1px); + } + + ul.list.active.navigation li:hover:not(.subheader):before, + ul.list.active.navigation li.active:not(.subheader):before { + width: calc(100% - 1rem); + } +} \ No newline at end of file diff --git a/frontend/theme/css/notification.css b/frontend/theme/css/notification.css new file mode 100644 index 0000000..e91f65a --- /dev/null +++ b/frontend/theme/css/notification.css @@ -0,0 +1,99 @@ +/* Snackbar - Toast */ + +.snackbar, +.toast { + box-shadow: var(--elevation-3); + position: fixed; + z-index: 4; + min-height: 6rem; + width: 48rem; + height: auto; + color: white; + box-sizing: border-box; + pointer-events: none; + transition: opacity 0.2s ease, transform 0.4s ease, box-shadow .3s cubic-bezier(.4, 0, .2, 1); + background-color: rgb(var(--movim-gray)); + transform: translateY(0); +} + +.snackbar ul.active { + pointer-events: auto; +} + +.snackbar:active { + transform: translateY(1px); + box-shadow: var(--elevation-2); +} + +.snackbar:hover:not(:active) { + box-shadow: var(--elevation-4); +} + +.toast { + padding: 2rem 3rem; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + max-height: 10rem; +} + +.snackbar { + right: 1rem; + border-radius: 2rem; + opacity: 1; + top: 1rem; +} + +.toast { + left: calc(50% - 24rem); + line-height: 2.5rem; + border-radius: 1rem; + bottom: 3rem; +} + +.snackbar:empty { + opacity: 0; + transform: translateY(-100%); +} + +.toast:empty { + opacity: 0; + transform: translateY(100%); +} + +.snackbar#status_websocket { + max-height: initial; +} + +.snackbar#status_websocket:not(.hide)~nav, +.snackbar#status_websocket:not(.hide)~main { + opacity: 0.05; + pointer-events: none; +} + +.snackbar#status_websocket:not(.hide)~div.dialog, +.snackbar#status_websocket:not(.hide)~div.drawer { + opacity: 0; +} + +.snackbar#status_websocket:not(.connect) span.primary:nth-child(1), +.snackbar#status_websocket.connect span.primary:nth-child(2), +.snackbar#status_websocket:not(.connect) p:nth-child(3), +.snackbar#status_websocket.connect p:nth-child(4) { + display: none; +} + +@media screen and (max-width: 1024px) { + .toast { + bottom: 7.5rem; + } +} + +@media screen and (max-width: 576px) { + + .snackbar, + .toast { + left: 1rem; + width: calc(100% - 2rem); + } +} \ No newline at end of file diff --git a/frontend/theme/css/scrollbar.css b/frontend/theme/css/scrollbar.css new file mode 100644 index 0000000..a67b129 --- /dev/null +++ b/frontend/theme/css/scrollbar.css @@ -0,0 +1,28 @@ +/* Webkit specific CSS for the scrollbars */ + +::-webkit-scrollbar { + height: 5px; + width: 8px; +} + +textarea::-webkit-scrollbar { + width: 0; +} + +::-webkit-scrollbar-button { + display: none; +} + +::-webkit-scrollbar-thumb { + background-color: rgba(var(--movim-font), 0.1); + border-radius: 5px; +} + +::-webkit-scrollbar-thumb:hover { + background-color: rgba(var(--movim-font), 0.2); +} + +::-webkit-scrollbar-track { + background-color: transparent; + border-radius: 5px; +} diff --git a/frontend/theme/css/style.css b/frontend/theme/css/style.css new file mode 100644 index 0000000..e55c6f0 --- /dev/null +++ b/frontend/theme/css/style.css @@ -0,0 +1,692 @@ +* { + margin: 0; + padding: 0; + border: 0; + font: inherit; + vertical-align: baseline; + list-style-type: none; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +:focus { + outline: 0; +} + +html { + font-size: 51%; +} + +body { + background-color: black; + overflow: hidden; + position: absolute; + height: 100%; + width: 100%; +} + +.clear { + clear: both; +} + +body>* { + display: block; + height: 100%; + box-sizing: border-box; + position: relative; + overflow: hidden; + font-family: 'Roboto', sans-serif; +} + +body>script { + display: none; +} + +a, +a:link, +a:visited { + text-decoration: none; +} + +a:focus-visible:not(:hover) { + border-radius: 2px; + outline: 3px solid var(--movim-accent); + outline-offset: -2px; +} + +a:link:hover, +a:visited:hover { + text-decoration: underline; +} + +/* Skip Main */ +#skip_main { + z-index: 1; + display: block; + position: fixed; + top: 0.5rem; + left: 0.5rem; +} + +#skip_main:focus { + transform: translateY(0); +} + +/* Navigation bar */ + +body>nav { + display: flex; + flex-flow: column nowrap; + width: 6.5rem; + position: absolute; + overflow-y: auto; + user-select: none; + padding: 1rem 0; +} + +body>nav hr { + margin: 0.5rem 0; +} + +body>div.drawer:not(:empty)~main, +body>div.drawer:not(:empty)~nav, +body>div.drawer:not(:empty)~#visio, +body>div.dialog:not(:empty)~main, +body>div.dialog:not(:empty)~nav, +body>div.dialog:not(:empty)~#visio, +body>nav.active~main { + opacity: 0.05; + pointer-events: none; +} + +body>nav.active~main { + transform: translateX(6rem); +} + +body>nav li { + /* Little hack for the navbar */ + overflow: hidden; +} + +@media screen and (max-width: 1024px) { + body>nav { + padding: 0; + padding-bottom: 7rem; + } +} + +@media screen and (min-width: 1680px) { + + body>nav, + body>nav:hover { + width: 15%; + } + + body>nav~main, + body>nav:hover~main { + width: 85%; + } +} + +body>nav.active:before { + display: none; +} + +body:before { + position: absolute; + display: block; + background: linear-gradient(90deg, var(--movim-accent) 0, transparent 50%, var(--movim-accent) 100%); + background-size: 200rem; + width: 0; + height: 0.25rem; + content: ''; + opacity: 0; + top: 0; + left: 0; + z-index: 3; +} + +body.loading:before { + transition: width 4s ease-in-out, opacity 0.2s ease-in-out; + animation: loadingblink 3s linear infinite; + width: 100%; + opacity: 1; +} + +body.finished:before { + transition: width 1s cubic-bezier(.68, 0, 0, 1), opacity 1s ease-in-out; + width: 100%; + opacity: 0; +} + +@keyframes loadingblink { + from { + background-position: 0 0; + } + + to { + background-position: 200rem 0; + } +} + +/* Main */ + +main { + position: absolute; + inset-inline-end: 0; + top: 0; + transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out; + overflow-y: auto; + overflow-x: hidden; + width: 100%; + + display: flex; + justify-content: center; + flex-direction: row-reverse; +} + +@media print { + main { + display: block; + height: auto; + } +} + +nav~main { + width: calc(100% - 6.5rem); + border-radius: 1rem 0 0 1rem; +} + +main>div { + width: 92rem; + max-width: 100%; +} + +main>div>* { + max-width: 92rem; + margin: 0 auto; +} + +main>div.large { + max-width: 130rem; + width: 100%; +} + +main>div.large>* { + max-width: 100%; +} + +main>section#sidebar { + width: 45rem; +} + +main>section#sidebar+div { + width: 85rem; + padding-inline-end: 1rem; + box-sizing: border-box; +} + +/* Two blocks */ +main>div:first-child:nth-last-child(2) { + width: 75%; +} + +main>div:first-child:nth-last-child(2)+div { + width: 25%; + overflow-y: auto; + overflow-x: hidden; + box-shadow: var(--elevation-2); + background-color: rgb(var(--movim-background)); +} + +@media screen and (max-width: 1024px) { + + nav.on_desktop~main, + nav~main.enabled { + width: 100%; + } + + main.slide>div:first-child:nth-last-child(2), + main.slide>div:first-child:nth-last-child(2)+div { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + } + + main.slide>div:first-child:nth-last-child(2)+div { + max-width: calc(100vw - 6.5rem); + } + + main.slide>div:first-child:nth-last-child(2) { + z-index: 1; + box-shadow: var(--elevation-4); + transform: translateX(100%); + } + + main.slide>div:first-child:nth-last-child(2).moving { + transition: transform .45s var(--decelerate-easing); + } + + main.slide.enabled>div:first-child:nth-last-child(2) { + transform: translateX(0); + } + + main.slide.enabled>div:first-child:nth-last-child(2)+div { + margin-left: 6.5rem; + } + + main>section#sidebar+div { + padding-inline-end: 0; + } + + main>section#sidebar { + display: none; + } +} + +/* Hr */ + +hr:not(.clear) { + border-bottom: 1px solid; + width: 100%; +} + +hr.thick { + margin: 1rem 0; +} + +/* Spin */ + +.spin:empty { + background-image: url(../img/cloud_spinner.svg); + background-repeat: no-repeat; + background-position: center 33%; + background-size: 9rem; + min-height: 30rem; +} + +.spin:not(.list) { + min-height: 80%; +} + +/* Background loading */ +.shimmer { + background: linear-gradient(to right, rgba(var(--movim-font), 0), rgba(var(--movim-font), 0.05), rgba(var(--movim-font), 0)); + background-size: 100% 100%; + background-repeat: no-repeat; + animation-duration: 2s; + animation-fill-mode: forwards; + animation-iteration-count: infinite; + animation-name: placeHolderShimmer; + animation-timing-function: linear; +} + +@keyframes placeHolderShimmer { + 0% { + background-position: -800px 0 + } + + 100% { + background-position: 800px 0 + } +} + +/* Avatar */ + +img.avatar, +span.avatar { + margin: 0 auto; + border-radius: 1rem; + display: block; + max-width: 100%; + background-color: rgb(var(--movim-background-main)); + animation: fadeIn 0.2s; + line-height: 100%; +} + +img.avatar { + box-shadow: var(--elevation-1); + max-width: 210px; +} + +span.avatar.icon { + height: 25rem; + width: 25rem; + line-height: 25rem; +} + +img.avatar:not([src=""])+.placeholder { + display: none; +} + +/* Placeholder */ + +.placeholder { + text-align: center; + font-size: 1.2em; + max-width: 55rem; + margin: 0 auto; + padding: 4rem; + box-sizing: border-box; +} + +.placeholder>i:first-child { + font-size: 14rem; + opacity: 0.3; +} + +.placeholder h1 { + opacity: 0.6; + font-size: 2.5rem; + line-height: 3rem; + margin-bottom: 1rem; +} + +.placeholder h4 { + opacity: 0.7; +} + +.placeholder p { + text-align: center; +} + +.placeholder ul.list p { + text-align: left; +} + +/* Display/hide */ + +.on_mobile { + display: none !important; +} + +.on_mobile_after:after { + display: none !important; +} + +@media screen and (max-width: 1024px) { + + .on_mobile, + .on_mobile_after:after { + display: revert !important; + } + + .on_mobile.material-symbols { + display: inline !important; + } + + .on_desktop { + display: none !important; + } +} + +/* Tag */ +.tag { + font-size: 1.5rem; + line-height: 1.5rem; + padding: 0.2rem 0.5rem; + border-radius: 0.25rem; +} + +/* Disabled */ + +.faded>* { + -webkit-filter: grayscale(100%); + filter: grayscale(100%); + opacity: 0.5; +} + +.recessed { + opacity: 0.9; +} + +.disabled { + opacity: 0.5; + pointer-events: none; +} + +/* Fingerprint */ +.fingerprint { + font-family: monospace; + max-width: 44rem; + display: block; + line-height: 3rem; +} + +.fingerprint.self { + font-weight: bold; +} + +/* Spinner */ + +div#spinner { + position: relative; + overflow: visible; + text-align: center; + margin: 50% 0; +} + +.show { + display: inherit; +} + +ul.list li.hide, +.hide, +.button.hide { + display: none; +} + +/* Transparent images background */ +img.transparent { + background-color: #eee; + background-image: linear-gradient(45deg, #CCC 25%, transparent 25%, transparent 75%, #CCC 75%, #CCC), + linear-gradient(45deg, #CCC 25%, transparent 25%, transparent 75%, #CCC 75%, #CCC); + background-size: 30px 30px; + background-position: 0 0, 15px 15px; +} + +/* Audio player */ + +.audio_player { + display: flex; + align-items: center; + padding: 0.5rem 1rem; + margin-bottom: 0.5rem; +} + +.audio_player .button { + padding: 0; +} + +div.bubble .audio_player p { + min-width: 10rem; + text-align: center; + margin: 0 1rem; +} + +.audio_player input[type=range] { + margin: 0 1rem; +} + +@media screen and (max-width: 1024px) { + .audio_player input[type=range] { + width: 15rem; + } +} + +/* Animations */ + +@keyframes slideUp { + 0% { + opacity: 0; + transform: translateY(100%); + } + + 100% { + opacity: 1; + transform: translateY(0); + } +} + +@keyframes fadeIn { + from { + opacity: 0; + } + + to { + opacity: 1; + } +} + +@keyframes blink { + + 0%, + 100% { + opacity: 0; + } + + 25%, + 75% { + opacity: 1; + } +} + +@keyframes fadeText { + + 0%, + 100% { + color: transparent; + } + + 25%, + 75% { + color: inherit; + } + + /* Enforce white for now as inherit is not applied correctly */ +} + +@keyframes spin { + 100% { + transform: rotate(360deg); + } +} + +@keyframes shake { + 0% { + transform: rotate(0deg); + } + + 10% { + transform: rotate(-5deg); + } + + 20% { + transform: rotate(5deg); + } + + 30% { + transform: rotate(-10deg); + } + + 40% { + transform: rotate(10deg); + } + + 50% { + transform: rotate(-15deg); + } + + 60% { + transform: rotate(15deg); + } + + 70% { + transform: rotate(-20deg); + } + + 80% { + transform: rotate(20deg); + } + + 90% { + transform: rotate(0); + } + + 100% { + transform: rotate(0); + } +} + +@keyframes zoom { + from { + transform: scale(0.9); + opacity: 0; + } + + to { + transform: scale(1); + opacity: 1; + } +} + +@keyframes zoomOut { + from { + transform: scale(1.1); + opacity: 0; + } + + to { + transform: scale(1); + opacity: 1; + } +} + +@keyframes loadingOpacity { + from { + opacity: 0.2; + } + + to { + opacity: 1; + } +} + +@keyframes ripple { + from { + opacity: 0.5; + transform: scale(0.1); + } + + to { + opacity: 0; + transform: scale(1); + } +} + +@keyframes shine { + to { + background-position-x: -200%; + } +} + +@keyframes backgroundBlink { + + 0%, + 50%, + 100% { + opacity: 1; + } + + 25%, + 75% { + opacity: 0.5; + } +} + +body { + --standard-easing: cubic-bezier(0.4, 0.0, 0.2, 1); + --accelerate-easing: cubic-bezier(0.3, 0.0, 0.8, 0.15); + --decelerate-easing: cubic-bezier(0.05, 0.7, 0.1, 1.0); +} \ No newline at end of file diff --git a/frontend/theme/css/title.css b/frontend/theme/css/title.css new file mode 100644 index 0000000..a4201e9 --- /dev/null +++ b/frontend/theme/css/title.css @@ -0,0 +1,83 @@ +/* Titles */ + +h1 { /* Display 1 */ + font-size: 4.25rem; + line-height: 7rem; + font-weight: 400; +} + +article h1, +h2 { /* Headline */ + font-size: 3rem; + line-height: 4rem; + padding: 1.5rem 0; + font-weight: 400; +} + +article h2, +h3 { /* Title */ + font-size: 2.5rem; + font-weight: 400; + line-height: 3rem; + padding: 1rem 0; +} + +article h3, +h4, input, textarea, select { /* Headline */ + font-size: 2rem; + line-height: 3rem; + font-weight: 500; +} + +input, textarea, select { + font-weight: 400; +} + +article h4 { + font-weight: 700; +} + +h4 { + font-weight: 400; +} + +h4.gray { + color: rgba(var(--movim-font), 0.54); +} + +small { + color: rgba(var(--movim-font), 0.7); + font-size: 0.75em; + font-weight: normal; +} + +h3 + small { + font-size: 1.75rem; +} + +.snackbar, /* Body 2 */ +.toast { + font-size: 1.75rem; + font-weight: 500; +} + +label, span.info { /* Caption */ + font-size: 1.5rem; +} + +span.info i:not(:last-child) { + margin-right: 0.5rem; +} + +label, span.info b { /* Caption */ + font-weight: 700; +} + +h1.line, +h2.line, +h3.line, +h4.line { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} diff --git a/frontend/theme/css/typo.css b/frontend/theme/css/typo.css new file mode 100644 index 0000000..c130884 --- /dev/null +++ b/frontend/theme/css/typo.css @@ -0,0 +1,169 @@ +/* Typo */ + +article section ul li, /* Body 1 */ +ol li, +p, +dl dt, +dl dd { + font-size: 2rem; + font-weight: 400; +} + +article section p { + margin-bottom: 0.75rem; + max-height: initial; + color: inherit; + line-height: inherit; +} + +ul:not(.list):not(.navigation):not(.tabs):not(.grid) > li, +ol:not(.list):not(.navigation):not(.tabs):not(.grid) > li { + font-size: 2rem; + line-height: 3rem; + padding-left: 2rem; + list-style-position: inside; + min-height: 3rem; + margin: 1rem auto; +} + +ul:not(.list):not(.tabs):not(.navigation):not(.grid) > li > * { + display: inline; +} + +ul:not(.list):not(.tabs):not(.navigation):not(.grid):not(.actions) > li { + list-style-type: disc; +} + +ul:not(.list):not(.tabs):not(.grid) > li > ul:not(.list):not(.tabs):not(.grid) > li { + list-style-type: circle; +} + +ul:not(.list):not(.tabs):not(.grid) > li > ul:not(.list):not(.tabs):not(.grid) > li > ul:not(.list):not(.tabs):not(.grid) > li { + list-style-type: square; +} + +ol:not(.list):not(.tabs):not(.grid) > li { + list-style-type: decimal; +} + +strong, +b { + font-weight: 700; +} + +em { + font-style: italic; +} + +p img.inline { + display: inline-block; + height: 3rem; + max-width: 3.5rem; + margin-bottom: -0.7rem; + user-select: none; +} + +li p.code, +code, +pre, +xmp { + font-family: monospace; +} + +code, +pre, +xmp { + border-radius: 0.5rem; + color: white; + padding: 0.5rem 1rem; + font-size: 1.6rem; + background-color: rgb(var(--movim-gray)); + overflow-wrap:break-word; + direction: ltr; + overflow-x: auto; +} + +pre, +xmp { + white-space:pre; +} + +code.block { + display: block; + margin-bottom: -2.5rem; +} + +pre code { + background-color: transparent; + padding: 0; + color: white; +} + +pre::before, +xmp::before { + content: attr(class); + display: block; + float: right; + background-color: rgba(var(--movim-gray), 0.5); + padding: 0 1rem; +} + +pre:not([class])::before, +xmp:not([class])::before { + content: none; +} + +q { + quotes: "“" "”" "‘" "’"; +} +q:before { + content: open-quote; +} +q:after { + content: close-quote; +} + +cite, +blockquote { + padding-left: 1.5rem; + border-left: 0.5rem solid rgba(var(--movim-font), 0.2); + font-style: italic; + margin: 1rem 0; +} + +/* Definition list */ + +dl dt, +dl dd { + box-sizing: border-box; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + padding: 0.5rem 1rem; + display: inline-block; + vertical-align: middle; + line-height: 2.5rem; +} + +dl di { + border-bottom: 1px solid rgba(var(--movim-font), 0.12); + display: block; + padding: 1em 0; +} + +dl dt { + text-align: right; + font-weight: bold; + width: 25%; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +dl dd { + text-align: left; + width: 74%; +} + +*[dir="rtl"] dl dd { + text-align: right; +} diff --git a/frontend/theme/favicon.xcf b/frontend/theme/favicon.xcf new file mode 100644 index 0000000..6c4c477 Binary files /dev/null and b/frontend/theme/favicon.xcf differ diff --git a/frontend/theme/fonts/MaterialSymbols/.editorconfig b/frontend/theme/fonts/MaterialSymbols/.editorconfig new file mode 100644 index 0000000..b2734a6 --- /dev/null +++ b/frontend/theme/fonts/MaterialSymbols/.editorconfig @@ -0,0 +1,2 @@ +# Disable for this directory +root = true diff --git a/frontend/theme/fonts/MaterialSymbols/LICENSE b/frontend/theme/fonts/MaterialSymbols/LICENSE new file mode 100644 index 0000000..7a4a3ea --- /dev/null +++ b/frontend/theme/fonts/MaterialSymbols/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/frontend/theme/fonts/MaterialSymbols/MaterialSymbols-Outlined.woff2 b/frontend/theme/fonts/MaterialSymbols/MaterialSymbols-Outlined.woff2 new file mode 100644 index 0000000..3016143 Binary files /dev/null and b/frontend/theme/fonts/MaterialSymbols/MaterialSymbols-Outlined.woff2 differ diff --git a/frontend/theme/fonts/Roboto/.editorconfig b/frontend/theme/fonts/Roboto/.editorconfig new file mode 100644 index 0000000..b2734a6 --- /dev/null +++ b/frontend/theme/fonts/Roboto/.editorconfig @@ -0,0 +1,2 @@ +# Disable for this directory +root = true diff --git a/frontend/theme/fonts/Roboto/0-LICENCE b/frontend/theme/fonts/Roboto/0-LICENCE new file mode 100644 index 0000000..989e2c5 --- /dev/null +++ b/frontend/theme/fonts/Roboto/0-LICENCE @@ -0,0 +1,201 @@ +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/frontend/theme/fonts/Roboto/1-README b/frontend/theme/fonts/Roboto/1-README new file mode 100644 index 0000000..afd7108 --- /dev/null +++ b/frontend/theme/fonts/Roboto/1-README @@ -0,0 +1,6 @@ +The original font is called Open Sans, which “is a trademark of Google +and may be registered in certain jurisdictions”. + +The font itself is published under the terms in the 0-LICENCE file +in this directory. The WOFF2 files you see here are the Object form +of the (to the best of our knowledge) unmodified Work. diff --git a/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2 b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2 new file mode 100644 index 0000000..f1bfb05 Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fBBc4.woff2 b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fBBc4.woff2 new file mode 100644 index 0000000..ce795fa Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fBBc4.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2 b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2 new file mode 100644 index 0000000..ccd9633 Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2 b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2 new file mode 100644 index 0000000..67e5402 Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2 b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2 new file mode 100644 index 0000000..e6f9427 Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2 b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2 new file mode 100644 index 0000000..7ef9a92 Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2 b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2 new file mode 100644 index 0000000..01c0cc8 Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2 b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2 new file mode 100644 index 0000000..88ef721 Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fBBc4.woff2 b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fBBc4.woff2 new file mode 100644 index 0000000..46445bf Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fBBc4.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2 b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2 new file mode 100644 index 0000000..f1e82f1 Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2 b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2 new file mode 100644 index 0000000..6f8c2a7 Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2 b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2 new file mode 100644 index 0000000..082312b Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2 b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2 new file mode 100644 index 0000000..f113c08 Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2 b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2 new file mode 100644 index 0000000..99c38c0 Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2 b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2 new file mode 100644 index 0000000..302573d Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 new file mode 100644 index 0000000..01d05fa Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2 b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2 new file mode 100644 index 0000000..c60e39e Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2 b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2 new file mode 100644 index 0000000..cffab73 Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2 b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2 new file mode 100644 index 0000000..c22fa9b Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2 b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2 new file mode 100644 index 0000000..9ae3035 Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2 b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2 new file mode 100644 index 0000000..6e0da69 Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 b/frontend/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 new file mode 100644 index 0000000..fa0d664 Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu4mxK.woff2 b/frontend/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu4mxK.woff2 new file mode 100644 index 0000000..ebe1795 Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu4mxK.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 b/frontend/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 new file mode 100644 index 0000000..f1b8ed7 Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu72xKOzY.woff2 b/frontend/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu72xKOzY.woff2 new file mode 100644 index 0000000..c6d7d06 Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu72xKOzY.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 b/frontend/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 new file mode 100644 index 0000000..e2f7d27 Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 b/frontend/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 new file mode 100644 index 0000000..d5ca3ce Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 differ diff --git a/frontend/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 b/frontend/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 new file mode 100644 index 0000000..84fcce1 Binary files /dev/null and b/frontend/theme/fonts/Roboto/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 differ diff --git a/frontend/theme/fonts/Roboto/list.txt b/frontend/theme/fonts/Roboto/list.txt new file mode 100644 index 0000000..d0dcd77 --- /dev/null +++ b/frontend/theme/fonts/Roboto/list.txt @@ -0,0 +1,28 @@ +https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmSU5fBBc4.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOmCnqEu92Fr1Mu72xKOzY.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOmCnqEu92Fr1Mu4mxK.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmEU9fBBc4.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2 +https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 diff --git a/frontend/theme/img/app/1024.png b/frontend/theme/img/app/1024.png new file mode 100644 index 0000000..535539b Binary files /dev/null and b/frontend/theme/img/app/1024.png differ diff --git a/frontend/theme/img/app/1024_square.png b/frontend/theme/img/app/1024_square.png new file mode 100644 index 0000000..9f2df4b Binary files /dev/null and b/frontend/theme/img/app/1024_square.png differ diff --git a/frontend/theme/img/app/128.png b/frontend/theme/img/app/128.png new file mode 100644 index 0000000..9b457d7 Binary files /dev/null and b/frontend/theme/img/app/128.png differ diff --git a/frontend/theme/img/app/144.png b/frontend/theme/img/app/144.png new file mode 100644 index 0000000..45ad9ef Binary files /dev/null and b/frontend/theme/img/app/144.png differ diff --git a/frontend/theme/img/app/16.png b/frontend/theme/img/app/16.png new file mode 100644 index 0000000..32d933b Binary files /dev/null and b/frontend/theme/img/app/16.png differ diff --git a/frontend/theme/img/app/192.png b/frontend/theme/img/app/192.png new file mode 100644 index 0000000..0076c18 Binary files /dev/null and b/frontend/theme/img/app/192.png differ diff --git a/frontend/theme/img/app/192_square.png b/frontend/theme/img/app/192_square.png new file mode 100644 index 0000000..fe921a1 Binary files /dev/null and b/frontend/theme/img/app/192_square.png differ diff --git a/frontend/theme/img/app/48.png b/frontend/theme/img/app/48.png new file mode 100644 index 0000000..09c2043 Binary files /dev/null and b/frontend/theme/img/app/48.png differ diff --git a/frontend/theme/img/app/512.png b/frontend/theme/img/app/512.png new file mode 100644 index 0000000..e75ba37 Binary files /dev/null and b/frontend/theme/img/app/512.png differ diff --git a/frontend/theme/img/app/512_square.png b/frontend/theme/img/app/512_square.png new file mode 100644 index 0000000..758d462 Binary files /dev/null and b/frontend/theme/img/app/512_square.png differ diff --git a/frontend/theme/img/app/72.png b/frontend/theme/img/app/72.png new file mode 100644 index 0000000..bfa24b7 Binary files /dev/null and b/frontend/theme/img/app/72.png differ diff --git a/frontend/theme/img/app/96.png b/frontend/theme/img/app/96.png new file mode 100644 index 0000000..01d8e42 Binary files /dev/null and b/frontend/theme/img/app/96.png differ diff --git a/frontend/theme/img/app/badge.png b/frontend/theme/img/app/badge.png new file mode 100644 index 0000000..cf99f2f Binary files /dev/null and b/frontend/theme/img/app/badge.png differ diff --git a/frontend/theme/img/app/logo.svg b/frontend/theme/img/app/logo.svg new file mode 100644 index 0000000..0f60991 --- /dev/null +++ b/frontend/theme/img/app/logo.svg @@ -0,0 +1,48 @@ + + + + + + + + + + diff --git a/frontend/theme/img/app/vectorial.svg b/frontend/theme/img/app/vectorial.svg new file mode 100644 index 0000000..95cc830 --- /dev/null +++ b/frontend/theme/img/app/vectorial.svg @@ -0,0 +1,1196 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/theme/img/app/vectorial_square.svg b/frontend/theme/img/app/vectorial_square.svg new file mode 100644 index 0000000..2b26d65 --- /dev/null +++ b/frontend/theme/img/app/vectorial_square.svg @@ -0,0 +1,1196 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/theme/img/avatar_mask.svg b/frontend/theme/img/avatar_mask.svg new file mode 100644 index 0000000..41751f8 --- /dev/null +++ b/frontend/theme/img/avatar_mask.svg @@ -0,0 +1,65 @@ + + + + diff --git a/frontend/theme/img/avatar_mask_away.svg b/frontend/theme/img/avatar_mask_away.svg new file mode 100644 index 0000000..df8b90c --- /dev/null +++ b/frontend/theme/img/avatar_mask_away.svg @@ -0,0 +1,62 @@ + + + + diff --git a/frontend/theme/img/avatar_mask_away_stories.svg b/frontend/theme/img/avatar_mask_away_stories.svg new file mode 100644 index 0000000..3bdb5df --- /dev/null +++ b/frontend/theme/img/avatar_mask_away_stories.svg @@ -0,0 +1,70 @@ + + + + diff --git a/frontend/theme/img/avatar_mask_dnd.svg b/frontend/theme/img/avatar_mask_dnd.svg new file mode 100644 index 0000000..696b346 --- /dev/null +++ b/frontend/theme/img/avatar_mask_dnd.svg @@ -0,0 +1,62 @@ + + + + diff --git a/frontend/theme/img/avatar_mask_dnd_stories.svg b/frontend/theme/img/avatar_mask_dnd_stories.svg new file mode 100644 index 0000000..8104fe5 --- /dev/null +++ b/frontend/theme/img/avatar_mask_dnd_stories.svg @@ -0,0 +1,70 @@ + + + + diff --git a/frontend/theme/img/avatar_mask_location.svg b/frontend/theme/img/avatar_mask_location.svg new file mode 100644 index 0000000..0d2c854 --- /dev/null +++ b/frontend/theme/img/avatar_mask_location.svg @@ -0,0 +1,68 @@ + + + + diff --git a/frontend/theme/img/avatar_mask_location_stories.svg b/frontend/theme/img/avatar_mask_location_stories.svg new file mode 100644 index 0000000..48195a0 --- /dev/null +++ b/frontend/theme/img/avatar_mask_location_stories.svg @@ -0,0 +1,70 @@ + + + + diff --git a/frontend/theme/img/avatar_mask_notifs_stories.svg b/frontend/theme/img/avatar_mask_notifs_stories.svg new file mode 100644 index 0000000..b3700fa --- /dev/null +++ b/frontend/theme/img/avatar_mask_notifs_stories.svg @@ -0,0 +1,91 @@ + + + + diff --git a/frontend/theme/img/avatar_mask_stories.svg b/frontend/theme/img/avatar_mask_stories.svg new file mode 100644 index 0000000..5faddf6 --- /dev/null +++ b/frontend/theme/img/avatar_mask_stories.svg @@ -0,0 +1,71 @@ + + + + diff --git a/frontend/theme/img/avatar_mask_stories_online.svg b/frontend/theme/img/avatar_mask_stories_online.svg new file mode 100644 index 0000000..d4c11d7 --- /dev/null +++ b/frontend/theme/img/avatar_mask_stories_online.svg @@ -0,0 +1,89 @@ + + + + diff --git a/frontend/theme/img/avatar_mask_xa.svg b/frontend/theme/img/avatar_mask_xa.svg new file mode 100644 index 0000000..2795330 --- /dev/null +++ b/frontend/theme/img/avatar_mask_xa.svg @@ -0,0 +1,62 @@ + + + + diff --git a/frontend/theme/img/avatar_mask_xa_stories.svg b/frontend/theme/img/avatar_mask_xa_stories.svg new file mode 100644 index 0000000..c953d70 --- /dev/null +++ b/frontend/theme/img/avatar_mask_xa_stories.svg @@ -0,0 +1,70 @@ + + + + diff --git a/frontend/theme/img/broken_image.svg b/frontend/theme/img/broken_image.svg new file mode 100644 index 0000000..90249cd --- /dev/null +++ b/frontend/theme/img/broken_image.svg @@ -0,0 +1,39 @@ + + + + + + diff --git a/frontend/theme/img/broken_image_filled.svg b/frontend/theme/img/broken_image_filled.svg new file mode 100644 index 0000000..8692c4c --- /dev/null +++ b/frontend/theme/img/broken_image_filled.svg @@ -0,0 +1,46 @@ + + + + + + + diff --git a/frontend/theme/img/bubble_mask.svg b/frontend/theme/img/bubble_mask.svg new file mode 100644 index 0000000..cc4e90f --- /dev/null +++ b/frontend/theme/img/bubble_mask.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + diff --git a/frontend/theme/img/bubble_mask_oppose.svg b/frontend/theme/img/bubble_mask_oppose.svg new file mode 100644 index 0000000..db1c13c --- /dev/null +++ b/frontend/theme/img/bubble_mask_oppose.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + diff --git a/frontend/theme/img/cloud_spinner.svg b/frontend/theme/img/cloud_spinner.svg new file mode 100644 index 0000000..13bbfde --- /dev/null +++ b/frontend/theme/img/cloud_spinner.svg @@ -0,0 +1,42 @@ + + + + + + + + + + + diff --git a/frontend/theme/img/emojis/svg/1f004.svg b/frontend/theme/img/emojis/svg/1f004.svg new file mode 100644 index 0000000..f4fa584 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f004.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f0cf.svg b/frontend/theme/img/emojis/svg/1f0cf.svg new file mode 100644 index 0000000..0d05191 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f0cf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f170.svg b/frontend/theme/img/emojis/svg/1f170.svg new file mode 100644 index 0000000..5555b84 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f170.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f171.svg b/frontend/theme/img/emojis/svg/1f171.svg new file mode 100644 index 0000000..f77618a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f171.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f17e.svg b/frontend/theme/img/emojis/svg/1f17e.svg new file mode 100644 index 0000000..62f2f6d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f17e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f17f.svg b/frontend/theme/img/emojis/svg/1f17f.svg new file mode 100644 index 0000000..8a494b8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f17f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f18e.svg b/frontend/theme/img/emojis/svg/1f18e.svg new file mode 100644 index 0000000..d19a2a4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f18e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f191.svg b/frontend/theme/img/emojis/svg/1f191.svg new file mode 100644 index 0000000..eaebb55 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f191.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f192.svg b/frontend/theme/img/emojis/svg/1f192.svg new file mode 100644 index 0000000..3207dcf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f192.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f193.svg b/frontend/theme/img/emojis/svg/1f193.svg new file mode 100644 index 0000000..2dc2d6a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f193.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f194.svg b/frontend/theme/img/emojis/svg/1f194.svg new file mode 100644 index 0000000..5796259 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f194.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f195.svg b/frontend/theme/img/emojis/svg/1f195.svg new file mode 100644 index 0000000..dcf5702 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f195.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f196.svg b/frontend/theme/img/emojis/svg/1f196.svg new file mode 100644 index 0000000..ccd7c36 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f196.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f197.svg b/frontend/theme/img/emojis/svg/1f197.svg new file mode 100644 index 0000000..1c42dae --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f197.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f198.svg b/frontend/theme/img/emojis/svg/1f198.svg new file mode 100644 index 0000000..6fe35a1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f198.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f199.svg b/frontend/theme/img/emojis/svg/1f199.svg new file mode 100644 index 0000000..19ab184 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f199.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f19a.svg b/frontend/theme/img/emojis/svg/1f19a.svg new file mode 100644 index 0000000..2d36646 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f19a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e6-1f1e8.svg b/frontend/theme/img/emojis/svg/1f1e6-1f1e8.svg new file mode 100644 index 0000000..53f90dc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e6-1f1e8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e6-1f1e9.svg b/frontend/theme/img/emojis/svg/1f1e6-1f1e9.svg new file mode 100644 index 0000000..be10594 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e6-1f1e9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e6-1f1ea.svg b/frontend/theme/img/emojis/svg/1f1e6-1f1ea.svg new file mode 100644 index 0000000..be8e114 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e6-1f1ea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e6-1f1eb.svg b/frontend/theme/img/emojis/svg/1f1e6-1f1eb.svg new file mode 100644 index 0000000..769efca --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e6-1f1eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e6-1f1ec.svg b/frontend/theme/img/emojis/svg/1f1e6-1f1ec.svg new file mode 100644 index 0000000..2716617 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e6-1f1ec.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e6-1f1ee.svg b/frontend/theme/img/emojis/svg/1f1e6-1f1ee.svg new file mode 100644 index 0000000..6a91dd9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e6-1f1ee.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e6-1f1f1.svg b/frontend/theme/img/emojis/svg/1f1e6-1f1f1.svg new file mode 100644 index 0000000..2c8655d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e6-1f1f1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e6-1f1f2.svg b/frontend/theme/img/emojis/svg/1f1e6-1f1f2.svg new file mode 100644 index 0000000..0a966ab --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e6-1f1f2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e6-1f1f4.svg b/frontend/theme/img/emojis/svg/1f1e6-1f1f4.svg new file mode 100644 index 0000000..65803b6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e6-1f1f4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e6-1f1f6.svg b/frontend/theme/img/emojis/svg/1f1e6-1f1f6.svg new file mode 100644 index 0000000..fd29680 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e6-1f1f6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e6-1f1f7.svg b/frontend/theme/img/emojis/svg/1f1e6-1f1f7.svg new file mode 100644 index 0000000..e8e60ef --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e6-1f1f7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e6-1f1f8.svg b/frontend/theme/img/emojis/svg/1f1e6-1f1f8.svg new file mode 100644 index 0000000..8b27532 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e6-1f1f8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e6-1f1f9.svg b/frontend/theme/img/emojis/svg/1f1e6-1f1f9.svg new file mode 100644 index 0000000..bfe1ec7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e6-1f1f9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e6-1f1fa.svg b/frontend/theme/img/emojis/svg/1f1e6-1f1fa.svg new file mode 100644 index 0000000..989da76 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e6-1f1fa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e6-1f1fc.svg b/frontend/theme/img/emojis/svg/1f1e6-1f1fc.svg new file mode 100644 index 0000000..f383951 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e6-1f1fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e6-1f1fd.svg b/frontend/theme/img/emojis/svg/1f1e6-1f1fd.svg new file mode 100644 index 0000000..03bc680 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e6-1f1fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e6-1f1ff.svg b/frontend/theme/img/emojis/svg/1f1e6-1f1ff.svg new file mode 100644 index 0000000..b584854 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e6-1f1ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e6.svg b/frontend/theme/img/emojis/svg/1f1e6.svg new file mode 100644 index 0000000..d3753d4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e7-1f1e6.svg b/frontend/theme/img/emojis/svg/1f1e7-1f1e6.svg new file mode 100644 index 0000000..bbcd3b5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e7-1f1e6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e7-1f1e7.svg b/frontend/theme/img/emojis/svg/1f1e7-1f1e7.svg new file mode 100644 index 0000000..7f9e8c9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e7-1f1e7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e7-1f1e9.svg b/frontend/theme/img/emojis/svg/1f1e7-1f1e9.svg new file mode 100644 index 0000000..6edc844 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e7-1f1e9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e7-1f1ea.svg b/frontend/theme/img/emojis/svg/1f1e7-1f1ea.svg new file mode 100644 index 0000000..8670426 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e7-1f1ea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e7-1f1eb.svg b/frontend/theme/img/emojis/svg/1f1e7-1f1eb.svg new file mode 100644 index 0000000..8bceec7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e7-1f1eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e7-1f1ec.svg b/frontend/theme/img/emojis/svg/1f1e7-1f1ec.svg new file mode 100644 index 0000000..6e81fba --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e7-1f1ec.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e7-1f1ed.svg b/frontend/theme/img/emojis/svg/1f1e7-1f1ed.svg new file mode 100644 index 0000000..73de582 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e7-1f1ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e7-1f1ee.svg b/frontend/theme/img/emojis/svg/1f1e7-1f1ee.svg new file mode 100644 index 0000000..e53644c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e7-1f1ee.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e7-1f1ef.svg b/frontend/theme/img/emojis/svg/1f1e7-1f1ef.svg new file mode 100644 index 0000000..133d711 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e7-1f1ef.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e7-1f1f1.svg b/frontend/theme/img/emojis/svg/1f1e7-1f1f1.svg new file mode 100644 index 0000000..9d4904d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e7-1f1f1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e7-1f1f2.svg b/frontend/theme/img/emojis/svg/1f1e7-1f1f2.svg new file mode 100644 index 0000000..5e7b7f6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e7-1f1f2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e7-1f1f3.svg b/frontend/theme/img/emojis/svg/1f1e7-1f1f3.svg new file mode 100644 index 0000000..3c20edb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e7-1f1f3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e7-1f1f4.svg b/frontend/theme/img/emojis/svg/1f1e7-1f1f4.svg new file mode 100644 index 0000000..ad0a8c9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e7-1f1f4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e7-1f1f6.svg b/frontend/theme/img/emojis/svg/1f1e7-1f1f6.svg new file mode 100644 index 0000000..bde4921 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e7-1f1f6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e7-1f1f7.svg b/frontend/theme/img/emojis/svg/1f1e7-1f1f7.svg new file mode 100644 index 0000000..956e39d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e7-1f1f7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e7-1f1f8.svg b/frontend/theme/img/emojis/svg/1f1e7-1f1f8.svg new file mode 100644 index 0000000..a75f68b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e7-1f1f8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e7-1f1f9.svg b/frontend/theme/img/emojis/svg/1f1e7-1f1f9.svg new file mode 100644 index 0000000..e822f94 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e7-1f1f9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e7-1f1fb.svg b/frontend/theme/img/emojis/svg/1f1e7-1f1fb.svg new file mode 100644 index 0000000..3d104a6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e7-1f1fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e7-1f1fc.svg b/frontend/theme/img/emojis/svg/1f1e7-1f1fc.svg new file mode 100644 index 0000000..5edeb5d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e7-1f1fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e7-1f1fe.svg b/frontend/theme/img/emojis/svg/1f1e7-1f1fe.svg new file mode 100644 index 0000000..3fef573 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e7-1f1fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e7-1f1ff.svg b/frontend/theme/img/emojis/svg/1f1e7-1f1ff.svg new file mode 100644 index 0000000..6f43e4a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e7-1f1ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e7.svg b/frontend/theme/img/emojis/svg/1f1e7.svg new file mode 100644 index 0000000..52dcf7e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e8-1f1e6.svg b/frontend/theme/img/emojis/svg/1f1e8-1f1e6.svg new file mode 100644 index 0000000..d9c386d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e8-1f1e6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e8-1f1e8.svg b/frontend/theme/img/emojis/svg/1f1e8-1f1e8.svg new file mode 100644 index 0000000..ce130d7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e8-1f1e8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e8-1f1e9.svg b/frontend/theme/img/emojis/svg/1f1e8-1f1e9.svg new file mode 100644 index 0000000..d1b15c9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e8-1f1e9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e8-1f1eb.svg b/frontend/theme/img/emojis/svg/1f1e8-1f1eb.svg new file mode 100644 index 0000000..72166cb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e8-1f1eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e8-1f1ec.svg b/frontend/theme/img/emojis/svg/1f1e8-1f1ec.svg new file mode 100644 index 0000000..3d466e3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e8-1f1ec.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e8-1f1ed.svg b/frontend/theme/img/emojis/svg/1f1e8-1f1ed.svg new file mode 100644 index 0000000..741b521 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e8-1f1ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e8-1f1ee.svg b/frontend/theme/img/emojis/svg/1f1e8-1f1ee.svg new file mode 100644 index 0000000..bd2c3e0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e8-1f1ee.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e8-1f1f0.svg b/frontend/theme/img/emojis/svg/1f1e8-1f1f0.svg new file mode 100644 index 0000000..04e0344 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e8-1f1f0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e8-1f1f1.svg b/frontend/theme/img/emojis/svg/1f1e8-1f1f1.svg new file mode 100644 index 0000000..52b3a00 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e8-1f1f1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e8-1f1f2.svg b/frontend/theme/img/emojis/svg/1f1e8-1f1f2.svg new file mode 100644 index 0000000..7da7b66 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e8-1f1f2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e8-1f1f3.svg b/frontend/theme/img/emojis/svg/1f1e8-1f1f3.svg new file mode 100644 index 0000000..c10116d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e8-1f1f3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e8-1f1f4.svg b/frontend/theme/img/emojis/svg/1f1e8-1f1f4.svg new file mode 100644 index 0000000..dc825d2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e8-1f1f4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e8-1f1f5.svg b/frontend/theme/img/emojis/svg/1f1e8-1f1f5.svg new file mode 100644 index 0000000..4eafe7a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e8-1f1f5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e8-1f1f6.svg b/frontend/theme/img/emojis/svg/1f1e8-1f1f6.svg new file mode 100644 index 0000000..06294f8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e8-1f1f6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e8-1f1f7.svg b/frontend/theme/img/emojis/svg/1f1e8-1f1f7.svg new file mode 100644 index 0000000..acecc89 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e8-1f1f7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e8-1f1fa.svg b/frontend/theme/img/emojis/svg/1f1e8-1f1fa.svg new file mode 100644 index 0000000..13b6370 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e8-1f1fa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e8-1f1fb.svg b/frontend/theme/img/emojis/svg/1f1e8-1f1fb.svg new file mode 100644 index 0000000..9b2cc18 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e8-1f1fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e8-1f1fc.svg b/frontend/theme/img/emojis/svg/1f1e8-1f1fc.svg new file mode 100644 index 0000000..c53d09f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e8-1f1fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e8-1f1fd.svg b/frontend/theme/img/emojis/svg/1f1e8-1f1fd.svg new file mode 100644 index 0000000..6a322f5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e8-1f1fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e8-1f1fe.svg b/frontend/theme/img/emojis/svg/1f1e8-1f1fe.svg new file mode 100644 index 0000000..19bead4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e8-1f1fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e8-1f1ff.svg b/frontend/theme/img/emojis/svg/1f1e8-1f1ff.svg new file mode 100644 index 0000000..fd3b470 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e8-1f1ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e8.svg b/frontend/theme/img/emojis/svg/1f1e8.svg new file mode 100644 index 0000000..80b6405 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e9-1f1ea.svg b/frontend/theme/img/emojis/svg/1f1e9-1f1ea.svg new file mode 100644 index 0000000..10a5399 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e9-1f1ea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e9-1f1ec.svg b/frontend/theme/img/emojis/svg/1f1e9-1f1ec.svg new file mode 100644 index 0000000..565a7aa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e9-1f1ec.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e9-1f1ef.svg b/frontend/theme/img/emojis/svg/1f1e9-1f1ef.svg new file mode 100644 index 0000000..42cbb24 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e9-1f1ef.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e9-1f1f0.svg b/frontend/theme/img/emojis/svg/1f1e9-1f1f0.svg new file mode 100644 index 0000000..5ab629b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e9-1f1f0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e9-1f1f2.svg b/frontend/theme/img/emojis/svg/1f1e9-1f1f2.svg new file mode 100644 index 0000000..750424f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e9-1f1f2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e9-1f1f4.svg b/frontend/theme/img/emojis/svg/1f1e9-1f1f4.svg new file mode 100644 index 0000000..c627c34 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e9-1f1f4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e9-1f1ff.svg b/frontend/theme/img/emojis/svg/1f1e9-1f1ff.svg new file mode 100644 index 0000000..c29a7e2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e9-1f1ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1e9.svg b/frontend/theme/img/emojis/svg/1f1e9.svg new file mode 100644 index 0000000..24d64af --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1e9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ea-1f1e6.svg b/frontend/theme/img/emojis/svg/1f1ea-1f1e6.svg new file mode 100644 index 0000000..d1fd565 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ea-1f1e6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ea-1f1e8.svg b/frontend/theme/img/emojis/svg/1f1ea-1f1e8.svg new file mode 100644 index 0000000..c035be7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ea-1f1e8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ea-1f1ea.svg b/frontend/theme/img/emojis/svg/1f1ea-1f1ea.svg new file mode 100644 index 0000000..47a5589 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ea-1f1ea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ea-1f1ec.svg b/frontend/theme/img/emojis/svg/1f1ea-1f1ec.svg new file mode 100644 index 0000000..2034a3e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ea-1f1ec.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ea-1f1ed.svg b/frontend/theme/img/emojis/svg/1f1ea-1f1ed.svg new file mode 100644 index 0000000..9b8dc5a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ea-1f1ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ea-1f1f7.svg b/frontend/theme/img/emojis/svg/1f1ea-1f1f7.svg new file mode 100644 index 0000000..8e1e510 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ea-1f1f7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ea-1f1f8.svg b/frontend/theme/img/emojis/svg/1f1ea-1f1f8.svg new file mode 100644 index 0000000..d1fd565 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ea-1f1f8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ea-1f1f9.svg b/frontend/theme/img/emojis/svg/1f1ea-1f1f9.svg new file mode 100644 index 0000000..762cc1f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ea-1f1f9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ea-1f1fa.svg b/frontend/theme/img/emojis/svg/1f1ea-1f1fa.svg new file mode 100644 index 0000000..045024a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ea-1f1fa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ea.svg b/frontend/theme/img/emojis/svg/1f1ea.svg new file mode 100644 index 0000000..352b75e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1eb-1f1ee.svg b/frontend/theme/img/emojis/svg/1f1eb-1f1ee.svg new file mode 100644 index 0000000..e07328e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1eb-1f1ee.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1eb-1f1ef.svg b/frontend/theme/img/emojis/svg/1f1eb-1f1ef.svg new file mode 100644 index 0000000..190134b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1eb-1f1ef.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1eb-1f1f0.svg b/frontend/theme/img/emojis/svg/1f1eb-1f1f0.svg new file mode 100644 index 0000000..0091bc7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1eb-1f1f0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1eb-1f1f2.svg b/frontend/theme/img/emojis/svg/1f1eb-1f1f2.svg new file mode 100644 index 0000000..b49556b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1eb-1f1f2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1eb-1f1f4.svg b/frontend/theme/img/emojis/svg/1f1eb-1f1f4.svg new file mode 100644 index 0000000..93a1272 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1eb-1f1f4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1eb-1f1f7.svg b/frontend/theme/img/emojis/svg/1f1eb-1f1f7.svg new file mode 100644 index 0000000..4eafe7a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1eb-1f1f7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1eb.svg b/frontend/theme/img/emojis/svg/1f1eb.svg new file mode 100644 index 0000000..22f9d3d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ec-1f1e6.svg b/frontend/theme/img/emojis/svg/1f1ec-1f1e6.svg new file mode 100644 index 0000000..a8c6fa4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ec-1f1e6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ec-1f1e7.svg b/frontend/theme/img/emojis/svg/1f1ec-1f1e7.svg new file mode 100644 index 0000000..21b97e9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ec-1f1e7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ec-1f1e9.svg b/frontend/theme/img/emojis/svg/1f1ec-1f1e9.svg new file mode 100644 index 0000000..e4f37f9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ec-1f1e9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ec-1f1ea.svg b/frontend/theme/img/emojis/svg/1f1ec-1f1ea.svg new file mode 100644 index 0000000..8c2bd5a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ec-1f1ea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ec-1f1eb.svg b/frontend/theme/img/emojis/svg/1f1ec-1f1eb.svg new file mode 100644 index 0000000..2f10cee --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ec-1f1eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ec-1f1ec.svg b/frontend/theme/img/emojis/svg/1f1ec-1f1ec.svg new file mode 100644 index 0000000..84f6043 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ec-1f1ec.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ec-1f1ed.svg b/frontend/theme/img/emojis/svg/1f1ec-1f1ed.svg new file mode 100644 index 0000000..3330218 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ec-1f1ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ec-1f1ee.svg b/frontend/theme/img/emojis/svg/1f1ec-1f1ee.svg new file mode 100644 index 0000000..432a727 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ec-1f1ee.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ec-1f1f1.svg b/frontend/theme/img/emojis/svg/1f1ec-1f1f1.svg new file mode 100644 index 0000000..8a2ba3e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ec-1f1f1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ec-1f1f2.svg b/frontend/theme/img/emojis/svg/1f1ec-1f1f2.svg new file mode 100644 index 0000000..383cf9d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ec-1f1f2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ec-1f1f3.svg b/frontend/theme/img/emojis/svg/1f1ec-1f1f3.svg new file mode 100644 index 0000000..16f4a90 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ec-1f1f3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ec-1f1f5.svg b/frontend/theme/img/emojis/svg/1f1ec-1f1f5.svg new file mode 100644 index 0000000..ca9e4c6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ec-1f1f5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ec-1f1f6.svg b/frontend/theme/img/emojis/svg/1f1ec-1f1f6.svg new file mode 100644 index 0000000..d4e7119 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ec-1f1f6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ec-1f1f7.svg b/frontend/theme/img/emojis/svg/1f1ec-1f1f7.svg new file mode 100644 index 0000000..74d842d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ec-1f1f7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ec-1f1f8.svg b/frontend/theme/img/emojis/svg/1f1ec-1f1f8.svg new file mode 100644 index 0000000..d8b1e5f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ec-1f1f8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ec-1f1f9.svg b/frontend/theme/img/emojis/svg/1f1ec-1f1f9.svg new file mode 100644 index 0000000..fea623c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ec-1f1f9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ec-1f1fa.svg b/frontend/theme/img/emojis/svg/1f1ec-1f1fa.svg new file mode 100644 index 0000000..2098ecc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ec-1f1fa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ec-1f1fc.svg b/frontend/theme/img/emojis/svg/1f1ec-1f1fc.svg new file mode 100644 index 0000000..6e01b9e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ec-1f1fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ec-1f1fe.svg b/frontend/theme/img/emojis/svg/1f1ec-1f1fe.svg new file mode 100644 index 0000000..1edc6ef --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ec-1f1fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ec.svg b/frontend/theme/img/emojis/svg/1f1ec.svg new file mode 100644 index 0000000..3d7d620 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ec.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ed-1f1f0.svg b/frontend/theme/img/emojis/svg/1f1ed-1f1f0.svg new file mode 100644 index 0000000..ef5ca3b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ed-1f1f0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ed-1f1f2.svg b/frontend/theme/img/emojis/svg/1f1ed-1f1f2.svg new file mode 100644 index 0000000..989da76 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ed-1f1f2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ed-1f1f3.svg b/frontend/theme/img/emojis/svg/1f1ed-1f1f3.svg new file mode 100644 index 0000000..298ec95 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ed-1f1f3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ed-1f1f7.svg b/frontend/theme/img/emojis/svg/1f1ed-1f1f7.svg new file mode 100644 index 0000000..7b8740c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ed-1f1f7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ed-1f1f9.svg b/frontend/theme/img/emojis/svg/1f1ed-1f1f9.svg new file mode 100644 index 0000000..8ccca42 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ed-1f1f9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ed-1f1fa.svg b/frontend/theme/img/emojis/svg/1f1ed-1f1fa.svg new file mode 100644 index 0000000..206baa1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ed-1f1fa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ed.svg b/frontend/theme/img/emojis/svg/1f1ed.svg new file mode 100644 index 0000000..20e48f8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ee-1f1e8.svg b/frontend/theme/img/emojis/svg/1f1ee-1f1e8.svg new file mode 100644 index 0000000..46b0949 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ee-1f1e8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ee-1f1e9.svg b/frontend/theme/img/emojis/svg/1f1ee-1f1e9.svg new file mode 100644 index 0000000..de31273 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ee-1f1e9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ee-1f1ea.svg b/frontend/theme/img/emojis/svg/1f1ee-1f1ea.svg new file mode 100644 index 0000000..3c50257 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ee-1f1ea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ee-1f1f1.svg b/frontend/theme/img/emojis/svg/1f1ee-1f1f1.svg new file mode 100644 index 0000000..5cf3241 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ee-1f1f1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ee-1f1f2.svg b/frontend/theme/img/emojis/svg/1f1ee-1f1f2.svg new file mode 100644 index 0000000..7fc9d46 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ee-1f1f2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ee-1f1f3.svg b/frontend/theme/img/emojis/svg/1f1ee-1f1f3.svg new file mode 100644 index 0000000..55f97e6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ee-1f1f3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ee-1f1f4.svg b/frontend/theme/img/emojis/svg/1f1ee-1f1f4.svg new file mode 100644 index 0000000..565a7aa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ee-1f1f4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ee-1f1f6.svg b/frontend/theme/img/emojis/svg/1f1ee-1f1f6.svg new file mode 100644 index 0000000..06cfe31 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ee-1f1f6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ee-1f1f7.svg b/frontend/theme/img/emojis/svg/1f1ee-1f1f7.svg new file mode 100644 index 0000000..e8ae7b1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ee-1f1f7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ee-1f1f8.svg b/frontend/theme/img/emojis/svg/1f1ee-1f1f8.svg new file mode 100644 index 0000000..c8e918c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ee-1f1f8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ee-1f1f9.svg b/frontend/theme/img/emojis/svg/1f1ee-1f1f9.svg new file mode 100644 index 0000000..6c38017 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ee-1f1f9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ee.svg b/frontend/theme/img/emojis/svg/1f1ee.svg new file mode 100644 index 0000000..18b634c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ee.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ef-1f1ea.svg b/frontend/theme/img/emojis/svg/1f1ef-1f1ea.svg new file mode 100644 index 0000000..a17c379 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ef-1f1ea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ef-1f1f2.svg b/frontend/theme/img/emojis/svg/1f1ef-1f1f2.svg new file mode 100644 index 0000000..dd82d4f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ef-1f1f2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ef-1f1f4.svg b/frontend/theme/img/emojis/svg/1f1ef-1f1f4.svg new file mode 100644 index 0000000..40710a5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ef-1f1f4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ef-1f1f5.svg b/frontend/theme/img/emojis/svg/1f1ef-1f1f5.svg new file mode 100644 index 0000000..3a724e9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ef-1f1f5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ef.svg b/frontend/theme/img/emojis/svg/1f1ef.svg new file mode 100644 index 0000000..e0a8072 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ef.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f0-1f1ea.svg b/frontend/theme/img/emojis/svg/1f1f0-1f1ea.svg new file mode 100644 index 0000000..5bee37f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f0-1f1ea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f0-1f1ec.svg b/frontend/theme/img/emojis/svg/1f1f0-1f1ec.svg new file mode 100644 index 0000000..2616d9e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f0-1f1ec.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f0-1f1ed.svg b/frontend/theme/img/emojis/svg/1f1f0-1f1ed.svg new file mode 100644 index 0000000..54f6e90 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f0-1f1ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f0-1f1ee.svg b/frontend/theme/img/emojis/svg/1f1f0-1f1ee.svg new file mode 100644 index 0000000..233cce8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f0-1f1ee.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f0-1f1f2.svg b/frontend/theme/img/emojis/svg/1f1f0-1f1f2.svg new file mode 100644 index 0000000..91c12b8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f0-1f1f2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f0-1f1f3.svg b/frontend/theme/img/emojis/svg/1f1f0-1f1f3.svg new file mode 100644 index 0000000..461e0f2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f0-1f1f3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f0-1f1f5.svg b/frontend/theme/img/emojis/svg/1f1f0-1f1f5.svg new file mode 100644 index 0000000..d530523 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f0-1f1f5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f0-1f1f7.svg b/frontend/theme/img/emojis/svg/1f1f0-1f1f7.svg new file mode 100644 index 0000000..7b5ee23 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f0-1f1f7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f0-1f1fc.svg b/frontend/theme/img/emojis/svg/1f1f0-1f1fc.svg new file mode 100644 index 0000000..db949b2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f0-1f1fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f0-1f1fe.svg b/frontend/theme/img/emojis/svg/1f1f0-1f1fe.svg new file mode 100644 index 0000000..57323f8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f0-1f1fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f0-1f1ff.svg b/frontend/theme/img/emojis/svg/1f1f0-1f1ff.svg new file mode 100644 index 0000000..d2101ab --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f0-1f1ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f0.svg b/frontend/theme/img/emojis/svg/1f1f0.svg new file mode 100644 index 0000000..21484bf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f1-1f1e6.svg b/frontend/theme/img/emojis/svg/1f1f1-1f1e6.svg new file mode 100644 index 0000000..0ea005d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f1-1f1e6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f1-1f1e7.svg b/frontend/theme/img/emojis/svg/1f1f1-1f1e7.svg new file mode 100644 index 0000000..4271b73 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f1-1f1e7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f1-1f1e8.svg b/frontend/theme/img/emojis/svg/1f1f1-1f1e8.svg new file mode 100644 index 0000000..12b2237 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f1-1f1e8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f1-1f1ee.svg b/frontend/theme/img/emojis/svg/1f1f1-1f1ee.svg new file mode 100644 index 0000000..9e474bc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f1-1f1ee.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f1-1f1f0.svg b/frontend/theme/img/emojis/svg/1f1f1-1f1f0.svg new file mode 100644 index 0000000..a2fe814 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f1-1f1f0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f1-1f1f7.svg b/frontend/theme/img/emojis/svg/1f1f1-1f1f7.svg new file mode 100644 index 0000000..dd4a1e4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f1-1f1f7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f1-1f1f8.svg b/frontend/theme/img/emojis/svg/1f1f1-1f1f8.svg new file mode 100644 index 0000000..ec06e4f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f1-1f1f8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f1-1f1f9.svg b/frontend/theme/img/emojis/svg/1f1f1-1f1f9.svg new file mode 100644 index 0000000..5fcfd8b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f1-1f1f9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f1-1f1fa.svg b/frontend/theme/img/emojis/svg/1f1f1-1f1fa.svg new file mode 100644 index 0000000..e66c904 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f1-1f1fa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f1-1f1fb.svg b/frontend/theme/img/emojis/svg/1f1f1-1f1fb.svg new file mode 100644 index 0000000..f5f3922 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f1-1f1fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f1-1f1fe.svg b/frontend/theme/img/emojis/svg/1f1f1-1f1fe.svg new file mode 100644 index 0000000..c6c12ed --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f1-1f1fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f1.svg b/frontend/theme/img/emojis/svg/1f1f1.svg new file mode 100644 index 0000000..d76ecd5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f2-1f1e6.svg b/frontend/theme/img/emojis/svg/1f1f2-1f1e6.svg new file mode 100644 index 0000000..d6d689a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f2-1f1e6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f2-1f1e8.svg b/frontend/theme/img/emojis/svg/1f1f2-1f1e8.svg new file mode 100644 index 0000000..8604a1c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f2-1f1e8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f2-1f1e9.svg b/frontend/theme/img/emojis/svg/1f1f2-1f1e9.svg new file mode 100644 index 0000000..eb2d4a2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f2-1f1e9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f2-1f1ea.svg b/frontend/theme/img/emojis/svg/1f1f2-1f1ea.svg new file mode 100644 index 0000000..47c5b2e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f2-1f1ea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f2-1f1eb.svg b/frontend/theme/img/emojis/svg/1f1f2-1f1eb.svg new file mode 100644 index 0000000..4eafe7a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f2-1f1eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f2-1f1ec.svg b/frontend/theme/img/emojis/svg/1f1f2-1f1ec.svg new file mode 100644 index 0000000..becf2f4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f2-1f1ec.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f2-1f1ed.svg b/frontend/theme/img/emojis/svg/1f1f2-1f1ed.svg new file mode 100644 index 0000000..6774f9b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f2-1f1ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f2-1f1f0.svg b/frontend/theme/img/emojis/svg/1f1f2-1f1f0.svg new file mode 100644 index 0000000..371b235 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f2-1f1f0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f2-1f1f1.svg b/frontend/theme/img/emojis/svg/1f1f2-1f1f1.svg new file mode 100644 index 0000000..3a522a0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f2-1f1f1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f2-1f1f2.svg b/frontend/theme/img/emojis/svg/1f1f2-1f1f2.svg new file mode 100644 index 0000000..69db533 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f2-1f1f2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f2-1f1f3.svg b/frontend/theme/img/emojis/svg/1f1f2-1f1f3.svg new file mode 100644 index 0000000..b9635cf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f2-1f1f3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f2-1f1f4.svg b/frontend/theme/img/emojis/svg/1f1f2-1f1f4.svg new file mode 100644 index 0000000..790900e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f2-1f1f4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f2-1f1f5.svg b/frontend/theme/img/emojis/svg/1f1f2-1f1f5.svg new file mode 100644 index 0000000..f0a5fb4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f2-1f1f5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f2-1f1f6.svg b/frontend/theme/img/emojis/svg/1f1f2-1f1f6.svg new file mode 100644 index 0000000..f705309 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f2-1f1f6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f2-1f1f7.svg b/frontend/theme/img/emojis/svg/1f1f2-1f1f7.svg new file mode 100644 index 0000000..8335c8b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f2-1f1f7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f2-1f1f8.svg b/frontend/theme/img/emojis/svg/1f1f2-1f1f8.svg new file mode 100644 index 0000000..04a1cc1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f2-1f1f8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f2-1f1f9.svg b/frontend/theme/img/emojis/svg/1f1f2-1f1f9.svg new file mode 100644 index 0000000..5538102 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f2-1f1f9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f2-1f1fa.svg b/frontend/theme/img/emojis/svg/1f1f2-1f1fa.svg new file mode 100644 index 0000000..6c24981 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f2-1f1fa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f2-1f1fb.svg b/frontend/theme/img/emojis/svg/1f1f2-1f1fb.svg new file mode 100644 index 0000000..b57be9c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f2-1f1fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f2-1f1fc.svg b/frontend/theme/img/emojis/svg/1f1f2-1f1fc.svg new file mode 100644 index 0000000..9b8ddf5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f2-1f1fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f2-1f1fd.svg b/frontend/theme/img/emojis/svg/1f1f2-1f1fd.svg new file mode 100644 index 0000000..93d54c4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f2-1f1fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f2-1f1fe.svg b/frontend/theme/img/emojis/svg/1f1f2-1f1fe.svg new file mode 100644 index 0000000..29a3e3f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f2-1f1fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f2-1f1ff.svg b/frontend/theme/img/emojis/svg/1f1f2-1f1ff.svg new file mode 100644 index 0000000..cfa9577 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f2-1f1ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f2.svg b/frontend/theme/img/emojis/svg/1f1f2.svg new file mode 100644 index 0000000..cc6f136 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f3-1f1e6.svg b/frontend/theme/img/emojis/svg/1f1f3-1f1e6.svg new file mode 100644 index 0000000..d2a79fd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f3-1f1e6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f3-1f1e8.svg b/frontend/theme/img/emojis/svg/1f1f3-1f1e8.svg new file mode 100644 index 0000000..e5dff93 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f3-1f1e8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f3-1f1ea.svg b/frontend/theme/img/emojis/svg/1f1f3-1f1ea.svg new file mode 100644 index 0000000..53f25f5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f3-1f1ea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f3-1f1eb.svg b/frontend/theme/img/emojis/svg/1f1f3-1f1eb.svg new file mode 100644 index 0000000..990687f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f3-1f1eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f3-1f1ec.svg b/frontend/theme/img/emojis/svg/1f1f3-1f1ec.svg new file mode 100644 index 0000000..6c6e31c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f3-1f1ec.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f3-1f1ee.svg b/frontend/theme/img/emojis/svg/1f1f3-1f1ee.svg new file mode 100644 index 0000000..990868a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f3-1f1ee.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f3-1f1f1.svg b/frontend/theme/img/emojis/svg/1f1f3-1f1f1.svg new file mode 100644 index 0000000..65e8be9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f3-1f1f1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f3-1f1f4.svg b/frontend/theme/img/emojis/svg/1f1f3-1f1f4.svg new file mode 100644 index 0000000..4f5260a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f3-1f1f4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f3-1f1f5.svg b/frontend/theme/img/emojis/svg/1f1f3-1f1f5.svg new file mode 100644 index 0000000..5e5faaf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f3-1f1f5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f3-1f1f7.svg b/frontend/theme/img/emojis/svg/1f1f3-1f1f7.svg new file mode 100644 index 0000000..72485e7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f3-1f1f7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f3-1f1fa.svg b/frontend/theme/img/emojis/svg/1f1f3-1f1fa.svg new file mode 100644 index 0000000..dd50901 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f3-1f1fa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f3-1f1ff.svg b/frontend/theme/img/emojis/svg/1f1f3-1f1ff.svg new file mode 100644 index 0000000..956a9d2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f3-1f1ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f3.svg b/frontend/theme/img/emojis/svg/1f1f3.svg new file mode 100644 index 0000000..f8d0bbd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f4-1f1f2.svg b/frontend/theme/img/emojis/svg/1f1f4-1f1f2.svg new file mode 100644 index 0000000..29af825 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f4-1f1f2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f4.svg b/frontend/theme/img/emojis/svg/1f1f4.svg new file mode 100644 index 0000000..9a56c51 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f5-1f1e6.svg b/frontend/theme/img/emojis/svg/1f1f5-1f1e6.svg new file mode 100644 index 0000000..4fc55f5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f5-1f1e6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f5-1f1ea.svg b/frontend/theme/img/emojis/svg/1f1f5-1f1ea.svg new file mode 100644 index 0000000..fc93b29 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f5-1f1ea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f5-1f1eb.svg b/frontend/theme/img/emojis/svg/1f1f5-1f1eb.svg new file mode 100644 index 0000000..333c6d0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f5-1f1eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f5-1f1ec.svg b/frontend/theme/img/emojis/svg/1f1f5-1f1ec.svg new file mode 100644 index 0000000..2d20ed8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f5-1f1ec.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f5-1f1ed.svg b/frontend/theme/img/emojis/svg/1f1f5-1f1ed.svg new file mode 100644 index 0000000..e9f011d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f5-1f1ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f5-1f1f0.svg b/frontend/theme/img/emojis/svg/1f1f5-1f1f0.svg new file mode 100644 index 0000000..a718df6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f5-1f1f0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f5-1f1f1.svg b/frontend/theme/img/emojis/svg/1f1f5-1f1f1.svg new file mode 100644 index 0000000..8169875 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f5-1f1f1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f5-1f1f2.svg b/frontend/theme/img/emojis/svg/1f1f5-1f1f2.svg new file mode 100644 index 0000000..dc55c02 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f5-1f1f2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f5-1f1f3.svg b/frontend/theme/img/emojis/svg/1f1f5-1f1f3.svg new file mode 100644 index 0000000..234f53f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f5-1f1f3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f5-1f1f7.svg b/frontend/theme/img/emojis/svg/1f1f5-1f1f7.svg new file mode 100644 index 0000000..f4c2ace --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f5-1f1f7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f5-1f1f8.svg b/frontend/theme/img/emojis/svg/1f1f5-1f1f8.svg new file mode 100644 index 0000000..6ce8ec7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f5-1f1f8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f5-1f1f9.svg b/frontend/theme/img/emojis/svg/1f1f5-1f1f9.svg new file mode 100644 index 0000000..c1d4a84 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f5-1f1f9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f5-1f1fc.svg b/frontend/theme/img/emojis/svg/1f1f5-1f1fc.svg new file mode 100644 index 0000000..043f7a5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f5-1f1fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f5-1f1fe.svg b/frontend/theme/img/emojis/svg/1f1f5-1f1fe.svg new file mode 100644 index 0000000..c8e83dc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f5-1f1fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f5.svg b/frontend/theme/img/emojis/svg/1f1f5.svg new file mode 100644 index 0000000..90d45e8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f6-1f1e6.svg b/frontend/theme/img/emojis/svg/1f1f6-1f1e6.svg new file mode 100644 index 0000000..f3e91d0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f6-1f1e6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f6.svg b/frontend/theme/img/emojis/svg/1f1f6.svg new file mode 100644 index 0000000..e202fc2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f7-1f1ea.svg b/frontend/theme/img/emojis/svg/1f1f7-1f1ea.svg new file mode 100644 index 0000000..ab1399f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f7-1f1ea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f7-1f1f4.svg b/frontend/theme/img/emojis/svg/1f1f7-1f1f4.svg new file mode 100644 index 0000000..33ac6ed --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f7-1f1f4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f7-1f1f8.svg b/frontend/theme/img/emojis/svg/1f1f7-1f1f8.svg new file mode 100644 index 0000000..5c6c69e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f7-1f1f8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f7-1f1fa.svg b/frontend/theme/img/emojis/svg/1f1f7-1f1fa.svg new file mode 100644 index 0000000..46f74d5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f7-1f1fa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f7-1f1fc.svg b/frontend/theme/img/emojis/svg/1f1f7-1f1fc.svg new file mode 100644 index 0000000..6175c02 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f7-1f1fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f7.svg b/frontend/theme/img/emojis/svg/1f1f7.svg new file mode 100644 index 0000000..8d72d99 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f8-1f1e6.svg b/frontend/theme/img/emojis/svg/1f1f8-1f1e6.svg new file mode 100644 index 0000000..d0d9580 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f8-1f1e6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f8-1f1e7.svg b/frontend/theme/img/emojis/svg/1f1f8-1f1e7.svg new file mode 100644 index 0000000..a55ff60 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f8-1f1e7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f8-1f1e8.svg b/frontend/theme/img/emojis/svg/1f1f8-1f1e8.svg new file mode 100644 index 0000000..40e42ea --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f8-1f1e8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f8-1f1e9.svg b/frontend/theme/img/emojis/svg/1f1f8-1f1e9.svg new file mode 100644 index 0000000..ddb60ba --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f8-1f1e9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f8-1f1ea.svg b/frontend/theme/img/emojis/svg/1f1f8-1f1ea.svg new file mode 100644 index 0000000..a039dc2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f8-1f1ea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f8-1f1ec.svg b/frontend/theme/img/emojis/svg/1f1f8-1f1ec.svg new file mode 100644 index 0000000..199e54e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f8-1f1ec.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f8-1f1ed.svg b/frontend/theme/img/emojis/svg/1f1f8-1f1ed.svg new file mode 100644 index 0000000..57d004d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f8-1f1ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f8-1f1ee.svg b/frontend/theme/img/emojis/svg/1f1f8-1f1ee.svg new file mode 100644 index 0000000..e25c04c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f8-1f1ee.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f8-1f1ef.svg b/frontend/theme/img/emojis/svg/1f1f8-1f1ef.svg new file mode 100644 index 0000000..4f5260a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f8-1f1ef.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f8-1f1f0.svg b/frontend/theme/img/emojis/svg/1f1f8-1f1f0.svg new file mode 100644 index 0000000..c4f7caf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f8-1f1f0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f8-1f1f1.svg b/frontend/theme/img/emojis/svg/1f1f8-1f1f1.svg new file mode 100644 index 0000000..b08dd1d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f8-1f1f1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f8-1f1f2.svg b/frontend/theme/img/emojis/svg/1f1f8-1f1f2.svg new file mode 100644 index 0000000..b53d00d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f8-1f1f2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f8-1f1f3.svg b/frontend/theme/img/emojis/svg/1f1f8-1f1f3.svg new file mode 100644 index 0000000..c233472 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f8-1f1f3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f8-1f1f4.svg b/frontend/theme/img/emojis/svg/1f1f8-1f1f4.svg new file mode 100644 index 0000000..293dd34 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f8-1f1f4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f8-1f1f7.svg b/frontend/theme/img/emojis/svg/1f1f8-1f1f7.svg new file mode 100644 index 0000000..c483fb9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f8-1f1f7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f8-1f1f8.svg b/frontend/theme/img/emojis/svg/1f1f8-1f1f8.svg new file mode 100644 index 0000000..0aa63d7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f8-1f1f8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f8-1f1f9.svg b/frontend/theme/img/emojis/svg/1f1f8-1f1f9.svg new file mode 100644 index 0000000..f2bb52a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f8-1f1f9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f8-1f1fb.svg b/frontend/theme/img/emojis/svg/1f1f8-1f1fb.svg new file mode 100644 index 0000000..873310c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f8-1f1fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f8-1f1fd.svg b/frontend/theme/img/emojis/svg/1f1f8-1f1fd.svg new file mode 100644 index 0000000..2047243 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f8-1f1fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f8-1f1fe.svg b/frontend/theme/img/emojis/svg/1f1f8-1f1fe.svg new file mode 100644 index 0000000..2b4f515 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f8-1f1fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f8-1f1ff.svg b/frontend/theme/img/emojis/svg/1f1f8-1f1ff.svg new file mode 100644 index 0000000..cb7f84a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f8-1f1ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f8.svg b/frontend/theme/img/emojis/svg/1f1f8.svg new file mode 100644 index 0000000..e596113 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f9-1f1e6.svg b/frontend/theme/img/emojis/svg/1f1f9-1f1e6.svg new file mode 100644 index 0000000..547fa05 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f9-1f1e6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f9-1f1e8.svg b/frontend/theme/img/emojis/svg/1f1f9-1f1e8.svg new file mode 100644 index 0000000..3c61bc7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f9-1f1e8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f9-1f1e9.svg b/frontend/theme/img/emojis/svg/1f1f9-1f1e9.svg new file mode 100644 index 0000000..d106ba8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f9-1f1e9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f9-1f1eb.svg b/frontend/theme/img/emojis/svg/1f1f9-1f1eb.svg new file mode 100644 index 0000000..cf4bfac --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f9-1f1eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f9-1f1ec.svg b/frontend/theme/img/emojis/svg/1f1f9-1f1ec.svg new file mode 100644 index 0000000..4a05a30 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f9-1f1ec.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f9-1f1ed.svg b/frontend/theme/img/emojis/svg/1f1f9-1f1ed.svg new file mode 100644 index 0000000..0bd4165 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f9-1f1ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f9-1f1ef.svg b/frontend/theme/img/emojis/svg/1f1f9-1f1ef.svg new file mode 100644 index 0000000..6045f46 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f9-1f1ef.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f9-1f1f0.svg b/frontend/theme/img/emojis/svg/1f1f9-1f1f0.svg new file mode 100644 index 0000000..bfa9362 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f9-1f1f0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f9-1f1f1.svg b/frontend/theme/img/emojis/svg/1f1f9-1f1f1.svg new file mode 100644 index 0000000..6030072 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f9-1f1f1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f9-1f1f2.svg b/frontend/theme/img/emojis/svg/1f1f9-1f1f2.svg new file mode 100644 index 0000000..a57c35c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f9-1f1f2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f9-1f1f3.svg b/frontend/theme/img/emojis/svg/1f1f9-1f1f3.svg new file mode 100644 index 0000000..c13e730 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f9-1f1f3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f9-1f1f4.svg b/frontend/theme/img/emojis/svg/1f1f9-1f1f4.svg new file mode 100644 index 0000000..20a9555 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f9-1f1f4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f9-1f1f7.svg b/frontend/theme/img/emojis/svg/1f1f9-1f1f7.svg new file mode 100644 index 0000000..861da57 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f9-1f1f7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f9-1f1f9.svg b/frontend/theme/img/emojis/svg/1f1f9-1f1f9.svg new file mode 100644 index 0000000..578c8eb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f9-1f1f9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f9-1f1fb.svg b/frontend/theme/img/emojis/svg/1f1f9-1f1fb.svg new file mode 100644 index 0000000..6558df6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f9-1f1fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f9-1f1fc.svg b/frontend/theme/img/emojis/svg/1f1f9-1f1fc.svg new file mode 100644 index 0000000..4cd304e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f9-1f1fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f9-1f1ff.svg b/frontend/theme/img/emojis/svg/1f1f9-1f1ff.svg new file mode 100644 index 0000000..a9ddb8e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f9-1f1ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1f9.svg b/frontend/theme/img/emojis/svg/1f1f9.svg new file mode 100644 index 0000000..fa3677e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1f9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1fa-1f1e6.svg b/frontend/theme/img/emojis/svg/1f1fa-1f1e6.svg new file mode 100644 index 0000000..989b5c2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1fa-1f1e6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1fa-1f1ec.svg b/frontend/theme/img/emojis/svg/1f1fa-1f1ec.svg new file mode 100644 index 0000000..6602ca9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1fa-1f1ec.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1fa-1f1f2.svg b/frontend/theme/img/emojis/svg/1f1fa-1f1f2.svg new file mode 100644 index 0000000..d51f600 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1fa-1f1f2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1fa-1f1f3.svg b/frontend/theme/img/emojis/svg/1f1fa-1f1f3.svg new file mode 100644 index 0000000..a035a76 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1fa-1f1f3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1fa-1f1f8.svg b/frontend/theme/img/emojis/svg/1f1fa-1f1f8.svg new file mode 100644 index 0000000..d51f600 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1fa-1f1f8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1fa-1f1fe.svg b/frontend/theme/img/emojis/svg/1f1fa-1f1fe.svg new file mode 100644 index 0000000..796244c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1fa-1f1fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1fa-1f1ff.svg b/frontend/theme/img/emojis/svg/1f1fa-1f1ff.svg new file mode 100644 index 0000000..b913772 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1fa-1f1ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1fa.svg b/frontend/theme/img/emojis/svg/1f1fa.svg new file mode 100644 index 0000000..aed705d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1fa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1fb-1f1e6.svg b/frontend/theme/img/emojis/svg/1f1fb-1f1e6.svg new file mode 100644 index 0000000..7b2bffa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1fb-1f1e6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1fb-1f1e8.svg b/frontend/theme/img/emojis/svg/1f1fb-1f1e8.svg new file mode 100644 index 0000000..fb97611 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1fb-1f1e8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1fb-1f1ea.svg b/frontend/theme/img/emojis/svg/1f1fb-1f1ea.svg new file mode 100644 index 0000000..294b5c6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1fb-1f1ea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1fb-1f1ec.svg b/frontend/theme/img/emojis/svg/1f1fb-1f1ec.svg new file mode 100644 index 0000000..d8194cd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1fb-1f1ec.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1fb-1f1ee.svg b/frontend/theme/img/emojis/svg/1f1fb-1f1ee.svg new file mode 100644 index 0000000..d0602d2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1fb-1f1ee.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1fb-1f1f3.svg b/frontend/theme/img/emojis/svg/1f1fb-1f1f3.svg new file mode 100644 index 0000000..4e0e1b5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1fb-1f1f3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1fb-1f1fa.svg b/frontend/theme/img/emojis/svg/1f1fb-1f1fa.svg new file mode 100644 index 0000000..151e7aa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1fb-1f1fa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1fb.svg b/frontend/theme/img/emojis/svg/1f1fb.svg new file mode 100644 index 0000000..a5bf864 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1fc-1f1eb.svg b/frontend/theme/img/emojis/svg/1f1fc-1f1eb.svg new file mode 100644 index 0000000..9895422 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1fc-1f1eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1fc-1f1f8.svg b/frontend/theme/img/emojis/svg/1f1fc-1f1f8.svg new file mode 100644 index 0000000..6b075cb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1fc-1f1f8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1fc.svg b/frontend/theme/img/emojis/svg/1f1fc.svg new file mode 100644 index 0000000..c65cf0b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1fd-1f1f0.svg b/frontend/theme/img/emojis/svg/1f1fd-1f1f0.svg new file mode 100644 index 0000000..39890a9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1fd-1f1f0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1fd.svg b/frontend/theme/img/emojis/svg/1f1fd.svg new file mode 100644 index 0000000..e39fd6d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1fe-1f1ea.svg b/frontend/theme/img/emojis/svg/1f1fe-1f1ea.svg new file mode 100644 index 0000000..a82532c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1fe-1f1ea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1fe-1f1f9.svg b/frontend/theme/img/emojis/svg/1f1fe-1f1f9.svg new file mode 100644 index 0000000..76765b9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1fe-1f1f9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1fe.svg b/frontend/theme/img/emojis/svg/1f1fe.svg new file mode 100644 index 0000000..3c4a46f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ff-1f1e6.svg b/frontend/theme/img/emojis/svg/1f1ff-1f1e6.svg new file mode 100644 index 0000000..275c136 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ff-1f1e6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ff-1f1f2.svg b/frontend/theme/img/emojis/svg/1f1ff-1f1f2.svg new file mode 100644 index 0000000..d276896 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ff-1f1f2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ff-1f1fc.svg b/frontend/theme/img/emojis/svg/1f1ff-1f1fc.svg new file mode 100644 index 0000000..15a8464 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ff-1f1fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f1ff.svg b/frontend/theme/img/emojis/svg/1f1ff.svg new file mode 100644 index 0000000..e1ae07d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f1ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f201.svg b/frontend/theme/img/emojis/svg/1f201.svg new file mode 100644 index 0000000..c4e6541 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f201.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f202.svg b/frontend/theme/img/emojis/svg/1f202.svg new file mode 100644 index 0000000..7f1e841 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f202.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f21a.svg b/frontend/theme/img/emojis/svg/1f21a.svg new file mode 100644 index 0000000..9b0253a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f21a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f22f.svg b/frontend/theme/img/emojis/svg/1f22f.svg new file mode 100644 index 0000000..112269d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f22f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f232.svg b/frontend/theme/img/emojis/svg/1f232.svg new file mode 100644 index 0000000..4efe9bb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f232.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f233.svg b/frontend/theme/img/emojis/svg/1f233.svg new file mode 100644 index 0000000..2e2072c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f233.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f234.svg b/frontend/theme/img/emojis/svg/1f234.svg new file mode 100644 index 0000000..b90b9c4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f234.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f235.svg b/frontend/theme/img/emojis/svg/1f235.svg new file mode 100644 index 0000000..86f24ca --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f235.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f236.svg b/frontend/theme/img/emojis/svg/1f236.svg new file mode 100644 index 0000000..93c5998 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f236.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f237.svg b/frontend/theme/img/emojis/svg/1f237.svg new file mode 100644 index 0000000..459d948 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f237.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f238.svg b/frontend/theme/img/emojis/svg/1f238.svg new file mode 100644 index 0000000..af984cb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f238.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f239.svg b/frontend/theme/img/emojis/svg/1f239.svg new file mode 100644 index 0000000..889c027 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f239.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f23a.svg b/frontend/theme/img/emojis/svg/1f23a.svg new file mode 100644 index 0000000..87a2ceb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f23a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f250.svg b/frontend/theme/img/emojis/svg/1f250.svg new file mode 100644 index 0000000..c7465f8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f250.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f251.svg b/frontend/theme/img/emojis/svg/1f251.svg new file mode 100644 index 0000000..4bb227b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f251.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f300.svg b/frontend/theme/img/emojis/svg/1f300.svg new file mode 100644 index 0000000..1de6f25 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f300.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f301.svg b/frontend/theme/img/emojis/svg/1f301.svg new file mode 100644 index 0000000..dfec948 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f301.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f302.svg b/frontend/theme/img/emojis/svg/1f302.svg new file mode 100644 index 0000000..e611e6b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f302.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f303.svg b/frontend/theme/img/emojis/svg/1f303.svg new file mode 100644 index 0000000..d6c21b4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f303.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f304.svg b/frontend/theme/img/emojis/svg/1f304.svg new file mode 100644 index 0000000..0709f1c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f304.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f305.svg b/frontend/theme/img/emojis/svg/1f305.svg new file mode 100644 index 0000000..8e3f66d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f305.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f306.svg b/frontend/theme/img/emojis/svg/1f306.svg new file mode 100644 index 0000000..9e7ae82 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f306.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f307.svg b/frontend/theme/img/emojis/svg/1f307.svg new file mode 100644 index 0000000..a783fe3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f307.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f308.svg b/frontend/theme/img/emojis/svg/1f308.svg new file mode 100644 index 0000000..ffe6a12 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f308.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f309.svg b/frontend/theme/img/emojis/svg/1f309.svg new file mode 100644 index 0000000..e49295b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f309.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f30a.svg b/frontend/theme/img/emojis/svg/1f30a.svg new file mode 100644 index 0000000..0e68ec3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f30a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f30b.svg b/frontend/theme/img/emojis/svg/1f30b.svg new file mode 100644 index 0000000..88d989d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f30b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f30c.svg b/frontend/theme/img/emojis/svg/1f30c.svg new file mode 100644 index 0000000..7853bcd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f30c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f30d.svg b/frontend/theme/img/emojis/svg/1f30d.svg new file mode 100644 index 0000000..f813610 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f30d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f30e.svg b/frontend/theme/img/emojis/svg/1f30e.svg new file mode 100644 index 0000000..0793e72 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f30e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f30f.svg b/frontend/theme/img/emojis/svg/1f30f.svg new file mode 100644 index 0000000..30c0186 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f30f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f310.svg b/frontend/theme/img/emojis/svg/1f310.svg new file mode 100644 index 0000000..a9ec9e6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f310.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f311.svg b/frontend/theme/img/emojis/svg/1f311.svg new file mode 100644 index 0000000..d71e4d1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f311.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f312.svg b/frontend/theme/img/emojis/svg/1f312.svg new file mode 100644 index 0000000..d3bb1a7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f312.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f313.svg b/frontend/theme/img/emojis/svg/1f313.svg new file mode 100644 index 0000000..f668b75 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f313.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f314.svg b/frontend/theme/img/emojis/svg/1f314.svg new file mode 100644 index 0000000..90488ed --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f314.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f315.svg b/frontend/theme/img/emojis/svg/1f315.svg new file mode 100644 index 0000000..9a70427 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f315.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f316.svg b/frontend/theme/img/emojis/svg/1f316.svg new file mode 100644 index 0000000..9cbc981 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f316.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f317.svg b/frontend/theme/img/emojis/svg/1f317.svg new file mode 100644 index 0000000..a5813f0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f317.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f318.svg b/frontend/theme/img/emojis/svg/1f318.svg new file mode 100644 index 0000000..bad95d5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f318.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f319.svg b/frontend/theme/img/emojis/svg/1f319.svg new file mode 100644 index 0000000..d98dc2f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f319.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f31a.svg b/frontend/theme/img/emojis/svg/1f31a.svg new file mode 100644 index 0000000..6ccbb68 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f31a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f31b.svg b/frontend/theme/img/emojis/svg/1f31b.svg new file mode 100644 index 0000000..3fffcdd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f31b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f31c.svg b/frontend/theme/img/emojis/svg/1f31c.svg new file mode 100644 index 0000000..07501e9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f31c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f31d.svg b/frontend/theme/img/emojis/svg/1f31d.svg new file mode 100644 index 0000000..4c98969 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f31d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f31e.svg b/frontend/theme/img/emojis/svg/1f31e.svg new file mode 100644 index 0000000..2da9b19 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f31e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f31f.svg b/frontend/theme/img/emojis/svg/1f31f.svg new file mode 100644 index 0000000..a4695dd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f31f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f320.svg b/frontend/theme/img/emojis/svg/1f320.svg new file mode 100644 index 0000000..295a5a1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f320.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f321.svg b/frontend/theme/img/emojis/svg/1f321.svg new file mode 100644 index 0000000..95a7598 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f321.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f324.svg b/frontend/theme/img/emojis/svg/1f324.svg new file mode 100644 index 0000000..8ba8c52 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f324.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f325.svg b/frontend/theme/img/emojis/svg/1f325.svg new file mode 100644 index 0000000..1efae10 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f325.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f326.svg b/frontend/theme/img/emojis/svg/1f326.svg new file mode 100644 index 0000000..3a65ae7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f326.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f327.svg b/frontend/theme/img/emojis/svg/1f327.svg new file mode 100644 index 0000000..99f42f5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f327.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f328.svg b/frontend/theme/img/emojis/svg/1f328.svg new file mode 100644 index 0000000..f937107 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f328.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f329.svg b/frontend/theme/img/emojis/svg/1f329.svg new file mode 100644 index 0000000..0deaddc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f329.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f32a.svg b/frontend/theme/img/emojis/svg/1f32a.svg new file mode 100644 index 0000000..b462010 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f32a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f32b.svg b/frontend/theme/img/emojis/svg/1f32b.svg new file mode 100644 index 0000000..fe6e480 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f32b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f32c.svg b/frontend/theme/img/emojis/svg/1f32c.svg new file mode 100644 index 0000000..7d55457 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f32c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f32d.svg b/frontend/theme/img/emojis/svg/1f32d.svg new file mode 100644 index 0000000..a450dbb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f32d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f32e.svg b/frontend/theme/img/emojis/svg/1f32e.svg new file mode 100644 index 0000000..5b08f1f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f32e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f32f.svg b/frontend/theme/img/emojis/svg/1f32f.svg new file mode 100644 index 0000000..c76d82c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f32f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f330.svg b/frontend/theme/img/emojis/svg/1f330.svg new file mode 100644 index 0000000..d0e84b5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f330.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f331.svg b/frontend/theme/img/emojis/svg/1f331.svg new file mode 100644 index 0000000..668d777 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f331.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f332.svg b/frontend/theme/img/emojis/svg/1f332.svg new file mode 100644 index 0000000..540f186 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f332.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f333.svg b/frontend/theme/img/emojis/svg/1f333.svg new file mode 100644 index 0000000..3937fc4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f333.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f334.svg b/frontend/theme/img/emojis/svg/1f334.svg new file mode 100644 index 0000000..55d246a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f334.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f335.svg b/frontend/theme/img/emojis/svg/1f335.svg new file mode 100644 index 0000000..097dc13 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f335.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f336.svg b/frontend/theme/img/emojis/svg/1f336.svg new file mode 100644 index 0000000..eaeef86 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f336.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f337.svg b/frontend/theme/img/emojis/svg/1f337.svg new file mode 100644 index 0000000..86a1a36 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f337.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f338.svg b/frontend/theme/img/emojis/svg/1f338.svg new file mode 100644 index 0000000..46ba420 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f338.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f339.svg b/frontend/theme/img/emojis/svg/1f339.svg new file mode 100644 index 0000000..500d925 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f339.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f33a.svg b/frontend/theme/img/emojis/svg/1f33a.svg new file mode 100644 index 0000000..19c2f89 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f33a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f33b.svg b/frontend/theme/img/emojis/svg/1f33b.svg new file mode 100644 index 0000000..413e6fc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f33b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f33c.svg b/frontend/theme/img/emojis/svg/1f33c.svg new file mode 100644 index 0000000..4ee1cc0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f33c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f33d.svg b/frontend/theme/img/emojis/svg/1f33d.svg new file mode 100644 index 0000000..6c4ae3b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f33d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f33e.svg b/frontend/theme/img/emojis/svg/1f33e.svg new file mode 100644 index 0000000..320f149 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f33e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f33f.svg b/frontend/theme/img/emojis/svg/1f33f.svg new file mode 100644 index 0000000..9243e96 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f33f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f340.svg b/frontend/theme/img/emojis/svg/1f340.svg new file mode 100644 index 0000000..cac00d4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f340.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f341.svg b/frontend/theme/img/emojis/svg/1f341.svg new file mode 100644 index 0000000..7cd7ad9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f341.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f342.svg b/frontend/theme/img/emojis/svg/1f342.svg new file mode 100644 index 0000000..1c9072a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f342.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f343.svg b/frontend/theme/img/emojis/svg/1f343.svg new file mode 100644 index 0000000..650bfa9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f343.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f344-200d-1f7eb.svg b/frontend/theme/img/emojis/svg/1f344-200d-1f7eb.svg new file mode 100644 index 0000000..99b1632 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f344-200d-1f7eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f344.svg b/frontend/theme/img/emojis/svg/1f344.svg new file mode 100644 index 0000000..0cf7a79 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f344.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f345.svg b/frontend/theme/img/emojis/svg/1f345.svg new file mode 100644 index 0000000..411c2a5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f345.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f346.svg b/frontend/theme/img/emojis/svg/1f346.svg new file mode 100644 index 0000000..14688a6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f346.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f347.svg b/frontend/theme/img/emojis/svg/1f347.svg new file mode 100644 index 0000000..e52e2f8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f347.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f348.svg b/frontend/theme/img/emojis/svg/1f348.svg new file mode 100644 index 0000000..f348273 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f348.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f349.svg b/frontend/theme/img/emojis/svg/1f349.svg new file mode 100644 index 0000000..522728d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f349.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f34a.svg b/frontend/theme/img/emojis/svg/1f34a.svg new file mode 100644 index 0000000..82c0c52 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f34a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f34b-200d-1f7e9.svg b/frontend/theme/img/emojis/svg/1f34b-200d-1f7e9.svg new file mode 100644 index 0000000..0c770a9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f34b-200d-1f7e9.svg @@ -0,0 +1 @@ + diff --git a/frontend/theme/img/emojis/svg/1f34b.svg b/frontend/theme/img/emojis/svg/1f34b.svg new file mode 100644 index 0000000..ffbdc08 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f34b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f34c.svg b/frontend/theme/img/emojis/svg/1f34c.svg new file mode 100644 index 0000000..b4120ba --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f34c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f34d.svg b/frontend/theme/img/emojis/svg/1f34d.svg new file mode 100644 index 0000000..e96999d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f34d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f34e.svg b/frontend/theme/img/emojis/svg/1f34e.svg new file mode 100644 index 0000000..2fe9886 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f34e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f34f.svg b/frontend/theme/img/emojis/svg/1f34f.svg new file mode 100644 index 0000000..1423d8a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f34f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f350.svg b/frontend/theme/img/emojis/svg/1f350.svg new file mode 100644 index 0000000..2888963 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f350.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f351.svg b/frontend/theme/img/emojis/svg/1f351.svg new file mode 100644 index 0000000..84e81f5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f351.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f352.svg b/frontend/theme/img/emojis/svg/1f352.svg new file mode 100644 index 0000000..bdba6bd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f352.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f353.svg b/frontend/theme/img/emojis/svg/1f353.svg new file mode 100644 index 0000000..26a41ee --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f353.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f354.svg b/frontend/theme/img/emojis/svg/1f354.svg new file mode 100644 index 0000000..a129dcc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f354.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f355.svg b/frontend/theme/img/emojis/svg/1f355.svg new file mode 100644 index 0000000..3a44bba --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f355.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f356.svg b/frontend/theme/img/emojis/svg/1f356.svg new file mode 100644 index 0000000..44fab59 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f356.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f357.svg b/frontend/theme/img/emojis/svg/1f357.svg new file mode 100644 index 0000000..77d0b87 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f357.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f358.svg b/frontend/theme/img/emojis/svg/1f358.svg new file mode 100644 index 0000000..f35a02e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f358.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f359.svg b/frontend/theme/img/emojis/svg/1f359.svg new file mode 100644 index 0000000..e508f8f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f359.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f35a.svg b/frontend/theme/img/emojis/svg/1f35a.svg new file mode 100644 index 0000000..04019a1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f35a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f35b.svg b/frontend/theme/img/emojis/svg/1f35b.svg new file mode 100644 index 0000000..be3be22 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f35b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f35c.svg b/frontend/theme/img/emojis/svg/1f35c.svg new file mode 100644 index 0000000..e9fc970 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f35c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f35d.svg b/frontend/theme/img/emojis/svg/1f35d.svg new file mode 100644 index 0000000..3ae82eb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f35d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f35e.svg b/frontend/theme/img/emojis/svg/1f35e.svg new file mode 100644 index 0000000..7d2af4e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f35e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f35f.svg b/frontend/theme/img/emojis/svg/1f35f.svg new file mode 100644 index 0000000..faac7ec --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f35f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f360.svg b/frontend/theme/img/emojis/svg/1f360.svg new file mode 100644 index 0000000..c2894e3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f360.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f361.svg b/frontend/theme/img/emojis/svg/1f361.svg new file mode 100644 index 0000000..e2537d9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f361.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f362.svg b/frontend/theme/img/emojis/svg/1f362.svg new file mode 100644 index 0000000..f5f7653 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f362.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f363.svg b/frontend/theme/img/emojis/svg/1f363.svg new file mode 100644 index 0000000..eed2b88 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f363.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f364.svg b/frontend/theme/img/emojis/svg/1f364.svg new file mode 100644 index 0000000..9130422 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f364.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f365.svg b/frontend/theme/img/emojis/svg/1f365.svg new file mode 100644 index 0000000..fd448da --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f365.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f366.svg b/frontend/theme/img/emojis/svg/1f366.svg new file mode 100644 index 0000000..9b869f8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f366.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f367.svg b/frontend/theme/img/emojis/svg/1f367.svg new file mode 100644 index 0000000..232dd3c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f367.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f368.svg b/frontend/theme/img/emojis/svg/1f368.svg new file mode 100644 index 0000000..187b2f4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f368.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f369.svg b/frontend/theme/img/emojis/svg/1f369.svg new file mode 100644 index 0000000..3c2aa58 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f369.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f36a.svg b/frontend/theme/img/emojis/svg/1f36a.svg new file mode 100644 index 0000000..4f5368a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f36a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f36b.svg b/frontend/theme/img/emojis/svg/1f36b.svg new file mode 100644 index 0000000..a993c9b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f36b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f36c.svg b/frontend/theme/img/emojis/svg/1f36c.svg new file mode 100644 index 0000000..f6fbf3b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f36c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f36d.svg b/frontend/theme/img/emojis/svg/1f36d.svg new file mode 100644 index 0000000..e13447e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f36d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f36e.svg b/frontend/theme/img/emojis/svg/1f36e.svg new file mode 100644 index 0000000..8ec5179 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f36e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f36f.svg b/frontend/theme/img/emojis/svg/1f36f.svg new file mode 100644 index 0000000..38c4dd5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f36f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f370.svg b/frontend/theme/img/emojis/svg/1f370.svg new file mode 100644 index 0000000..c6f2cf4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f370.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f371.svg b/frontend/theme/img/emojis/svg/1f371.svg new file mode 100644 index 0000000..c481184 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f371.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f372.svg b/frontend/theme/img/emojis/svg/1f372.svg new file mode 100644 index 0000000..37f9be8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f372.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f373.svg b/frontend/theme/img/emojis/svg/1f373.svg new file mode 100644 index 0000000..733dc2b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f373.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f374.svg b/frontend/theme/img/emojis/svg/1f374.svg new file mode 100644 index 0000000..e7de6c0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f374.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f375.svg b/frontend/theme/img/emojis/svg/1f375.svg new file mode 100644 index 0000000..7726963 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f375.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f376.svg b/frontend/theme/img/emojis/svg/1f376.svg new file mode 100644 index 0000000..2bb872e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f376.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f377.svg b/frontend/theme/img/emojis/svg/1f377.svg new file mode 100644 index 0000000..b792531 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f377.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f378.svg b/frontend/theme/img/emojis/svg/1f378.svg new file mode 100644 index 0000000..c8bc0ce --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f378.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f379.svg b/frontend/theme/img/emojis/svg/1f379.svg new file mode 100644 index 0000000..1c4db46 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f379.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f37a.svg b/frontend/theme/img/emojis/svg/1f37a.svg new file mode 100644 index 0000000..9e6a547 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f37a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f37b.svg b/frontend/theme/img/emojis/svg/1f37b.svg new file mode 100644 index 0000000..a8bcb20 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f37b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f37c.svg b/frontend/theme/img/emojis/svg/1f37c.svg new file mode 100644 index 0000000..61f6c8f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f37c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f37d.svg b/frontend/theme/img/emojis/svg/1f37d.svg new file mode 100644 index 0000000..7437a35 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f37d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f37e.svg b/frontend/theme/img/emojis/svg/1f37e.svg new file mode 100644 index 0000000..a02a17e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f37e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f37f.svg b/frontend/theme/img/emojis/svg/1f37f.svg new file mode 100644 index 0000000..ddbff6d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f37f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f380.svg b/frontend/theme/img/emojis/svg/1f380.svg new file mode 100644 index 0000000..03d4a75 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f380.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f381.svg b/frontend/theme/img/emojis/svg/1f381.svg new file mode 100644 index 0000000..1ab8298 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f381.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f382.svg b/frontend/theme/img/emojis/svg/1f382.svg new file mode 100644 index 0000000..35f9a00 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f382.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f383.svg b/frontend/theme/img/emojis/svg/1f383.svg new file mode 100644 index 0000000..591fc66 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f383.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f384.svg b/frontend/theme/img/emojis/svg/1f384.svg new file mode 100644 index 0000000..6e9b11e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f384.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f385-1f3fb.svg b/frontend/theme/img/emojis/svg/1f385-1f3fb.svg new file mode 100644 index 0000000..ef5c615 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f385-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f385-1f3fc.svg b/frontend/theme/img/emojis/svg/1f385-1f3fc.svg new file mode 100644 index 0000000..5adcdf4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f385-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f385-1f3fd.svg b/frontend/theme/img/emojis/svg/1f385-1f3fd.svg new file mode 100644 index 0000000..0a56a8b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f385-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f385-1f3fe.svg b/frontend/theme/img/emojis/svg/1f385-1f3fe.svg new file mode 100644 index 0000000..16b3b33 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f385-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f385-1f3ff.svg b/frontend/theme/img/emojis/svg/1f385-1f3ff.svg new file mode 100644 index 0000000..4923cbf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f385-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f385.svg b/frontend/theme/img/emojis/svg/1f385.svg new file mode 100644 index 0000000..9c61da6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f385.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f386.svg b/frontend/theme/img/emojis/svg/1f386.svg new file mode 100644 index 0000000..54a4f32 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f386.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f387.svg b/frontend/theme/img/emojis/svg/1f387.svg new file mode 100644 index 0000000..68cfb64 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f387.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f388.svg b/frontend/theme/img/emojis/svg/1f388.svg new file mode 100644 index 0000000..6d431bc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f388.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f389.svg b/frontend/theme/img/emojis/svg/1f389.svg new file mode 100644 index 0000000..a4b8305 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f389.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f38a.svg b/frontend/theme/img/emojis/svg/1f38a.svg new file mode 100644 index 0000000..e709775 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f38a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f38b.svg b/frontend/theme/img/emojis/svg/1f38b.svg new file mode 100644 index 0000000..0636380 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f38b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f38c.svg b/frontend/theme/img/emojis/svg/1f38c.svg new file mode 100644 index 0000000..a0dd350 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f38c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f38d.svg b/frontend/theme/img/emojis/svg/1f38d.svg new file mode 100644 index 0000000..a774540 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f38d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f38e.svg b/frontend/theme/img/emojis/svg/1f38e.svg new file mode 100644 index 0000000..56b4b80 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f38e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f38f.svg b/frontend/theme/img/emojis/svg/1f38f.svg new file mode 100644 index 0000000..5457d1e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f38f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f390.svg b/frontend/theme/img/emojis/svg/1f390.svg new file mode 100644 index 0000000..9aebc79 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f390.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f391.svg b/frontend/theme/img/emojis/svg/1f391.svg new file mode 100644 index 0000000..37c3a7e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f391.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f392.svg b/frontend/theme/img/emojis/svg/1f392.svg new file mode 100644 index 0000000..f44d568 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f392.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f393.svg b/frontend/theme/img/emojis/svg/1f393.svg new file mode 100644 index 0000000..dcf3893 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f393.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f396.svg b/frontend/theme/img/emojis/svg/1f396.svg new file mode 100644 index 0000000..b5c2269 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f396.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f397.svg b/frontend/theme/img/emojis/svg/1f397.svg new file mode 100644 index 0000000..1f419d4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f397.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f399.svg b/frontend/theme/img/emojis/svg/1f399.svg new file mode 100644 index 0000000..07881e4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f399.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f39a.svg b/frontend/theme/img/emojis/svg/1f39a.svg new file mode 100644 index 0000000..7071931 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f39a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f39b.svg b/frontend/theme/img/emojis/svg/1f39b.svg new file mode 100644 index 0000000..9d355c4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f39b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f39e.svg b/frontend/theme/img/emojis/svg/1f39e.svg new file mode 100644 index 0000000..01f9311 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f39e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f39f.svg b/frontend/theme/img/emojis/svg/1f39f.svg new file mode 100644 index 0000000..984f270 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f39f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3a0.svg b/frontend/theme/img/emojis/svg/1f3a0.svg new file mode 100644 index 0000000..35c75b6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3a0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3a1.svg b/frontend/theme/img/emojis/svg/1f3a1.svg new file mode 100644 index 0000000..c35744a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3a1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3a2.svg b/frontend/theme/img/emojis/svg/1f3a2.svg new file mode 100644 index 0000000..256d8af --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3a2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3a3.svg b/frontend/theme/img/emojis/svg/1f3a3.svg new file mode 100644 index 0000000..1a1df4f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3a3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3a4.svg b/frontend/theme/img/emojis/svg/1f3a4.svg new file mode 100644 index 0000000..e261334 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3a4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3a5.svg b/frontend/theme/img/emojis/svg/1f3a5.svg new file mode 100644 index 0000000..d6c68e0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3a5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3a6.svg b/frontend/theme/img/emojis/svg/1f3a6.svg new file mode 100644 index 0000000..04ba5e3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3a6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3a7.svg b/frontend/theme/img/emojis/svg/1f3a7.svg new file mode 100644 index 0000000..3a9df15 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3a7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3a8.svg b/frontend/theme/img/emojis/svg/1f3a8.svg new file mode 100644 index 0000000..3bfdea0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3a8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3a9.svg b/frontend/theme/img/emojis/svg/1f3a9.svg new file mode 100644 index 0000000..1017cef --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3a9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3aa.svg b/frontend/theme/img/emojis/svg/1f3aa.svg new file mode 100644 index 0000000..fec7dd2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3aa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ab.svg b/frontend/theme/img/emojis/svg/1f3ab.svg new file mode 100644 index 0000000..cd23401 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ac.svg b/frontend/theme/img/emojis/svg/1f3ac.svg new file mode 100644 index 0000000..3a32676 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ac.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ad.svg b/frontend/theme/img/emojis/svg/1f3ad.svg new file mode 100644 index 0000000..c8c9901 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ad.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ae.svg b/frontend/theme/img/emojis/svg/1f3ae.svg new file mode 100644 index 0000000..4ec08ae --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ae.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3af.svg b/frontend/theme/img/emojis/svg/1f3af.svg new file mode 100644 index 0000000..073817f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3b0.svg b/frontend/theme/img/emojis/svg/1f3b0.svg new file mode 100644 index 0000000..789fd08 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3b0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3b1.svg b/frontend/theme/img/emojis/svg/1f3b1.svg new file mode 100644 index 0000000..28abf33 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3b1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3b2.svg b/frontend/theme/img/emojis/svg/1f3b2.svg new file mode 100644 index 0000000..408f2f9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3b2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3b3.svg b/frontend/theme/img/emojis/svg/1f3b3.svg new file mode 100644 index 0000000..9227f28 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3b3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3b4.svg b/frontend/theme/img/emojis/svg/1f3b4.svg new file mode 100644 index 0000000..33d3e0f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3b4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3b5.svg b/frontend/theme/img/emojis/svg/1f3b5.svg new file mode 100644 index 0000000..c9286d2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3b5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3b6.svg b/frontend/theme/img/emojis/svg/1f3b6.svg new file mode 100644 index 0000000..f13b3b8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3b6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3b7.svg b/frontend/theme/img/emojis/svg/1f3b7.svg new file mode 100644 index 0000000..ed0f849 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3b7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3b8.svg b/frontend/theme/img/emojis/svg/1f3b8.svg new file mode 100644 index 0000000..22074a1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3b8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3b9.svg b/frontend/theme/img/emojis/svg/1f3b9.svg new file mode 100644 index 0000000..6ce8afd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3b9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ba.svg b/frontend/theme/img/emojis/svg/1f3ba.svg new file mode 100644 index 0000000..454ab78 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ba.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3bb.svg b/frontend/theme/img/emojis/svg/1f3bb.svg new file mode 100644 index 0000000..efb7d5d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3bb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3bc.svg b/frontend/theme/img/emojis/svg/1f3bc.svg new file mode 100644 index 0000000..5628fca --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3bd.svg b/frontend/theme/img/emojis/svg/1f3bd.svg new file mode 100644 index 0000000..8410aee --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3be.svg b/frontend/theme/img/emojis/svg/1f3be.svg new file mode 100644 index 0000000..323e5c4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3be.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3bf.svg b/frontend/theme/img/emojis/svg/1f3bf.svg new file mode 100644 index 0000000..a117c93 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3bf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c0.svg b/frontend/theme/img/emojis/svg/1f3c0.svg new file mode 100644 index 0000000..2469395 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c1.svg b/frontend/theme/img/emojis/svg/1f3c1.svg new file mode 100644 index 0000000..695f0ef --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c2-1f3fb.svg b/frontend/theme/img/emojis/svg/1f3c2-1f3fb.svg new file mode 100644 index 0000000..627fa06 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c2-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c2-1f3fc.svg b/frontend/theme/img/emojis/svg/1f3c2-1f3fc.svg new file mode 100644 index 0000000..c0090e1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c2-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c2-1f3fd.svg b/frontend/theme/img/emojis/svg/1f3c2-1f3fd.svg new file mode 100644 index 0000000..e71263c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c2-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c2-1f3fe.svg b/frontend/theme/img/emojis/svg/1f3c2-1f3fe.svg new file mode 100644 index 0000000..aa7ab8f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c2-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c2-1f3ff.svg b/frontend/theme/img/emojis/svg/1f3c2-1f3ff.svg new file mode 100644 index 0000000..9f66b45 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c2-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c2.svg b/frontend/theme/img/emojis/svg/1f3c2.svg new file mode 100644 index 0000000..bff2c08 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3fb-200d-2640-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3fb-200d-2640-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..3f617a1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3fb-200d-2640-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..9c559ab --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3fb-200d-2642-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3fb-200d-2642-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..3db1c62 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3fb-200d-2642-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..604a002 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3fb-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3fb-200d-27a1-fe0f.svg new file mode 100644 index 0000000..677b019 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3fb-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3fb.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3fb.svg new file mode 100644 index 0000000..c650508 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3fc-200d-2640-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3fc-200d-2640-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..b83eae1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3fc-200d-2640-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..2639daf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3fc-200d-2642-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3fc-200d-2642-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..bbfac67 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3fc-200d-2642-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..f93e9db --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3fc-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3fc-200d-27a1-fe0f.svg new file mode 100644 index 0000000..1c4f22f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3fc-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3fc.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3fc.svg new file mode 100644 index 0000000..d207d92 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3fd-200d-2640-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3fd-200d-2640-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..44a67a3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3fd-200d-2640-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..f2677ee --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3fd-200d-2642-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3fd-200d-2642-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..844f390 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3fd-200d-2642-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..847b7f6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3fd-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3fd-200d-27a1-fe0f.svg new file mode 100644 index 0000000..88bb1b6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3fd-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3fd.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3fd.svg new file mode 100644 index 0000000..54b5cbc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3fe-200d-2640-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3fe-200d-2640-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..c585dc5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3fe-200d-2640-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..175349d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3fe-200d-2642-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3fe-200d-2642-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..db2430d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3fe-200d-2642-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..51db6d6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3fe-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3fe-200d-27a1-fe0f.svg new file mode 100644 index 0000000..77444da --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3fe-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3fe.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3fe.svg new file mode 100644 index 0000000..7012bb1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3ff-200d-2640-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3ff-200d-2640-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..6b60b57 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3ff-200d-2640-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..b19ab88 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3ff-200d-2642-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3ff-200d-2642-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..96b880a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3ff-200d-2642-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..8188977 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3ff-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3ff-200d-27a1-fe0f.svg new file mode 100644 index 0000000..17de344 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3ff-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-1f3ff.svg b/frontend/theme/img/emojis/svg/1f3c3-1f3ff.svg new file mode 100644 index 0000000..b45b1e0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-200d-2640-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-200d-2640-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..f4b9cee --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-200d-2640-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-200d-2640-fe0f.svg new file mode 100644 index 0000000..9acdb7a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-200d-2642-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-200d-2642-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..691ea39 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-200d-2642-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-200d-2642-fe0f.svg new file mode 100644 index 0000000..42bc601 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c3-200d-27a1-fe0f.svg new file mode 100644 index 0000000..ef8b45a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c3.svg b/frontend/theme/img/emojis/svg/1f3c3.svg new file mode 100644 index 0000000..a9658d6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c4-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c4-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..c5f3081 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c4-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c4-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c4-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..e396618 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c4-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c4-1f3fb.svg b/frontend/theme/img/emojis/svg/1f3c4-1f3fb.svg new file mode 100644 index 0000000..600f4ae --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c4-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c4-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c4-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..2fcf3c6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c4-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c4-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c4-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..228af26 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c4-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c4-1f3fc.svg b/frontend/theme/img/emojis/svg/1f3c4-1f3fc.svg new file mode 100644 index 0000000..42a5f1d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c4-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c4-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c4-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..0d57555 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c4-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c4-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c4-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..521b554 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c4-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c4-1f3fd.svg b/frontend/theme/img/emojis/svg/1f3c4-1f3fd.svg new file mode 100644 index 0000000..0c13cab --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c4-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c4-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c4-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..6372f70 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c4-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c4-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c4-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..147c45a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c4-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c4-1f3fe.svg b/frontend/theme/img/emojis/svg/1f3c4-1f3fe.svg new file mode 100644 index 0000000..269f173 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c4-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c4-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c4-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..8cb8ad8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c4-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c4-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c4-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..0e0ef2e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c4-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c4-1f3ff.svg b/frontend/theme/img/emojis/svg/1f3c4-1f3ff.svg new file mode 100644 index 0000000..75cc514 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c4-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c4-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c4-200d-2640-fe0f.svg new file mode 100644 index 0000000..c33ecc7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c4-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c4-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3c4-200d-2642-fe0f.svg new file mode 100644 index 0000000..6da42a5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c4-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c4.svg b/frontend/theme/img/emojis/svg/1f3c4.svg new file mode 100644 index 0000000..53b4ec6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c5.svg b/frontend/theme/img/emojis/svg/1f3c5.svg new file mode 100644 index 0000000..a576ba8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c6.svg b/frontend/theme/img/emojis/svg/1f3c6.svg new file mode 100644 index 0000000..00457c3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c7-1f3fb.svg b/frontend/theme/img/emojis/svg/1f3c7-1f3fb.svg new file mode 100644 index 0000000..a48a00b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c7-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c7-1f3fc.svg b/frontend/theme/img/emojis/svg/1f3c7-1f3fc.svg new file mode 100644 index 0000000..f80fc32 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c7-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c7-1f3fd.svg b/frontend/theme/img/emojis/svg/1f3c7-1f3fd.svg new file mode 100644 index 0000000..0baedbc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c7-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c7-1f3fe.svg b/frontend/theme/img/emojis/svg/1f3c7-1f3fe.svg new file mode 100644 index 0000000..ef50b0b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c7-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c7-1f3ff.svg b/frontend/theme/img/emojis/svg/1f3c7-1f3ff.svg new file mode 100644 index 0000000..ba0de65 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c7-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c7.svg b/frontend/theme/img/emojis/svg/1f3c7.svg new file mode 100644 index 0000000..e4cf152 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c8.svg b/frontend/theme/img/emojis/svg/1f3c8.svg new file mode 100644 index 0000000..4f5530d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3c9.svg b/frontend/theme/img/emojis/svg/1f3c9.svg new file mode 100644 index 0000000..5e12c43 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3c9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ca-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3ca-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..6ce5dcd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ca-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ca-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3ca-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..b3e3455 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ca-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ca-1f3fb.svg b/frontend/theme/img/emojis/svg/1f3ca-1f3fb.svg new file mode 100644 index 0000000..cb149c3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ca-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ca-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3ca-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..a2457fc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ca-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ca-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3ca-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..86eda18 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ca-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ca-1f3fc.svg b/frontend/theme/img/emojis/svg/1f3ca-1f3fc.svg new file mode 100644 index 0000000..fd8f6f1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ca-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ca-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3ca-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..8704f5b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ca-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ca-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3ca-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..bf94422 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ca-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ca-1f3fd.svg b/frontend/theme/img/emojis/svg/1f3ca-1f3fd.svg new file mode 100644 index 0000000..36b8952 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ca-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ca-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3ca-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..4ee3a44 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ca-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ca-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3ca-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..e320765 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ca-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ca-1f3fe.svg b/frontend/theme/img/emojis/svg/1f3ca-1f3fe.svg new file mode 100644 index 0000000..0c54d99 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ca-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ca-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3ca-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..11f4bea --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ca-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ca-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3ca-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..a25741c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ca-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ca-1f3ff.svg b/frontend/theme/img/emojis/svg/1f3ca-1f3ff.svg new file mode 100644 index 0000000..65dd7f3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ca-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ca-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3ca-200d-2640-fe0f.svg new file mode 100644 index 0000000..dfc2cb6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ca-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ca-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3ca-200d-2642-fe0f.svg new file mode 100644 index 0000000..12bad06 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ca-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ca.svg b/frontend/theme/img/emojis/svg/1f3ca.svg new file mode 100644 index 0000000..4901376 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ca.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cb-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3cb-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..de38be1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cb-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cb-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3cb-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..1caeeb8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cb-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cb-1f3fb.svg b/frontend/theme/img/emojis/svg/1f3cb-1f3fb.svg new file mode 100644 index 0000000..8bcc454 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cb-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cb-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3cb-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..03f2935 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cb-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cb-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3cb-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..44953ab --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cb-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cb-1f3fc.svg b/frontend/theme/img/emojis/svg/1f3cb-1f3fc.svg new file mode 100644 index 0000000..2898d55 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cb-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cb-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3cb-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..00f68ee --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cb-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cb-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3cb-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..5401c2f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cb-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cb-1f3fd.svg b/frontend/theme/img/emojis/svg/1f3cb-1f3fd.svg new file mode 100644 index 0000000..6a8ede7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cb-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cb-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3cb-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..34e859a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cb-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cb-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3cb-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..b5f19bf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cb-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cb-1f3fe.svg b/frontend/theme/img/emojis/svg/1f3cb-1f3fe.svg new file mode 100644 index 0000000..465f6c5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cb-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cb-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3cb-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..117b92a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cb-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cb-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3cb-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..2cf83c4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cb-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cb-1f3ff.svg b/frontend/theme/img/emojis/svg/1f3cb-1f3ff.svg new file mode 100644 index 0000000..a557ed4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cb-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cb-fe0f-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3cb-fe0f-200d-2640-fe0f.svg new file mode 100644 index 0000000..1e2ac7f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cb-fe0f-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cb-fe0f-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3cb-fe0f-200d-2642-fe0f.svg new file mode 100644 index 0000000..f9bbcc9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cb-fe0f-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cb.svg b/frontend/theme/img/emojis/svg/1f3cb.svg new file mode 100644 index 0000000..78e9c7a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cc-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3cc-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..781baf6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cc-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cc-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3cc-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..f478ef1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cc-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cc-1f3fb.svg b/frontend/theme/img/emojis/svg/1f3cc-1f3fb.svg new file mode 100644 index 0000000..105b62c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cc-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cc-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3cc-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..61462b9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cc-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cc-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3cc-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..59373fd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cc-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cc-1f3fc.svg b/frontend/theme/img/emojis/svg/1f3cc-1f3fc.svg new file mode 100644 index 0000000..e69be13 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cc-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cc-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3cc-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..353c5c2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cc-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cc-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3cc-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..6e67562 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cc-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cc-1f3fd.svg b/frontend/theme/img/emojis/svg/1f3cc-1f3fd.svg new file mode 100644 index 0000000..d938cd7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cc-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cc-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3cc-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..9a9a856 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cc-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cc-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3cc-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..24031bb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cc-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cc-1f3fe.svg b/frontend/theme/img/emojis/svg/1f3cc-1f3fe.svg new file mode 100644 index 0000000..28f9169 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cc-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cc-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3cc-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..13af839 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cc-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cc-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3cc-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..6c8ed88 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cc-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cc-1f3ff.svg b/frontend/theme/img/emojis/svg/1f3cc-1f3ff.svg new file mode 100644 index 0000000..9160981 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cc-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cc-fe0f-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f3cc-fe0f-200d-2640-fe0f.svg new file mode 100644 index 0000000..859d12f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cc-fe0f-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cc-fe0f-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f3cc-fe0f-200d-2642-fe0f.svg new file mode 100644 index 0000000..1381d6d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cc-fe0f-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cc.svg b/frontend/theme/img/emojis/svg/1f3cc.svg new file mode 100644 index 0000000..6b973a2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cd.svg b/frontend/theme/img/emojis/svg/1f3cd.svg new file mode 100644 index 0000000..c51ccc3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ce.svg b/frontend/theme/img/emojis/svg/1f3ce.svg new file mode 100644 index 0000000..3f42716 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ce.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3cf.svg b/frontend/theme/img/emojis/svg/1f3cf.svg new file mode 100644 index 0000000..140db58 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3cf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3d0.svg b/frontend/theme/img/emojis/svg/1f3d0.svg new file mode 100644 index 0000000..b23cfc3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3d0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3d1.svg b/frontend/theme/img/emojis/svg/1f3d1.svg new file mode 100644 index 0000000..c367cef --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3d1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3d2.svg b/frontend/theme/img/emojis/svg/1f3d2.svg new file mode 100644 index 0000000..382c629 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3d2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3d3.svg b/frontend/theme/img/emojis/svg/1f3d3.svg new file mode 100644 index 0000000..6201ef5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3d3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3d4.svg b/frontend/theme/img/emojis/svg/1f3d4.svg new file mode 100644 index 0000000..8b78f31 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3d4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3d5.svg b/frontend/theme/img/emojis/svg/1f3d5.svg new file mode 100644 index 0000000..7a2fb80 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3d5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3d6.svg b/frontend/theme/img/emojis/svg/1f3d6.svg new file mode 100644 index 0000000..9428f90 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3d6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3d7.svg b/frontend/theme/img/emojis/svg/1f3d7.svg new file mode 100644 index 0000000..e77a170 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3d7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3d8.svg b/frontend/theme/img/emojis/svg/1f3d8.svg new file mode 100644 index 0000000..483f1ad --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3d8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3d9.svg b/frontend/theme/img/emojis/svg/1f3d9.svg new file mode 100644 index 0000000..b379d80 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3d9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3da.svg b/frontend/theme/img/emojis/svg/1f3da.svg new file mode 100644 index 0000000..5c5ade6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3da.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3db.svg b/frontend/theme/img/emojis/svg/1f3db.svg new file mode 100644 index 0000000..bdd0d45 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3db.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3dc.svg b/frontend/theme/img/emojis/svg/1f3dc.svg new file mode 100644 index 0000000..99baa8d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3dc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3dd.svg b/frontend/theme/img/emojis/svg/1f3dd.svg new file mode 100644 index 0000000..d66d8d4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3dd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3de.svg b/frontend/theme/img/emojis/svg/1f3de.svg new file mode 100644 index 0000000..940483b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3de.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3df.svg b/frontend/theme/img/emojis/svg/1f3df.svg new file mode 100644 index 0000000..248c6d9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3df.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3e0.svg b/frontend/theme/img/emojis/svg/1f3e0.svg new file mode 100644 index 0000000..0692739 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3e0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3e1.svg b/frontend/theme/img/emojis/svg/1f3e1.svg new file mode 100644 index 0000000..b44b728 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3e1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3e2.svg b/frontend/theme/img/emojis/svg/1f3e2.svg new file mode 100644 index 0000000..8d06ecd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3e2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3e3.svg b/frontend/theme/img/emojis/svg/1f3e3.svg new file mode 100644 index 0000000..132ba41 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3e3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3e4.svg b/frontend/theme/img/emojis/svg/1f3e4.svg new file mode 100644 index 0000000..7ac74e4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3e4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3e5.svg b/frontend/theme/img/emojis/svg/1f3e5.svg new file mode 100644 index 0000000..33884c8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3e5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3e6.svg b/frontend/theme/img/emojis/svg/1f3e6.svg new file mode 100644 index 0000000..2fd3fb0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3e6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3e7.svg b/frontend/theme/img/emojis/svg/1f3e7.svg new file mode 100644 index 0000000..e4c0000 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3e7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3e8.svg b/frontend/theme/img/emojis/svg/1f3e8.svg new file mode 100644 index 0000000..2d67b9a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3e8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3e9.svg b/frontend/theme/img/emojis/svg/1f3e9.svg new file mode 100644 index 0000000..9da5e44 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3e9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ea.svg b/frontend/theme/img/emojis/svg/1f3ea.svg new file mode 100644 index 0000000..87f3f96 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3eb.svg b/frontend/theme/img/emojis/svg/1f3eb.svg new file mode 100644 index 0000000..8be9e96 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ec.svg b/frontend/theme/img/emojis/svg/1f3ec.svg new file mode 100644 index 0000000..c30d022 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ec.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ed.svg b/frontend/theme/img/emojis/svg/1f3ed.svg new file mode 100644 index 0000000..04ee162 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ee.svg b/frontend/theme/img/emojis/svg/1f3ee.svg new file mode 100644 index 0000000..a825f2b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ee.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ef.svg b/frontend/theme/img/emojis/svg/1f3ef.svg new file mode 100644 index 0000000..2168399 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ef.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3f0.svg b/frontend/theme/img/emojis/svg/1f3f0.svg new file mode 100644 index 0000000..b4e3d19 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3f0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3f3-fe0f-200d-1f308.svg b/frontend/theme/img/emojis/svg/1f3f3-fe0f-200d-1f308.svg new file mode 100644 index 0000000..b1f9bbf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3f3-fe0f-200d-1f308.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3f3-fe0f-200d-26a7-fe0f.svg b/frontend/theme/img/emojis/svg/1f3f3-fe0f-200d-26a7-fe0f.svg new file mode 100644 index 0000000..a789852 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3f3-fe0f-200d-26a7-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3f3.svg b/frontend/theme/img/emojis/svg/1f3f3.svg new file mode 100644 index 0000000..2f21575 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3f3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3f4-200d-2620-fe0f.svg b/frontend/theme/img/emojis/svg/1f3f4-200d-2620-fe0f.svg new file mode 100644 index 0000000..ae0d531 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3f4-200d-2620-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.svg b/frontend/theme/img/emojis/svg/1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.svg new file mode 100644 index 0000000..fa20956 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.svg b/frontend/theme/img/emojis/svg/1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.svg new file mode 100644 index 0000000..bfb8b48 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.svg b/frontend/theme/img/emojis/svg/1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.svg new file mode 100644 index 0000000..a832676 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3f4.svg b/frontend/theme/img/emojis/svg/1f3f4.svg new file mode 100644 index 0000000..819ff64 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3f4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3f5.svg b/frontend/theme/img/emojis/svg/1f3f5.svg new file mode 100644 index 0000000..dfaa718 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3f5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3f7.svg b/frontend/theme/img/emojis/svg/1f3f7.svg new file mode 100644 index 0000000..6046266 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3f7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3f8.svg b/frontend/theme/img/emojis/svg/1f3f8.svg new file mode 100644 index 0000000..143f8ea --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3f8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3f9.svg b/frontend/theme/img/emojis/svg/1f3f9.svg new file mode 100644 index 0000000..3792212 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3f9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3fa.svg b/frontend/theme/img/emojis/svg/1f3fa.svg new file mode 100644 index 0000000..4c6b4d8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3fa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3fb.svg b/frontend/theme/img/emojis/svg/1f3fb.svg new file mode 100644 index 0000000..e1ac3e9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3fc.svg b/frontend/theme/img/emojis/svg/1f3fc.svg new file mode 100644 index 0000000..33c58c9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3fd.svg b/frontend/theme/img/emojis/svg/1f3fd.svg new file mode 100644 index 0000000..cb3c24e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3fe.svg b/frontend/theme/img/emojis/svg/1f3fe.svg new file mode 100644 index 0000000..7f34e60 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f3ff.svg b/frontend/theme/img/emojis/svg/1f3ff.svg new file mode 100644 index 0000000..64142d3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f400.svg b/frontend/theme/img/emojis/svg/1f400.svg new file mode 100644 index 0000000..d0a03a2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f400.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f401.svg b/frontend/theme/img/emojis/svg/1f401.svg new file mode 100644 index 0000000..365ab78 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f401.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f402.svg b/frontend/theme/img/emojis/svg/1f402.svg new file mode 100644 index 0000000..378164c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f402.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f403.svg b/frontend/theme/img/emojis/svg/1f403.svg new file mode 100644 index 0000000..33d0009 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f403.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f404.svg b/frontend/theme/img/emojis/svg/1f404.svg new file mode 100644 index 0000000..4c791dc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f404.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f405.svg b/frontend/theme/img/emojis/svg/1f405.svg new file mode 100644 index 0000000..c74ecf6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f405.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f406.svg b/frontend/theme/img/emojis/svg/1f406.svg new file mode 100644 index 0000000..4eaef09 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f406.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f407.svg b/frontend/theme/img/emojis/svg/1f407.svg new file mode 100644 index 0000000..71be122 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f407.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f408-200d-2b1b.svg b/frontend/theme/img/emojis/svg/1f408-200d-2b1b.svg new file mode 100644 index 0000000..cf7b1d9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f408-200d-2b1b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f408.svg b/frontend/theme/img/emojis/svg/1f408.svg new file mode 100644 index 0000000..edb55b1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f408.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f409.svg b/frontend/theme/img/emojis/svg/1f409.svg new file mode 100644 index 0000000..14e1765 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f409.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f40a.svg b/frontend/theme/img/emojis/svg/1f40a.svg new file mode 100644 index 0000000..a9a6deb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f40a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f40b.svg b/frontend/theme/img/emojis/svg/1f40b.svg new file mode 100644 index 0000000..8bf0a53 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f40b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f40c.svg b/frontend/theme/img/emojis/svg/1f40c.svg new file mode 100644 index 0000000..2c63658 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f40c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f40d.svg b/frontend/theme/img/emojis/svg/1f40d.svg new file mode 100644 index 0000000..1753178 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f40d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f40e.svg b/frontend/theme/img/emojis/svg/1f40e.svg new file mode 100644 index 0000000..1cd00b5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f40e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f40f.svg b/frontend/theme/img/emojis/svg/1f40f.svg new file mode 100644 index 0000000..f0ba99e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f40f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f410.svg b/frontend/theme/img/emojis/svg/1f410.svg new file mode 100644 index 0000000..83d3e56 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f410.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f411.svg b/frontend/theme/img/emojis/svg/1f411.svg new file mode 100644 index 0000000..891e670 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f411.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f412.svg b/frontend/theme/img/emojis/svg/1f412.svg new file mode 100644 index 0000000..6ffccee --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f412.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f413.svg b/frontend/theme/img/emojis/svg/1f413.svg new file mode 100644 index 0000000..29a4abe --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f413.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f414.svg b/frontend/theme/img/emojis/svg/1f414.svg new file mode 100644 index 0000000..b08f7a2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f414.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f415-200d-1f9ba.svg b/frontend/theme/img/emojis/svg/1f415-200d-1f9ba.svg new file mode 100644 index 0000000..0ba7fb3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f415-200d-1f9ba.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f415.svg b/frontend/theme/img/emojis/svg/1f415.svg new file mode 100644 index 0000000..c959deb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f415.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f416.svg b/frontend/theme/img/emojis/svg/1f416.svg new file mode 100644 index 0000000..9a71ef8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f416.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f417.svg b/frontend/theme/img/emojis/svg/1f417.svg new file mode 100644 index 0000000..ad7a77d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f417.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f418.svg b/frontend/theme/img/emojis/svg/1f418.svg new file mode 100644 index 0000000..fb9656c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f418.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f419.svg b/frontend/theme/img/emojis/svg/1f419.svg new file mode 100644 index 0000000..d915a8f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f419.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f41a.svg b/frontend/theme/img/emojis/svg/1f41a.svg new file mode 100644 index 0000000..804ece8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f41a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f41b.svg b/frontend/theme/img/emojis/svg/1f41b.svg new file mode 100644 index 0000000..f8986dd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f41b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f41c.svg b/frontend/theme/img/emojis/svg/1f41c.svg new file mode 100644 index 0000000..385b616 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f41c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f41d.svg b/frontend/theme/img/emojis/svg/1f41d.svg new file mode 100644 index 0000000..31e7882 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f41d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f41e.svg b/frontend/theme/img/emojis/svg/1f41e.svg new file mode 100644 index 0000000..f314ca9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f41e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f41f.svg b/frontend/theme/img/emojis/svg/1f41f.svg new file mode 100644 index 0000000..7d9ef41 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f41f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f420.svg b/frontend/theme/img/emojis/svg/1f420.svg new file mode 100644 index 0000000..ccc11c4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f420.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f421.svg b/frontend/theme/img/emojis/svg/1f421.svg new file mode 100644 index 0000000..13a7ddc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f421.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f422.svg b/frontend/theme/img/emojis/svg/1f422.svg new file mode 100644 index 0000000..fe4b659 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f422.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f423.svg b/frontend/theme/img/emojis/svg/1f423.svg new file mode 100644 index 0000000..98f9c82 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f423.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f424.svg b/frontend/theme/img/emojis/svg/1f424.svg new file mode 100644 index 0000000..1286ed3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f424.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f425.svg b/frontend/theme/img/emojis/svg/1f425.svg new file mode 100644 index 0000000..bcbd218 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f425.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f426-200d-1f525.svg b/frontend/theme/img/emojis/svg/1f426-200d-1f525.svg new file mode 100644 index 0000000..4ab5d04 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f426-200d-1f525.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f426-200d-2b1b.svg b/frontend/theme/img/emojis/svg/1f426-200d-2b1b.svg new file mode 100755 index 0000000..0790872 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f426-200d-2b1b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f426.svg b/frontend/theme/img/emojis/svg/1f426.svg new file mode 100644 index 0000000..06d93a9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f426.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f427.svg b/frontend/theme/img/emojis/svg/1f427.svg new file mode 100644 index 0000000..fe34d91 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f427.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f428.svg b/frontend/theme/img/emojis/svg/1f428.svg new file mode 100644 index 0000000..1da7190 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f428.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f429.svg b/frontend/theme/img/emojis/svg/1f429.svg new file mode 100644 index 0000000..0ffd082 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f429.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f42a.svg b/frontend/theme/img/emojis/svg/1f42a.svg new file mode 100644 index 0000000..278e144 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f42a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f42b.svg b/frontend/theme/img/emojis/svg/1f42b.svg new file mode 100644 index 0000000..8d60286 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f42b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f42c.svg b/frontend/theme/img/emojis/svg/1f42c.svg new file mode 100644 index 0000000..ee782f2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f42c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f42d.svg b/frontend/theme/img/emojis/svg/1f42d.svg new file mode 100644 index 0000000..91e1262 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f42d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f42e.svg b/frontend/theme/img/emojis/svg/1f42e.svg new file mode 100644 index 0000000..40fede0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f42e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f42f.svg b/frontend/theme/img/emojis/svg/1f42f.svg new file mode 100644 index 0000000..5ecd980 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f42f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f430.svg b/frontend/theme/img/emojis/svg/1f430.svg new file mode 100644 index 0000000..2f70f96 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f430.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f431.svg b/frontend/theme/img/emojis/svg/1f431.svg new file mode 100644 index 0000000..cc75dcc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f431.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f432.svg b/frontend/theme/img/emojis/svg/1f432.svg new file mode 100644 index 0000000..1c1b434 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f432.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f433.svg b/frontend/theme/img/emojis/svg/1f433.svg new file mode 100644 index 0000000..f00ea10 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f433.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f434.svg b/frontend/theme/img/emojis/svg/1f434.svg new file mode 100644 index 0000000..9aa7d69 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f434.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f435.svg b/frontend/theme/img/emojis/svg/1f435.svg new file mode 100644 index 0000000..ee6c57c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f435.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f436.svg b/frontend/theme/img/emojis/svg/1f436.svg new file mode 100644 index 0000000..8b2e685 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f436.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f437.svg b/frontend/theme/img/emojis/svg/1f437.svg new file mode 100644 index 0000000..49175ea --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f437.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f438.svg b/frontend/theme/img/emojis/svg/1f438.svg new file mode 100644 index 0000000..74ddb59 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f438.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f439.svg b/frontend/theme/img/emojis/svg/1f439.svg new file mode 100644 index 0000000..9bb7bae --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f439.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f43a.svg b/frontend/theme/img/emojis/svg/1f43a.svg new file mode 100644 index 0000000..af40205 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f43a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f43b-200d-2744-fe0f.svg b/frontend/theme/img/emojis/svg/1f43b-200d-2744-fe0f.svg new file mode 100644 index 0000000..dc70f18 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f43b-200d-2744-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f43b.svg b/frontend/theme/img/emojis/svg/1f43b.svg new file mode 100644 index 0000000..5022441 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f43b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f43c.svg b/frontend/theme/img/emojis/svg/1f43c.svg new file mode 100644 index 0000000..8607893 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f43c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f43d.svg b/frontend/theme/img/emojis/svg/1f43d.svg new file mode 100644 index 0000000..071722d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f43d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f43e.svg b/frontend/theme/img/emojis/svg/1f43e.svg new file mode 100644 index 0000000..4001367 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f43e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f43f.svg b/frontend/theme/img/emojis/svg/1f43f.svg new file mode 100644 index 0000000..3676874 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f43f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f440.svg b/frontend/theme/img/emojis/svg/1f440.svg new file mode 100644 index 0000000..46a268f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f440.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f441-200d-1f5e8.svg b/frontend/theme/img/emojis/svg/1f441-200d-1f5e8.svg new file mode 100644 index 0000000..ebe9061 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f441-200d-1f5e8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f441.svg b/frontend/theme/img/emojis/svg/1f441.svg new file mode 100644 index 0000000..bd1a45e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f441.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f442-1f3fb.svg b/frontend/theme/img/emojis/svg/1f442-1f3fb.svg new file mode 100644 index 0000000..75194c5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f442-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f442-1f3fc.svg b/frontend/theme/img/emojis/svg/1f442-1f3fc.svg new file mode 100644 index 0000000..f4ae52f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f442-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f442-1f3fd.svg b/frontend/theme/img/emojis/svg/1f442-1f3fd.svg new file mode 100644 index 0000000..da1d80a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f442-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f442-1f3fe.svg b/frontend/theme/img/emojis/svg/1f442-1f3fe.svg new file mode 100644 index 0000000..f54144b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f442-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f442-1f3ff.svg b/frontend/theme/img/emojis/svg/1f442-1f3ff.svg new file mode 100644 index 0000000..8454512 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f442-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f442.svg b/frontend/theme/img/emojis/svg/1f442.svg new file mode 100644 index 0000000..1b386c7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f442.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f443-1f3fb.svg b/frontend/theme/img/emojis/svg/1f443-1f3fb.svg new file mode 100644 index 0000000..ba2e3dc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f443-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f443-1f3fc.svg b/frontend/theme/img/emojis/svg/1f443-1f3fc.svg new file mode 100644 index 0000000..e953ffd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f443-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f443-1f3fd.svg b/frontend/theme/img/emojis/svg/1f443-1f3fd.svg new file mode 100644 index 0000000..fff0434 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f443-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f443-1f3fe.svg b/frontend/theme/img/emojis/svg/1f443-1f3fe.svg new file mode 100644 index 0000000..bfb4961 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f443-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f443-1f3ff.svg b/frontend/theme/img/emojis/svg/1f443-1f3ff.svg new file mode 100644 index 0000000..e9c466d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f443-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f443.svg b/frontend/theme/img/emojis/svg/1f443.svg new file mode 100644 index 0000000..654a6f2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f443.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f444.svg b/frontend/theme/img/emojis/svg/1f444.svg new file mode 100644 index 0000000..e8a29c4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f444.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f445.svg b/frontend/theme/img/emojis/svg/1f445.svg new file mode 100644 index 0000000..64386b9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f445.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f446-1f3fb.svg b/frontend/theme/img/emojis/svg/1f446-1f3fb.svg new file mode 100644 index 0000000..4b66516 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f446-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f446-1f3fc.svg b/frontend/theme/img/emojis/svg/1f446-1f3fc.svg new file mode 100644 index 0000000..f2f8023 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f446-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f446-1f3fd.svg b/frontend/theme/img/emojis/svg/1f446-1f3fd.svg new file mode 100644 index 0000000..8a35f11 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f446-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f446-1f3fe.svg b/frontend/theme/img/emojis/svg/1f446-1f3fe.svg new file mode 100644 index 0000000..dce82c5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f446-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f446-1f3ff.svg b/frontend/theme/img/emojis/svg/1f446-1f3ff.svg new file mode 100644 index 0000000..5649230 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f446-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f446.svg b/frontend/theme/img/emojis/svg/1f446.svg new file mode 100644 index 0000000..46bc359 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f446.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f447-1f3fb.svg b/frontend/theme/img/emojis/svg/1f447-1f3fb.svg new file mode 100644 index 0000000..5d5c679 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f447-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f447-1f3fc.svg b/frontend/theme/img/emojis/svg/1f447-1f3fc.svg new file mode 100644 index 0000000..6191d80 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f447-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f447-1f3fd.svg b/frontend/theme/img/emojis/svg/1f447-1f3fd.svg new file mode 100644 index 0000000..553f3b9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f447-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f447-1f3fe.svg b/frontend/theme/img/emojis/svg/1f447-1f3fe.svg new file mode 100644 index 0000000..2d7fc57 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f447-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f447-1f3ff.svg b/frontend/theme/img/emojis/svg/1f447-1f3ff.svg new file mode 100644 index 0000000..e64a83e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f447-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f447.svg b/frontend/theme/img/emojis/svg/1f447.svg new file mode 100644 index 0000000..b3df617 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f447.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f448-1f3fb.svg b/frontend/theme/img/emojis/svg/1f448-1f3fb.svg new file mode 100644 index 0000000..452e173 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f448-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f448-1f3fc.svg b/frontend/theme/img/emojis/svg/1f448-1f3fc.svg new file mode 100644 index 0000000..698207e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f448-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f448-1f3fd.svg b/frontend/theme/img/emojis/svg/1f448-1f3fd.svg new file mode 100644 index 0000000..dec8dbe --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f448-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f448-1f3fe.svg b/frontend/theme/img/emojis/svg/1f448-1f3fe.svg new file mode 100644 index 0000000..60e329d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f448-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f448-1f3ff.svg b/frontend/theme/img/emojis/svg/1f448-1f3ff.svg new file mode 100644 index 0000000..58e8509 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f448-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f448.svg b/frontend/theme/img/emojis/svg/1f448.svg new file mode 100644 index 0000000..10cf55f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f448.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f449-1f3fb.svg b/frontend/theme/img/emojis/svg/1f449-1f3fb.svg new file mode 100644 index 0000000..76635f2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f449-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f449-1f3fc.svg b/frontend/theme/img/emojis/svg/1f449-1f3fc.svg new file mode 100644 index 0000000..4f03a7e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f449-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f449-1f3fd.svg b/frontend/theme/img/emojis/svg/1f449-1f3fd.svg new file mode 100644 index 0000000..5b90a8a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f449-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f449-1f3fe.svg b/frontend/theme/img/emojis/svg/1f449-1f3fe.svg new file mode 100644 index 0000000..75257c1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f449-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f449-1f3ff.svg b/frontend/theme/img/emojis/svg/1f449-1f3ff.svg new file mode 100644 index 0000000..d7b5893 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f449-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f449.svg b/frontend/theme/img/emojis/svg/1f449.svg new file mode 100644 index 0000000..f8c6a4b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f449.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44a-1f3fb.svg b/frontend/theme/img/emojis/svg/1f44a-1f3fb.svg new file mode 100644 index 0000000..c113b4a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44a-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44a-1f3fc.svg b/frontend/theme/img/emojis/svg/1f44a-1f3fc.svg new file mode 100644 index 0000000..54cdf85 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44a-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44a-1f3fd.svg b/frontend/theme/img/emojis/svg/1f44a-1f3fd.svg new file mode 100644 index 0000000..b798e5b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44a-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44a-1f3fe.svg b/frontend/theme/img/emojis/svg/1f44a-1f3fe.svg new file mode 100644 index 0000000..c9b1cf6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44a-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44a-1f3ff.svg b/frontend/theme/img/emojis/svg/1f44a-1f3ff.svg new file mode 100644 index 0000000..faa58cb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44a-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44a.svg b/frontend/theme/img/emojis/svg/1f44a.svg new file mode 100644 index 0000000..813373e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44b-1f3fb.svg b/frontend/theme/img/emojis/svg/1f44b-1f3fb.svg new file mode 100644 index 0000000..de8871d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44b-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44b-1f3fc.svg b/frontend/theme/img/emojis/svg/1f44b-1f3fc.svg new file mode 100644 index 0000000..beec31c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44b-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44b-1f3fd.svg b/frontend/theme/img/emojis/svg/1f44b-1f3fd.svg new file mode 100644 index 0000000..975f489 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44b-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44b-1f3fe.svg b/frontend/theme/img/emojis/svg/1f44b-1f3fe.svg new file mode 100644 index 0000000..13c59cf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44b-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44b-1f3ff.svg b/frontend/theme/img/emojis/svg/1f44b-1f3ff.svg new file mode 100644 index 0000000..1ce9ef3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44b-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44b.svg b/frontend/theme/img/emojis/svg/1f44b.svg new file mode 100644 index 0000000..8942c68 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44c-1f3fb.svg b/frontend/theme/img/emojis/svg/1f44c-1f3fb.svg new file mode 100644 index 0000000..e54788d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44c-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44c-1f3fc.svg b/frontend/theme/img/emojis/svg/1f44c-1f3fc.svg new file mode 100644 index 0000000..e96a258 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44c-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44c-1f3fd.svg b/frontend/theme/img/emojis/svg/1f44c-1f3fd.svg new file mode 100644 index 0000000..6e52b17 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44c-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44c-1f3fe.svg b/frontend/theme/img/emojis/svg/1f44c-1f3fe.svg new file mode 100644 index 0000000..91cb40e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44c-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44c-1f3ff.svg b/frontend/theme/img/emojis/svg/1f44c-1f3ff.svg new file mode 100644 index 0000000..ffa03f7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44c-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44c.svg b/frontend/theme/img/emojis/svg/1f44c.svg new file mode 100644 index 0000000..c36d774 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44d-1f3fb.svg b/frontend/theme/img/emojis/svg/1f44d-1f3fb.svg new file mode 100644 index 0000000..ac1ab02 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44d-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44d-1f3fc.svg b/frontend/theme/img/emojis/svg/1f44d-1f3fc.svg new file mode 100644 index 0000000..e5d4b0d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44d-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44d-1f3fd.svg b/frontend/theme/img/emojis/svg/1f44d-1f3fd.svg new file mode 100644 index 0000000..7dde229 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44d-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44d-1f3fe.svg b/frontend/theme/img/emojis/svg/1f44d-1f3fe.svg new file mode 100644 index 0000000..a0b1565 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44d-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44d-1f3ff.svg b/frontend/theme/img/emojis/svg/1f44d-1f3ff.svg new file mode 100644 index 0000000..dc21efc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44d-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44d.svg b/frontend/theme/img/emojis/svg/1f44d.svg new file mode 100644 index 0000000..595672d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44e-1f3fb.svg b/frontend/theme/img/emojis/svg/1f44e-1f3fb.svg new file mode 100644 index 0000000..cf3616e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44e-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44e-1f3fc.svg b/frontend/theme/img/emojis/svg/1f44e-1f3fc.svg new file mode 100644 index 0000000..e929cab --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44e-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44e-1f3fd.svg b/frontend/theme/img/emojis/svg/1f44e-1f3fd.svg new file mode 100644 index 0000000..0584fd0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44e-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44e-1f3fe.svg b/frontend/theme/img/emojis/svg/1f44e-1f3fe.svg new file mode 100644 index 0000000..88af00e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44e-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44e-1f3ff.svg b/frontend/theme/img/emojis/svg/1f44e-1f3ff.svg new file mode 100644 index 0000000..0e8c62e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44e-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44e.svg b/frontend/theme/img/emojis/svg/1f44e.svg new file mode 100644 index 0000000..1569ad0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44f-1f3fb.svg b/frontend/theme/img/emojis/svg/1f44f-1f3fb.svg new file mode 100644 index 0000000..27feea2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44f-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44f-1f3fc.svg b/frontend/theme/img/emojis/svg/1f44f-1f3fc.svg new file mode 100644 index 0000000..7edc947 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44f-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44f-1f3fd.svg b/frontend/theme/img/emojis/svg/1f44f-1f3fd.svg new file mode 100644 index 0000000..93201cf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44f-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44f-1f3fe.svg b/frontend/theme/img/emojis/svg/1f44f-1f3fe.svg new file mode 100644 index 0000000..0301e0c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44f-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44f-1f3ff.svg b/frontend/theme/img/emojis/svg/1f44f-1f3ff.svg new file mode 100644 index 0000000..eec087b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44f-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f44f.svg b/frontend/theme/img/emojis/svg/1f44f.svg new file mode 100644 index 0000000..2ed7b62 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f44f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f450-1f3fb.svg b/frontend/theme/img/emojis/svg/1f450-1f3fb.svg new file mode 100644 index 0000000..621c9f6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f450-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f450-1f3fc.svg b/frontend/theme/img/emojis/svg/1f450-1f3fc.svg new file mode 100644 index 0000000..70b490f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f450-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f450-1f3fd.svg b/frontend/theme/img/emojis/svg/1f450-1f3fd.svg new file mode 100644 index 0000000..a894436 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f450-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f450-1f3fe.svg b/frontend/theme/img/emojis/svg/1f450-1f3fe.svg new file mode 100644 index 0000000..e31b85c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f450-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f450-1f3ff.svg b/frontend/theme/img/emojis/svg/1f450-1f3ff.svg new file mode 100644 index 0000000..c0d8fc4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f450-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f450.svg b/frontend/theme/img/emojis/svg/1f450.svg new file mode 100644 index 0000000..eebee25 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f450.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f451.svg b/frontend/theme/img/emojis/svg/1f451.svg new file mode 100644 index 0000000..4db8d2b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f451.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f452.svg b/frontend/theme/img/emojis/svg/1f452.svg new file mode 100644 index 0000000..4b64744 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f452.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f453.svg b/frontend/theme/img/emojis/svg/1f453.svg new file mode 100644 index 0000000..18d9998 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f453.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f454.svg b/frontend/theme/img/emojis/svg/1f454.svg new file mode 100644 index 0000000..8e860d6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f454.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f455.svg b/frontend/theme/img/emojis/svg/1f455.svg new file mode 100644 index 0000000..1db4820 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f455.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f456.svg b/frontend/theme/img/emojis/svg/1f456.svg new file mode 100644 index 0000000..44191ae --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f456.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f457.svg b/frontend/theme/img/emojis/svg/1f457.svg new file mode 100644 index 0000000..29cc45c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f457.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f458.svg b/frontend/theme/img/emojis/svg/1f458.svg new file mode 100644 index 0000000..7c955e9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f458.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f459.svg b/frontend/theme/img/emojis/svg/1f459.svg new file mode 100644 index 0000000..ed327f1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f459.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f45a.svg b/frontend/theme/img/emojis/svg/1f45a.svg new file mode 100644 index 0000000..9d6306c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f45a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f45b.svg b/frontend/theme/img/emojis/svg/1f45b.svg new file mode 100644 index 0000000..bb404a2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f45b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f45c.svg b/frontend/theme/img/emojis/svg/1f45c.svg new file mode 100644 index 0000000..3093d6b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f45c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f45d.svg b/frontend/theme/img/emojis/svg/1f45d.svg new file mode 100644 index 0000000..6d6b136 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f45d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f45e.svg b/frontend/theme/img/emojis/svg/1f45e.svg new file mode 100644 index 0000000..fe94bf5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f45e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f45f.svg b/frontend/theme/img/emojis/svg/1f45f.svg new file mode 100644 index 0000000..f0c998c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f45f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f460.svg b/frontend/theme/img/emojis/svg/1f460.svg new file mode 100644 index 0000000..f3aaf44 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f460.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f461.svg b/frontend/theme/img/emojis/svg/1f461.svg new file mode 100644 index 0000000..c2f62e4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f461.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f462.svg b/frontend/theme/img/emojis/svg/1f462.svg new file mode 100644 index 0000000..641dd8b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f462.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f463.svg b/frontend/theme/img/emojis/svg/1f463.svg new file mode 100644 index 0000000..bc37ac0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f463.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f464.svg b/frontend/theme/img/emojis/svg/1f464.svg new file mode 100644 index 0000000..51d02dd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f464.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f465.svg b/frontend/theme/img/emojis/svg/1f465.svg new file mode 100644 index 0000000..076c6e7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f465.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f466-1f3fb.svg b/frontend/theme/img/emojis/svg/1f466-1f3fb.svg new file mode 100644 index 0000000..449e089 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f466-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f466-1f3fc.svg b/frontend/theme/img/emojis/svg/1f466-1f3fc.svg new file mode 100644 index 0000000..20f7bf0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f466-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f466-1f3fd.svg b/frontend/theme/img/emojis/svg/1f466-1f3fd.svg new file mode 100644 index 0000000..3b4f0db --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f466-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f466-1f3fe.svg b/frontend/theme/img/emojis/svg/1f466-1f3fe.svg new file mode 100644 index 0000000..197d830 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f466-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f466-1f3ff.svg b/frontend/theme/img/emojis/svg/1f466-1f3ff.svg new file mode 100644 index 0000000..c4d1e1a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f466-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f466.svg b/frontend/theme/img/emojis/svg/1f466.svg new file mode 100644 index 0000000..de1318c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f466.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f467-1f3fb.svg b/frontend/theme/img/emojis/svg/1f467-1f3fb.svg new file mode 100644 index 0000000..887df9f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f467-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f467-1f3fc.svg b/frontend/theme/img/emojis/svg/1f467-1f3fc.svg new file mode 100644 index 0000000..98c0956 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f467-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f467-1f3fd.svg b/frontend/theme/img/emojis/svg/1f467-1f3fd.svg new file mode 100644 index 0000000..058874c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f467-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f467-1f3fe.svg b/frontend/theme/img/emojis/svg/1f467-1f3fe.svg new file mode 100644 index 0000000..dd656d8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f467-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f467-1f3ff.svg b/frontend/theme/img/emojis/svg/1f467-1f3ff.svg new file mode 100644 index 0000000..2f9980a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f467-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f467.svg b/frontend/theme/img/emojis/svg/1f467.svg new file mode 100644 index 0000000..e40a858 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f467.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f33e.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f33e.svg new file mode 100644 index 0000000..e9ce829 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f33e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f373.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f373.svg new file mode 100644 index 0000000..a972e6a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f373.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f37c.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f37c.svg new file mode 100644 index 0000000..19c8fff --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f37c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f384.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f384.svg new file mode 100644 index 0000000..ef5c615 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f384.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f393.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f393.svg new file mode 100644 index 0000000..e4f480f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f393.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f3a4.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f3a4.svg new file mode 100644 index 0000000..03b4f98 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f3a4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f3a8.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f3a8.svg new file mode 100644 index 0000000..c524909 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f3a8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f3eb.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f3eb.svg new file mode 100644 index 0000000..b8b0f12 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f3eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f3ed.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f3ed.svg new file mode 100644 index 0000000..96b4586 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f3ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f430-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f430-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..2e8dec7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f430-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f430-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f430-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..c8c2d30 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f430-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f430-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f430-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..77bbdc4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f430-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f430-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f430-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..bb0ab79 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f430-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f4bb.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f4bb.svg new file mode 100644 index 0000000..70ea65e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f4bb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f4bc.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f4bc.svg new file mode 100644 index 0000000..06f7891 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f4bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f527.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f527.svg new file mode 100644 index 0000000..fc9059e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f527.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f52c.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f52c.svg new file mode 100644 index 0000000..08440f0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f52c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f680.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f680.svg new file mode 100644 index 0000000..8492ec9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f680.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f692.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f692.svg new file mode 100644 index 0000000..4d32c4d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f692.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f91d-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f91d-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..7ad1503 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f91d-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f91d-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f91d-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..a431a10 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f91d-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f91d-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f91d-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..26df526 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f91d-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f91d-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f91d-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..aba57a3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f91d-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9af-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9af-200d-27a1-fe0f.svg new file mode 100644 index 0000000..fb3b9fa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9af-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9af.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9af.svg new file mode 100644 index 0000000..06f7b2c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9b0.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9b0.svg new file mode 100644 index 0000000..e627fbc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9b0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9b1.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9b1.svg new file mode 100644 index 0000000..d21a1f7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9b1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9b2.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9b2.svg new file mode 100644 index 0000000..9c89431 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9b2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9b3.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9b3.svg new file mode 100644 index 0000000..66c62c1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9b3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9bc-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9bc-200d-27a1-fe0f.svg new file mode 100644 index 0000000..ce8a73e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9bc-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9bc.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9bc.svg new file mode 100644 index 0000000..0127845 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9bd-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9bd-200d-27a1-fe0f.svg new file mode 100644 index 0000000..7c547a7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9bd-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9bd.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9bd.svg new file mode 100644 index 0000000..7d0c06d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1f9bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1faef-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1faef-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..97a3280 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1faef-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1faef-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1faef-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..be7bef8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1faef-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1faef-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1faef-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..b5a4711 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1faef-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1faef-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1faef-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..14208da --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-1faef-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2695-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2695-fe0f.svg new file mode 100644 index 0000000..7e239f0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2695-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2696-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2696-fe0f.svg new file mode 100644 index 0000000..78a2a14 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2696-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2708-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2708-fe0f.svg new file mode 100644 index 0000000..fb5ef4b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2708-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..d5fafaa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..ba00963 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..9a9e5aa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..84271ca --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..2c19779 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..0a15846 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..3c29712 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..6aca82f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..c8d0b8b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..73928de --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f468-1f3fb.svg new file mode 100644 index 0000000..1ab8ea0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f33e.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f33e.svg new file mode 100644 index 0000000..a75bacf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f33e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f373.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f373.svg new file mode 100644 index 0000000..1ec6e02 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f373.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f37c.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f37c.svg new file mode 100644 index 0000000..5d70299 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f37c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f384.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f384.svg new file mode 100644 index 0000000..5adcdf4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f384.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f393.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f393.svg new file mode 100644 index 0000000..960ff27 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f393.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f3a4.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f3a4.svg new file mode 100644 index 0000000..e113794 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f3a4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f3a8.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f3a8.svg new file mode 100644 index 0000000..cce25b7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f3a8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f3eb.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f3eb.svg new file mode 100644 index 0000000..fb6f4f4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f3eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f3ed.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f3ed.svg new file mode 100644 index 0000000..22ad9bf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f3ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f430-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f430-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..1fa8298 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f430-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f430-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f430-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..6b45b34 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f430-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f430-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f430-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..f39734d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f430-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f430-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f430-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..6ee9943 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f430-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f4bb.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f4bb.svg new file mode 100644 index 0000000..038a4fc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f4bb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f4bc.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f4bc.svg new file mode 100644 index 0000000..c07947b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f4bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f527.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f527.svg new file mode 100644 index 0000000..d0bf573 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f527.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f52c.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f52c.svg new file mode 100644 index 0000000..0cbcdf1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f52c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f680.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f680.svg new file mode 100644 index 0000000..b1567a6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f680.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f692.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f692.svg new file mode 100644 index 0000000..ae76271 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f692.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f91d-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f91d-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..2c04288 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f91d-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f91d-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f91d-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..461f95d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f91d-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f91d-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f91d-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..50adc8b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f91d-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f91d-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f91d-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..fb82cc5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f91d-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9af-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9af-200d-27a1-fe0f.svg new file mode 100644 index 0000000..980b1ce --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9af-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9af.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9af.svg new file mode 100644 index 0000000..77eb172 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9b0.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9b0.svg new file mode 100644 index 0000000..9582c89 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9b0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9b1.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9b1.svg new file mode 100644 index 0000000..bb09af9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9b1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9b2.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9b2.svg new file mode 100644 index 0000000..5930864 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9b2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9b3.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9b3.svg new file mode 100644 index 0000000..f4e0f36 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9b3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9bc-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9bc-200d-27a1-fe0f.svg new file mode 100644 index 0000000..d9478bb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9bc-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9bc.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9bc.svg new file mode 100644 index 0000000..08bc53e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9bd-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9bd-200d-27a1-fe0f.svg new file mode 100644 index 0000000..1b6ed6b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9bd-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9bd.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9bd.svg new file mode 100644 index 0000000..6fbe065 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1f9bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1faef-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1faef-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..a88da08 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1faef-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1faef-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1faef-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..b48aac2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1faef-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1faef-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1faef-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..3badf7e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1faef-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1faef-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1faef-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..cee41ed --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-1faef-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2695-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2695-fe0f.svg new file mode 100644 index 0000000..e2f3fc6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2695-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2696-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2696-fe0f.svg new file mode 100644 index 0000000..214293e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2696-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2708-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2708-fe0f.svg new file mode 100644 index 0000000..0010ed1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2708-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..078e78a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..aa77842 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..15e6ad3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..e0cceb6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..882bfbf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..1042a95 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..84edcd4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..dd31c8a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..56780ef --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..660d27b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f468-1f3fc.svg new file mode 100644 index 0000000..658aeab --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f33e.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f33e.svg new file mode 100644 index 0000000..20b878f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f33e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f373.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f373.svg new file mode 100644 index 0000000..137e760 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f373.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f37c.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f37c.svg new file mode 100644 index 0000000..46f2ea1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f37c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f384.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f384.svg new file mode 100644 index 0000000..0a56a8b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f384.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f393.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f393.svg new file mode 100644 index 0000000..2383bc6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f393.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f3a4.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f3a4.svg new file mode 100644 index 0000000..69b4dbc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f3a4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f3a8.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f3a8.svg new file mode 100644 index 0000000..115850f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f3a8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f3eb.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f3eb.svg new file mode 100644 index 0000000..5ee09e0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f3eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f3ed.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f3ed.svg new file mode 100644 index 0000000..c78c5b7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f3ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f430-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f430-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..dc3e2bb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f430-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f430-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f430-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..aa02e56 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f430-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f430-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f430-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..3407ced --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f430-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f430-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f430-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..d1d039b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f430-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f4bb.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f4bb.svg new file mode 100644 index 0000000..e87322a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f4bb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f4bc.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f4bc.svg new file mode 100644 index 0000000..0aa43d9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f4bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f527.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f527.svg new file mode 100644 index 0000000..a21d33d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f527.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f52c.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f52c.svg new file mode 100644 index 0000000..bb745ed --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f52c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f680.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f680.svg new file mode 100644 index 0000000..d6daa5d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f680.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f692.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f692.svg new file mode 100644 index 0000000..42308ee --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f692.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f91d-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f91d-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..c74eea4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f91d-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f91d-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f91d-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..020e414 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f91d-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f91d-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f91d-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..f9acaa5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f91d-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f91d-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f91d-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..6ebf806 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f91d-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9af-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9af-200d-27a1-fe0f.svg new file mode 100644 index 0000000..2317b58 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9af-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9af.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9af.svg new file mode 100644 index 0000000..f28f13f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9b0.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9b0.svg new file mode 100644 index 0000000..a1d1636 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9b0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9b1.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9b1.svg new file mode 100644 index 0000000..a26b39b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9b1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9b2.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9b2.svg new file mode 100644 index 0000000..116085d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9b2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9b3.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9b3.svg new file mode 100644 index 0000000..06cedb4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9b3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9bc-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9bc-200d-27a1-fe0f.svg new file mode 100644 index 0000000..8297e3f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9bc-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9bc.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9bc.svg new file mode 100644 index 0000000..be45b67 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9bd-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9bd-200d-27a1-fe0f.svg new file mode 100644 index 0000000..d92a889 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9bd-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9bd.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9bd.svg new file mode 100644 index 0000000..64bf623 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1f9bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1faef-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1faef-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..311fdda --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1faef-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1faef-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1faef-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..a269444 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1faef-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1faef-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1faef-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..190e945 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1faef-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1faef-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1faef-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..2d8d6ff --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-1faef-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2695-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2695-fe0f.svg new file mode 100644 index 0000000..a1f496c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2695-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2696-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2696-fe0f.svg new file mode 100644 index 0000000..8ebc442 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2696-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2708-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2708-fe0f.svg new file mode 100644 index 0000000..dc52d24 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2708-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..6350ae7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..7ca4a90 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..4b4e1c9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..f48b7ba --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..c11dec5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..7e9c5db --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..4c88015 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..dd9aa5c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..f597a9d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..6c9eab6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f468-1f3fd.svg new file mode 100644 index 0000000..8c2abb3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f33e.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f33e.svg new file mode 100644 index 0000000..48a941a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f33e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f373.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f373.svg new file mode 100644 index 0000000..1f05961 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f373.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f37c.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f37c.svg new file mode 100644 index 0000000..ea5681f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f37c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f384.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f384.svg new file mode 100644 index 0000000..16b3b33 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f384.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f393.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f393.svg new file mode 100644 index 0000000..0f2e926 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f393.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f3a4.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f3a4.svg new file mode 100644 index 0000000..3dcccac --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f3a4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f3a8.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f3a8.svg new file mode 100644 index 0000000..b6f69c8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f3a8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f3eb.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f3eb.svg new file mode 100644 index 0000000..2487cb6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f3eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f3ed.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f3ed.svg new file mode 100644 index 0000000..8c20bdf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f3ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f430-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f430-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..a486a50 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f430-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f430-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f430-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..7430353 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f430-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f430-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f430-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..82fb5fa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f430-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f430-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f430-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..26f6847 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f430-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f4bb.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f4bb.svg new file mode 100644 index 0000000..705591d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f4bb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f4bc.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f4bc.svg new file mode 100644 index 0000000..65b919a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f4bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f527.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f527.svg new file mode 100644 index 0000000..6c40125 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f527.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f52c.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f52c.svg new file mode 100644 index 0000000..7a84c52 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f52c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f680.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f680.svg new file mode 100644 index 0000000..c0eefc6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f680.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f692.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f692.svg new file mode 100644 index 0000000..6fc176c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f692.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f91d-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f91d-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..6f6162c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f91d-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f91d-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f91d-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..92f56c7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f91d-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f91d-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f91d-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..064e44b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f91d-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f91d-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f91d-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..58212d4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f91d-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9af-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9af-200d-27a1-fe0f.svg new file mode 100644 index 0000000..5216cd4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9af-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9af.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9af.svg new file mode 100644 index 0000000..5684573 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9b0.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9b0.svg new file mode 100644 index 0000000..7d77bfd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9b0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9b1.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9b1.svg new file mode 100644 index 0000000..bc9c28d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9b1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9b2.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9b2.svg new file mode 100644 index 0000000..4d4a862 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9b2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9b3.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9b3.svg new file mode 100644 index 0000000..28b9379 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9b3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9bc-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9bc-200d-27a1-fe0f.svg new file mode 100644 index 0000000..c270710 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9bc-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9bc.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9bc.svg new file mode 100644 index 0000000..0e2b8be --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9bd-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9bd-200d-27a1-fe0f.svg new file mode 100644 index 0000000..83a08af --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9bd-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9bd.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9bd.svg new file mode 100644 index 0000000..6550370 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1f9bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1faef-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1faef-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..8f6b35f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1faef-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1faef-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1faef-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..2ff62e8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1faef-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1faef-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1faef-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..d94d3e0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1faef-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1faef-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1faef-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..8218224 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-1faef-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2695-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2695-fe0f.svg new file mode 100644 index 0000000..9d7e113 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2695-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2696-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2696-fe0f.svg new file mode 100644 index 0000000..2812740 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2696-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2708-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2708-fe0f.svg new file mode 100644 index 0000000..66c892e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2708-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..c5731cc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..491f787 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..c05f4ab --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..b770611 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..b6985d6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..996f859 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..36577f2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..4dd4d4f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..2341ee2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..8285d8e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f468-1f3fe.svg new file mode 100644 index 0000000..c09f439 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f33e.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f33e.svg new file mode 100644 index 0000000..11210bf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f33e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f373.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f373.svg new file mode 100644 index 0000000..2ebe6f8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f373.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f37c.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f37c.svg new file mode 100644 index 0000000..330c92e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f37c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f384.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f384.svg new file mode 100644 index 0000000..4923cbf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f384.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f393.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f393.svg new file mode 100644 index 0000000..e746f4c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f393.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f3a4.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f3a4.svg new file mode 100644 index 0000000..505ac44 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f3a4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f3a8.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f3a8.svg new file mode 100644 index 0000000..e0c3b4d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f3a8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f3eb.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f3eb.svg new file mode 100644 index 0000000..658ef82 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f3eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f3ed.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f3ed.svg new file mode 100644 index 0000000..8635665 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f3ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f430-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f430-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..3e77b05 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f430-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f430-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f430-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..5f5ff12 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f430-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f430-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f430-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..12b61d6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f430-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f430-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f430-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..d4bdc6c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f430-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f4bb.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f4bb.svg new file mode 100644 index 0000000..bd637ca --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f4bb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f4bc.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f4bc.svg new file mode 100644 index 0000000..b3596ae --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f4bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f527.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f527.svg new file mode 100644 index 0000000..fac206f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f527.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f52c.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f52c.svg new file mode 100644 index 0000000..b7367ad --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f52c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f680.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f680.svg new file mode 100644 index 0000000..54a4f62 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f680.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f692.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f692.svg new file mode 100644 index 0000000..1e0472d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f692.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f91d-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f91d-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..e83c662 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f91d-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f91d-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f91d-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..bee8dd5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f91d-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f91d-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f91d-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..66591e1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f91d-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f91d-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f91d-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..33856b4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f91d-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9af-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9af-200d-27a1-fe0f.svg new file mode 100644 index 0000000..924b65e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9af-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9af.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9af.svg new file mode 100644 index 0000000..513caf1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9b0.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9b0.svg new file mode 100644 index 0000000..0a5b536 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9b0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9b1.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9b1.svg new file mode 100644 index 0000000..66c33ae --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9b1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9b2.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9b2.svg new file mode 100644 index 0000000..7ab86cd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9b2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9b3.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9b3.svg new file mode 100644 index 0000000..370b673 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9b3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9bc-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9bc-200d-27a1-fe0f.svg new file mode 100644 index 0000000..076e8f1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9bc-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9bc.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9bc.svg new file mode 100644 index 0000000..99ad94b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9bd-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9bd-200d-27a1-fe0f.svg new file mode 100644 index 0000000..e702990 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9bd-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9bd.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9bd.svg new file mode 100644 index 0000000..4f6eba0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1f9bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1faef-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1faef-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..8f5dcd8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1faef-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1faef-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1faef-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..3522fe6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1faef-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1faef-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1faef-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..8b3340f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1faef-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1faef-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1faef-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..3c5b7c8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-1faef-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2695-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2695-fe0f.svg new file mode 100644 index 0000000..aa3fd0a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2695-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2696-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2696-fe0f.svg new file mode 100644 index 0000000..1aaa0a1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2696-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2708-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2708-fe0f.svg new file mode 100644 index 0000000..dce186e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2708-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..a535d6a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..3f9d8cf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..888ae0c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..d1f3b8c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..b027d46 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..c1901ec --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..0fb35cc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..ecad799 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..a94946a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..fda2482 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f468-1f3ff.svg new file mode 100644 index 0000000..96c5b17 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f33e.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f33e.svg new file mode 100644 index 0000000..0fcee4f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f33e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f373.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f373.svg new file mode 100644 index 0000000..9344e17 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f373.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f37c.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f37c.svg new file mode 100644 index 0000000..971908e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f37c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f384.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f384.svg new file mode 100644 index 0000000..9c61da6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f384.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f393.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f393.svg new file mode 100644 index 0000000..ab35970 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f393.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f3a4.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f3a4.svg new file mode 100644 index 0000000..0462a6b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f3a4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f3a8.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f3a8.svg new file mode 100644 index 0000000..eb21722 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f3a8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f3eb.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f3eb.svg new file mode 100644 index 0000000..95963cf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f3eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f3ed.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f3ed.svg new file mode 100644 index 0000000..6fc1eae --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f3ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f466-200d-1f466.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f466-200d-1f466.svg new file mode 100644 index 0000000..9fe8161 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f466-200d-1f466.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f466.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f466.svg new file mode 100644 index 0000000..da28199 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f466.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f467-200d-1f466.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f467-200d-1f466.svg new file mode 100644 index 0000000..9fe8161 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f467-200d-1f466.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f467-200d-1f467.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f467-200d-1f467.svg new file mode 100644 index 0000000..9fe8161 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f467-200d-1f467.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f467.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f467.svg new file mode 100644 index 0000000..da28199 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f467.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f468-200d-1f466-200d-1f466.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f468-200d-1f466-200d-1f466.svg new file mode 100644 index 0000000..317e600 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f468-200d-1f466-200d-1f466.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f468-200d-1f466.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f468-200d-1f466.svg new file mode 100644 index 0000000..743b7ba --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f468-200d-1f466.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f468-200d-1f467-200d-1f466.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f468-200d-1f467-200d-1f466.svg new file mode 100644 index 0000000..317e600 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f468-200d-1f467-200d-1f466.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f468-200d-1f467-200d-1f467.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f468-200d-1f467-200d-1f467.svg new file mode 100644 index 0000000..317e600 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f468-200d-1f467-200d-1f467.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f468-200d-1f467.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f468-200d-1f467.svg new file mode 100644 index 0000000..743b7ba --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f468-200d-1f467.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f469-200d-1f466-200d-1f466.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f469-200d-1f466-200d-1f466.svg new file mode 100644 index 0000000..317e600 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f469-200d-1f466-200d-1f466.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f469-200d-1f466.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f469-200d-1f466.svg new file mode 100644 index 0000000..743b7ba --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f469-200d-1f466.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f469-200d-1f467-200d-1f466.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f469-200d-1f467-200d-1f466.svg new file mode 100644 index 0000000..317e600 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f469-200d-1f467-200d-1f466.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f469-200d-1f467-200d-1f467.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f469-200d-1f467-200d-1f467.svg new file mode 100644 index 0000000..317e600 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f469-200d-1f467-200d-1f467.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f469-200d-1f467.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f469-200d-1f467.svg new file mode 100644 index 0000000..743b7ba --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f469-200d-1f467.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f4bb.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f4bb.svg new file mode 100644 index 0000000..e37b049 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f4bb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f4bc.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f4bc.svg new file mode 100644 index 0000000..a3f56fe --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f4bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f527.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f527.svg new file mode 100644 index 0000000..6bc505e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f527.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f52c.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f52c.svg new file mode 100644 index 0000000..02a9e12 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f52c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f680.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f680.svg new file mode 100644 index 0000000..dd97a20 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f680.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f692.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f692.svg new file mode 100644 index 0000000..cfdef73 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f692.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f9af-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f9af-200d-27a1-fe0f.svg new file mode 100644 index 0000000..73caf9b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f9af-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f9af.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f9af.svg new file mode 100644 index 0000000..321bc0d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f9af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f9b0.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f9b0.svg new file mode 100644 index 0000000..1b633b3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f9b0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f9b1.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f9b1.svg new file mode 100644 index 0000000..6ac5743 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f9b1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f9b2.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f9b2.svg new file mode 100644 index 0000000..ea49779 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f9b2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f9b3.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f9b3.svg new file mode 100644 index 0000000..a14e3fd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f9b3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f9bc-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f9bc-200d-27a1-fe0f.svg new file mode 100644 index 0000000..0364c12 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f9bc-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f9bc.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f9bc.svg new file mode 100644 index 0000000..7d37c87 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f9bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f9bd-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f9bd-200d-27a1-fe0f.svg new file mode 100644 index 0000000..d02d61b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f9bd-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-1f9bd.svg b/frontend/theme/img/emojis/svg/1f468-200d-1f9bd.svg new file mode 100644 index 0000000..b8d2858 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-1f9bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-2695-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-200d-2695-fe0f.svg new file mode 100644 index 0000000..627461f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-2695-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-2696-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-200d-2696-fe0f.svg new file mode 100644 index 0000000..759d307 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-2696-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-2708-fe0f.svg b/frontend/theme/img/emojis/svg/1f468-200d-2708-fe0f.svg new file mode 100644 index 0000000..b5ed35a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-2708-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-2764-fe0f-200d-1f468.svg b/frontend/theme/img/emojis/svg/1f468-200d-2764-fe0f-200d-1f468.svg new file mode 100644 index 0000000..27d1b6f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-2764-fe0f-200d-1f468.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468-200d-2764-fe0f-200d-1f48b-200d-1f468.svg b/frontend/theme/img/emojis/svg/1f468-200d-2764-fe0f-200d-1f48b-200d-1f468.svg new file mode 100644 index 0000000..831f2fb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468-200d-2764-fe0f-200d-1f48b-200d-1f468.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f468.svg b/frontend/theme/img/emojis/svg/1f468.svg new file mode 100644 index 0000000..98b73b5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f468.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f33e.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f33e.svg new file mode 100644 index 0000000..5f24634 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f33e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f373.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f373.svg new file mode 100644 index 0000000..6ed4b51 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f373.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f37c.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f37c.svg new file mode 100644 index 0000000..311bda9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f37c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f384.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f384.svg new file mode 100644 index 0000000..0227456 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f384.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f393.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f393.svg new file mode 100644 index 0000000..ed106ad --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f393.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f3a4.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f3a4.svg new file mode 100644 index 0000000..e0403c5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f3a4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f3a8.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f3a8.svg new file mode 100644 index 0000000..0caf071 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f3a8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f3eb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f3eb.svg new file mode 100644 index 0000000..819bf36 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f3eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f3ed.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f3ed.svg new file mode 100644 index 0000000..0914b04 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f3ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f430-200d-1f469-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f430-200d-1f469-1f3fc.svg new file mode 100644 index 0000000..6e40c21 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f430-200d-1f469-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f430-200d-1f469-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f430-200d-1f469-1f3fd.svg new file mode 100644 index 0000000..484510b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f430-200d-1f469-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f430-200d-1f469-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f430-200d-1f469-1f3fe.svg new file mode 100644 index 0000000..43e83d0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f430-200d-1f469-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f430-200d-1f469-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f430-200d-1f469-1f3ff.svg new file mode 100644 index 0000000..28918a8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f430-200d-1f469-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f4bb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f4bb.svg new file mode 100644 index 0000000..3ab61d8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f4bb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f4bc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f4bc.svg new file mode 100644 index 0000000..ebd3e39 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f4bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f527.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f527.svg new file mode 100644 index 0000000..dd5eeb4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f527.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f52c.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f52c.svg new file mode 100644 index 0000000..a2a080b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f52c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f680.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f680.svg new file mode 100644 index 0000000..b4e5a08 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f680.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f692.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f692.svg new file mode 100644 index 0000000..98bf835 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f692.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f91d-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f91d-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..688dded --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f91d-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f91d-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f91d-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..a33c2de --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f91d-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f91d-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f91d-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..3686c18 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f91d-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f91d-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f91d-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..1180b22 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f91d-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f91d-200d-1f469-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f91d-200d-1f469-1f3fc.svg new file mode 100644 index 0000000..6bab40c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f91d-200d-1f469-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f91d-200d-1f469-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f91d-200d-1f469-1f3fd.svg new file mode 100644 index 0000000..a658418 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f91d-200d-1f469-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f91d-200d-1f469-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f91d-200d-1f469-1f3fe.svg new file mode 100644 index 0000000..85afc92 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f91d-200d-1f469-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f91d-200d-1f469-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f91d-200d-1f469-1f3ff.svg new file mode 100644 index 0000000..43ce3ec --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f91d-200d-1f469-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9af-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9af-200d-27a1-fe0f.svg new file mode 100644 index 0000000..ce2d666 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9af-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9af.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9af.svg new file mode 100644 index 0000000..3c58121 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9b0.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9b0.svg new file mode 100644 index 0000000..94c85fd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9b0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9b1.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9b1.svg new file mode 100644 index 0000000..a1a2ba7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9b1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9b2.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9b2.svg new file mode 100644 index 0000000..258c514 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9b2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9b3.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9b3.svg new file mode 100644 index 0000000..98fbde9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9b3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9bc-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9bc-200d-27a1-fe0f.svg new file mode 100644 index 0000000..109b618 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9bc-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9bc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9bc.svg new file mode 100644 index 0000000..2f240ea --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9bd-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9bd-200d-27a1-fe0f.svg new file mode 100644 index 0000000..8982e69 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9bd-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9bd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9bd.svg new file mode 100644 index 0000000..68f49e0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1f9bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1faef-200d-1f469-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1faef-200d-1f469-1f3fc.svg new file mode 100644 index 0000000..a108e22 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1faef-200d-1f469-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1faef-200d-1f469-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1faef-200d-1f469-1f3fd.svg new file mode 100644 index 0000000..0f07c31 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1faef-200d-1f469-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1faef-200d-1f469-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1faef-200d-1f469-1f3fe.svg new file mode 100644 index 0000000..412534f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1faef-200d-1f469-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1faef-200d-1f469-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1faef-200d-1f469-1f3ff.svg new file mode 100644 index 0000000..4df01c5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-1faef-200d-1f469-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2695-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2695-fe0f.svg new file mode 100644 index 0000000..e22a0bd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2695-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2696-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2696-fe0f.svg new file mode 100644 index 0000000..574cad0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2696-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2708-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2708-fe0f.svg new file mode 100644 index 0000000..5cd08b3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2708-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..15a822a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..7162de9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..4bd37fc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..3db3581 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..994658d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fb.svg new file mode 100644 index 0000000..73314e4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fc.svg new file mode 100644 index 0000000..9c6f709 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fd.svg new file mode 100644 index 0000000..9bd747f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fe.svg new file mode 100644 index 0000000..2aa5a27 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3ff.svg new file mode 100644 index 0000000..e9f571e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..d0b112f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..5d6019e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..3580f3a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..e19d110 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..4bfa08b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.svg new file mode 100644 index 0000000..821a996 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.svg new file mode 100644 index 0000000..e26fe32 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.svg new file mode 100644 index 0000000..abb321d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.svg new file mode 100644 index 0000000..bab53ae --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.svg new file mode 100644 index 0000000..0659c9b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fb.svg new file mode 100644 index 0000000..b44725b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f33e.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f33e.svg new file mode 100644 index 0000000..7a30a98 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f33e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f373.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f373.svg new file mode 100644 index 0000000..4ef7a7f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f373.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f37c.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f37c.svg new file mode 100644 index 0000000..cfae280 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f37c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f384.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f384.svg new file mode 100644 index 0000000..5887d75 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f384.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f393.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f393.svg new file mode 100644 index 0000000..d045ed8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f393.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f3a4.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f3a4.svg new file mode 100644 index 0000000..210cd6c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f3a4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f3a8.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f3a8.svg new file mode 100644 index 0000000..7d83bc0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f3a8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f3eb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f3eb.svg new file mode 100644 index 0000000..2ddfeb1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f3eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f3ed.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f3ed.svg new file mode 100644 index 0000000..ab815ee --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f3ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f430-200d-1f469-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f430-200d-1f469-1f3fb.svg new file mode 100644 index 0000000..a864dc8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f430-200d-1f469-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f430-200d-1f469-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f430-200d-1f469-1f3fd.svg new file mode 100644 index 0000000..8b7abbe --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f430-200d-1f469-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f430-200d-1f469-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f430-200d-1f469-1f3fe.svg new file mode 100644 index 0000000..85a7879 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f430-200d-1f469-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f430-200d-1f469-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f430-200d-1f469-1f3ff.svg new file mode 100644 index 0000000..a2c7270 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f430-200d-1f469-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f4bb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f4bb.svg new file mode 100644 index 0000000..ab3600e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f4bb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f4bc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f4bc.svg new file mode 100644 index 0000000..b117aa6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f4bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f527.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f527.svg new file mode 100644 index 0000000..5f2b878 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f527.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f52c.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f52c.svg new file mode 100644 index 0000000..dfb93ee --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f52c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f680.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f680.svg new file mode 100644 index 0000000..39635e2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f680.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f692.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f692.svg new file mode 100644 index 0000000..676cf60 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f692.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f91d-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f91d-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..9c9e08c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f91d-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f91d-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f91d-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..a4220c3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f91d-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f91d-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f91d-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..bc5805a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f91d-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f91d-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f91d-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..d96d1d9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f91d-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f91d-200d-1f469-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f91d-200d-1f469-1f3fb.svg new file mode 100644 index 0000000..cc7111d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f91d-200d-1f469-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f91d-200d-1f469-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f91d-200d-1f469-1f3fd.svg new file mode 100644 index 0000000..6c9f81a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f91d-200d-1f469-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f91d-200d-1f469-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f91d-200d-1f469-1f3fe.svg new file mode 100644 index 0000000..e00c758 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f91d-200d-1f469-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f91d-200d-1f469-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f91d-200d-1f469-1f3ff.svg new file mode 100644 index 0000000..61833c8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f91d-200d-1f469-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9af-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9af-200d-27a1-fe0f.svg new file mode 100644 index 0000000..598b65f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9af-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9af.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9af.svg new file mode 100644 index 0000000..ad8806b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9b0.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9b0.svg new file mode 100644 index 0000000..179dedb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9b0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9b1.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9b1.svg new file mode 100644 index 0000000..4594647 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9b1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9b2.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9b2.svg new file mode 100644 index 0000000..8da4ee5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9b2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9b3.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9b3.svg new file mode 100644 index 0000000..99ffa0d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9b3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9bc-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9bc-200d-27a1-fe0f.svg new file mode 100644 index 0000000..fcc9404 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9bc-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9bc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9bc.svg new file mode 100644 index 0000000..ffea3a2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9bd-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9bd-200d-27a1-fe0f.svg new file mode 100644 index 0000000..f532afa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9bd-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9bd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9bd.svg new file mode 100644 index 0000000..39843af --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1f9bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1faef-200d-1f469-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1faef-200d-1f469-1f3fb.svg new file mode 100644 index 0000000..e93c041 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1faef-200d-1f469-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1faef-200d-1f469-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1faef-200d-1f469-1f3fd.svg new file mode 100644 index 0000000..92ec22e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1faef-200d-1f469-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1faef-200d-1f469-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1faef-200d-1f469-1f3fe.svg new file mode 100644 index 0000000..262f42d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1faef-200d-1f469-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1faef-200d-1f469-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1faef-200d-1f469-1f3ff.svg new file mode 100644 index 0000000..f299cc7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-1faef-200d-1f469-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2695-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2695-fe0f.svg new file mode 100644 index 0000000..0bb189f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2695-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2696-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2696-fe0f.svg new file mode 100644 index 0000000..44cbc89 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2696-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2708-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2708-fe0f.svg new file mode 100644 index 0000000..3fc9536 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2708-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..5ffb98f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..079a8e4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..460e58a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..42a17a8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..6fa892b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fb.svg new file mode 100644 index 0000000..fb36178 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fc.svg new file mode 100644 index 0000000..922e2a9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fd.svg new file mode 100644 index 0000000..4dac2cb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fe.svg new file mode 100644 index 0000000..cc44154 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3ff.svg new file mode 100644 index 0000000..f40beba --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..096f2e5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..ec70a00 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..f8b70f5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..7724820 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..2464e01 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.svg new file mode 100644 index 0000000..2ee4ff8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.svg new file mode 100644 index 0000000..286e47c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.svg new file mode 100644 index 0000000..3642887 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.svg new file mode 100644 index 0000000..64c21a1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.svg new file mode 100644 index 0000000..02d27dd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fc.svg new file mode 100644 index 0000000..7c3ba63 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f33e.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f33e.svg new file mode 100644 index 0000000..841df90 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f33e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f373.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f373.svg new file mode 100644 index 0000000..c76e15f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f373.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f37c.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f37c.svg new file mode 100644 index 0000000..8e1e408 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f37c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f384.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f384.svg new file mode 100644 index 0000000..3e1853d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f384.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f393.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f393.svg new file mode 100644 index 0000000..eead9a2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f393.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f3a4.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f3a4.svg new file mode 100644 index 0000000..5e589ad --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f3a4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f3a8.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f3a8.svg new file mode 100644 index 0000000..e97e8d9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f3a8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f3eb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f3eb.svg new file mode 100644 index 0000000..2d44722 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f3eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f3ed.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f3ed.svg new file mode 100644 index 0000000..dd6e627 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f3ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f430-200d-1f469-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f430-200d-1f469-1f3fb.svg new file mode 100644 index 0000000..5af0e24 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f430-200d-1f469-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f430-200d-1f469-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f430-200d-1f469-1f3fc.svg new file mode 100644 index 0000000..a5de5ac --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f430-200d-1f469-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f430-200d-1f469-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f430-200d-1f469-1f3fe.svg new file mode 100644 index 0000000..145ce4d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f430-200d-1f469-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f430-200d-1f469-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f430-200d-1f469-1f3ff.svg new file mode 100644 index 0000000..8a07cda --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f430-200d-1f469-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f4bb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f4bb.svg new file mode 100644 index 0000000..c036ad1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f4bb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f4bc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f4bc.svg new file mode 100644 index 0000000..e89a5b1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f4bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f527.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f527.svg new file mode 100644 index 0000000..ba2b753 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f527.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f52c.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f52c.svg new file mode 100644 index 0000000..bb686de --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f52c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f680.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f680.svg new file mode 100644 index 0000000..21ff7a7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f680.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f692.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f692.svg new file mode 100644 index 0000000..76f000c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f692.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f91d-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f91d-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..973ae2e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f91d-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f91d-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f91d-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..6c651ec --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f91d-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f91d-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f91d-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..743c164 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f91d-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f91d-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f91d-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..d6444e8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f91d-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f91d-200d-1f469-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f91d-200d-1f469-1f3fb.svg new file mode 100644 index 0000000..ce6b91c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f91d-200d-1f469-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f91d-200d-1f469-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f91d-200d-1f469-1f3fc.svg new file mode 100644 index 0000000..8fd0c0b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f91d-200d-1f469-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f91d-200d-1f469-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f91d-200d-1f469-1f3fe.svg new file mode 100644 index 0000000..c26f669 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f91d-200d-1f469-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f91d-200d-1f469-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f91d-200d-1f469-1f3ff.svg new file mode 100644 index 0000000..e2176e4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f91d-200d-1f469-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9af-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9af-200d-27a1-fe0f.svg new file mode 100644 index 0000000..d80fe83 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9af-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9af.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9af.svg new file mode 100644 index 0000000..c17b0ed --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9b0.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9b0.svg new file mode 100644 index 0000000..7a1df80 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9b0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9b1.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9b1.svg new file mode 100644 index 0000000..5434a54 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9b1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9b2.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9b2.svg new file mode 100644 index 0000000..7881eb7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9b2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9b3.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9b3.svg new file mode 100644 index 0000000..25ff515 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9b3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9bc-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9bc-200d-27a1-fe0f.svg new file mode 100644 index 0000000..713ec29 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9bc-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9bc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9bc.svg new file mode 100644 index 0000000..7983453 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9bd-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9bd-200d-27a1-fe0f.svg new file mode 100644 index 0000000..8eeaf64 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9bd-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9bd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9bd.svg new file mode 100644 index 0000000..c128386 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1f9bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1faef-200d-1f469-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1faef-200d-1f469-1f3fb.svg new file mode 100644 index 0000000..8dbbb1e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1faef-200d-1f469-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1faef-200d-1f469-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1faef-200d-1f469-1f3fc.svg new file mode 100644 index 0000000..cbd6c64 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1faef-200d-1f469-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1faef-200d-1f469-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1faef-200d-1f469-1f3fe.svg new file mode 100644 index 0000000..e2e8b60 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1faef-200d-1f469-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1faef-200d-1f469-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1faef-200d-1f469-1f3ff.svg new file mode 100644 index 0000000..66c172d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-1faef-200d-1f469-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2695-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2695-fe0f.svg new file mode 100644 index 0000000..d0b51ac --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2695-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2696-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2696-fe0f.svg new file mode 100644 index 0000000..8a1993e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2696-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2708-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2708-fe0f.svg new file mode 100644 index 0000000..e1fc6c3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2708-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..695e539 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..65a77e2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..d1d91a3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..50d60b7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..5fd131c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fb.svg new file mode 100644 index 0000000..1356db0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fc.svg new file mode 100644 index 0000000..7438c5b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fd.svg new file mode 100644 index 0000000..38e0b43 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fe.svg new file mode 100644 index 0000000..b48f1d4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3ff.svg new file mode 100644 index 0000000..321d1f6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..cb04f10 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..4325ef3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..6f77cbd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..524d102 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..3cb1b49 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.svg new file mode 100644 index 0000000..04715e3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.svg new file mode 100644 index 0000000..d0d6dab --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.svg new file mode 100644 index 0000000..2894b61 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.svg new file mode 100644 index 0000000..4faa37f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.svg new file mode 100644 index 0000000..1813ca4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fd.svg new file mode 100644 index 0000000..5dba957 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f33e.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f33e.svg new file mode 100644 index 0000000..7570c37 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f33e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f373.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f373.svg new file mode 100644 index 0000000..9e7522e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f373.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f37c.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f37c.svg new file mode 100644 index 0000000..b910a87 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f37c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f384.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f384.svg new file mode 100644 index 0000000..6d94d27 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f384.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f393.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f393.svg new file mode 100644 index 0000000..4d4967b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f393.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f3a4.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f3a4.svg new file mode 100644 index 0000000..de1f4f0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f3a4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f3a8.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f3a8.svg new file mode 100644 index 0000000..5a08cb6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f3a8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f3eb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f3eb.svg new file mode 100644 index 0000000..5908aeb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f3eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f3ed.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f3ed.svg new file mode 100644 index 0000000..626a1f0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f3ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f430-200d-1f469-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f430-200d-1f469-1f3fb.svg new file mode 100644 index 0000000..f884bc1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f430-200d-1f469-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f430-200d-1f469-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f430-200d-1f469-1f3fc.svg new file mode 100644 index 0000000..b603c73 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f430-200d-1f469-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f430-200d-1f469-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f430-200d-1f469-1f3fd.svg new file mode 100644 index 0000000..3de7233 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f430-200d-1f469-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f430-200d-1f469-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f430-200d-1f469-1f3ff.svg new file mode 100644 index 0000000..16e7f37 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f430-200d-1f469-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f4bb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f4bb.svg new file mode 100644 index 0000000..86d044e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f4bb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f4bc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f4bc.svg new file mode 100644 index 0000000..f67b33b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f4bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f527.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f527.svg new file mode 100644 index 0000000..a3a47a0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f527.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f52c.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f52c.svg new file mode 100644 index 0000000..984578c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f52c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f680.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f680.svg new file mode 100644 index 0000000..882cf48 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f680.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f692.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f692.svg new file mode 100644 index 0000000..5b666b0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f692.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f91d-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f91d-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..6a6824e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f91d-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f91d-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f91d-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..59e3f28 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f91d-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f91d-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f91d-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..2550de8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f91d-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f91d-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f91d-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..c43d096 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f91d-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f91d-200d-1f469-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f91d-200d-1f469-1f3fb.svg new file mode 100644 index 0000000..ddce0b4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f91d-200d-1f469-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f91d-200d-1f469-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f91d-200d-1f469-1f3fc.svg new file mode 100644 index 0000000..7a12304 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f91d-200d-1f469-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f91d-200d-1f469-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f91d-200d-1f469-1f3fd.svg new file mode 100644 index 0000000..09b0175 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f91d-200d-1f469-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f91d-200d-1f469-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f91d-200d-1f469-1f3ff.svg new file mode 100644 index 0000000..dd4f20e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f91d-200d-1f469-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9af-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9af-200d-27a1-fe0f.svg new file mode 100644 index 0000000..c253f45 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9af-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9af.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9af.svg new file mode 100644 index 0000000..3b4b539 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9b0.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9b0.svg new file mode 100644 index 0000000..a10b4cb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9b0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9b1.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9b1.svg new file mode 100644 index 0000000..8b866ff --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9b1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9b2.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9b2.svg new file mode 100644 index 0000000..3e7738c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9b2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9b3.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9b3.svg new file mode 100644 index 0000000..50ad4ea --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9b3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9bc-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9bc-200d-27a1-fe0f.svg new file mode 100644 index 0000000..72c5687 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9bc-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9bc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9bc.svg new file mode 100644 index 0000000..ba5ca05 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9bd-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9bd-200d-27a1-fe0f.svg new file mode 100644 index 0000000..fe1d01a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9bd-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9bd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9bd.svg new file mode 100644 index 0000000..f481961 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1f9bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1faef-200d-1f469-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1faef-200d-1f469-1f3fb.svg new file mode 100644 index 0000000..4d8fafc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1faef-200d-1f469-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1faef-200d-1f469-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1faef-200d-1f469-1f3fc.svg new file mode 100644 index 0000000..d2a793c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1faef-200d-1f469-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1faef-200d-1f469-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1faef-200d-1f469-1f3fd.svg new file mode 100644 index 0000000..34b0549 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1faef-200d-1f469-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1faef-200d-1f469-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1faef-200d-1f469-1f3ff.svg new file mode 100644 index 0000000..14b037d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-1faef-200d-1f469-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2695-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2695-fe0f.svg new file mode 100644 index 0000000..a6b5ffc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2695-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2696-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2696-fe0f.svg new file mode 100644 index 0000000..06110b7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2696-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2708-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2708-fe0f.svg new file mode 100644 index 0000000..74c44cd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2708-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..a600e7b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..eb47006 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..a34e5ce --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..824bbc4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..91f217c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fb.svg new file mode 100644 index 0000000..c12c958 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fc.svg new file mode 100644 index 0000000..1a55bb2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fd.svg new file mode 100644 index 0000000..441d235 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fe.svg new file mode 100644 index 0000000..1752576 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3ff.svg new file mode 100644 index 0000000..53aefb1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..d65532a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..59e515f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..0db014b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..cb9ec9c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..29b48c0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.svg new file mode 100644 index 0000000..fa0aed8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.svg new file mode 100644 index 0000000..e12111f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.svg new file mode 100644 index 0000000..4e264e1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.svg new file mode 100644 index 0000000..d408845 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.svg new file mode 100644 index 0000000..16d2f92 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3fe.svg new file mode 100644 index 0000000..4539d0e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f33e.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f33e.svg new file mode 100644 index 0000000..2d1476e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f33e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f373.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f373.svg new file mode 100644 index 0000000..c9cafcf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f373.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f37c.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f37c.svg new file mode 100644 index 0000000..6985566 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f37c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f384.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f384.svg new file mode 100644 index 0000000..2178a33 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f384.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f393.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f393.svg new file mode 100644 index 0000000..9345659 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f393.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f3a4.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f3a4.svg new file mode 100644 index 0000000..c182d21 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f3a4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f3a8.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f3a8.svg new file mode 100644 index 0000000..fc1e99e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f3a8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f3eb.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f3eb.svg new file mode 100644 index 0000000..c92782c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f3eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f3ed.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f3ed.svg new file mode 100644 index 0000000..599992f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f3ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f430-200d-1f469-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f430-200d-1f469-1f3fb.svg new file mode 100644 index 0000000..5d176c8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f430-200d-1f469-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f430-200d-1f469-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f430-200d-1f469-1f3fc.svg new file mode 100644 index 0000000..55c68ad --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f430-200d-1f469-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f430-200d-1f469-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f430-200d-1f469-1f3fd.svg new file mode 100644 index 0000000..b21fcef --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f430-200d-1f469-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f430-200d-1f469-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f430-200d-1f469-1f3fe.svg new file mode 100644 index 0000000..a8697be --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f430-200d-1f469-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f4bb.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f4bb.svg new file mode 100644 index 0000000..e73241a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f4bb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f4bc.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f4bc.svg new file mode 100644 index 0000000..e283c00 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f4bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f527.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f527.svg new file mode 100644 index 0000000..6519694 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f527.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f52c.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f52c.svg new file mode 100644 index 0000000..cdf068b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f52c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f680.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f680.svg new file mode 100644 index 0000000..636a9fe --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f680.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f692.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f692.svg new file mode 100644 index 0000000..6858933 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f692.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f91d-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f91d-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..8932b8c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f91d-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f91d-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f91d-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..cf102b7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f91d-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f91d-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f91d-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..7e8c413 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f91d-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f91d-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f91d-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..bcd04bf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f91d-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f91d-200d-1f469-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f91d-200d-1f469-1f3fb.svg new file mode 100644 index 0000000..1128ecf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f91d-200d-1f469-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f91d-200d-1f469-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f91d-200d-1f469-1f3fc.svg new file mode 100644 index 0000000..3200168 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f91d-200d-1f469-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f91d-200d-1f469-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f91d-200d-1f469-1f3fd.svg new file mode 100644 index 0000000..9212f3c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f91d-200d-1f469-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f91d-200d-1f469-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f91d-200d-1f469-1f3fe.svg new file mode 100644 index 0000000..ff7c901 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f91d-200d-1f469-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9af-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9af-200d-27a1-fe0f.svg new file mode 100644 index 0000000..10bb477 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9af-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9af.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9af.svg new file mode 100644 index 0000000..aafa3bc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9b0.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9b0.svg new file mode 100644 index 0000000..1ae85c6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9b0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9b1.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9b1.svg new file mode 100644 index 0000000..c284421 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9b1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9b2.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9b2.svg new file mode 100644 index 0000000..f490be8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9b2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9b3.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9b3.svg new file mode 100644 index 0000000..cf3e39d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9b3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9bc-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9bc-200d-27a1-fe0f.svg new file mode 100644 index 0000000..932c2d8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9bc-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9bc.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9bc.svg new file mode 100644 index 0000000..39f0c6a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9bd-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9bd-200d-27a1-fe0f.svg new file mode 100644 index 0000000..6725afc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9bd-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9bd.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9bd.svg new file mode 100644 index 0000000..4eea4dc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1f9bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1faef-200d-1f469-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1faef-200d-1f469-1f3fb.svg new file mode 100644 index 0000000..e433ebe --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1faef-200d-1f469-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1faef-200d-1f469-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1faef-200d-1f469-1f3fc.svg new file mode 100644 index 0000000..cf2dd77 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1faef-200d-1f469-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1faef-200d-1f469-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1faef-200d-1f469-1f3fd.svg new file mode 100644 index 0000000..7a90d25 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1faef-200d-1f469-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1faef-200d-1f469-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1faef-200d-1f469-1f3fe.svg new file mode 100644 index 0000000..4a65bec --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-1faef-200d-1f469-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2695-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2695-fe0f.svg new file mode 100644 index 0000000..7db9212 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2695-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2696-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2696-fe0f.svg new file mode 100644 index 0000000..4fe0541 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2696-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2708-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2708-fe0f.svg new file mode 100644 index 0000000..1f4a7b6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2708-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..63a94f3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..86a47dc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..8bc287f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..f456c7c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..4ab7404 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fb.svg new file mode 100644 index 0000000..ab8a2c1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fc.svg new file mode 100644 index 0000000..0d784f5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fd.svg new file mode 100644 index 0000000..226ba13 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fe.svg new file mode 100644 index 0000000..bd5f6c1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3ff.svg new file mode 100644 index 0000000..5347958 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg new file mode 100644 index 0000000..74c86e3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg new file mode 100644 index 0000000..16731da --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg new file mode 100644 index 0000000..b18477a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg new file mode 100644 index 0000000..1e8fee5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg new file mode 100644 index 0000000..42aa5ca --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.svg new file mode 100644 index 0000000..63c098a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.svg new file mode 100644 index 0000000..295504b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.svg new file mode 100644 index 0000000..9150da8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.svg new file mode 100644 index 0000000..f5d3fe5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.svg new file mode 100644 index 0000000..77da150 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-1f3ff.svg b/frontend/theme/img/emojis/svg/1f469-1f3ff.svg new file mode 100644 index 0000000..ac43b9e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f33e.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f33e.svg new file mode 100644 index 0000000..c8974b5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f33e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f373.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f373.svg new file mode 100644 index 0000000..962decc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f373.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f37c.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f37c.svg new file mode 100644 index 0000000..c13cc53 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f37c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f384.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f384.svg new file mode 100644 index 0000000..6cabe58 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f384.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f393.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f393.svg new file mode 100644 index 0000000..47ad3e7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f393.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f3a4.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f3a4.svg new file mode 100644 index 0000000..8aa5e4c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f3a4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f3a8.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f3a8.svg new file mode 100644 index 0000000..6d4807e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f3a8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f3eb.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f3eb.svg new file mode 100644 index 0000000..9a3e544 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f3eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f3ed.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f3ed.svg new file mode 100644 index 0000000..064bfd4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f3ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f466-200d-1f466.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f466-200d-1f466.svg new file mode 100644 index 0000000..9fe8161 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f466-200d-1f466.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f466.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f466.svg new file mode 100644 index 0000000..da28199 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f466.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f467-200d-1f466.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f467-200d-1f466.svg new file mode 100644 index 0000000..9fe8161 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f467-200d-1f466.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f467-200d-1f467.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f467-200d-1f467.svg new file mode 100644 index 0000000..9fe8161 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f467-200d-1f467.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f467.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f467.svg new file mode 100644 index 0000000..da28199 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f467.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f469-200d-1f466-200d-1f466.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f469-200d-1f466-200d-1f466.svg new file mode 100644 index 0000000..317e600 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f469-200d-1f466-200d-1f466.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f469-200d-1f466.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f469-200d-1f466.svg new file mode 100644 index 0000000..743b7ba --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f469-200d-1f466.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f469-200d-1f467-200d-1f466.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f469-200d-1f467-200d-1f466.svg new file mode 100644 index 0000000..317e600 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f469-200d-1f467-200d-1f466.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f469-200d-1f467-200d-1f467.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f469-200d-1f467-200d-1f467.svg new file mode 100644 index 0000000..317e600 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f469-200d-1f467-200d-1f467.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f469-200d-1f467.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f469-200d-1f467.svg new file mode 100644 index 0000000..743b7ba --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f469-200d-1f467.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f4bb.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f4bb.svg new file mode 100644 index 0000000..c69729f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f4bb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f4bc.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f4bc.svg new file mode 100644 index 0000000..9f41d66 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f4bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f527.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f527.svg new file mode 100644 index 0000000..24b1609 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f527.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f52c.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f52c.svg new file mode 100644 index 0000000..9597ebc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f52c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f680.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f680.svg new file mode 100644 index 0000000..c4fdde4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f680.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f692.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f692.svg new file mode 100644 index 0000000..cbde12e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f692.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f9af-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f9af-200d-27a1-fe0f.svg new file mode 100644 index 0000000..d4456dd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f9af-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f9af.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f9af.svg new file mode 100644 index 0000000..fe55587 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f9af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f9b0.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f9b0.svg new file mode 100644 index 0000000..68367e8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f9b0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f9b1.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f9b1.svg new file mode 100644 index 0000000..62cc26b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f9b1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f9b2.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f9b2.svg new file mode 100644 index 0000000..3fd1004 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f9b2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f9b3.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f9b3.svg new file mode 100644 index 0000000..1ce720e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f9b3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f9bc-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f9bc-200d-27a1-fe0f.svg new file mode 100644 index 0000000..c3badcd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f9bc-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f9bc.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f9bc.svg new file mode 100644 index 0000000..6706ec8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f9bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f9bd-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f9bd-200d-27a1-fe0f.svg new file mode 100644 index 0000000..bb40571 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f9bd-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-1f9bd.svg b/frontend/theme/img/emojis/svg/1f469-200d-1f9bd.svg new file mode 100644 index 0000000..1d6b02c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-1f9bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-2695-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-200d-2695-fe0f.svg new file mode 100644 index 0000000..efe2909 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-2695-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-2696-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-200d-2696-fe0f.svg new file mode 100644 index 0000000..e8b489a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-2696-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-2708-fe0f.svg b/frontend/theme/img/emojis/svg/1f469-200d-2708-fe0f.svg new file mode 100644 index 0000000..953b06f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-2708-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-2764-fe0f-200d-1f468.svg b/frontend/theme/img/emojis/svg/1f469-200d-2764-fe0f-200d-1f468.svg new file mode 100644 index 0000000..ece280d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-2764-fe0f-200d-1f468.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-2764-fe0f-200d-1f469.svg b/frontend/theme/img/emojis/svg/1f469-200d-2764-fe0f-200d-1f469.svg new file mode 100644 index 0000000..62abb03 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-2764-fe0f-200d-1f469.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-2764-fe0f-200d-1f48b-200d-1f468.svg b/frontend/theme/img/emojis/svg/1f469-200d-2764-fe0f-200d-1f48b-200d-1f468.svg new file mode 100644 index 0000000..210f97c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-2764-fe0f-200d-1f48b-200d-1f468.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469-200d-2764-fe0f-200d-1f48b-200d-1f469.svg b/frontend/theme/img/emojis/svg/1f469-200d-2764-fe0f-200d-1f48b-200d-1f469.svg new file mode 100644 index 0000000..e8eee47 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469-200d-2764-fe0f-200d-1f48b-200d-1f469.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f469.svg b/frontend/theme/img/emojis/svg/1f469.svg new file mode 100644 index 0000000..4178567 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f469.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46a.svg b/frontend/theme/img/emojis/svg/1f46a.svg new file mode 100644 index 0000000..743b7ba --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46b-1f3fb.svg b/frontend/theme/img/emojis/svg/1f46b-1f3fb.svg new file mode 100644 index 0000000..2cc10f9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46b-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46b-1f3fc.svg b/frontend/theme/img/emojis/svg/1f46b-1f3fc.svg new file mode 100644 index 0000000..894d722 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46b-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46b-1f3fd.svg b/frontend/theme/img/emojis/svg/1f46b-1f3fd.svg new file mode 100644 index 0000000..4496ef5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46b-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46b-1f3fe.svg b/frontend/theme/img/emojis/svg/1f46b-1f3fe.svg new file mode 100644 index 0000000..25cbd99 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46b-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46b-1f3ff.svg b/frontend/theme/img/emojis/svg/1f46b-1f3ff.svg new file mode 100644 index 0000000..f4be277 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46b-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46b.svg b/frontend/theme/img/emojis/svg/1f46b.svg new file mode 100644 index 0000000..59ca8c0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46c-1f3fb.svg b/frontend/theme/img/emojis/svg/1f46c-1f3fb.svg new file mode 100644 index 0000000..2050ca3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46c-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46c-1f3fc.svg b/frontend/theme/img/emojis/svg/1f46c-1f3fc.svg new file mode 100644 index 0000000..0570108 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46c-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46c-1f3fd.svg b/frontend/theme/img/emojis/svg/1f46c-1f3fd.svg new file mode 100644 index 0000000..b00c6be --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46c-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46c-1f3fe.svg b/frontend/theme/img/emojis/svg/1f46c-1f3fe.svg new file mode 100644 index 0000000..58302a8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46c-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46c-1f3ff.svg b/frontend/theme/img/emojis/svg/1f46c-1f3ff.svg new file mode 100644 index 0000000..c7dddad --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46c-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46c.svg b/frontend/theme/img/emojis/svg/1f46c.svg new file mode 100644 index 0000000..87280c1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46d-1f3fb.svg b/frontend/theme/img/emojis/svg/1f46d-1f3fb.svg new file mode 100644 index 0000000..e3e1a4a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46d-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46d-1f3fc.svg b/frontend/theme/img/emojis/svg/1f46d-1f3fc.svg new file mode 100644 index 0000000..782875a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46d-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46d-1f3fd.svg b/frontend/theme/img/emojis/svg/1f46d-1f3fd.svg new file mode 100644 index 0000000..f69bbc0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46d-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46d-1f3fe.svg b/frontend/theme/img/emojis/svg/1f46d-1f3fe.svg new file mode 100644 index 0000000..f14ac94 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46d-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46d-1f3ff.svg b/frontend/theme/img/emojis/svg/1f46d-1f3ff.svg new file mode 100644 index 0000000..d8e8432 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46d-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46d.svg b/frontend/theme/img/emojis/svg/1f46d.svg new file mode 100644 index 0000000..91a55c3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46e-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f46e-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..3b9cc97 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46e-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46e-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f46e-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..25c4c81 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46e-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46e-1f3fb.svg b/frontend/theme/img/emojis/svg/1f46e-1f3fb.svg new file mode 100644 index 0000000..a7041d0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46e-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46e-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f46e-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..e3f37cb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46e-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46e-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f46e-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..b2c4783 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46e-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46e-1f3fc.svg b/frontend/theme/img/emojis/svg/1f46e-1f3fc.svg new file mode 100644 index 0000000..18883fa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46e-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46e-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f46e-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..77b1974 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46e-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46e-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f46e-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..7e5e4b5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46e-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46e-1f3fd.svg b/frontend/theme/img/emojis/svg/1f46e-1f3fd.svg new file mode 100644 index 0000000..333abda --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46e-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46e-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f46e-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..d40f400 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46e-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46e-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f46e-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..e817083 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46e-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46e-1f3fe.svg b/frontend/theme/img/emojis/svg/1f46e-1f3fe.svg new file mode 100644 index 0000000..cfd4fcd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46e-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46e-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f46e-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..43b98a0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46e-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46e-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f46e-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..440cb51 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46e-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46e-1f3ff.svg b/frontend/theme/img/emojis/svg/1f46e-1f3ff.svg new file mode 100644 index 0000000..339c56b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46e-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46e-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f46e-200d-2640-fe0f.svg new file mode 100644 index 0000000..6b0fac2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46e-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46e-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f46e-200d-2642-fe0f.svg new file mode 100644 index 0000000..2974c98 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46e-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46e.svg b/frontend/theme/img/emojis/svg/1f46e.svg new file mode 100644 index 0000000..feaeb0b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46f-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f46f-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..745d070 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46f-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46f-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f46f-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..3ee1d03 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46f-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46f-1f3fb.svg b/frontend/theme/img/emojis/svg/1f46f-1f3fb.svg new file mode 100644 index 0000000..2af058a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46f-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46f-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f46f-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..5d710ab --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46f-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46f-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f46f-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..0bdea71 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46f-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46f-1f3fc.svg b/frontend/theme/img/emojis/svg/1f46f-1f3fc.svg new file mode 100644 index 0000000..b5b180f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46f-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46f-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f46f-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..161fae3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46f-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46f-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f46f-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..e57d43a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46f-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46f-1f3fd.svg b/frontend/theme/img/emojis/svg/1f46f-1f3fd.svg new file mode 100644 index 0000000..9ccf9b6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46f-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46f-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f46f-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..89d0607 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46f-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46f-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f46f-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..148d646 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46f-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46f-1f3fe.svg b/frontend/theme/img/emojis/svg/1f46f-1f3fe.svg new file mode 100644 index 0000000..0c53814 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46f-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46f-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f46f-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..f1ed114 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46f-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46f-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f46f-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..8d3700a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46f-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46f-1f3ff.svg b/frontend/theme/img/emojis/svg/1f46f-1f3ff.svg new file mode 100644 index 0000000..a7ca1e3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46f-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46f-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f46f-200d-2640-fe0f.svg new file mode 100644 index 0000000..7c7fe7d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46f-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46f-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f46f-200d-2642-fe0f.svg new file mode 100644 index 0000000..13717aa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46f-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f46f.svg b/frontend/theme/img/emojis/svg/1f46f.svg new file mode 100644 index 0000000..062ff26 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f46f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f470-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f470-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..6e0b0fe --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f470-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f470-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f470-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..84c773a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f470-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f470-1f3fb.svg b/frontend/theme/img/emojis/svg/1f470-1f3fb.svg new file mode 100644 index 0000000..e8c6cd0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f470-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f470-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f470-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..ee4102b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f470-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f470-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f470-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..f894e26 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f470-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f470-1f3fc.svg b/frontend/theme/img/emojis/svg/1f470-1f3fc.svg new file mode 100644 index 0000000..511c7aa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f470-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f470-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f470-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..3d7605d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f470-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f470-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f470-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..f1b941d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f470-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f470-1f3fd.svg b/frontend/theme/img/emojis/svg/1f470-1f3fd.svg new file mode 100644 index 0000000..4fc12eb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f470-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f470-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f470-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..1e33374 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f470-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f470-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f470-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..1c8135c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f470-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f470-1f3fe.svg b/frontend/theme/img/emojis/svg/1f470-1f3fe.svg new file mode 100644 index 0000000..c30f3c0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f470-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f470-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f470-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..656a9b7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f470-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f470-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f470-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..2c090f1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f470-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f470-1f3ff.svg b/frontend/theme/img/emojis/svg/1f470-1f3ff.svg new file mode 100644 index 0000000..9e0f2a2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f470-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f470-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f470-200d-2640-fe0f.svg new file mode 100644 index 0000000..2fd75bf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f470-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f470-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f470-200d-2642-fe0f.svg new file mode 100644 index 0000000..d12c670 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f470-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f470.svg b/frontend/theme/img/emojis/svg/1f470.svg new file mode 100644 index 0000000..a41b9b9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f470.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f471-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f471-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..e9427e1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f471-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f471-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f471-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..8a5a329 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f471-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f471-1f3fb.svg b/frontend/theme/img/emojis/svg/1f471-1f3fb.svg new file mode 100644 index 0000000..2bbee72 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f471-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f471-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f471-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..7c3ba63 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f471-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f471-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f471-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..8455a9e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f471-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f471-1f3fc.svg b/frontend/theme/img/emojis/svg/1f471-1f3fc.svg new file mode 100644 index 0000000..9030253 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f471-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f471-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f471-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..ae6c4f8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f471-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f471-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f471-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..4332b5b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f471-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f471-1f3fd.svg b/frontend/theme/img/emojis/svg/1f471-1f3fd.svg new file mode 100644 index 0000000..52d178f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f471-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f471-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f471-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..33a7c3a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f471-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f471-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f471-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..c8461a9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f471-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f471-1f3fe.svg b/frontend/theme/img/emojis/svg/1f471-1f3fe.svg new file mode 100644 index 0000000..5fbbad1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f471-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f471-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f471-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..7d3745f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f471-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f471-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f471-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..f91a87f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f471-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f471-1f3ff.svg b/frontend/theme/img/emojis/svg/1f471-1f3ff.svg new file mode 100644 index 0000000..323178b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f471-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f471-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f471-200d-2640-fe0f.svg new file mode 100644 index 0000000..2fec72c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f471-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f471-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f471-200d-2642-fe0f.svg new file mode 100644 index 0000000..f73f9f5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f471-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f471.svg b/frontend/theme/img/emojis/svg/1f471.svg new file mode 100644 index 0000000..b524f21 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f471.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f472-1f3fb.svg b/frontend/theme/img/emojis/svg/1f472-1f3fb.svg new file mode 100644 index 0000000..598b23c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f472-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f472-1f3fc.svg b/frontend/theme/img/emojis/svg/1f472-1f3fc.svg new file mode 100644 index 0000000..f57b59f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f472-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f472-1f3fd.svg b/frontend/theme/img/emojis/svg/1f472-1f3fd.svg new file mode 100644 index 0000000..a4f37c4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f472-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f472-1f3fe.svg b/frontend/theme/img/emojis/svg/1f472-1f3fe.svg new file mode 100644 index 0000000..83322d6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f472-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f472-1f3ff.svg b/frontend/theme/img/emojis/svg/1f472-1f3ff.svg new file mode 100644 index 0000000..e1ae612 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f472-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f472.svg b/frontend/theme/img/emojis/svg/1f472.svg new file mode 100644 index 0000000..7ed6bd5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f472.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f473-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f473-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..f93ddcc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f473-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f473-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f473-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..bb59f11 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f473-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f473-1f3fb.svg b/frontend/theme/img/emojis/svg/1f473-1f3fb.svg new file mode 100644 index 0000000..060fcd5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f473-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f473-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f473-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..be21bc7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f473-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f473-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f473-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..3e748c3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f473-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f473-1f3fc.svg b/frontend/theme/img/emojis/svg/1f473-1f3fc.svg new file mode 100644 index 0000000..3ad2dd1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f473-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f473-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f473-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..61590f0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f473-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f473-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f473-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..2373c1d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f473-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f473-1f3fd.svg b/frontend/theme/img/emojis/svg/1f473-1f3fd.svg new file mode 100644 index 0000000..6f11f53 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f473-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f473-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f473-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..cf5b069 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f473-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f473-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f473-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..bc680e6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f473-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f473-1f3fe.svg b/frontend/theme/img/emojis/svg/1f473-1f3fe.svg new file mode 100644 index 0000000..165a975 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f473-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f473-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f473-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..20c6ba1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f473-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f473-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f473-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..6f0f3c5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f473-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f473-1f3ff.svg b/frontend/theme/img/emojis/svg/1f473-1f3ff.svg new file mode 100644 index 0000000..74fc855 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f473-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f473-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f473-200d-2640-fe0f.svg new file mode 100644 index 0000000..9fe3052 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f473-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f473-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f473-200d-2642-fe0f.svg new file mode 100644 index 0000000..5ef43d4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f473-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f473.svg b/frontend/theme/img/emojis/svg/1f473.svg new file mode 100644 index 0000000..216ebcc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f473.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f474-1f3fb.svg b/frontend/theme/img/emojis/svg/1f474-1f3fb.svg new file mode 100644 index 0000000..307f6c9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f474-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f474-1f3fc.svg b/frontend/theme/img/emojis/svg/1f474-1f3fc.svg new file mode 100644 index 0000000..6b3b908 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f474-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f474-1f3fd.svg b/frontend/theme/img/emojis/svg/1f474-1f3fd.svg new file mode 100644 index 0000000..1ab3c23 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f474-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f474-1f3fe.svg b/frontend/theme/img/emojis/svg/1f474-1f3fe.svg new file mode 100644 index 0000000..2fb9707 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f474-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f474-1f3ff.svg b/frontend/theme/img/emojis/svg/1f474-1f3ff.svg new file mode 100644 index 0000000..e421b11 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f474-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f474.svg b/frontend/theme/img/emojis/svg/1f474.svg new file mode 100644 index 0000000..eecf20c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f474.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f475-1f3fb.svg b/frontend/theme/img/emojis/svg/1f475-1f3fb.svg new file mode 100644 index 0000000..d55f164 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f475-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f475-1f3fc.svg b/frontend/theme/img/emojis/svg/1f475-1f3fc.svg new file mode 100644 index 0000000..41b7da7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f475-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f475-1f3fd.svg b/frontend/theme/img/emojis/svg/1f475-1f3fd.svg new file mode 100644 index 0000000..955ae93 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f475-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f475-1f3fe.svg b/frontend/theme/img/emojis/svg/1f475-1f3fe.svg new file mode 100644 index 0000000..adb2c20 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f475-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f475-1f3ff.svg b/frontend/theme/img/emojis/svg/1f475-1f3ff.svg new file mode 100644 index 0000000..98b4bf8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f475-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f475.svg b/frontend/theme/img/emojis/svg/1f475.svg new file mode 100644 index 0000000..5186761 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f475.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f476-1f3fb.svg b/frontend/theme/img/emojis/svg/1f476-1f3fb.svg new file mode 100644 index 0000000..44510c6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f476-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f476-1f3fc.svg b/frontend/theme/img/emojis/svg/1f476-1f3fc.svg new file mode 100644 index 0000000..fe37aa3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f476-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f476-1f3fd.svg b/frontend/theme/img/emojis/svg/1f476-1f3fd.svg new file mode 100644 index 0000000..fe23a4a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f476-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f476-1f3fe.svg b/frontend/theme/img/emojis/svg/1f476-1f3fe.svg new file mode 100644 index 0000000..492d740 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f476-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f476-1f3ff.svg b/frontend/theme/img/emojis/svg/1f476-1f3ff.svg new file mode 100644 index 0000000..66853c9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f476-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f476.svg b/frontend/theme/img/emojis/svg/1f476.svg new file mode 100644 index 0000000..e065d3b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f476.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f477-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f477-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..5240881 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f477-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f477-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f477-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..bbe5b3a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f477-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f477-1f3fb.svg b/frontend/theme/img/emojis/svg/1f477-1f3fb.svg new file mode 100644 index 0000000..cfc2565 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f477-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f477-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f477-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..1f1a29c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f477-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f477-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f477-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..de96731 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f477-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f477-1f3fc.svg b/frontend/theme/img/emojis/svg/1f477-1f3fc.svg new file mode 100644 index 0000000..e19ba61 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f477-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f477-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f477-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..59412f2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f477-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f477-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f477-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..a7c900d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f477-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f477-1f3fd.svg b/frontend/theme/img/emojis/svg/1f477-1f3fd.svg new file mode 100644 index 0000000..59ca2e2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f477-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f477-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f477-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..8fb9e37 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f477-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f477-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f477-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..4fa4d68 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f477-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f477-1f3fe.svg b/frontend/theme/img/emojis/svg/1f477-1f3fe.svg new file mode 100644 index 0000000..a090efe --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f477-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f477-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f477-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..23c567e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f477-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f477-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f477-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..a494321 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f477-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f477-1f3ff.svg b/frontend/theme/img/emojis/svg/1f477-1f3ff.svg new file mode 100644 index 0000000..2838ca1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f477-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f477-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f477-200d-2640-fe0f.svg new file mode 100644 index 0000000..ecfd1b8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f477-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f477-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f477-200d-2642-fe0f.svg new file mode 100644 index 0000000..d1e6b36 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f477-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f477.svg b/frontend/theme/img/emojis/svg/1f477.svg new file mode 100644 index 0000000..5843060 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f477.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f478-1f3fb.svg b/frontend/theme/img/emojis/svg/1f478-1f3fb.svg new file mode 100644 index 0000000..55dac0b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f478-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f478-1f3fc.svg b/frontend/theme/img/emojis/svg/1f478-1f3fc.svg new file mode 100644 index 0000000..2a4b944 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f478-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f478-1f3fd.svg b/frontend/theme/img/emojis/svg/1f478-1f3fd.svg new file mode 100644 index 0000000..ee32135 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f478-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f478-1f3fe.svg b/frontend/theme/img/emojis/svg/1f478-1f3fe.svg new file mode 100644 index 0000000..33437aa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f478-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f478-1f3ff.svg b/frontend/theme/img/emojis/svg/1f478-1f3ff.svg new file mode 100644 index 0000000..2bd03cc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f478-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f478.svg b/frontend/theme/img/emojis/svg/1f478.svg new file mode 100644 index 0000000..9704853 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f478.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f479.svg b/frontend/theme/img/emojis/svg/1f479.svg new file mode 100644 index 0000000..59babb1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f479.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f47a.svg b/frontend/theme/img/emojis/svg/1f47a.svg new file mode 100644 index 0000000..bb0db74 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f47a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f47b.svg b/frontend/theme/img/emojis/svg/1f47b.svg new file mode 100644 index 0000000..02e70fa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f47b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f47c-1f3fb.svg b/frontend/theme/img/emojis/svg/1f47c-1f3fb.svg new file mode 100644 index 0000000..7a20bd0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f47c-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f47c-1f3fc.svg b/frontend/theme/img/emojis/svg/1f47c-1f3fc.svg new file mode 100644 index 0000000..5e63fc0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f47c-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f47c-1f3fd.svg b/frontend/theme/img/emojis/svg/1f47c-1f3fd.svg new file mode 100644 index 0000000..17ed0f6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f47c-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f47c-1f3fe.svg b/frontend/theme/img/emojis/svg/1f47c-1f3fe.svg new file mode 100644 index 0000000..208876d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f47c-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f47c-1f3ff.svg b/frontend/theme/img/emojis/svg/1f47c-1f3ff.svg new file mode 100644 index 0000000..add4462 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f47c-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f47c.svg b/frontend/theme/img/emojis/svg/1f47c.svg new file mode 100644 index 0000000..1233b93 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f47c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f47d.svg b/frontend/theme/img/emojis/svg/1f47d.svg new file mode 100644 index 0000000..f6e98d1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f47d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f47e.svg b/frontend/theme/img/emojis/svg/1f47e.svg new file mode 100644 index 0000000..cda3444 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f47e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f47f.svg b/frontend/theme/img/emojis/svg/1f47f.svg new file mode 100644 index 0000000..61097f0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f47f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f480.svg b/frontend/theme/img/emojis/svg/1f480.svg new file mode 100644 index 0000000..a8000b1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f480.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f481-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f481-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..c3f1872 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f481-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f481-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f481-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..1b649a2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f481-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f481-1f3fb.svg b/frontend/theme/img/emojis/svg/1f481-1f3fb.svg new file mode 100644 index 0000000..b8c3249 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f481-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f481-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f481-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..c3e88dc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f481-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f481-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f481-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..49c9b73 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f481-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f481-1f3fc.svg b/frontend/theme/img/emojis/svg/1f481-1f3fc.svg new file mode 100644 index 0000000..ec37e7d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f481-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f481-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f481-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..8b53b30 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f481-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f481-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f481-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..bee2e01 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f481-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f481-1f3fd.svg b/frontend/theme/img/emojis/svg/1f481-1f3fd.svg new file mode 100644 index 0000000..793093f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f481-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f481-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f481-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..11e4e83 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f481-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f481-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f481-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..70d2da2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f481-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f481-1f3fe.svg b/frontend/theme/img/emojis/svg/1f481-1f3fe.svg new file mode 100644 index 0000000..65df7b4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f481-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f481-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f481-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..e55c1ed --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f481-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f481-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f481-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..7fcad0d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f481-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f481-1f3ff.svg b/frontend/theme/img/emojis/svg/1f481-1f3ff.svg new file mode 100644 index 0000000..9d3ea6c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f481-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f481-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f481-200d-2640-fe0f.svg new file mode 100644 index 0000000..7a4864f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f481-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f481-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f481-200d-2642-fe0f.svg new file mode 100644 index 0000000..1bb5433 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f481-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f481.svg b/frontend/theme/img/emojis/svg/1f481.svg new file mode 100644 index 0000000..eeffd85 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f481.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f482-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f482-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..99f1919 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f482-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f482-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f482-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..c15d824 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f482-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f482-1f3fb.svg b/frontend/theme/img/emojis/svg/1f482-1f3fb.svg new file mode 100644 index 0000000..3f7f82f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f482-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f482-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f482-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..04f10dd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f482-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f482-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f482-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..1e6689e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f482-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f482-1f3fc.svg b/frontend/theme/img/emojis/svg/1f482-1f3fc.svg new file mode 100644 index 0000000..2dc7468 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f482-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f482-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f482-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..ebddd61 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f482-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f482-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f482-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..268da54 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f482-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f482-1f3fd.svg b/frontend/theme/img/emojis/svg/1f482-1f3fd.svg new file mode 100644 index 0000000..96779ee --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f482-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f482-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f482-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..667d9ef --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f482-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f482-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f482-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..88b6c0f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f482-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f482-1f3fe.svg b/frontend/theme/img/emojis/svg/1f482-1f3fe.svg new file mode 100644 index 0000000..2493a13 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f482-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f482-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f482-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..208fa74 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f482-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f482-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f482-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..831d198 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f482-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f482-1f3ff.svg b/frontend/theme/img/emojis/svg/1f482-1f3ff.svg new file mode 100644 index 0000000..40b130b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f482-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f482-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f482-200d-2640-fe0f.svg new file mode 100644 index 0000000..e8a3388 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f482-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f482-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f482-200d-2642-fe0f.svg new file mode 100644 index 0000000..e8998c5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f482-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f482.svg b/frontend/theme/img/emojis/svg/1f482.svg new file mode 100644 index 0000000..d809a9f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f482.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f483-1f3fb.svg b/frontend/theme/img/emojis/svg/1f483-1f3fb.svg new file mode 100644 index 0000000..72c8f2c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f483-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f483-1f3fc.svg b/frontend/theme/img/emojis/svg/1f483-1f3fc.svg new file mode 100644 index 0000000..972ac6a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f483-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f483-1f3fd.svg b/frontend/theme/img/emojis/svg/1f483-1f3fd.svg new file mode 100644 index 0000000..50377b6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f483-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f483-1f3fe.svg b/frontend/theme/img/emojis/svg/1f483-1f3fe.svg new file mode 100644 index 0000000..e4dde29 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f483-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f483-1f3ff.svg b/frontend/theme/img/emojis/svg/1f483-1f3ff.svg new file mode 100644 index 0000000..ac53506 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f483-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f483.svg b/frontend/theme/img/emojis/svg/1f483.svg new file mode 100644 index 0000000..abc19e5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f483.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f484.svg b/frontend/theme/img/emojis/svg/1f484.svg new file mode 100644 index 0000000..af7e861 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f484.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f485-1f3fb.svg b/frontend/theme/img/emojis/svg/1f485-1f3fb.svg new file mode 100644 index 0000000..5cfe6e9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f485-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f485-1f3fc.svg b/frontend/theme/img/emojis/svg/1f485-1f3fc.svg new file mode 100644 index 0000000..af54b51 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f485-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f485-1f3fd.svg b/frontend/theme/img/emojis/svg/1f485-1f3fd.svg new file mode 100644 index 0000000..e1d9927 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f485-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f485-1f3fe.svg b/frontend/theme/img/emojis/svg/1f485-1f3fe.svg new file mode 100644 index 0000000..18fea63 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f485-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f485-1f3ff.svg b/frontend/theme/img/emojis/svg/1f485-1f3ff.svg new file mode 100644 index 0000000..4917673 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f485-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f485.svg b/frontend/theme/img/emojis/svg/1f485.svg new file mode 100644 index 0000000..2ddba93 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f485.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f486-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f486-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..28d27e2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f486-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f486-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f486-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..92d7d0b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f486-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f486-1f3fb.svg b/frontend/theme/img/emojis/svg/1f486-1f3fb.svg new file mode 100644 index 0000000..3e6ec64 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f486-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f486-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f486-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..dad79ad --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f486-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f486-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f486-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..4627172 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f486-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f486-1f3fc.svg b/frontend/theme/img/emojis/svg/1f486-1f3fc.svg new file mode 100644 index 0000000..6c9d96c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f486-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f486-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f486-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..407d11b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f486-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f486-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f486-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..e30946f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f486-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f486-1f3fd.svg b/frontend/theme/img/emojis/svg/1f486-1f3fd.svg new file mode 100644 index 0000000..82205d5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f486-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f486-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f486-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..defbf61 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f486-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f486-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f486-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..e7d5b9d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f486-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f486-1f3fe.svg b/frontend/theme/img/emojis/svg/1f486-1f3fe.svg new file mode 100644 index 0000000..923f580 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f486-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f486-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f486-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..793967f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f486-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f486-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f486-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..36fa5f9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f486-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f486-1f3ff.svg b/frontend/theme/img/emojis/svg/1f486-1f3ff.svg new file mode 100644 index 0000000..c03123b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f486-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f486-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f486-200d-2640-fe0f.svg new file mode 100644 index 0000000..de2053b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f486-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f486-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f486-200d-2642-fe0f.svg new file mode 100644 index 0000000..39bb75b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f486-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f486.svg b/frontend/theme/img/emojis/svg/1f486.svg new file mode 100644 index 0000000..57e3588 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f486.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f487-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f487-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..3d2a27c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f487-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f487-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f487-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..d50a429 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f487-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f487-1f3fb.svg b/frontend/theme/img/emojis/svg/1f487-1f3fb.svg new file mode 100644 index 0000000..acafd9b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f487-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f487-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f487-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..fc15653 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f487-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f487-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f487-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..bc4c86b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f487-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f487-1f3fc.svg b/frontend/theme/img/emojis/svg/1f487-1f3fc.svg new file mode 100644 index 0000000..e3665ec --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f487-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f487-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f487-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..c2d9ec7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f487-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f487-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f487-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..89651cd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f487-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f487-1f3fd.svg b/frontend/theme/img/emojis/svg/1f487-1f3fd.svg new file mode 100644 index 0000000..45bb2f1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f487-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f487-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f487-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..ed2374c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f487-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f487-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f487-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..8deb60d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f487-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f487-1f3fe.svg b/frontend/theme/img/emojis/svg/1f487-1f3fe.svg new file mode 100644 index 0000000..39623cc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f487-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f487-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f487-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..b8b4754 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f487-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f487-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f487-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..ba85114 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f487-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f487-1f3ff.svg b/frontend/theme/img/emojis/svg/1f487-1f3ff.svg new file mode 100644 index 0000000..1840045 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f487-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f487-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f487-200d-2640-fe0f.svg new file mode 100644 index 0000000..8bfab80 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f487-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f487-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f487-200d-2642-fe0f.svg new file mode 100644 index 0000000..e3bc6d9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f487-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f487.svg b/frontend/theme/img/emojis/svg/1f487.svg new file mode 100644 index 0000000..1957fa0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f487.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f488.svg b/frontend/theme/img/emojis/svg/1f488.svg new file mode 100644 index 0000000..33ed332 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f488.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f489.svg b/frontend/theme/img/emojis/svg/1f489.svg new file mode 100644 index 0000000..6fb5e9e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f489.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f48a.svg b/frontend/theme/img/emojis/svg/1f48a.svg new file mode 100644 index 0000000..931839b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f48a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f48b.svg b/frontend/theme/img/emojis/svg/1f48b.svg new file mode 100644 index 0000000..f71fc97 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f48b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f48c.svg b/frontend/theme/img/emojis/svg/1f48c.svg new file mode 100644 index 0000000..0734ecf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f48c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f48d.svg b/frontend/theme/img/emojis/svg/1f48d.svg new file mode 100644 index 0000000..0834165 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f48d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f48e.svg b/frontend/theme/img/emojis/svg/1f48e.svg new file mode 100644 index 0000000..a379f71 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f48e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f48f-1f3fb.svg b/frontend/theme/img/emojis/svg/1f48f-1f3fb.svg new file mode 100644 index 0000000..787f827 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f48f-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f48f-1f3fc.svg b/frontend/theme/img/emojis/svg/1f48f-1f3fc.svg new file mode 100644 index 0000000..dbfac3f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f48f-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f48f-1f3fd.svg b/frontend/theme/img/emojis/svg/1f48f-1f3fd.svg new file mode 100644 index 0000000..1fe89be --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f48f-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f48f-1f3fe.svg b/frontend/theme/img/emojis/svg/1f48f-1f3fe.svg new file mode 100644 index 0000000..394eafe --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f48f-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f48f-1f3ff.svg b/frontend/theme/img/emojis/svg/1f48f-1f3ff.svg new file mode 100644 index 0000000..7087f91 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f48f-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f48f.svg b/frontend/theme/img/emojis/svg/1f48f.svg new file mode 100644 index 0000000..ea67314 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f48f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f490.svg b/frontend/theme/img/emojis/svg/1f490.svg new file mode 100644 index 0000000..f080ef7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f490.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f491-1f3fb.svg b/frontend/theme/img/emojis/svg/1f491-1f3fb.svg new file mode 100644 index 0000000..b4795dd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f491-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f491-1f3fc.svg b/frontend/theme/img/emojis/svg/1f491-1f3fc.svg new file mode 100644 index 0000000..971e874 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f491-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f491-1f3fd.svg b/frontend/theme/img/emojis/svg/1f491-1f3fd.svg new file mode 100644 index 0000000..3f042ca --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f491-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f491-1f3fe.svg b/frontend/theme/img/emojis/svg/1f491-1f3fe.svg new file mode 100644 index 0000000..8e98402 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f491-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f491-1f3ff.svg b/frontend/theme/img/emojis/svg/1f491-1f3ff.svg new file mode 100644 index 0000000..9257f7c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f491-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f491.svg b/frontend/theme/img/emojis/svg/1f491.svg new file mode 100644 index 0000000..73a30e9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f491.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f492.svg b/frontend/theme/img/emojis/svg/1f492.svg new file mode 100644 index 0000000..974ddac --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f492.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f493.svg b/frontend/theme/img/emojis/svg/1f493.svg new file mode 100644 index 0000000..404a6e7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f493.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f494.svg b/frontend/theme/img/emojis/svg/1f494.svg new file mode 100644 index 0000000..d50c770 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f494.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f495.svg b/frontend/theme/img/emojis/svg/1f495.svg new file mode 100644 index 0000000..b4b3216 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f495.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f496.svg b/frontend/theme/img/emojis/svg/1f496.svg new file mode 100644 index 0000000..aa3abbc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f496.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f497.svg b/frontend/theme/img/emojis/svg/1f497.svg new file mode 100644 index 0000000..295f9d4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f497.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f498.svg b/frontend/theme/img/emojis/svg/1f498.svg new file mode 100644 index 0000000..32d819f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f498.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f499.svg b/frontend/theme/img/emojis/svg/1f499.svg new file mode 100644 index 0000000..9eade12 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f499.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f49a.svg b/frontend/theme/img/emojis/svg/1f49a.svg new file mode 100644 index 0000000..b81f702 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f49a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f49b.svg b/frontend/theme/img/emojis/svg/1f49b.svg new file mode 100644 index 0000000..e57e244 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f49b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f49c.svg b/frontend/theme/img/emojis/svg/1f49c.svg new file mode 100644 index 0000000..f1dc073 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f49c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f49d.svg b/frontend/theme/img/emojis/svg/1f49d.svg new file mode 100644 index 0000000..5db2632 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f49d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f49e.svg b/frontend/theme/img/emojis/svg/1f49e.svg new file mode 100644 index 0000000..b9459b7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f49e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f49f.svg b/frontend/theme/img/emojis/svg/1f49f.svg new file mode 100644 index 0000000..71adb41 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f49f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4a0.svg b/frontend/theme/img/emojis/svg/1f4a0.svg new file mode 100644 index 0000000..9c80565 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4a0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4a1.svg b/frontend/theme/img/emojis/svg/1f4a1.svg new file mode 100644 index 0000000..88b62e3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4a1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4a2.svg b/frontend/theme/img/emojis/svg/1f4a2.svg new file mode 100644 index 0000000..78f797b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4a2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4a3.svg b/frontend/theme/img/emojis/svg/1f4a3.svg new file mode 100644 index 0000000..feb2c9d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4a3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4a4.svg b/frontend/theme/img/emojis/svg/1f4a4.svg new file mode 100644 index 0000000..b713e97 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4a4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4a5.svg b/frontend/theme/img/emojis/svg/1f4a5.svg new file mode 100644 index 0000000..36c50d6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4a5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4a6.svg b/frontend/theme/img/emojis/svg/1f4a6.svg new file mode 100644 index 0000000..fd53cd8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4a6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4a7.svg b/frontend/theme/img/emojis/svg/1f4a7.svg new file mode 100644 index 0000000..3116ec3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4a7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4a8.svg b/frontend/theme/img/emojis/svg/1f4a8.svg new file mode 100644 index 0000000..006e04a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4a8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4a9.svg b/frontend/theme/img/emojis/svg/1f4a9.svg new file mode 100644 index 0000000..19221f6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4a9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4aa-1f3fb.svg b/frontend/theme/img/emojis/svg/1f4aa-1f3fb.svg new file mode 100644 index 0000000..2627eea --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4aa-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4aa-1f3fc.svg b/frontend/theme/img/emojis/svg/1f4aa-1f3fc.svg new file mode 100644 index 0000000..2cac971 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4aa-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4aa-1f3fd.svg b/frontend/theme/img/emojis/svg/1f4aa-1f3fd.svg new file mode 100644 index 0000000..68f6b75 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4aa-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4aa-1f3fe.svg b/frontend/theme/img/emojis/svg/1f4aa-1f3fe.svg new file mode 100644 index 0000000..c773c67 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4aa-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4aa-1f3ff.svg b/frontend/theme/img/emojis/svg/1f4aa-1f3ff.svg new file mode 100644 index 0000000..16efbe0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4aa-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4aa.svg b/frontend/theme/img/emojis/svg/1f4aa.svg new file mode 100644 index 0000000..7b4c120 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4aa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4ab.svg b/frontend/theme/img/emojis/svg/1f4ab.svg new file mode 100644 index 0000000..af3261c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4ab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4ac.svg b/frontend/theme/img/emojis/svg/1f4ac.svg new file mode 100644 index 0000000..11533c5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4ac.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4ad.svg b/frontend/theme/img/emojis/svg/1f4ad.svg new file mode 100644 index 0000000..f3d835c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4ad.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4ae.svg b/frontend/theme/img/emojis/svg/1f4ae.svg new file mode 100644 index 0000000..7f8b528 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4ae.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4af.svg b/frontend/theme/img/emojis/svg/1f4af.svg new file mode 100644 index 0000000..3d565cc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4b0.svg b/frontend/theme/img/emojis/svg/1f4b0.svg new file mode 100644 index 0000000..5b41c52 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4b0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4b1.svg b/frontend/theme/img/emojis/svg/1f4b1.svg new file mode 100644 index 0000000..b67b0cd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4b1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4b2.svg b/frontend/theme/img/emojis/svg/1f4b2.svg new file mode 100644 index 0000000..1bc1ead --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4b2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4b3.svg b/frontend/theme/img/emojis/svg/1f4b3.svg new file mode 100644 index 0000000..97641af --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4b3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4b4.svg b/frontend/theme/img/emojis/svg/1f4b4.svg new file mode 100644 index 0000000..747870e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4b4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4b5.svg b/frontend/theme/img/emojis/svg/1f4b5.svg new file mode 100644 index 0000000..1c68944 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4b5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4b6.svg b/frontend/theme/img/emojis/svg/1f4b6.svg new file mode 100644 index 0000000..afd8b71 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4b6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4b7.svg b/frontend/theme/img/emojis/svg/1f4b7.svg new file mode 100644 index 0000000..ff5c5a4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4b7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4b8.svg b/frontend/theme/img/emojis/svg/1f4b8.svg new file mode 100644 index 0000000..8b6fa10 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4b8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4b9.svg b/frontend/theme/img/emojis/svg/1f4b9.svg new file mode 100644 index 0000000..f6143a0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4b9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4ba.svg b/frontend/theme/img/emojis/svg/1f4ba.svg new file mode 100644 index 0000000..ab311bc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4ba.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4bb.svg b/frontend/theme/img/emojis/svg/1f4bb.svg new file mode 100644 index 0000000..93357fa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4bb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4bc.svg b/frontend/theme/img/emojis/svg/1f4bc.svg new file mode 100644 index 0000000..c5336c7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4bd.svg b/frontend/theme/img/emojis/svg/1f4bd.svg new file mode 100644 index 0000000..a557b9b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4be.svg b/frontend/theme/img/emojis/svg/1f4be.svg new file mode 100644 index 0000000..7c97626 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4be.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4bf.svg b/frontend/theme/img/emojis/svg/1f4bf.svg new file mode 100644 index 0000000..6824a06 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4bf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4c0.svg b/frontend/theme/img/emojis/svg/1f4c0.svg new file mode 100644 index 0000000..1b3b38b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4c0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4c1.svg b/frontend/theme/img/emojis/svg/1f4c1.svg new file mode 100644 index 0000000..099d58b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4c1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4c2.svg b/frontend/theme/img/emojis/svg/1f4c2.svg new file mode 100644 index 0000000..60ec379 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4c2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4c3.svg b/frontend/theme/img/emojis/svg/1f4c3.svg new file mode 100644 index 0000000..bf19ad2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4c3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4c4.svg b/frontend/theme/img/emojis/svg/1f4c4.svg new file mode 100644 index 0000000..4631bc5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4c4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4c5.svg b/frontend/theme/img/emojis/svg/1f4c5.svg new file mode 100644 index 0000000..476a950 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4c5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4c6.svg b/frontend/theme/img/emojis/svg/1f4c6.svg new file mode 100644 index 0000000..b2de8c5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4c6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4c7.svg b/frontend/theme/img/emojis/svg/1f4c7.svg new file mode 100644 index 0000000..097a715 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4c7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4c8.svg b/frontend/theme/img/emojis/svg/1f4c8.svg new file mode 100644 index 0000000..cbf108f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4c8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4c9.svg b/frontend/theme/img/emojis/svg/1f4c9.svg new file mode 100644 index 0000000..ac8c258 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4c9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4ca.svg b/frontend/theme/img/emojis/svg/1f4ca.svg new file mode 100644 index 0000000..3c572cb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4ca.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4cb.svg b/frontend/theme/img/emojis/svg/1f4cb.svg new file mode 100644 index 0000000..a51b34a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4cb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4cc.svg b/frontend/theme/img/emojis/svg/1f4cc.svg new file mode 100644 index 0000000..2ab6da3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4cc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4cd.svg b/frontend/theme/img/emojis/svg/1f4cd.svg new file mode 100644 index 0000000..8ab3159 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4cd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4ce.svg b/frontend/theme/img/emojis/svg/1f4ce.svg new file mode 100644 index 0000000..284cf66 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4ce.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4cf.svg b/frontend/theme/img/emojis/svg/1f4cf.svg new file mode 100644 index 0000000..37b035b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4cf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4d0.svg b/frontend/theme/img/emojis/svg/1f4d0.svg new file mode 100644 index 0000000..b365150 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4d0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4d1.svg b/frontend/theme/img/emojis/svg/1f4d1.svg new file mode 100644 index 0000000..b3bdc36 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4d1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4d2.svg b/frontend/theme/img/emojis/svg/1f4d2.svg new file mode 100644 index 0000000..ee15b16 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4d2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4d3.svg b/frontend/theme/img/emojis/svg/1f4d3.svg new file mode 100644 index 0000000..b6f49c0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4d3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4d4.svg b/frontend/theme/img/emojis/svg/1f4d4.svg new file mode 100644 index 0000000..2bfc4ca --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4d4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4d5.svg b/frontend/theme/img/emojis/svg/1f4d5.svg new file mode 100644 index 0000000..701ff01 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4d5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4d6.svg b/frontend/theme/img/emojis/svg/1f4d6.svg new file mode 100644 index 0000000..0dfd083 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4d6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4d7.svg b/frontend/theme/img/emojis/svg/1f4d7.svg new file mode 100644 index 0000000..ff74744 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4d7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4d8.svg b/frontend/theme/img/emojis/svg/1f4d8.svg new file mode 100644 index 0000000..ce45928 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4d8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4d9.svg b/frontend/theme/img/emojis/svg/1f4d9.svg new file mode 100644 index 0000000..b055f66 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4d9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4da.svg b/frontend/theme/img/emojis/svg/1f4da.svg new file mode 100644 index 0000000..422d388 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4da.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4db.svg b/frontend/theme/img/emojis/svg/1f4db.svg new file mode 100644 index 0000000..00f1a10 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4db.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4dc.svg b/frontend/theme/img/emojis/svg/1f4dc.svg new file mode 100644 index 0000000..2a7fd37 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4dc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4dd.svg b/frontend/theme/img/emojis/svg/1f4dd.svg new file mode 100644 index 0000000..1697ffb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4dd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4de.svg b/frontend/theme/img/emojis/svg/1f4de.svg new file mode 100644 index 0000000..cfaf7ca --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4de.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4df.svg b/frontend/theme/img/emojis/svg/1f4df.svg new file mode 100644 index 0000000..d7d4b5f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4df.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4e0.svg b/frontend/theme/img/emojis/svg/1f4e0.svg new file mode 100644 index 0000000..5f88b13 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4e0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4e1.svg b/frontend/theme/img/emojis/svg/1f4e1.svg new file mode 100644 index 0000000..dcb0294 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4e1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4e2.svg b/frontend/theme/img/emojis/svg/1f4e2.svg new file mode 100644 index 0000000..8bd0c94 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4e2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4e3.svg b/frontend/theme/img/emojis/svg/1f4e3.svg new file mode 100644 index 0000000..20cbc7d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4e3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4e4.svg b/frontend/theme/img/emojis/svg/1f4e4.svg new file mode 100644 index 0000000..62d9033 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4e4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4e5.svg b/frontend/theme/img/emojis/svg/1f4e5.svg new file mode 100644 index 0000000..921ca18 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4e5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4e6.svg b/frontend/theme/img/emojis/svg/1f4e6.svg new file mode 100644 index 0000000..1ce0961 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4e6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4e7.svg b/frontend/theme/img/emojis/svg/1f4e7.svg new file mode 100644 index 0000000..d8ce780 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4e7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4e8.svg b/frontend/theme/img/emojis/svg/1f4e8.svg new file mode 100644 index 0000000..7c59e93 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4e8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4e9.svg b/frontend/theme/img/emojis/svg/1f4e9.svg new file mode 100644 index 0000000..1847cd1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4e9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4ea.svg b/frontend/theme/img/emojis/svg/1f4ea.svg new file mode 100644 index 0000000..54f609e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4ea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4eb.svg b/frontend/theme/img/emojis/svg/1f4eb.svg new file mode 100644 index 0000000..79ea795 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4ec.svg b/frontend/theme/img/emojis/svg/1f4ec.svg new file mode 100644 index 0000000..27d6ebe --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4ec.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4ed.svg b/frontend/theme/img/emojis/svg/1f4ed.svg new file mode 100644 index 0000000..4e969c9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4ee.svg b/frontend/theme/img/emojis/svg/1f4ee.svg new file mode 100644 index 0000000..61c0332 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4ee.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4ef.svg b/frontend/theme/img/emojis/svg/1f4ef.svg new file mode 100644 index 0000000..2fa1e2d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4ef.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4f0.svg b/frontend/theme/img/emojis/svg/1f4f0.svg new file mode 100644 index 0000000..a97d477 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4f0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4f1.svg b/frontend/theme/img/emojis/svg/1f4f1.svg new file mode 100644 index 0000000..81c4e99 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4f1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4f2.svg b/frontend/theme/img/emojis/svg/1f4f2.svg new file mode 100644 index 0000000..82f5293 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4f2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4f3.svg b/frontend/theme/img/emojis/svg/1f4f3.svg new file mode 100644 index 0000000..287d5a9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4f3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4f4.svg b/frontend/theme/img/emojis/svg/1f4f4.svg new file mode 100644 index 0000000..fc2d2cd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4f4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4f5.svg b/frontend/theme/img/emojis/svg/1f4f5.svg new file mode 100644 index 0000000..fdbab38 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4f5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4f6.svg b/frontend/theme/img/emojis/svg/1f4f6.svg new file mode 100644 index 0000000..df646fd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4f6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4f7.svg b/frontend/theme/img/emojis/svg/1f4f7.svg new file mode 100644 index 0000000..aa2d9c5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4f7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4f8.svg b/frontend/theme/img/emojis/svg/1f4f8.svg new file mode 100644 index 0000000..9bf3cf7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4f8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4f9.svg b/frontend/theme/img/emojis/svg/1f4f9.svg new file mode 100644 index 0000000..f1abb59 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4f9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4fa.svg b/frontend/theme/img/emojis/svg/1f4fa.svg new file mode 100644 index 0000000..5f864de --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4fa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4fb.svg b/frontend/theme/img/emojis/svg/1f4fb.svg new file mode 100644 index 0000000..33808ad --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4fc.svg b/frontend/theme/img/emojis/svg/1f4fc.svg new file mode 100644 index 0000000..31024ba --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4fd.svg b/frontend/theme/img/emojis/svg/1f4fd.svg new file mode 100644 index 0000000..b12b42c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f4ff.svg b/frontend/theme/img/emojis/svg/1f4ff.svg new file mode 100644 index 0000000..a38a8e2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f4ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f500.svg b/frontend/theme/img/emojis/svg/1f500.svg new file mode 100644 index 0000000..43f78bc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f500.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f501.svg b/frontend/theme/img/emojis/svg/1f501.svg new file mode 100644 index 0000000..27efdab --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f501.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f502.svg b/frontend/theme/img/emojis/svg/1f502.svg new file mode 100644 index 0000000..926d896 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f502.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f503.svg b/frontend/theme/img/emojis/svg/1f503.svg new file mode 100644 index 0000000..e35eb88 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f503.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f504.svg b/frontend/theme/img/emojis/svg/1f504.svg new file mode 100644 index 0000000..c88a827 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f504.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f505.svg b/frontend/theme/img/emojis/svg/1f505.svg new file mode 100644 index 0000000..998b8f4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f505.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f506.svg b/frontend/theme/img/emojis/svg/1f506.svg new file mode 100644 index 0000000..2a2d58c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f506.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f507.svg b/frontend/theme/img/emojis/svg/1f507.svg new file mode 100644 index 0000000..39dddb5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f507.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f508.svg b/frontend/theme/img/emojis/svg/1f508.svg new file mode 100644 index 0000000..11a7b0e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f508.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f509.svg b/frontend/theme/img/emojis/svg/1f509.svg new file mode 100644 index 0000000..9fb6c1c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f509.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f50a.svg b/frontend/theme/img/emojis/svg/1f50a.svg new file mode 100644 index 0000000..de54654 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f50a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f50b.svg b/frontend/theme/img/emojis/svg/1f50b.svg new file mode 100644 index 0000000..fd0913c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f50b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f50c.svg b/frontend/theme/img/emojis/svg/1f50c.svg new file mode 100644 index 0000000..8f432f0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f50c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f50d.svg b/frontend/theme/img/emojis/svg/1f50d.svg new file mode 100644 index 0000000..038bbc2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f50d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f50e.svg b/frontend/theme/img/emojis/svg/1f50e.svg new file mode 100644 index 0000000..778ae77 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f50e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f50f.svg b/frontend/theme/img/emojis/svg/1f50f.svg new file mode 100644 index 0000000..d4e864d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f50f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f510.svg b/frontend/theme/img/emojis/svg/1f510.svg new file mode 100644 index 0000000..45f288f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f510.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f511.svg b/frontend/theme/img/emojis/svg/1f511.svg new file mode 100644 index 0000000..7b4dc2a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f511.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f512.svg b/frontend/theme/img/emojis/svg/1f512.svg new file mode 100644 index 0000000..4cd1fac --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f512.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f513.svg b/frontend/theme/img/emojis/svg/1f513.svg new file mode 100644 index 0000000..b9ffd7b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f513.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f514.svg b/frontend/theme/img/emojis/svg/1f514.svg new file mode 100644 index 0000000..9e89a7c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f514.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f515.svg b/frontend/theme/img/emojis/svg/1f515.svg new file mode 100644 index 0000000..921d352 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f515.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f516.svg b/frontend/theme/img/emojis/svg/1f516.svg new file mode 100644 index 0000000..38dc790 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f516.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f517.svg b/frontend/theme/img/emojis/svg/1f517.svg new file mode 100644 index 0000000..22ddbe0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f517.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f518.svg b/frontend/theme/img/emojis/svg/1f518.svg new file mode 100644 index 0000000..e4d0348 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f518.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f519.svg b/frontend/theme/img/emojis/svg/1f519.svg new file mode 100644 index 0000000..ddf8fbd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f519.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f51a.svg b/frontend/theme/img/emojis/svg/1f51a.svg new file mode 100644 index 0000000..d964c52 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f51a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f51b.svg b/frontend/theme/img/emojis/svg/1f51b.svg new file mode 100644 index 0000000..a885bab --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f51b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f51c.svg b/frontend/theme/img/emojis/svg/1f51c.svg new file mode 100644 index 0000000..6904281 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f51c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f51d.svg b/frontend/theme/img/emojis/svg/1f51d.svg new file mode 100644 index 0000000..54ab898 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f51d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f51e.svg b/frontend/theme/img/emojis/svg/1f51e.svg new file mode 100644 index 0000000..8f877f8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f51e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f51f.svg b/frontend/theme/img/emojis/svg/1f51f.svg new file mode 100644 index 0000000..05dc8b9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f51f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f520.svg b/frontend/theme/img/emojis/svg/1f520.svg new file mode 100644 index 0000000..429f113 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f520.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f521.svg b/frontend/theme/img/emojis/svg/1f521.svg new file mode 100644 index 0000000..3c2076e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f521.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f522.svg b/frontend/theme/img/emojis/svg/1f522.svg new file mode 100644 index 0000000..316f8ee --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f522.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f523.svg b/frontend/theme/img/emojis/svg/1f523.svg new file mode 100644 index 0000000..71ac157 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f523.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f524.svg b/frontend/theme/img/emojis/svg/1f524.svg new file mode 100644 index 0000000..e3e9464 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f524.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f525.svg b/frontend/theme/img/emojis/svg/1f525.svg new file mode 100644 index 0000000..e7dee6d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f525.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f526.svg b/frontend/theme/img/emojis/svg/1f526.svg new file mode 100644 index 0000000..1aff8ae --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f526.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f527.svg b/frontend/theme/img/emojis/svg/1f527.svg new file mode 100644 index 0000000..73a06d0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f527.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f528.svg b/frontend/theme/img/emojis/svg/1f528.svg new file mode 100644 index 0000000..1a0485e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f528.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f529.svg b/frontend/theme/img/emojis/svg/1f529.svg new file mode 100644 index 0000000..e02eaa6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f529.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f52a.svg b/frontend/theme/img/emojis/svg/1f52a.svg new file mode 100644 index 0000000..d2ba9e7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f52a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f52b.svg b/frontend/theme/img/emojis/svg/1f52b.svg new file mode 100644 index 0000000..3c8b6e4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f52b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f52c.svg b/frontend/theme/img/emojis/svg/1f52c.svg new file mode 100644 index 0000000..e910ee8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f52c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f52d.svg b/frontend/theme/img/emojis/svg/1f52d.svg new file mode 100644 index 0000000..113c033 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f52d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f52e.svg b/frontend/theme/img/emojis/svg/1f52e.svg new file mode 100644 index 0000000..d7e0923 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f52e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f52f.svg b/frontend/theme/img/emojis/svg/1f52f.svg new file mode 100644 index 0000000..7efa372 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f52f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f530.svg b/frontend/theme/img/emojis/svg/1f530.svg new file mode 100644 index 0000000..a6b9fbe --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f530.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f531.svg b/frontend/theme/img/emojis/svg/1f531.svg new file mode 100644 index 0000000..20cc78d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f531.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f532.svg b/frontend/theme/img/emojis/svg/1f532.svg new file mode 100644 index 0000000..a2e37de --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f532.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f533.svg b/frontend/theme/img/emojis/svg/1f533.svg new file mode 100644 index 0000000..13f35b7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f533.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f534.svg b/frontend/theme/img/emojis/svg/1f534.svg new file mode 100644 index 0000000..d98cc6d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f534.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f535.svg b/frontend/theme/img/emojis/svg/1f535.svg new file mode 100644 index 0000000..9d4ab8f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f535.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f536.svg b/frontend/theme/img/emojis/svg/1f536.svg new file mode 100644 index 0000000..9695be3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f536.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f537.svg b/frontend/theme/img/emojis/svg/1f537.svg new file mode 100644 index 0000000..44acab2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f537.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f538.svg b/frontend/theme/img/emojis/svg/1f538.svg new file mode 100644 index 0000000..842ffcc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f538.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f539.svg b/frontend/theme/img/emojis/svg/1f539.svg new file mode 100644 index 0000000..bb4865d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f539.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f53a.svg b/frontend/theme/img/emojis/svg/1f53a.svg new file mode 100644 index 0000000..96d0ebb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f53a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f53b.svg b/frontend/theme/img/emojis/svg/1f53b.svg new file mode 100644 index 0000000..f846cbf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f53b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f53c.svg b/frontend/theme/img/emojis/svg/1f53c.svg new file mode 100644 index 0000000..b057a59 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f53c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f53d.svg b/frontend/theme/img/emojis/svg/1f53d.svg new file mode 100644 index 0000000..09ec874 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f53d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f549.svg b/frontend/theme/img/emojis/svg/1f549.svg new file mode 100644 index 0000000..9e6a1ef --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f549.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f54a.svg b/frontend/theme/img/emojis/svg/1f54a.svg new file mode 100644 index 0000000..613e495 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f54a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f54b.svg b/frontend/theme/img/emojis/svg/1f54b.svg new file mode 100644 index 0000000..3cd63ee --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f54b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f54c.svg b/frontend/theme/img/emojis/svg/1f54c.svg new file mode 100644 index 0000000..6ef5516 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f54c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f54d.svg b/frontend/theme/img/emojis/svg/1f54d.svg new file mode 100644 index 0000000..c82ae00 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f54d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f54e.svg b/frontend/theme/img/emojis/svg/1f54e.svg new file mode 100644 index 0000000..1ebcec5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f54e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f550.svg b/frontend/theme/img/emojis/svg/1f550.svg new file mode 100644 index 0000000..da82d97 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f550.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f551.svg b/frontend/theme/img/emojis/svg/1f551.svg new file mode 100644 index 0000000..96ab682 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f551.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f552.svg b/frontend/theme/img/emojis/svg/1f552.svg new file mode 100644 index 0000000..ce4c487 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f552.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f553.svg b/frontend/theme/img/emojis/svg/1f553.svg new file mode 100644 index 0000000..2ac4ead --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f553.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f554.svg b/frontend/theme/img/emojis/svg/1f554.svg new file mode 100644 index 0000000..1a2ef1c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f554.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f555.svg b/frontend/theme/img/emojis/svg/1f555.svg new file mode 100644 index 0000000..5021b16 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f555.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f556.svg b/frontend/theme/img/emojis/svg/1f556.svg new file mode 100644 index 0000000..a2eb7ef --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f556.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f557.svg b/frontend/theme/img/emojis/svg/1f557.svg new file mode 100644 index 0000000..3a7ff9b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f557.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f558.svg b/frontend/theme/img/emojis/svg/1f558.svg new file mode 100644 index 0000000..e9d3cb5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f558.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f559.svg b/frontend/theme/img/emojis/svg/1f559.svg new file mode 100644 index 0000000..331f702 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f559.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f55a.svg b/frontend/theme/img/emojis/svg/1f55a.svg new file mode 100644 index 0000000..5883449 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f55a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f55b.svg b/frontend/theme/img/emojis/svg/1f55b.svg new file mode 100644 index 0000000..85010ae --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f55b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f55c.svg b/frontend/theme/img/emojis/svg/1f55c.svg new file mode 100644 index 0000000..f471871 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f55c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f55d.svg b/frontend/theme/img/emojis/svg/1f55d.svg new file mode 100644 index 0000000..feb77f8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f55d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f55e.svg b/frontend/theme/img/emojis/svg/1f55e.svg new file mode 100644 index 0000000..8ab841f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f55e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f55f.svg b/frontend/theme/img/emojis/svg/1f55f.svg new file mode 100644 index 0000000..81ccc7e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f55f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f560.svg b/frontend/theme/img/emojis/svg/1f560.svg new file mode 100644 index 0000000..098c47f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f560.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f561.svg b/frontend/theme/img/emojis/svg/1f561.svg new file mode 100644 index 0000000..3a50a9a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f561.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f562.svg b/frontend/theme/img/emojis/svg/1f562.svg new file mode 100644 index 0000000..f2c6ace --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f562.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f563.svg b/frontend/theme/img/emojis/svg/1f563.svg new file mode 100644 index 0000000..a14e0dc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f563.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f564.svg b/frontend/theme/img/emojis/svg/1f564.svg new file mode 100644 index 0000000..4d6f873 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f564.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f565.svg b/frontend/theme/img/emojis/svg/1f565.svg new file mode 100644 index 0000000..f658fa3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f565.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f566.svg b/frontend/theme/img/emojis/svg/1f566.svg new file mode 100644 index 0000000..41e105f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f566.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f567.svg b/frontend/theme/img/emojis/svg/1f567.svg new file mode 100644 index 0000000..7178a88 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f567.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f56f.svg b/frontend/theme/img/emojis/svg/1f56f.svg new file mode 100644 index 0000000..c0e45ac --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f56f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f570.svg b/frontend/theme/img/emojis/svg/1f570.svg new file mode 100644 index 0000000..da6fd26 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f570.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f573.svg b/frontend/theme/img/emojis/svg/1f573.svg new file mode 100644 index 0000000..213a6ab --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f573.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f574-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f574-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..1917572 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f574-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f574-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f574-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..97bc7b5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f574-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f574-1f3fb.svg b/frontend/theme/img/emojis/svg/1f574-1f3fb.svg new file mode 100644 index 0000000..dda8bd6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f574-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f574-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f574-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..3de7ee3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f574-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f574-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f574-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..27c10f1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f574-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f574-1f3fc.svg b/frontend/theme/img/emojis/svg/1f574-1f3fc.svg new file mode 100644 index 0000000..ba0b125 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f574-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f574-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f574-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..076acec --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f574-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f574-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f574-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..4e980b0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f574-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f574-1f3fd.svg b/frontend/theme/img/emojis/svg/1f574-1f3fd.svg new file mode 100644 index 0000000..a06a09d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f574-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f574-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f574-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..f98eb12 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f574-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f574-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f574-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..88a3061 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f574-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f574-1f3fe.svg b/frontend/theme/img/emojis/svg/1f574-1f3fe.svg new file mode 100644 index 0000000..2dde9ec --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f574-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f574-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f574-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..e8033f5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f574-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f574-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f574-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..57aec60 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f574-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f574-1f3ff.svg b/frontend/theme/img/emojis/svg/1f574-1f3ff.svg new file mode 100644 index 0000000..31c1732 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f574-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f574-fe0f-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f574-fe0f-200d-2640-fe0f.svg new file mode 100644 index 0000000..4f80c79 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f574-fe0f-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f574-fe0f-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f574-fe0f-200d-2642-fe0f.svg new file mode 100644 index 0000000..a834fd4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f574-fe0f-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f574.svg b/frontend/theme/img/emojis/svg/1f574.svg new file mode 100644 index 0000000..d363425 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f574.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f575-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f575-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..b85b5db --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f575-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f575-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f575-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..fd521e2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f575-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f575-1f3fb.svg b/frontend/theme/img/emojis/svg/1f575-1f3fb.svg new file mode 100644 index 0000000..a278299 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f575-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f575-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f575-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..dfc8aab --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f575-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f575-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f575-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..fdb8cd5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f575-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f575-1f3fc.svg b/frontend/theme/img/emojis/svg/1f575-1f3fc.svg new file mode 100644 index 0000000..0c94590 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f575-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f575-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f575-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..b6d0b87 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f575-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f575-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f575-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..474f253 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f575-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f575-1f3fd.svg b/frontend/theme/img/emojis/svg/1f575-1f3fd.svg new file mode 100644 index 0000000..9350bd1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f575-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f575-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f575-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..67b6d0b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f575-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f575-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f575-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..3367897 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f575-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f575-1f3fe.svg b/frontend/theme/img/emojis/svg/1f575-1f3fe.svg new file mode 100644 index 0000000..5455c07 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f575-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f575-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f575-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..fcea54d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f575-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f575-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f575-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..eb25e64 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f575-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f575-1f3ff.svg b/frontend/theme/img/emojis/svg/1f575-1f3ff.svg new file mode 100644 index 0000000..0302169 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f575-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f575-fe0f-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f575-fe0f-200d-2640-fe0f.svg new file mode 100644 index 0000000..1f92d39 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f575-fe0f-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f575-fe0f-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f575-fe0f-200d-2642-fe0f.svg new file mode 100644 index 0000000..bba4b94 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f575-fe0f-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f575.svg b/frontend/theme/img/emojis/svg/1f575.svg new file mode 100644 index 0000000..e82b8d9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f575.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f576.svg b/frontend/theme/img/emojis/svg/1f576.svg new file mode 100644 index 0000000..5d5c04f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f576.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f577.svg b/frontend/theme/img/emojis/svg/1f577.svg new file mode 100644 index 0000000..a156865 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f577.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f578.svg b/frontend/theme/img/emojis/svg/1f578.svg new file mode 100644 index 0000000..92142fd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f578.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f579.svg b/frontend/theme/img/emojis/svg/1f579.svg new file mode 100644 index 0000000..33479b5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f579.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f57a-1f3fb.svg b/frontend/theme/img/emojis/svg/1f57a-1f3fb.svg new file mode 100644 index 0000000..1eb5928 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f57a-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f57a-1f3fc.svg b/frontend/theme/img/emojis/svg/1f57a-1f3fc.svg new file mode 100644 index 0000000..37bfbee --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f57a-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f57a-1f3fd.svg b/frontend/theme/img/emojis/svg/1f57a-1f3fd.svg new file mode 100644 index 0000000..586b6c5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f57a-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f57a-1f3fe.svg b/frontend/theme/img/emojis/svg/1f57a-1f3fe.svg new file mode 100644 index 0000000..02824e9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f57a-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f57a-1f3ff.svg b/frontend/theme/img/emojis/svg/1f57a-1f3ff.svg new file mode 100644 index 0000000..f43787a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f57a-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f57a.svg b/frontend/theme/img/emojis/svg/1f57a.svg new file mode 100644 index 0000000..e63c1ec --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f57a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f587.svg b/frontend/theme/img/emojis/svg/1f587.svg new file mode 100644 index 0000000..a6ef181 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f587.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f58a.svg b/frontend/theme/img/emojis/svg/1f58a.svg new file mode 100644 index 0000000..4e791e6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f58a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f58b.svg b/frontend/theme/img/emojis/svg/1f58b.svg new file mode 100644 index 0000000..8a7f773 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f58b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f58c.svg b/frontend/theme/img/emojis/svg/1f58c.svg new file mode 100644 index 0000000..b39bcbc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f58c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f58d.svg b/frontend/theme/img/emojis/svg/1f58d.svg new file mode 100644 index 0000000..5a4cbe8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f58d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f590-1f3fb.svg b/frontend/theme/img/emojis/svg/1f590-1f3fb.svg new file mode 100644 index 0000000..f106ae7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f590-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f590-1f3fc.svg b/frontend/theme/img/emojis/svg/1f590-1f3fc.svg new file mode 100644 index 0000000..9944090 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f590-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f590-1f3fd.svg b/frontend/theme/img/emojis/svg/1f590-1f3fd.svg new file mode 100644 index 0000000..296a8f7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f590-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f590-1f3fe.svg b/frontend/theme/img/emojis/svg/1f590-1f3fe.svg new file mode 100644 index 0000000..9ec61de --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f590-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f590-1f3ff.svg b/frontend/theme/img/emojis/svg/1f590-1f3ff.svg new file mode 100644 index 0000000..0a4d174 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f590-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f590.svg b/frontend/theme/img/emojis/svg/1f590.svg new file mode 100644 index 0000000..1c8dd68 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f590.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f595-1f3fb.svg b/frontend/theme/img/emojis/svg/1f595-1f3fb.svg new file mode 100644 index 0000000..3865d66 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f595-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f595-1f3fc.svg b/frontend/theme/img/emojis/svg/1f595-1f3fc.svg new file mode 100644 index 0000000..b52ea58 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f595-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f595-1f3fd.svg b/frontend/theme/img/emojis/svg/1f595-1f3fd.svg new file mode 100644 index 0000000..7224b21 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f595-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f595-1f3fe.svg b/frontend/theme/img/emojis/svg/1f595-1f3fe.svg new file mode 100644 index 0000000..571c54c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f595-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f595-1f3ff.svg b/frontend/theme/img/emojis/svg/1f595-1f3ff.svg new file mode 100644 index 0000000..0fdb0ea --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f595-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f595.svg b/frontend/theme/img/emojis/svg/1f595.svg new file mode 100644 index 0000000..e644c37 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f595.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f596-1f3fb.svg b/frontend/theme/img/emojis/svg/1f596-1f3fb.svg new file mode 100644 index 0000000..0676c0f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f596-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f596-1f3fc.svg b/frontend/theme/img/emojis/svg/1f596-1f3fc.svg new file mode 100644 index 0000000..9f1d4f1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f596-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f596-1f3fd.svg b/frontend/theme/img/emojis/svg/1f596-1f3fd.svg new file mode 100644 index 0000000..b2c324d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f596-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f596-1f3fe.svg b/frontend/theme/img/emojis/svg/1f596-1f3fe.svg new file mode 100644 index 0000000..eb3586e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f596-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f596-1f3ff.svg b/frontend/theme/img/emojis/svg/1f596-1f3ff.svg new file mode 100644 index 0000000..c8f2b5b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f596-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f596.svg b/frontend/theme/img/emojis/svg/1f596.svg new file mode 100644 index 0000000..4b834f8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f596.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f5a4.svg b/frontend/theme/img/emojis/svg/1f5a4.svg new file mode 100644 index 0000000..51ec883 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f5a4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f5a5.svg b/frontend/theme/img/emojis/svg/1f5a5.svg new file mode 100644 index 0000000..e1a0633 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f5a5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f5a8.svg b/frontend/theme/img/emojis/svg/1f5a8.svg new file mode 100644 index 0000000..fae59fe --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f5a8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f5b1.svg b/frontend/theme/img/emojis/svg/1f5b1.svg new file mode 100644 index 0000000..961f67e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f5b1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f5b2.svg b/frontend/theme/img/emojis/svg/1f5b2.svg new file mode 100644 index 0000000..caea2fd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f5b2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f5bc.svg b/frontend/theme/img/emojis/svg/1f5bc.svg new file mode 100644 index 0000000..1a2ad72 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f5bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f5c2.svg b/frontend/theme/img/emojis/svg/1f5c2.svg new file mode 100644 index 0000000..822a927 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f5c2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f5c3.svg b/frontend/theme/img/emojis/svg/1f5c3.svg new file mode 100644 index 0000000..48dd45b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f5c3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f5c4.svg b/frontend/theme/img/emojis/svg/1f5c4.svg new file mode 100644 index 0000000..4c065fb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f5c4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f5d1.svg b/frontend/theme/img/emojis/svg/1f5d1.svg new file mode 100644 index 0000000..2669507 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f5d1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f5d2.svg b/frontend/theme/img/emojis/svg/1f5d2.svg new file mode 100644 index 0000000..cbb6965 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f5d2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f5d3.svg b/frontend/theme/img/emojis/svg/1f5d3.svg new file mode 100644 index 0000000..526191c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f5d3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f5dc.svg b/frontend/theme/img/emojis/svg/1f5dc.svg new file mode 100644 index 0000000..6f35d17 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f5dc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f5dd.svg b/frontend/theme/img/emojis/svg/1f5dd.svg new file mode 100644 index 0000000..9e97cea --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f5dd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f5de.svg b/frontend/theme/img/emojis/svg/1f5de.svg new file mode 100644 index 0000000..9567817 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f5de.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f5e1.svg b/frontend/theme/img/emojis/svg/1f5e1.svg new file mode 100644 index 0000000..d1d7712 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f5e1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f5e3.svg b/frontend/theme/img/emojis/svg/1f5e3.svg new file mode 100644 index 0000000..4e613c0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f5e3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f5e8.svg b/frontend/theme/img/emojis/svg/1f5e8.svg new file mode 100644 index 0000000..d091897 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f5e8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f5ef.svg b/frontend/theme/img/emojis/svg/1f5ef.svg new file mode 100644 index 0000000..3aba53c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f5ef.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f5f3.svg b/frontend/theme/img/emojis/svg/1f5f3.svg new file mode 100644 index 0000000..9c643d3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f5f3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f5fa.svg b/frontend/theme/img/emojis/svg/1f5fa.svg new file mode 100644 index 0000000..337b3dc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f5fa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f5fb.svg b/frontend/theme/img/emojis/svg/1f5fb.svg new file mode 100644 index 0000000..a8ad074 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f5fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f5fc.svg b/frontend/theme/img/emojis/svg/1f5fc.svg new file mode 100644 index 0000000..92fd6ae --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f5fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f5fd.svg b/frontend/theme/img/emojis/svg/1f5fd.svg new file mode 100644 index 0000000..3191523 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f5fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f5fe.svg b/frontend/theme/img/emojis/svg/1f5fe.svg new file mode 100644 index 0000000..a67c561 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f5fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f5ff.svg b/frontend/theme/img/emojis/svg/1f5ff.svg new file mode 100644 index 0000000..5ba18be --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f5ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f600.svg b/frontend/theme/img/emojis/svg/1f600.svg new file mode 100644 index 0000000..21afce4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f600.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f601.svg b/frontend/theme/img/emojis/svg/1f601.svg new file mode 100644 index 0000000..9b792cb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f601.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f602.svg b/frontend/theme/img/emojis/svg/1f602.svg new file mode 100644 index 0000000..1ec7937 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f602.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f603.svg b/frontend/theme/img/emojis/svg/1f603.svg new file mode 100644 index 0000000..25d4b96 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f603.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f604.svg b/frontend/theme/img/emojis/svg/1f604.svg new file mode 100644 index 0000000..99ac39c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f604.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f605.svg b/frontend/theme/img/emojis/svg/1f605.svg new file mode 100644 index 0000000..de6eb5d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f605.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f606.svg b/frontend/theme/img/emojis/svg/1f606.svg new file mode 100644 index 0000000..fed5ff5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f606.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f607.svg b/frontend/theme/img/emojis/svg/1f607.svg new file mode 100644 index 0000000..f6260fd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f607.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f608.svg b/frontend/theme/img/emojis/svg/1f608.svg new file mode 100644 index 0000000..79c2480 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f608.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f609.svg b/frontend/theme/img/emojis/svg/1f609.svg new file mode 100644 index 0000000..1b7bba0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f609.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f60a.svg b/frontend/theme/img/emojis/svg/1f60a.svg new file mode 100644 index 0000000..a6d9c1b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f60a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f60b.svg b/frontend/theme/img/emojis/svg/1f60b.svg new file mode 100644 index 0000000..27e0d3a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f60b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f60c.svg b/frontend/theme/img/emojis/svg/1f60c.svg new file mode 100644 index 0000000..f8d5623 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f60c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f60d.svg b/frontend/theme/img/emojis/svg/1f60d.svg new file mode 100644 index 0000000..18b1867 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f60d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f60e.svg b/frontend/theme/img/emojis/svg/1f60e.svg new file mode 100644 index 0000000..fff644a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f60e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f60f.svg b/frontend/theme/img/emojis/svg/1f60f.svg new file mode 100644 index 0000000..ef4f386 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f60f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f610.svg b/frontend/theme/img/emojis/svg/1f610.svg new file mode 100644 index 0000000..953f921 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f610.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f611.svg b/frontend/theme/img/emojis/svg/1f611.svg new file mode 100644 index 0000000..55be4fd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f611.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f612.svg b/frontend/theme/img/emojis/svg/1f612.svg new file mode 100644 index 0000000..197089f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f612.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f613.svg b/frontend/theme/img/emojis/svg/1f613.svg new file mode 100644 index 0000000..83c6580 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f613.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f614.svg b/frontend/theme/img/emojis/svg/1f614.svg new file mode 100644 index 0000000..be03530 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f614.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f615.svg b/frontend/theme/img/emojis/svg/1f615.svg new file mode 100644 index 0000000..339a6a2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f615.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f616.svg b/frontend/theme/img/emojis/svg/1f616.svg new file mode 100644 index 0000000..fb915d6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f616.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f617.svg b/frontend/theme/img/emojis/svg/1f617.svg new file mode 100644 index 0000000..6b817ee --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f617.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f618.svg b/frontend/theme/img/emojis/svg/1f618.svg new file mode 100644 index 0000000..5e00b8e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f618.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f619.svg b/frontend/theme/img/emojis/svg/1f619.svg new file mode 100644 index 0000000..d9dfaa9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f619.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f61a.svg b/frontend/theme/img/emojis/svg/1f61a.svg new file mode 100644 index 0000000..cefa351 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f61a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f61b.svg b/frontend/theme/img/emojis/svg/1f61b.svg new file mode 100644 index 0000000..e249672 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f61b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f61c.svg b/frontend/theme/img/emojis/svg/1f61c.svg new file mode 100644 index 0000000..76b205d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f61c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f61d.svg b/frontend/theme/img/emojis/svg/1f61d.svg new file mode 100644 index 0000000..c498038 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f61d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f61e.svg b/frontend/theme/img/emojis/svg/1f61e.svg new file mode 100644 index 0000000..7ae60a5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f61e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f61f.svg b/frontend/theme/img/emojis/svg/1f61f.svg new file mode 100644 index 0000000..c5cec95 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f61f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f620.svg b/frontend/theme/img/emojis/svg/1f620.svg new file mode 100644 index 0000000..97e829a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f620.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f621.svg b/frontend/theme/img/emojis/svg/1f621.svg new file mode 100644 index 0000000..f370594 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f621.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f622.svg b/frontend/theme/img/emojis/svg/1f622.svg new file mode 100644 index 0000000..1122bf5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f622.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f623.svg b/frontend/theme/img/emojis/svg/1f623.svg new file mode 100644 index 0000000..e548a2e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f623.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f624.svg b/frontend/theme/img/emojis/svg/1f624.svg new file mode 100644 index 0000000..c211eec --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f624.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f625.svg b/frontend/theme/img/emojis/svg/1f625.svg new file mode 100644 index 0000000..0b4293f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f625.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f626.svg b/frontend/theme/img/emojis/svg/1f626.svg new file mode 100644 index 0000000..683c0d3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f626.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f627.svg b/frontend/theme/img/emojis/svg/1f627.svg new file mode 100644 index 0000000..5c33852 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f627.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f628.svg b/frontend/theme/img/emojis/svg/1f628.svg new file mode 100644 index 0000000..716302e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f628.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f629.svg b/frontend/theme/img/emojis/svg/1f629.svg new file mode 100644 index 0000000..d367d48 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f629.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f62a.svg b/frontend/theme/img/emojis/svg/1f62a.svg new file mode 100644 index 0000000..ede0d7a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f62a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f62b.svg b/frontend/theme/img/emojis/svg/1f62b.svg new file mode 100644 index 0000000..4253ada --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f62b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f62c.svg b/frontend/theme/img/emojis/svg/1f62c.svg new file mode 100644 index 0000000..3fdb9bf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f62c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f62d.svg b/frontend/theme/img/emojis/svg/1f62d.svg new file mode 100644 index 0000000..11d1159 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f62d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f62e-200d-1f4a8.svg b/frontend/theme/img/emojis/svg/1f62e-200d-1f4a8.svg new file mode 100644 index 0000000..d8a4b6e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f62e-200d-1f4a8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f62e.svg b/frontend/theme/img/emojis/svg/1f62e.svg new file mode 100644 index 0000000..21fde1f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f62e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f62f.svg b/frontend/theme/img/emojis/svg/1f62f.svg new file mode 100644 index 0000000..579bf48 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f62f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f630.svg b/frontend/theme/img/emojis/svg/1f630.svg new file mode 100644 index 0000000..de3d95c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f630.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f631.svg b/frontend/theme/img/emojis/svg/1f631.svg new file mode 100644 index 0000000..c70a81a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f631.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f632.svg b/frontend/theme/img/emojis/svg/1f632.svg new file mode 100644 index 0000000..e279321 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f632.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f633.svg b/frontend/theme/img/emojis/svg/1f633.svg new file mode 100644 index 0000000..80ee1fe --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f633.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f634.svg b/frontend/theme/img/emojis/svg/1f634.svg new file mode 100644 index 0000000..643ae22 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f634.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f635-200d-1f4ab.svg b/frontend/theme/img/emojis/svg/1f635-200d-1f4ab.svg new file mode 100644 index 0000000..3238e0b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f635-200d-1f4ab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f635.svg b/frontend/theme/img/emojis/svg/1f635.svg new file mode 100644 index 0000000..7a45cf5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f635.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f636-200d-1f32b-fe0f.svg b/frontend/theme/img/emojis/svg/1f636-200d-1f32b-fe0f.svg new file mode 100644 index 0000000..dc0a474 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f636-200d-1f32b-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f636.svg b/frontend/theme/img/emojis/svg/1f636.svg new file mode 100644 index 0000000..c208383 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f636.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f637.svg b/frontend/theme/img/emojis/svg/1f637.svg new file mode 100644 index 0000000..098e6b0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f637.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f638.svg b/frontend/theme/img/emojis/svg/1f638.svg new file mode 100644 index 0000000..4e125ab --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f638.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f639.svg b/frontend/theme/img/emojis/svg/1f639.svg new file mode 100644 index 0000000..92f9022 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f639.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f63a.svg b/frontend/theme/img/emojis/svg/1f63a.svg new file mode 100644 index 0000000..88057ce --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f63a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f63b.svg b/frontend/theme/img/emojis/svg/1f63b.svg new file mode 100644 index 0000000..a4dd7e4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f63b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f63c.svg b/frontend/theme/img/emojis/svg/1f63c.svg new file mode 100644 index 0000000..198ad47 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f63c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f63d.svg b/frontend/theme/img/emojis/svg/1f63d.svg new file mode 100644 index 0000000..e982de7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f63d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f63e.svg b/frontend/theme/img/emojis/svg/1f63e.svg new file mode 100644 index 0000000..19a41d7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f63e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f63f.svg b/frontend/theme/img/emojis/svg/1f63f.svg new file mode 100644 index 0000000..cdd8439 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f63f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f640.svg b/frontend/theme/img/emojis/svg/1f640.svg new file mode 100644 index 0000000..65ea8a5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f640.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f641.svg b/frontend/theme/img/emojis/svg/1f641.svg new file mode 100644 index 0000000..cf3557b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f641.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f642-200d-2194-fe0f.svg b/frontend/theme/img/emojis/svg/1f642-200d-2194-fe0f.svg new file mode 100644 index 0000000..4b4faf9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f642-200d-2194-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f642-200d-2195-fe0f.svg b/frontend/theme/img/emojis/svg/1f642-200d-2195-fe0f.svg new file mode 100644 index 0000000..4e6f2d9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f642-200d-2195-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f642.svg b/frontend/theme/img/emojis/svg/1f642.svg new file mode 100644 index 0000000..ff9f989 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f642.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f643.svg b/frontend/theme/img/emojis/svg/1f643.svg new file mode 100644 index 0000000..ce06237 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f643.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f644.svg b/frontend/theme/img/emojis/svg/1f644.svg new file mode 100644 index 0000000..91c0b62 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f644.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f645-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f645-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..d3d6161 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f645-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f645-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f645-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..47b1749 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f645-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f645-1f3fb.svg b/frontend/theme/img/emojis/svg/1f645-1f3fb.svg new file mode 100644 index 0000000..9c977a2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f645-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f645-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f645-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..061e83d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f645-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f645-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f645-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..47109a9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f645-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f645-1f3fc.svg b/frontend/theme/img/emojis/svg/1f645-1f3fc.svg new file mode 100644 index 0000000..1b50a9c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f645-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f645-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f645-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..3ba6194 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f645-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f645-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f645-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..5e7487e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f645-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f645-1f3fd.svg b/frontend/theme/img/emojis/svg/1f645-1f3fd.svg new file mode 100644 index 0000000..03a7085 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f645-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f645-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f645-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..5eacdc6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f645-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f645-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f645-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..da7e789 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f645-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f645-1f3fe.svg b/frontend/theme/img/emojis/svg/1f645-1f3fe.svg new file mode 100644 index 0000000..1424c96 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f645-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f645-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f645-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..e38dfd1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f645-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f645-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f645-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..1fb2443 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f645-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f645-1f3ff.svg b/frontend/theme/img/emojis/svg/1f645-1f3ff.svg new file mode 100644 index 0000000..5b3bf34 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f645-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f645-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f645-200d-2640-fe0f.svg new file mode 100644 index 0000000..2e47b67 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f645-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f645-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f645-200d-2642-fe0f.svg new file mode 100644 index 0000000..ba0fc8e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f645-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f645.svg b/frontend/theme/img/emojis/svg/1f645.svg new file mode 100644 index 0000000..d3d9854 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f645.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f646-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f646-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..1c05149 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f646-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f646-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f646-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..b8e5f15 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f646-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f646-1f3fb.svg b/frontend/theme/img/emojis/svg/1f646-1f3fb.svg new file mode 100644 index 0000000..acc932d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f646-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f646-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f646-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..439f4d8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f646-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f646-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f646-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..564a775 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f646-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f646-1f3fc.svg b/frontend/theme/img/emojis/svg/1f646-1f3fc.svg new file mode 100644 index 0000000..ec60afe --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f646-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f646-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f646-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..e5b1aea --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f646-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f646-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f646-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..b5103e3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f646-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f646-1f3fd.svg b/frontend/theme/img/emojis/svg/1f646-1f3fd.svg new file mode 100644 index 0000000..0eb04e9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f646-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f646-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f646-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..b041dc1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f646-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f646-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f646-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..4b2b3b4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f646-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f646-1f3fe.svg b/frontend/theme/img/emojis/svg/1f646-1f3fe.svg new file mode 100644 index 0000000..05a8ebf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f646-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f646-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f646-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..66d5bd0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f646-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f646-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f646-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..0411b8d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f646-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f646-1f3ff.svg b/frontend/theme/img/emojis/svg/1f646-1f3ff.svg new file mode 100644 index 0000000..70e7bb8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f646-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f646-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f646-200d-2640-fe0f.svg new file mode 100644 index 0000000..ccdb92a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f646-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f646-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f646-200d-2642-fe0f.svg new file mode 100644 index 0000000..1c4205d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f646-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f646.svg b/frontend/theme/img/emojis/svg/1f646.svg new file mode 100644 index 0000000..351e8d8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f646.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f647-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f647-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..139284f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f647-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f647-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f647-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..3390109 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f647-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f647-1f3fb.svg b/frontend/theme/img/emojis/svg/1f647-1f3fb.svg new file mode 100644 index 0000000..f16e19b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f647-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f647-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f647-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..ba6b6eb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f647-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f647-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f647-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..93d418c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f647-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f647-1f3fc.svg b/frontend/theme/img/emojis/svg/1f647-1f3fc.svg new file mode 100644 index 0000000..d0f9cf9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f647-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f647-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f647-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..e905658 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f647-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f647-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f647-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..abd0669 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f647-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f647-1f3fd.svg b/frontend/theme/img/emojis/svg/1f647-1f3fd.svg new file mode 100644 index 0000000..83ba2f6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f647-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f647-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f647-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..8511aad --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f647-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f647-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f647-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..3f55ae8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f647-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f647-1f3fe.svg b/frontend/theme/img/emojis/svg/1f647-1f3fe.svg new file mode 100644 index 0000000..2eeb5c5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f647-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f647-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f647-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..00ab558 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f647-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f647-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f647-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..1ea343b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f647-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f647-1f3ff.svg b/frontend/theme/img/emojis/svg/1f647-1f3ff.svg new file mode 100644 index 0000000..768d9ea --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f647-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f647-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f647-200d-2640-fe0f.svg new file mode 100644 index 0000000..0545aa2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f647-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f647-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f647-200d-2642-fe0f.svg new file mode 100644 index 0000000..7462b00 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f647-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f647.svg b/frontend/theme/img/emojis/svg/1f647.svg new file mode 100644 index 0000000..7ad69e9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f647.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f648.svg b/frontend/theme/img/emojis/svg/1f648.svg new file mode 100644 index 0000000..31e38a3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f648.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f649.svg b/frontend/theme/img/emojis/svg/1f649.svg new file mode 100644 index 0000000..377e0e6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f649.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64a.svg b/frontend/theme/img/emojis/svg/1f64a.svg new file mode 100644 index 0000000..1e4e313 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64b-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f64b-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..f10a7ef --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64b-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64b-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f64b-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..46819a3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64b-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64b-1f3fb.svg b/frontend/theme/img/emojis/svg/1f64b-1f3fb.svg new file mode 100644 index 0000000..4da55e8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64b-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64b-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f64b-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..34b2d32 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64b-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64b-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f64b-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..177f70a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64b-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64b-1f3fc.svg b/frontend/theme/img/emojis/svg/1f64b-1f3fc.svg new file mode 100644 index 0000000..4ead581 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64b-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64b-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f64b-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..62156c3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64b-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64b-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f64b-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..b449f1c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64b-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64b-1f3fd.svg b/frontend/theme/img/emojis/svg/1f64b-1f3fd.svg new file mode 100644 index 0000000..13d0431 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64b-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64b-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f64b-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..4dcde37 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64b-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64b-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f64b-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..e1053e7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64b-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64b-1f3fe.svg b/frontend/theme/img/emojis/svg/1f64b-1f3fe.svg new file mode 100644 index 0000000..f16cf36 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64b-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64b-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f64b-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..f939a83 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64b-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64b-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f64b-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..34c358f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64b-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64b-1f3ff.svg b/frontend/theme/img/emojis/svg/1f64b-1f3ff.svg new file mode 100644 index 0000000..9131dc3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64b-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64b-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f64b-200d-2640-fe0f.svg new file mode 100644 index 0000000..a5ccaa1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64b-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64b-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f64b-200d-2642-fe0f.svg new file mode 100644 index 0000000..faf2f76 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64b-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64b.svg b/frontend/theme/img/emojis/svg/1f64b.svg new file mode 100644 index 0000000..197e831 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64c-1f3fb.svg b/frontend/theme/img/emojis/svg/1f64c-1f3fb.svg new file mode 100644 index 0000000..b51e08e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64c-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64c-1f3fc.svg b/frontend/theme/img/emojis/svg/1f64c-1f3fc.svg new file mode 100644 index 0000000..6c4f43e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64c-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64c-1f3fd.svg b/frontend/theme/img/emojis/svg/1f64c-1f3fd.svg new file mode 100644 index 0000000..5624f60 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64c-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64c-1f3fe.svg b/frontend/theme/img/emojis/svg/1f64c-1f3fe.svg new file mode 100644 index 0000000..527cc23 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64c-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64c-1f3ff.svg b/frontend/theme/img/emojis/svg/1f64c-1f3ff.svg new file mode 100644 index 0000000..fc0a333 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64c-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64c.svg b/frontend/theme/img/emojis/svg/1f64c.svg new file mode 100644 index 0000000..be95511 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64d-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f64d-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..3aaba50 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64d-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64d-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f64d-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..2481803 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64d-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64d-1f3fb.svg b/frontend/theme/img/emojis/svg/1f64d-1f3fb.svg new file mode 100644 index 0000000..b694b36 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64d-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64d-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f64d-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..7198a13 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64d-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64d-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f64d-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..8054534 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64d-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64d-1f3fc.svg b/frontend/theme/img/emojis/svg/1f64d-1f3fc.svg new file mode 100644 index 0000000..9d0e546 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64d-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64d-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f64d-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..ed14e02 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64d-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64d-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f64d-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..17dee5c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64d-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64d-1f3fd.svg b/frontend/theme/img/emojis/svg/1f64d-1f3fd.svg new file mode 100644 index 0000000..ba415fb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64d-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64d-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f64d-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..47e3da2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64d-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64d-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f64d-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..a8146a4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64d-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64d-1f3fe.svg b/frontend/theme/img/emojis/svg/1f64d-1f3fe.svg new file mode 100644 index 0000000..cb7cb69 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64d-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64d-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f64d-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..7e24114 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64d-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64d-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f64d-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..a5f81fe --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64d-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64d-1f3ff.svg b/frontend/theme/img/emojis/svg/1f64d-1f3ff.svg new file mode 100644 index 0000000..b8de154 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64d-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64d-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f64d-200d-2640-fe0f.svg new file mode 100644 index 0000000..e14fb57 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64d-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64d-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f64d-200d-2642-fe0f.svg new file mode 100644 index 0000000..6a5ce08 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64d-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64d.svg b/frontend/theme/img/emojis/svg/1f64d.svg new file mode 100644 index 0000000..0506155 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64e-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f64e-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..e283e46 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64e-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64e-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f64e-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..8afcbb5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64e-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64e-1f3fb.svg b/frontend/theme/img/emojis/svg/1f64e-1f3fb.svg new file mode 100644 index 0000000..de10726 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64e-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64e-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f64e-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..6f7d0fe --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64e-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64e-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f64e-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..6c70ec3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64e-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64e-1f3fc.svg b/frontend/theme/img/emojis/svg/1f64e-1f3fc.svg new file mode 100644 index 0000000..cb76ab3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64e-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64e-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f64e-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..96584b4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64e-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64e-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f64e-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..4854c11 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64e-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64e-1f3fd.svg b/frontend/theme/img/emojis/svg/1f64e-1f3fd.svg new file mode 100644 index 0000000..a8acc8c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64e-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64e-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f64e-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..ab993b0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64e-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64e-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f64e-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..f1cea09 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64e-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64e-1f3fe.svg b/frontend/theme/img/emojis/svg/1f64e-1f3fe.svg new file mode 100644 index 0000000..8f0366d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64e-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64e-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f64e-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..5bdbed2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64e-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64e-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f64e-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..c15298e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64e-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64e-1f3ff.svg b/frontend/theme/img/emojis/svg/1f64e-1f3ff.svg new file mode 100644 index 0000000..b13aab7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64e-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64e-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f64e-200d-2640-fe0f.svg new file mode 100644 index 0000000..0bd74db --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64e-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64e-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f64e-200d-2642-fe0f.svg new file mode 100644 index 0000000..97bec5b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64e-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64e.svg b/frontend/theme/img/emojis/svg/1f64e.svg new file mode 100644 index 0000000..bc4da1c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64f-1f3fb.svg b/frontend/theme/img/emojis/svg/1f64f-1f3fb.svg new file mode 100644 index 0000000..c7b0969 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64f-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64f-1f3fc.svg b/frontend/theme/img/emojis/svg/1f64f-1f3fc.svg new file mode 100644 index 0000000..6dcbad5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64f-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64f-1f3fd.svg b/frontend/theme/img/emojis/svg/1f64f-1f3fd.svg new file mode 100644 index 0000000..5d11d08 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64f-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64f-1f3fe.svg b/frontend/theme/img/emojis/svg/1f64f-1f3fe.svg new file mode 100644 index 0000000..7026174 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64f-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64f-1f3ff.svg b/frontend/theme/img/emojis/svg/1f64f-1f3ff.svg new file mode 100644 index 0000000..09831e0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64f-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f64f.svg b/frontend/theme/img/emojis/svg/1f64f.svg new file mode 100644 index 0000000..8b33d80 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f64f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f680.svg b/frontend/theme/img/emojis/svg/1f680.svg new file mode 100644 index 0000000..8658d43 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f680.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f681.svg b/frontend/theme/img/emojis/svg/1f681.svg new file mode 100644 index 0000000..8b7a403 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f681.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f682.svg b/frontend/theme/img/emojis/svg/1f682.svg new file mode 100644 index 0000000..c93874d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f682.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f683.svg b/frontend/theme/img/emojis/svg/1f683.svg new file mode 100644 index 0000000..775ae86 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f683.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f684.svg b/frontend/theme/img/emojis/svg/1f684.svg new file mode 100644 index 0000000..31e4d69 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f684.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f685.svg b/frontend/theme/img/emojis/svg/1f685.svg new file mode 100644 index 0000000..2b24d9a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f685.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f686.svg b/frontend/theme/img/emojis/svg/1f686.svg new file mode 100644 index 0000000..3f5f5b8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f686.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f687.svg b/frontend/theme/img/emojis/svg/1f687.svg new file mode 100644 index 0000000..acd11bd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f687.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f688.svg b/frontend/theme/img/emojis/svg/1f688.svg new file mode 100644 index 0000000..160cc71 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f688.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f689.svg b/frontend/theme/img/emojis/svg/1f689.svg new file mode 100644 index 0000000..cebf01d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f689.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f68a.svg b/frontend/theme/img/emojis/svg/1f68a.svg new file mode 100644 index 0000000..b93eab0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f68a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f68b.svg b/frontend/theme/img/emojis/svg/1f68b.svg new file mode 100644 index 0000000..da204b8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f68b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f68c.svg b/frontend/theme/img/emojis/svg/1f68c.svg new file mode 100644 index 0000000..4575169 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f68c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f68d.svg b/frontend/theme/img/emojis/svg/1f68d.svg new file mode 100644 index 0000000..68ca65f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f68d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f68e.svg b/frontend/theme/img/emojis/svg/1f68e.svg new file mode 100644 index 0000000..e3dc44d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f68e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f68f.svg b/frontend/theme/img/emojis/svg/1f68f.svg new file mode 100644 index 0000000..f833b4a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f68f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f690.svg b/frontend/theme/img/emojis/svg/1f690.svg new file mode 100644 index 0000000..d3f1057 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f690.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f691.svg b/frontend/theme/img/emojis/svg/1f691.svg new file mode 100644 index 0000000..e6b1cc7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f691.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f692.svg b/frontend/theme/img/emojis/svg/1f692.svg new file mode 100644 index 0000000..711c996 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f692.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f693.svg b/frontend/theme/img/emojis/svg/1f693.svg new file mode 100644 index 0000000..cbf344d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f693.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f694.svg b/frontend/theme/img/emojis/svg/1f694.svg new file mode 100644 index 0000000..ef1662d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f694.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f695.svg b/frontend/theme/img/emojis/svg/1f695.svg new file mode 100644 index 0000000..5446414 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f695.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f696.svg b/frontend/theme/img/emojis/svg/1f696.svg new file mode 100644 index 0000000..e066a12 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f696.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f697.svg b/frontend/theme/img/emojis/svg/1f697.svg new file mode 100644 index 0000000..97b5f10 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f697.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f698.svg b/frontend/theme/img/emojis/svg/1f698.svg new file mode 100644 index 0000000..25d8df0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f698.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f699.svg b/frontend/theme/img/emojis/svg/1f699.svg new file mode 100644 index 0000000..28e2771 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f699.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f69a.svg b/frontend/theme/img/emojis/svg/1f69a.svg new file mode 100644 index 0000000..7441d1b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f69a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f69b.svg b/frontend/theme/img/emojis/svg/1f69b.svg new file mode 100644 index 0000000..271fec1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f69b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f69c.svg b/frontend/theme/img/emojis/svg/1f69c.svg new file mode 100644 index 0000000..014ca11 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f69c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f69d.svg b/frontend/theme/img/emojis/svg/1f69d.svg new file mode 100644 index 0000000..64ab140 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f69d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f69e.svg b/frontend/theme/img/emojis/svg/1f69e.svg new file mode 100644 index 0000000..79a9320 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f69e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f69f.svg b/frontend/theme/img/emojis/svg/1f69f.svg new file mode 100644 index 0000000..72eac03 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f69f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a0.svg b/frontend/theme/img/emojis/svg/1f6a0.svg new file mode 100644 index 0000000..8510956 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a1.svg b/frontend/theme/img/emojis/svg/1f6a1.svg new file mode 100644 index 0000000..855c566 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a2.svg b/frontend/theme/img/emojis/svg/1f6a2.svg new file mode 100644 index 0000000..79077f0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a3-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f6a3-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..e5c19c9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a3-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a3-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f6a3-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..a9651dc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a3-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a3-1f3fb.svg b/frontend/theme/img/emojis/svg/1f6a3-1f3fb.svg new file mode 100644 index 0000000..b8ae875 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a3-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a3-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f6a3-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..a0c9e1c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a3-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a3-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f6a3-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..d5d8a1b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a3-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a3-1f3fc.svg b/frontend/theme/img/emojis/svg/1f6a3-1f3fc.svg new file mode 100644 index 0000000..13cde3c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a3-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a3-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f6a3-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..16b7ac0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a3-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a3-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f6a3-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..350a363 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a3-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a3-1f3fd.svg b/frontend/theme/img/emojis/svg/1f6a3-1f3fd.svg new file mode 100644 index 0000000..1861758 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a3-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a3-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f6a3-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..08ab1cc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a3-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a3-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f6a3-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..58d8d4e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a3-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a3-1f3fe.svg b/frontend/theme/img/emojis/svg/1f6a3-1f3fe.svg new file mode 100644 index 0000000..8d52d63 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a3-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a3-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f6a3-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..05a2304 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a3-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a3-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f6a3-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..d461a41 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a3-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a3-1f3ff.svg b/frontend/theme/img/emojis/svg/1f6a3-1f3ff.svg new file mode 100644 index 0000000..b93ca91 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a3-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a3-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f6a3-200d-2640-fe0f.svg new file mode 100644 index 0000000..8e0c5ad --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a3-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a3-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f6a3-200d-2642-fe0f.svg new file mode 100644 index 0000000..d628229 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a3-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a3.svg b/frontend/theme/img/emojis/svg/1f6a3.svg new file mode 100644 index 0000000..a427ce6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a4.svg b/frontend/theme/img/emojis/svg/1f6a4.svg new file mode 100644 index 0000000..7dfe5a6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a5.svg b/frontend/theme/img/emojis/svg/1f6a5.svg new file mode 100644 index 0000000..6cb3827 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a6.svg b/frontend/theme/img/emojis/svg/1f6a6.svg new file mode 100644 index 0000000..252e85c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a7.svg b/frontend/theme/img/emojis/svg/1f6a7.svg new file mode 100644 index 0000000..a5d135c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a8.svg b/frontend/theme/img/emojis/svg/1f6a8.svg new file mode 100644 index 0000000..5ed7ec8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6a9.svg b/frontend/theme/img/emojis/svg/1f6a9.svg new file mode 100644 index 0000000..a9338f1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6a9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6aa.svg b/frontend/theme/img/emojis/svg/1f6aa.svg new file mode 100644 index 0000000..1542aba --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6aa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6ab.svg b/frontend/theme/img/emojis/svg/1f6ab.svg new file mode 100644 index 0000000..4b913ae --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6ab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6ac.svg b/frontend/theme/img/emojis/svg/1f6ac.svg new file mode 100644 index 0000000..1c0dff2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6ac.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6ad.svg b/frontend/theme/img/emojis/svg/1f6ad.svg new file mode 100644 index 0000000..bda285a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6ad.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6ae.svg b/frontend/theme/img/emojis/svg/1f6ae.svg new file mode 100644 index 0000000..dadbe6e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6ae.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6af.svg b/frontend/theme/img/emojis/svg/1f6af.svg new file mode 100644 index 0000000..74fad21 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b0.svg b/frontend/theme/img/emojis/svg/1f6b0.svg new file mode 100644 index 0000000..40f5774 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b1.svg b/frontend/theme/img/emojis/svg/1f6b1.svg new file mode 100644 index 0000000..5d2b5a0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b2.svg b/frontend/theme/img/emojis/svg/1f6b2.svg new file mode 100644 index 0000000..b3626ae --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b3.svg b/frontend/theme/img/emojis/svg/1f6b3.svg new file mode 100644 index 0000000..ab08b6b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b4-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b4-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..947042d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b4-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b4-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b4-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..def3807 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b4-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b4-1f3fb.svg b/frontend/theme/img/emojis/svg/1f6b4-1f3fb.svg new file mode 100644 index 0000000..581a447 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b4-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b4-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b4-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..bdabdf8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b4-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b4-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b4-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..d163a47 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b4-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b4-1f3fc.svg b/frontend/theme/img/emojis/svg/1f6b4-1f3fc.svg new file mode 100644 index 0000000..565fe9f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b4-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b4-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b4-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..c305714 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b4-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b4-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b4-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..afc749a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b4-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b4-1f3fd.svg b/frontend/theme/img/emojis/svg/1f6b4-1f3fd.svg new file mode 100644 index 0000000..5a98009 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b4-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b4-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b4-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..fa310bf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b4-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b4-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b4-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..5517895 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b4-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b4-1f3fe.svg b/frontend/theme/img/emojis/svg/1f6b4-1f3fe.svg new file mode 100644 index 0000000..2a22bf0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b4-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b4-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b4-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..25c02de --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b4-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b4-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b4-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..c06f359 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b4-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b4-1f3ff.svg b/frontend/theme/img/emojis/svg/1f6b4-1f3ff.svg new file mode 100644 index 0000000..c62512e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b4-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b4-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b4-200d-2640-fe0f.svg new file mode 100644 index 0000000..4ecaf72 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b4-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b4-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b4-200d-2642-fe0f.svg new file mode 100644 index 0000000..ae3112e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b4-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b4.svg b/frontend/theme/img/emojis/svg/1f6b4.svg new file mode 100644 index 0000000..f1bbb72 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b5-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b5-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..b203db4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b5-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b5-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b5-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..63627ab --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b5-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b5-1f3fb.svg b/frontend/theme/img/emojis/svg/1f6b5-1f3fb.svg new file mode 100644 index 0000000..10e9b63 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b5-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b5-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b5-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..e94e02e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b5-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b5-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b5-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..e629c6c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b5-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b5-1f3fc.svg b/frontend/theme/img/emojis/svg/1f6b5-1f3fc.svg new file mode 100644 index 0000000..202bc22 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b5-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b5-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b5-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..79bf204 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b5-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b5-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b5-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..c1e9569 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b5-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b5-1f3fd.svg b/frontend/theme/img/emojis/svg/1f6b5-1f3fd.svg new file mode 100644 index 0000000..947c546 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b5-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b5-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b5-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..e0b6d22 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b5-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b5-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b5-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..55a8b20 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b5-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b5-1f3fe.svg b/frontend/theme/img/emojis/svg/1f6b5-1f3fe.svg new file mode 100644 index 0000000..99154e4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b5-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b5-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b5-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..17a3931 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b5-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b5-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b5-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..c856c95 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b5-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b5-1f3ff.svg b/frontend/theme/img/emojis/svg/1f6b5-1f3ff.svg new file mode 100644 index 0000000..9e98fb4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b5-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b5-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b5-200d-2640-fe0f.svg new file mode 100644 index 0000000..aaf71dc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b5-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b5-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b5-200d-2642-fe0f.svg new file mode 100644 index 0000000..9914308 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b5-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b5.svg b/frontend/theme/img/emojis/svg/1f6b5.svg new file mode 100644 index 0000000..fb824d5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3fb-200d-2640-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3fb-200d-2640-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..aa8a937 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3fb-200d-2640-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..396c56b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3fb-200d-2642-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3fb-200d-2642-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..aa108d3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3fb-200d-2642-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..8f5f4ce --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3fb-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3fb-200d-27a1-fe0f.svg new file mode 100644 index 0000000..2b75990 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3fb-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3fb.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3fb.svg new file mode 100644 index 0000000..e361a28 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3fc-200d-2640-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3fc-200d-2640-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..e2a8ad2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3fc-200d-2640-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..571d8f0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3fc-200d-2642-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3fc-200d-2642-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..83102b5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3fc-200d-2642-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..cba51a4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3fc-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3fc-200d-27a1-fe0f.svg new file mode 100644 index 0000000..5c3588c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3fc-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3fc.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3fc.svg new file mode 100644 index 0000000..ff5f704 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3fd-200d-2640-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3fd-200d-2640-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..96659aa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3fd-200d-2640-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..65a6df4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3fd-200d-2642-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3fd-200d-2642-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..47ca19a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3fd-200d-2642-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..84169ed --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3fd-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3fd-200d-27a1-fe0f.svg new file mode 100644 index 0000000..a03ce86 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3fd-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3fd.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3fd.svg new file mode 100644 index 0000000..1862ab3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3fe-200d-2640-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3fe-200d-2640-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..78831c7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3fe-200d-2640-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..352e7af --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3fe-200d-2642-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3fe-200d-2642-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..f46c279 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3fe-200d-2642-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..591c562 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3fe-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3fe-200d-27a1-fe0f.svg new file mode 100644 index 0000000..9ed1631 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3fe-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3fe.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3fe.svg new file mode 100644 index 0000000..b6476fe --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3ff-200d-2640-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3ff-200d-2640-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..6e343a2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3ff-200d-2640-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..ae7e414 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3ff-200d-2642-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3ff-200d-2642-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..3e29c09 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3ff-200d-2642-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..198a837 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3ff-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3ff-200d-27a1-fe0f.svg new file mode 100644 index 0000000..0a4ee8f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3ff-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-1f3ff.svg b/frontend/theme/img/emojis/svg/1f6b6-1f3ff.svg new file mode 100644 index 0000000..d410eb3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-200d-2640-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-200d-2640-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..00a260f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-200d-2640-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-200d-2640-fe0f.svg new file mode 100644 index 0000000..8e187bf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-200d-2642-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-200d-2642-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..9c24631 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-200d-2642-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-200d-2642-fe0f.svg new file mode 100644 index 0000000..9217939 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f6b6-200d-27a1-fe0f.svg new file mode 100644 index 0000000..44b588d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b6.svg b/frontend/theme/img/emojis/svg/1f6b6.svg new file mode 100644 index 0000000..124c296 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b7.svg b/frontend/theme/img/emojis/svg/1f6b7.svg new file mode 100644 index 0000000..ebe039f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b8.svg b/frontend/theme/img/emojis/svg/1f6b8.svg new file mode 100644 index 0000000..a9dca0f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6b9.svg b/frontend/theme/img/emojis/svg/1f6b9.svg new file mode 100644 index 0000000..2f7a492 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6b9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6ba.svg b/frontend/theme/img/emojis/svg/1f6ba.svg new file mode 100644 index 0000000..d73ed94 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6ba.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6bb.svg b/frontend/theme/img/emojis/svg/1f6bb.svg new file mode 100644 index 0000000..0ecbb53 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6bb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6bc.svg b/frontend/theme/img/emojis/svg/1f6bc.svg new file mode 100644 index 0000000..300b10e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6bd.svg b/frontend/theme/img/emojis/svg/1f6bd.svg new file mode 100644 index 0000000..2463448 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6be.svg b/frontend/theme/img/emojis/svg/1f6be.svg new file mode 100644 index 0000000..aad724c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6be.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6bf.svg b/frontend/theme/img/emojis/svg/1f6bf.svg new file mode 100644 index 0000000..004dadf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6bf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6c0-1f3fb.svg b/frontend/theme/img/emojis/svg/1f6c0-1f3fb.svg new file mode 100644 index 0000000..ad93c8c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6c0-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6c0-1f3fc.svg b/frontend/theme/img/emojis/svg/1f6c0-1f3fc.svg new file mode 100644 index 0000000..4f1e2fa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6c0-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6c0-1f3fd.svg b/frontend/theme/img/emojis/svg/1f6c0-1f3fd.svg new file mode 100644 index 0000000..55b0459 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6c0-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6c0-1f3fe.svg b/frontend/theme/img/emojis/svg/1f6c0-1f3fe.svg new file mode 100644 index 0000000..d7e8836 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6c0-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6c0-1f3ff.svg b/frontend/theme/img/emojis/svg/1f6c0-1f3ff.svg new file mode 100644 index 0000000..b667e46 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6c0-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6c0.svg b/frontend/theme/img/emojis/svg/1f6c0.svg new file mode 100644 index 0000000..1ccfa20 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6c0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6c1.svg b/frontend/theme/img/emojis/svg/1f6c1.svg new file mode 100644 index 0000000..399bd44 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6c1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6c2.svg b/frontend/theme/img/emojis/svg/1f6c2.svg new file mode 100644 index 0000000..2e9dfdf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6c2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6c3.svg b/frontend/theme/img/emojis/svg/1f6c3.svg new file mode 100644 index 0000000..9e58a3b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6c3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6c4.svg b/frontend/theme/img/emojis/svg/1f6c4.svg new file mode 100644 index 0000000..63edd5a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6c4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6c5.svg b/frontend/theme/img/emojis/svg/1f6c5.svg new file mode 100644 index 0000000..f67135d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6c5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6cb.svg b/frontend/theme/img/emojis/svg/1f6cb.svg new file mode 100644 index 0000000..c80d190 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6cb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6cc-1f3fb.svg b/frontend/theme/img/emojis/svg/1f6cc-1f3fb.svg new file mode 100644 index 0000000..6a96af5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6cc-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6cc-1f3fc.svg b/frontend/theme/img/emojis/svg/1f6cc-1f3fc.svg new file mode 100644 index 0000000..3578121 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6cc-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6cc-1f3fd.svg b/frontend/theme/img/emojis/svg/1f6cc-1f3fd.svg new file mode 100644 index 0000000..e16d51c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6cc-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6cc-1f3fe.svg b/frontend/theme/img/emojis/svg/1f6cc-1f3fe.svg new file mode 100644 index 0000000..ea3403b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6cc-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6cc-1f3ff.svg b/frontend/theme/img/emojis/svg/1f6cc-1f3ff.svg new file mode 100644 index 0000000..82d7255 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6cc-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6cc.svg b/frontend/theme/img/emojis/svg/1f6cc.svg new file mode 100644 index 0000000..183ccf0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6cc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6cd.svg b/frontend/theme/img/emojis/svg/1f6cd.svg new file mode 100644 index 0000000..e2ae916 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6cd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6ce.svg b/frontend/theme/img/emojis/svg/1f6ce.svg new file mode 100644 index 0000000..80343b6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6ce.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6cf.svg b/frontend/theme/img/emojis/svg/1f6cf.svg new file mode 100644 index 0000000..9c34ec0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6cf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6d0.svg b/frontend/theme/img/emojis/svg/1f6d0.svg new file mode 100644 index 0000000..086e273 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6d0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6d1.svg b/frontend/theme/img/emojis/svg/1f6d1.svg new file mode 100644 index 0000000..c8eb021 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6d1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6d2.svg b/frontend/theme/img/emojis/svg/1f6d2.svg new file mode 100644 index 0000000..03608d5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6d2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6d5.svg b/frontend/theme/img/emojis/svg/1f6d5.svg new file mode 100644 index 0000000..4a2e9be --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6d5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6d6.svg b/frontend/theme/img/emojis/svg/1f6d6.svg new file mode 100644 index 0000000..b2866e0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6d6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6d7.svg b/frontend/theme/img/emojis/svg/1f6d7.svg new file mode 100644 index 0000000..5369e57 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6d7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6d8.svg b/frontend/theme/img/emojis/svg/1f6d8.svg new file mode 100644 index 0000000..89f32e0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6d8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6dc.svg b/frontend/theme/img/emojis/svg/1f6dc.svg new file mode 100644 index 0000000..364a68e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6dc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6dd.svg b/frontend/theme/img/emojis/svg/1f6dd.svg new file mode 100755 index 0000000..3be3aa2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6dd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6de.svg b/frontend/theme/img/emojis/svg/1f6de.svg new file mode 100755 index 0000000..aed6c49 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6de.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6df.svg b/frontend/theme/img/emojis/svg/1f6df.svg new file mode 100755 index 0000000..b56811c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6df.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6e0.svg b/frontend/theme/img/emojis/svg/1f6e0.svg new file mode 100644 index 0000000..085f902 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6e0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6e1.svg b/frontend/theme/img/emojis/svg/1f6e1.svg new file mode 100644 index 0000000..97f6894 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6e1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6e2.svg b/frontend/theme/img/emojis/svg/1f6e2.svg new file mode 100644 index 0000000..b7f9cc6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6e2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6e3.svg b/frontend/theme/img/emojis/svg/1f6e3.svg new file mode 100644 index 0000000..35e8215 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6e3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6e4.svg b/frontend/theme/img/emojis/svg/1f6e4.svg new file mode 100644 index 0000000..f11069e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6e4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6e5.svg b/frontend/theme/img/emojis/svg/1f6e5.svg new file mode 100644 index 0000000..b9badb2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6e5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6e9.svg b/frontend/theme/img/emojis/svg/1f6e9.svg new file mode 100644 index 0000000..fce6b51 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6e9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6eb.svg b/frontend/theme/img/emojis/svg/1f6eb.svg new file mode 100644 index 0000000..7bcbb8c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6ec.svg b/frontend/theme/img/emojis/svg/1f6ec.svg new file mode 100644 index 0000000..ee10bec --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6ec.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6f0.svg b/frontend/theme/img/emojis/svg/1f6f0.svg new file mode 100644 index 0000000..6d9bb3d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6f0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6f3.svg b/frontend/theme/img/emojis/svg/1f6f3.svg new file mode 100644 index 0000000..4486213 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6f3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6f4.svg b/frontend/theme/img/emojis/svg/1f6f4.svg new file mode 100644 index 0000000..e217dc4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6f4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6f5.svg b/frontend/theme/img/emojis/svg/1f6f5.svg new file mode 100644 index 0000000..a1e0f4b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6f5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6f6.svg b/frontend/theme/img/emojis/svg/1f6f6.svg new file mode 100644 index 0000000..b6a2165 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6f6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6f7.svg b/frontend/theme/img/emojis/svg/1f6f7.svg new file mode 100644 index 0000000..12d776d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6f7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6f8.svg b/frontend/theme/img/emojis/svg/1f6f8.svg new file mode 100644 index 0000000..5f015fe --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6f8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6f9.svg b/frontend/theme/img/emojis/svg/1f6f9.svg new file mode 100644 index 0000000..1ee4bfe --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6f9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6fa.svg b/frontend/theme/img/emojis/svg/1f6fa.svg new file mode 100644 index 0000000..aae4e94 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6fa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6fb.svg b/frontend/theme/img/emojis/svg/1f6fb.svg new file mode 100644 index 0000000..87643ae --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f6fc.svg b/frontend/theme/img/emojis/svg/1f6fc.svg new file mode 100644 index 0000000..091d51e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f6fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f7e0.svg b/frontend/theme/img/emojis/svg/1f7e0.svg new file mode 100644 index 0000000..f5e1200 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f7e0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f7e1.svg b/frontend/theme/img/emojis/svg/1f7e1.svg new file mode 100644 index 0000000..5c05d43 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f7e1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f7e2.svg b/frontend/theme/img/emojis/svg/1f7e2.svg new file mode 100644 index 0000000..3e68a3f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f7e2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f7e3.svg b/frontend/theme/img/emojis/svg/1f7e3.svg new file mode 100644 index 0000000..8a034ca --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f7e3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f7e4.svg b/frontend/theme/img/emojis/svg/1f7e4.svg new file mode 100644 index 0000000..ebbc3a7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f7e4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f7e5.svg b/frontend/theme/img/emojis/svg/1f7e5.svg new file mode 100644 index 0000000..5326d65 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f7e5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f7e6.svg b/frontend/theme/img/emojis/svg/1f7e6.svg new file mode 100644 index 0000000..0824226 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f7e6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f7e7.svg b/frontend/theme/img/emojis/svg/1f7e7.svg new file mode 100644 index 0000000..1377a4e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f7e7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f7e8.svg b/frontend/theme/img/emojis/svg/1f7e8.svg new file mode 100644 index 0000000..64795b1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f7e8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f7e9.svg b/frontend/theme/img/emojis/svg/1f7e9.svg new file mode 100644 index 0000000..73ed4fa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f7e9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f7ea.svg b/frontend/theme/img/emojis/svg/1f7ea.svg new file mode 100644 index 0000000..c331b1f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f7ea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f7eb.svg b/frontend/theme/img/emojis/svg/1f7eb.svg new file mode 100644 index 0000000..24ee982 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f7eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f7f0.svg b/frontend/theme/img/emojis/svg/1f7f0.svg new file mode 100755 index 0000000..5844f61 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f7f0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f90c-1f3fb.svg b/frontend/theme/img/emojis/svg/1f90c-1f3fb.svg new file mode 100644 index 0000000..8af4521 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f90c-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f90c-1f3fc.svg b/frontend/theme/img/emojis/svg/1f90c-1f3fc.svg new file mode 100644 index 0000000..7cee5bd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f90c-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f90c-1f3fd.svg b/frontend/theme/img/emojis/svg/1f90c-1f3fd.svg new file mode 100644 index 0000000..2898fe3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f90c-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f90c-1f3fe.svg b/frontend/theme/img/emojis/svg/1f90c-1f3fe.svg new file mode 100644 index 0000000..2e706ba --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f90c-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f90c-1f3ff.svg b/frontend/theme/img/emojis/svg/1f90c-1f3ff.svg new file mode 100644 index 0000000..e17d4b0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f90c-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f90c.svg b/frontend/theme/img/emojis/svg/1f90c.svg new file mode 100644 index 0000000..56b40f3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f90c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f90d.svg b/frontend/theme/img/emojis/svg/1f90d.svg new file mode 100644 index 0000000..7deb0cd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f90d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f90e.svg b/frontend/theme/img/emojis/svg/1f90e.svg new file mode 100644 index 0000000..275f3c9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f90e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f90f-1f3fb.svg b/frontend/theme/img/emojis/svg/1f90f-1f3fb.svg new file mode 100644 index 0000000..a14c907 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f90f-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f90f-1f3fc.svg b/frontend/theme/img/emojis/svg/1f90f-1f3fc.svg new file mode 100644 index 0000000..8f109cd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f90f-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f90f-1f3fd.svg b/frontend/theme/img/emojis/svg/1f90f-1f3fd.svg new file mode 100644 index 0000000..0e9b3e6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f90f-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f90f-1f3fe.svg b/frontend/theme/img/emojis/svg/1f90f-1f3fe.svg new file mode 100644 index 0000000..07ccb2b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f90f-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f90f-1f3ff.svg b/frontend/theme/img/emojis/svg/1f90f-1f3ff.svg new file mode 100644 index 0000000..78893d0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f90f-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f90f.svg b/frontend/theme/img/emojis/svg/1f90f.svg new file mode 100644 index 0000000..626e3b5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f90f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f910.svg b/frontend/theme/img/emojis/svg/1f910.svg new file mode 100644 index 0000000..873621f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f910.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f911.svg b/frontend/theme/img/emojis/svg/1f911.svg new file mode 100644 index 0000000..5616de7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f911.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f912.svg b/frontend/theme/img/emojis/svg/1f912.svg new file mode 100644 index 0000000..b6ac0a9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f912.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f913.svg b/frontend/theme/img/emojis/svg/1f913.svg new file mode 100644 index 0000000..d430a68 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f913.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f914.svg b/frontend/theme/img/emojis/svg/1f914.svg new file mode 100644 index 0000000..4e8c4cc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f914.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f915.svg b/frontend/theme/img/emojis/svg/1f915.svg new file mode 100644 index 0000000..fce67fc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f915.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f916.svg b/frontend/theme/img/emojis/svg/1f916.svg new file mode 100644 index 0000000..1dbe6d6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f916.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f917.svg b/frontend/theme/img/emojis/svg/1f917.svg new file mode 100644 index 0000000..1341675 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f917.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f918-1f3fb.svg b/frontend/theme/img/emojis/svg/1f918-1f3fb.svg new file mode 100644 index 0000000..56fa28a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f918-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f918-1f3fc.svg b/frontend/theme/img/emojis/svg/1f918-1f3fc.svg new file mode 100644 index 0000000..bae1401 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f918-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f918-1f3fd.svg b/frontend/theme/img/emojis/svg/1f918-1f3fd.svg new file mode 100644 index 0000000..98ebab0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f918-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f918-1f3fe.svg b/frontend/theme/img/emojis/svg/1f918-1f3fe.svg new file mode 100644 index 0000000..873cef0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f918-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f918-1f3ff.svg b/frontend/theme/img/emojis/svg/1f918-1f3ff.svg new file mode 100644 index 0000000..052adbb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f918-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f918.svg b/frontend/theme/img/emojis/svg/1f918.svg new file mode 100644 index 0000000..c3a1063 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f918.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f919-1f3fb.svg b/frontend/theme/img/emojis/svg/1f919-1f3fb.svg new file mode 100644 index 0000000..1a9691f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f919-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f919-1f3fc.svg b/frontend/theme/img/emojis/svg/1f919-1f3fc.svg new file mode 100644 index 0000000..add5b47 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f919-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f919-1f3fd.svg b/frontend/theme/img/emojis/svg/1f919-1f3fd.svg new file mode 100644 index 0000000..993c6f7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f919-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f919-1f3fe.svg b/frontend/theme/img/emojis/svg/1f919-1f3fe.svg new file mode 100644 index 0000000..a433b38 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f919-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f919-1f3ff.svg b/frontend/theme/img/emojis/svg/1f919-1f3ff.svg new file mode 100644 index 0000000..226cd45 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f919-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f919.svg b/frontend/theme/img/emojis/svg/1f919.svg new file mode 100644 index 0000000..4ab0454 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f919.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91a-1f3fb.svg b/frontend/theme/img/emojis/svg/1f91a-1f3fb.svg new file mode 100644 index 0000000..646618e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91a-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91a-1f3fc.svg b/frontend/theme/img/emojis/svg/1f91a-1f3fc.svg new file mode 100644 index 0000000..4b5f983 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91a-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91a-1f3fd.svg b/frontend/theme/img/emojis/svg/1f91a-1f3fd.svg new file mode 100644 index 0000000..6d85626 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91a-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91a-1f3fe.svg b/frontend/theme/img/emojis/svg/1f91a-1f3fe.svg new file mode 100644 index 0000000..cc36a24 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91a-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91a-1f3ff.svg b/frontend/theme/img/emojis/svg/1f91a-1f3ff.svg new file mode 100644 index 0000000..1345e97 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91a-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91a.svg b/frontend/theme/img/emojis/svg/1f91a.svg new file mode 100644 index 0000000..a3d2b1c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91b-1f3fb.svg b/frontend/theme/img/emojis/svg/1f91b-1f3fb.svg new file mode 100644 index 0000000..1deb10c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91b-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91b-1f3fc.svg b/frontend/theme/img/emojis/svg/1f91b-1f3fc.svg new file mode 100644 index 0000000..7edf532 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91b-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91b-1f3fd.svg b/frontend/theme/img/emojis/svg/1f91b-1f3fd.svg new file mode 100644 index 0000000..d98a536 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91b-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91b-1f3fe.svg b/frontend/theme/img/emojis/svg/1f91b-1f3fe.svg new file mode 100644 index 0000000..e48b751 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91b-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91b-1f3ff.svg b/frontend/theme/img/emojis/svg/1f91b-1f3ff.svg new file mode 100644 index 0000000..3998353 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91b-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91b.svg b/frontend/theme/img/emojis/svg/1f91b.svg new file mode 100644 index 0000000..a5a142b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91c-1f3fb.svg b/frontend/theme/img/emojis/svg/1f91c-1f3fb.svg new file mode 100644 index 0000000..ff817fd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91c-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91c-1f3fc.svg b/frontend/theme/img/emojis/svg/1f91c-1f3fc.svg new file mode 100644 index 0000000..732af9c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91c-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91c-1f3fd.svg b/frontend/theme/img/emojis/svg/1f91c-1f3fd.svg new file mode 100644 index 0000000..79ed35f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91c-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91c-1f3fe.svg b/frontend/theme/img/emojis/svg/1f91c-1f3fe.svg new file mode 100644 index 0000000..948472f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91c-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91c-1f3ff.svg b/frontend/theme/img/emojis/svg/1f91c-1f3ff.svg new file mode 100644 index 0000000..eb89c3a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91c-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91c.svg b/frontend/theme/img/emojis/svg/1f91c.svg new file mode 100644 index 0000000..afaa803 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91d-1f3fb.svg b/frontend/theme/img/emojis/svg/1f91d-1f3fb.svg new file mode 100755 index 0000000..64a75c6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91d-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91d-1f3fc.svg b/frontend/theme/img/emojis/svg/1f91d-1f3fc.svg new file mode 100755 index 0000000..0ecf3b9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91d-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91d-1f3fd.svg b/frontend/theme/img/emojis/svg/1f91d-1f3fd.svg new file mode 100755 index 0000000..eaed0ef --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91d-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91d-1f3fe.svg b/frontend/theme/img/emojis/svg/1f91d-1f3fe.svg new file mode 100755 index 0000000..6fc64a9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91d-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91d-1f3ff.svg b/frontend/theme/img/emojis/svg/1f91d-1f3ff.svg new file mode 100755 index 0000000..adf55f4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91d-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91d.svg b/frontend/theme/img/emojis/svg/1f91d.svg new file mode 100644 index 0000000..1deae92 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91e-1f3fb.svg b/frontend/theme/img/emojis/svg/1f91e-1f3fb.svg new file mode 100644 index 0000000..30a387d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91e-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91e-1f3fc.svg b/frontend/theme/img/emojis/svg/1f91e-1f3fc.svg new file mode 100644 index 0000000..ec2fa50 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91e-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91e-1f3fd.svg b/frontend/theme/img/emojis/svg/1f91e-1f3fd.svg new file mode 100644 index 0000000..b17f269 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91e-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91e-1f3fe.svg b/frontend/theme/img/emojis/svg/1f91e-1f3fe.svg new file mode 100644 index 0000000..28cbb78 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91e-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91e-1f3ff.svg b/frontend/theme/img/emojis/svg/1f91e-1f3ff.svg new file mode 100644 index 0000000..86e91b2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91e-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91e.svg b/frontend/theme/img/emojis/svg/1f91e.svg new file mode 100644 index 0000000..f85ba65 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91f-1f3fb.svg b/frontend/theme/img/emojis/svg/1f91f-1f3fb.svg new file mode 100644 index 0000000..aa26231 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91f-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91f-1f3fc.svg b/frontend/theme/img/emojis/svg/1f91f-1f3fc.svg new file mode 100644 index 0000000..13e4bac --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91f-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91f-1f3fd.svg b/frontend/theme/img/emojis/svg/1f91f-1f3fd.svg new file mode 100644 index 0000000..274170b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91f-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91f-1f3fe.svg b/frontend/theme/img/emojis/svg/1f91f-1f3fe.svg new file mode 100644 index 0000000..f4f18d8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91f-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91f-1f3ff.svg b/frontend/theme/img/emojis/svg/1f91f-1f3ff.svg new file mode 100644 index 0000000..d2f5581 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91f-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f91f.svg b/frontend/theme/img/emojis/svg/1f91f.svg new file mode 100644 index 0000000..4f3d74f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f91f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f920.svg b/frontend/theme/img/emojis/svg/1f920.svg new file mode 100644 index 0000000..da7cfa2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f920.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f921.svg b/frontend/theme/img/emojis/svg/1f921.svg new file mode 100644 index 0000000..6ca668d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f921.svg @@ -0,0 +1 @@ + diff --git a/frontend/theme/img/emojis/svg/1f922.svg b/frontend/theme/img/emojis/svg/1f922.svg new file mode 100644 index 0000000..ed7c86c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f922.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f923.svg b/frontend/theme/img/emojis/svg/1f923.svg new file mode 100644 index 0000000..d0e3c75 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f923.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f924.svg b/frontend/theme/img/emojis/svg/1f924.svg new file mode 100644 index 0000000..9af71fc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f924.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f925.svg b/frontend/theme/img/emojis/svg/1f925.svg new file mode 100644 index 0000000..9f25530 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f925.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f926-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f926-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..01f59a1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f926-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f926-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f926-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..90f06b3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f926-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f926-1f3fb.svg b/frontend/theme/img/emojis/svg/1f926-1f3fb.svg new file mode 100644 index 0000000..80e07bb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f926-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f926-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f926-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..a479826 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f926-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f926-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f926-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..ea55c5a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f926-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f926-1f3fc.svg b/frontend/theme/img/emojis/svg/1f926-1f3fc.svg new file mode 100644 index 0000000..227838d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f926-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f926-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f926-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..ece26ca --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f926-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f926-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f926-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..5df9aa2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f926-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f926-1f3fd.svg b/frontend/theme/img/emojis/svg/1f926-1f3fd.svg new file mode 100644 index 0000000..7ef592b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f926-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f926-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f926-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..8e677c4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f926-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f926-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f926-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..df48aee --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f926-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f926-1f3fe.svg b/frontend/theme/img/emojis/svg/1f926-1f3fe.svg new file mode 100644 index 0000000..caf3e78 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f926-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f926-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f926-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..c5a8603 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f926-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f926-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f926-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..e19ae75 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f926-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f926-1f3ff.svg b/frontend/theme/img/emojis/svg/1f926-1f3ff.svg new file mode 100644 index 0000000..e3f244a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f926-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f926-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f926-200d-2640-fe0f.svg new file mode 100644 index 0000000..a31d72b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f926-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f926-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f926-200d-2642-fe0f.svg new file mode 100644 index 0000000..29cbd0b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f926-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f926.svg b/frontend/theme/img/emojis/svg/1f926.svg new file mode 100644 index 0000000..631e91c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f926.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f927.svg b/frontend/theme/img/emojis/svg/1f927.svg new file mode 100644 index 0000000..06fee3f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f927.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f928.svg b/frontend/theme/img/emojis/svg/1f928.svg new file mode 100644 index 0000000..126e459 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f928.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f929.svg b/frontend/theme/img/emojis/svg/1f929.svg new file mode 100644 index 0000000..260cd80 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f929.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f92a.svg b/frontend/theme/img/emojis/svg/1f92a.svg new file mode 100644 index 0000000..baf58f2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f92a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f92b.svg b/frontend/theme/img/emojis/svg/1f92b.svg new file mode 100644 index 0000000..a00edc9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f92b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f92c.svg b/frontend/theme/img/emojis/svg/1f92c.svg new file mode 100644 index 0000000..c26a5aa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f92c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f92d.svg b/frontend/theme/img/emojis/svg/1f92d.svg new file mode 100644 index 0000000..b79e067 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f92d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f92e.svg b/frontend/theme/img/emojis/svg/1f92e.svg new file mode 100644 index 0000000..42df3bd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f92e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f92f.svg b/frontend/theme/img/emojis/svg/1f92f.svg new file mode 100644 index 0000000..3ac19ed --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f92f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f930-1f3fb.svg b/frontend/theme/img/emojis/svg/1f930-1f3fb.svg new file mode 100644 index 0000000..925d1e4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f930-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f930-1f3fc.svg b/frontend/theme/img/emojis/svg/1f930-1f3fc.svg new file mode 100644 index 0000000..e308ef9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f930-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f930-1f3fd.svg b/frontend/theme/img/emojis/svg/1f930-1f3fd.svg new file mode 100644 index 0000000..39d55f4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f930-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f930-1f3fe.svg b/frontend/theme/img/emojis/svg/1f930-1f3fe.svg new file mode 100644 index 0000000..ee049b8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f930-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f930-1f3ff.svg b/frontend/theme/img/emojis/svg/1f930-1f3ff.svg new file mode 100644 index 0000000..607d72e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f930-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f930.svg b/frontend/theme/img/emojis/svg/1f930.svg new file mode 100644 index 0000000..31a9377 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f930.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f931-1f3fb.svg b/frontend/theme/img/emojis/svg/1f931-1f3fb.svg new file mode 100644 index 0000000..e4815f2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f931-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f931-1f3fc.svg b/frontend/theme/img/emojis/svg/1f931-1f3fc.svg new file mode 100644 index 0000000..c02ddc3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f931-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f931-1f3fd.svg b/frontend/theme/img/emojis/svg/1f931-1f3fd.svg new file mode 100644 index 0000000..fc4150b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f931-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f931-1f3fe.svg b/frontend/theme/img/emojis/svg/1f931-1f3fe.svg new file mode 100644 index 0000000..7cd0602 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f931-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f931-1f3ff.svg b/frontend/theme/img/emojis/svg/1f931-1f3ff.svg new file mode 100644 index 0000000..6ea48e4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f931-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f931.svg b/frontend/theme/img/emojis/svg/1f931.svg new file mode 100644 index 0000000..86dc551 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f931.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f932-1f3fb.svg b/frontend/theme/img/emojis/svg/1f932-1f3fb.svg new file mode 100644 index 0000000..c1d616e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f932-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f932-1f3fc.svg b/frontend/theme/img/emojis/svg/1f932-1f3fc.svg new file mode 100644 index 0000000..ee95f09 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f932-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f932-1f3fd.svg b/frontend/theme/img/emojis/svg/1f932-1f3fd.svg new file mode 100644 index 0000000..78d13a0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f932-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f932-1f3fe.svg b/frontend/theme/img/emojis/svg/1f932-1f3fe.svg new file mode 100644 index 0000000..4a22a20 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f932-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f932-1f3ff.svg b/frontend/theme/img/emojis/svg/1f932-1f3ff.svg new file mode 100644 index 0000000..2cd1f7d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f932-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f932.svg b/frontend/theme/img/emojis/svg/1f932.svg new file mode 100644 index 0000000..96b6c65 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f932.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f933-1f3fb.svg b/frontend/theme/img/emojis/svg/1f933-1f3fb.svg new file mode 100644 index 0000000..066c2a8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f933-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f933-1f3fc.svg b/frontend/theme/img/emojis/svg/1f933-1f3fc.svg new file mode 100644 index 0000000..6722d15 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f933-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f933-1f3fd.svg b/frontend/theme/img/emojis/svg/1f933-1f3fd.svg new file mode 100644 index 0000000..b3f2bd5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f933-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f933-1f3fe.svg b/frontend/theme/img/emojis/svg/1f933-1f3fe.svg new file mode 100644 index 0000000..f95578a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f933-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f933-1f3ff.svg b/frontend/theme/img/emojis/svg/1f933-1f3ff.svg new file mode 100644 index 0000000..1cad785 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f933-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f933.svg b/frontend/theme/img/emojis/svg/1f933.svg new file mode 100644 index 0000000..88382e1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f933.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f934-1f3fb.svg b/frontend/theme/img/emojis/svg/1f934-1f3fb.svg new file mode 100644 index 0000000..eaa8fb2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f934-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f934-1f3fc.svg b/frontend/theme/img/emojis/svg/1f934-1f3fc.svg new file mode 100644 index 0000000..5feff0a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f934-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f934-1f3fd.svg b/frontend/theme/img/emojis/svg/1f934-1f3fd.svg new file mode 100644 index 0000000..04db0c9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f934-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f934-1f3fe.svg b/frontend/theme/img/emojis/svg/1f934-1f3fe.svg new file mode 100644 index 0000000..a26398f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f934-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f934-1f3ff.svg b/frontend/theme/img/emojis/svg/1f934-1f3ff.svg new file mode 100644 index 0000000..ad40c9d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f934-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f934.svg b/frontend/theme/img/emojis/svg/1f934.svg new file mode 100644 index 0000000..666ac38 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f934.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f935-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f935-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..d0e7ba4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f935-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f935-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f935-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..abd68b8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f935-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f935-1f3fb.svg b/frontend/theme/img/emojis/svg/1f935-1f3fb.svg new file mode 100644 index 0000000..0994b27 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f935-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f935-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f935-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..5b10171 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f935-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f935-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f935-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..f7093be --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f935-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f935-1f3fc.svg b/frontend/theme/img/emojis/svg/1f935-1f3fc.svg new file mode 100644 index 0000000..a674ce9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f935-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f935-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f935-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..35d0ab5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f935-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f935-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f935-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..5ed3aa3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f935-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f935-1f3fd.svg b/frontend/theme/img/emojis/svg/1f935-1f3fd.svg new file mode 100644 index 0000000..af12355 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f935-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f935-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f935-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..5b06236 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f935-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f935-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f935-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..6ed7fb3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f935-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f935-1f3fe.svg b/frontend/theme/img/emojis/svg/1f935-1f3fe.svg new file mode 100644 index 0000000..3e69b42 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f935-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f935-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f935-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..70f6517 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f935-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f935-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f935-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..3af34ef --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f935-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f935-1f3ff.svg b/frontend/theme/img/emojis/svg/1f935-1f3ff.svg new file mode 100644 index 0000000..3df4f27 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f935-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f935-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f935-200d-2640-fe0f.svg new file mode 100644 index 0000000..63ef4c9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f935-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f935-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f935-200d-2642-fe0f.svg new file mode 100644 index 0000000..5c87be4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f935-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f935.svg b/frontend/theme/img/emojis/svg/1f935.svg new file mode 100644 index 0000000..5b0498b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f935.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f936-1f3fb.svg b/frontend/theme/img/emojis/svg/1f936-1f3fb.svg new file mode 100644 index 0000000..0227456 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f936-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f936-1f3fc.svg b/frontend/theme/img/emojis/svg/1f936-1f3fc.svg new file mode 100644 index 0000000..5887d75 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f936-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f936-1f3fd.svg b/frontend/theme/img/emojis/svg/1f936-1f3fd.svg new file mode 100644 index 0000000..3e1853d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f936-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f936-1f3fe.svg b/frontend/theme/img/emojis/svg/1f936-1f3fe.svg new file mode 100644 index 0000000..6d94d27 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f936-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f936-1f3ff.svg b/frontend/theme/img/emojis/svg/1f936-1f3ff.svg new file mode 100644 index 0000000..2178a33 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f936-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f936.svg b/frontend/theme/img/emojis/svg/1f936.svg new file mode 100644 index 0000000..6cabe58 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f936.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f937-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f937-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..1c60fc3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f937-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f937-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f937-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..0a92c44 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f937-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f937-1f3fb.svg b/frontend/theme/img/emojis/svg/1f937-1f3fb.svg new file mode 100644 index 0000000..b44ceef --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f937-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f937-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f937-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..af1de04 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f937-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f937-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f937-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..b8791a9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f937-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f937-1f3fc.svg b/frontend/theme/img/emojis/svg/1f937-1f3fc.svg new file mode 100644 index 0000000..dc703eb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f937-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f937-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f937-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..1e7109a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f937-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f937-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f937-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..48de994 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f937-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f937-1f3fd.svg b/frontend/theme/img/emojis/svg/1f937-1f3fd.svg new file mode 100644 index 0000000..9037d4e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f937-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f937-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f937-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..b5731d5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f937-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f937-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f937-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..1ce63b9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f937-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f937-1f3fe.svg b/frontend/theme/img/emojis/svg/1f937-1f3fe.svg new file mode 100644 index 0000000..36763bb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f937-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f937-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f937-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..2400a4e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f937-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f937-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f937-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..534538c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f937-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f937-1f3ff.svg b/frontend/theme/img/emojis/svg/1f937-1f3ff.svg new file mode 100644 index 0000000..e39f070 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f937-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f937-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f937-200d-2640-fe0f.svg new file mode 100644 index 0000000..f78db07 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f937-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f937-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f937-200d-2642-fe0f.svg new file mode 100644 index 0000000..29d7e1e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f937-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f937.svg b/frontend/theme/img/emojis/svg/1f937.svg new file mode 100644 index 0000000..d5984aa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f937.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f938-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f938-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..c5a0d1e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f938-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f938-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f938-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..2457665 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f938-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f938-1f3fb.svg b/frontend/theme/img/emojis/svg/1f938-1f3fb.svg new file mode 100644 index 0000000..aeb71a8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f938-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f938-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f938-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..15b2df7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f938-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f938-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f938-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..32a6938 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f938-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f938-1f3fc.svg b/frontend/theme/img/emojis/svg/1f938-1f3fc.svg new file mode 100644 index 0000000..99b46ea --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f938-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f938-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f938-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..58447e6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f938-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f938-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f938-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..bb9f50c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f938-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f938-1f3fd.svg b/frontend/theme/img/emojis/svg/1f938-1f3fd.svg new file mode 100644 index 0000000..fb0e279 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f938-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f938-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f938-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..b17fdb4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f938-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f938-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f938-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..cce9c90 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f938-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f938-1f3fe.svg b/frontend/theme/img/emojis/svg/1f938-1f3fe.svg new file mode 100644 index 0000000..41abefe --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f938-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f938-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f938-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..076b69d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f938-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f938-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f938-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..4f61ec9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f938-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f938-1f3ff.svg b/frontend/theme/img/emojis/svg/1f938-1f3ff.svg new file mode 100644 index 0000000..52eb41e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f938-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f938-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f938-200d-2640-fe0f.svg new file mode 100644 index 0000000..9cec3f9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f938-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f938-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f938-200d-2642-fe0f.svg new file mode 100644 index 0000000..7aa23fe --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f938-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f938.svg b/frontend/theme/img/emojis/svg/1f938.svg new file mode 100644 index 0000000..aaf5b18 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f938.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f939-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f939-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..e6cda1a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f939-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f939-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f939-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..8b7579b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f939-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f939-1f3fb.svg b/frontend/theme/img/emojis/svg/1f939-1f3fb.svg new file mode 100644 index 0000000..b794735 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f939-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f939-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f939-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..511b808 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f939-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f939-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f939-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..11006e2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f939-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f939-1f3fc.svg b/frontend/theme/img/emojis/svg/1f939-1f3fc.svg new file mode 100644 index 0000000..1bc4dba --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f939-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f939-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f939-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..cada29f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f939-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f939-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f939-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..98b3b79 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f939-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f939-1f3fd.svg b/frontend/theme/img/emojis/svg/1f939-1f3fd.svg new file mode 100644 index 0000000..fe7c94f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f939-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f939-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f939-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..7ecc091 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f939-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f939-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f939-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..dd36705 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f939-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f939-1f3fe.svg b/frontend/theme/img/emojis/svg/1f939-1f3fe.svg new file mode 100644 index 0000000..5bd7d05 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f939-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f939-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f939-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..87bf7e0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f939-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f939-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f939-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..ab10e89 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f939-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f939-1f3ff.svg b/frontend/theme/img/emojis/svg/1f939-1f3ff.svg new file mode 100644 index 0000000..43016b2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f939-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f939-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f939-200d-2640-fe0f.svg new file mode 100644 index 0000000..0e3e5e4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f939-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f939-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f939-200d-2642-fe0f.svg new file mode 100644 index 0000000..62230dc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f939-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f939.svg b/frontend/theme/img/emojis/svg/1f939.svg new file mode 100644 index 0000000..d79aad7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f939.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93a.svg b/frontend/theme/img/emojis/svg/1f93a.svg new file mode 100644 index 0000000..5cfb388 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93c-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f93c-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..e2a67ee --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93c-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93c-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f93c-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..a333f48 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93c-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93c-1f3fb.svg b/frontend/theme/img/emojis/svg/1f93c-1f3fb.svg new file mode 100644 index 0000000..cc81067 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93c-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93c-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f93c-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..a37ac45 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93c-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93c-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f93c-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..3fa49e0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93c-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93c-1f3fc.svg b/frontend/theme/img/emojis/svg/1f93c-1f3fc.svg new file mode 100644 index 0000000..435a8fb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93c-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93c-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f93c-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..44993bd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93c-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93c-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f93c-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..17fc753 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93c-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93c-1f3fd.svg b/frontend/theme/img/emojis/svg/1f93c-1f3fd.svg new file mode 100644 index 0000000..c1c2911 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93c-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93c-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f93c-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..2efd591 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93c-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93c-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f93c-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..eb97d08 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93c-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93c-1f3fe.svg b/frontend/theme/img/emojis/svg/1f93c-1f3fe.svg new file mode 100644 index 0000000..9a71abd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93c-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93c-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f93c-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..7ca973d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93c-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93c-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f93c-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..d4f3c91 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93c-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93c-1f3ff.svg b/frontend/theme/img/emojis/svg/1f93c-1f3ff.svg new file mode 100644 index 0000000..090c8d6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93c-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93c-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f93c-200d-2640-fe0f.svg new file mode 100644 index 0000000..9abd833 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93c-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93c-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f93c-200d-2642-fe0f.svg new file mode 100644 index 0000000..13ec50b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93c-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93c.svg b/frontend/theme/img/emojis/svg/1f93c.svg new file mode 100644 index 0000000..fcd902e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93d-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f93d-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..5f6fa5a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93d-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93d-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f93d-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..62da945 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93d-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93d-1f3fb.svg b/frontend/theme/img/emojis/svg/1f93d-1f3fb.svg new file mode 100644 index 0000000..5bba0fb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93d-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93d-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f93d-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..f0f9e7f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93d-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93d-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f93d-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..6df2787 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93d-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93d-1f3fc.svg b/frontend/theme/img/emojis/svg/1f93d-1f3fc.svg new file mode 100644 index 0000000..ed5845a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93d-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93d-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f93d-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..49c426d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93d-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93d-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f93d-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..2b8c67d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93d-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93d-1f3fd.svg b/frontend/theme/img/emojis/svg/1f93d-1f3fd.svg new file mode 100644 index 0000000..4056ca5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93d-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93d-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f93d-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..1efd46a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93d-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93d-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f93d-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..045d9fd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93d-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93d-1f3fe.svg b/frontend/theme/img/emojis/svg/1f93d-1f3fe.svg new file mode 100644 index 0000000..2de4cfa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93d-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93d-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f93d-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..bf06301 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93d-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93d-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f93d-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..60c3445 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93d-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93d-1f3ff.svg b/frontend/theme/img/emojis/svg/1f93d-1f3ff.svg new file mode 100644 index 0000000..37c3616 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93d-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93d-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f93d-200d-2640-fe0f.svg new file mode 100644 index 0000000..1cca2e7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93d-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93d-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f93d-200d-2642-fe0f.svg new file mode 100644 index 0000000..9469b6a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93d-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93d.svg b/frontend/theme/img/emojis/svg/1f93d.svg new file mode 100644 index 0000000..df8453d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93e-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f93e-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..46d9bdc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93e-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93e-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f93e-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..0298963 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93e-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93e-1f3fb.svg b/frontend/theme/img/emojis/svg/1f93e-1f3fb.svg new file mode 100644 index 0000000..0988f26 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93e-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93e-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f93e-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..2a6191f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93e-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93e-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f93e-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..ac5a4bb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93e-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93e-1f3fc.svg b/frontend/theme/img/emojis/svg/1f93e-1f3fc.svg new file mode 100644 index 0000000..8ee96e0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93e-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93e-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f93e-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..ca6f6c2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93e-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93e-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f93e-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..63fe0d4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93e-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93e-1f3fd.svg b/frontend/theme/img/emojis/svg/1f93e-1f3fd.svg new file mode 100644 index 0000000..a4e93ba --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93e-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93e-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f93e-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..692ed9d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93e-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93e-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f93e-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..5639542 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93e-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93e-1f3fe.svg b/frontend/theme/img/emojis/svg/1f93e-1f3fe.svg new file mode 100644 index 0000000..95c71b9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93e-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93e-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f93e-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..ec3b45f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93e-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93e-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f93e-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..1d547f9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93e-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93e-1f3ff.svg b/frontend/theme/img/emojis/svg/1f93e-1f3ff.svg new file mode 100644 index 0000000..8456c78 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93e-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93e-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f93e-200d-2640-fe0f.svg new file mode 100644 index 0000000..28e86b3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93e-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93e-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f93e-200d-2642-fe0f.svg new file mode 100644 index 0000000..3efb466 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93e-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93e.svg b/frontend/theme/img/emojis/svg/1f93e.svg new file mode 100644 index 0000000..b678e65 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f93f.svg b/frontend/theme/img/emojis/svg/1f93f.svg new file mode 100644 index 0000000..01239db --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f93f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f940.svg b/frontend/theme/img/emojis/svg/1f940.svg new file mode 100644 index 0000000..dedff20 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f940.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f941.svg b/frontend/theme/img/emojis/svg/1f941.svg new file mode 100644 index 0000000..e197d16 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f941.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f942.svg b/frontend/theme/img/emojis/svg/1f942.svg new file mode 100644 index 0000000..30167b0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f942.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f943.svg b/frontend/theme/img/emojis/svg/1f943.svg new file mode 100644 index 0000000..27750ea --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f943.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f944.svg b/frontend/theme/img/emojis/svg/1f944.svg new file mode 100644 index 0000000..1f2d69f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f944.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f945.svg b/frontend/theme/img/emojis/svg/1f945.svg new file mode 100644 index 0000000..4d187f2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f945.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f947.svg b/frontend/theme/img/emojis/svg/1f947.svg new file mode 100644 index 0000000..c67af77 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f947.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f948.svg b/frontend/theme/img/emojis/svg/1f948.svg new file mode 100644 index 0000000..685db6d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f948.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f949.svg b/frontend/theme/img/emojis/svg/1f949.svg new file mode 100644 index 0000000..6bb5f77 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f949.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f94a.svg b/frontend/theme/img/emojis/svg/1f94a.svg new file mode 100644 index 0000000..fa16edb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f94a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f94b.svg b/frontend/theme/img/emojis/svg/1f94b.svg new file mode 100644 index 0000000..33d6e21 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f94b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f94c.svg b/frontend/theme/img/emojis/svg/1f94c.svg new file mode 100644 index 0000000..9bc8f8a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f94c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f94d.svg b/frontend/theme/img/emojis/svg/1f94d.svg new file mode 100644 index 0000000..8c6bcb9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f94d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f94e.svg b/frontend/theme/img/emojis/svg/1f94e.svg new file mode 100644 index 0000000..1c9270c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f94e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f94f.svg b/frontend/theme/img/emojis/svg/1f94f.svg new file mode 100644 index 0000000..84fdba4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f94f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f950.svg b/frontend/theme/img/emojis/svg/1f950.svg new file mode 100644 index 0000000..eef4358 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f950.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f951.svg b/frontend/theme/img/emojis/svg/1f951.svg new file mode 100644 index 0000000..ed1d9f9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f951.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f952.svg b/frontend/theme/img/emojis/svg/1f952.svg new file mode 100644 index 0000000..83cba03 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f952.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f953.svg b/frontend/theme/img/emojis/svg/1f953.svg new file mode 100644 index 0000000..82d4c82 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f953.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f954.svg b/frontend/theme/img/emojis/svg/1f954.svg new file mode 100644 index 0000000..b8d120d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f954.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f955.svg b/frontend/theme/img/emojis/svg/1f955.svg new file mode 100644 index 0000000..b949554 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f955.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f956.svg b/frontend/theme/img/emojis/svg/1f956.svg new file mode 100644 index 0000000..8da1042 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f956.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f957.svg b/frontend/theme/img/emojis/svg/1f957.svg new file mode 100644 index 0000000..f18b096 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f957.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f958.svg b/frontend/theme/img/emojis/svg/1f958.svg new file mode 100644 index 0000000..878520c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f958.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f959.svg b/frontend/theme/img/emojis/svg/1f959.svg new file mode 100644 index 0000000..baa9a4b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f959.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f95a.svg b/frontend/theme/img/emojis/svg/1f95a.svg new file mode 100644 index 0000000..1e76017 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f95a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f95b.svg b/frontend/theme/img/emojis/svg/1f95b.svg new file mode 100644 index 0000000..73947e8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f95b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f95c.svg b/frontend/theme/img/emojis/svg/1f95c.svg new file mode 100644 index 0000000..c809689 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f95c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f95d.svg b/frontend/theme/img/emojis/svg/1f95d.svg new file mode 100644 index 0000000..4007a72 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f95d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f95e.svg b/frontend/theme/img/emojis/svg/1f95e.svg new file mode 100644 index 0000000..795fb13 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f95e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f95f.svg b/frontend/theme/img/emojis/svg/1f95f.svg new file mode 100644 index 0000000..57f13af --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f95f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f960.svg b/frontend/theme/img/emojis/svg/1f960.svg new file mode 100644 index 0000000..5d61144 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f960.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f961.svg b/frontend/theme/img/emojis/svg/1f961.svg new file mode 100644 index 0000000..6a05c9c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f961.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f962.svg b/frontend/theme/img/emojis/svg/1f962.svg new file mode 100644 index 0000000..adde7aa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f962.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f963.svg b/frontend/theme/img/emojis/svg/1f963.svg new file mode 100644 index 0000000..00e5ae6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f963.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f964.svg b/frontend/theme/img/emojis/svg/1f964.svg new file mode 100644 index 0000000..3556dd9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f964.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f965.svg b/frontend/theme/img/emojis/svg/1f965.svg new file mode 100644 index 0000000..7f16927 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f965.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f966.svg b/frontend/theme/img/emojis/svg/1f966.svg new file mode 100644 index 0000000..ee2bc1c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f966.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f967.svg b/frontend/theme/img/emojis/svg/1f967.svg new file mode 100644 index 0000000..5916cac --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f967.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f968.svg b/frontend/theme/img/emojis/svg/1f968.svg new file mode 100644 index 0000000..10bd682 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f968.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f969.svg b/frontend/theme/img/emojis/svg/1f969.svg new file mode 100644 index 0000000..28a6a1a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f969.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f96a.svg b/frontend/theme/img/emojis/svg/1f96a.svg new file mode 100644 index 0000000..d514ba7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f96a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f96b.svg b/frontend/theme/img/emojis/svg/1f96b.svg new file mode 100644 index 0000000..9c451ed --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f96b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f96c.svg b/frontend/theme/img/emojis/svg/1f96c.svg new file mode 100644 index 0000000..6ef36cb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f96c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f96d.svg b/frontend/theme/img/emojis/svg/1f96d.svg new file mode 100644 index 0000000..b5607c1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f96d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f96e.svg b/frontend/theme/img/emojis/svg/1f96e.svg new file mode 100644 index 0000000..ebb7ba9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f96e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f96f.svg b/frontend/theme/img/emojis/svg/1f96f.svg new file mode 100644 index 0000000..6a65f4c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f96f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f970.svg b/frontend/theme/img/emojis/svg/1f970.svg new file mode 100644 index 0000000..6b063df --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f970.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f971.svg b/frontend/theme/img/emojis/svg/1f971.svg new file mode 100644 index 0000000..26444c6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f971.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f972.svg b/frontend/theme/img/emojis/svg/1f972.svg new file mode 100644 index 0000000..f309c22 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f972.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f973.svg b/frontend/theme/img/emojis/svg/1f973.svg new file mode 100644 index 0000000..c7a9538 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f973.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f974.svg b/frontend/theme/img/emojis/svg/1f974.svg new file mode 100644 index 0000000..87bb859 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f974.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f975.svg b/frontend/theme/img/emojis/svg/1f975.svg new file mode 100644 index 0000000..09e99a3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f975.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f976.svg b/frontend/theme/img/emojis/svg/1f976.svg new file mode 100644 index 0000000..e32efdd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f976.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f977-1f3fb.svg b/frontend/theme/img/emojis/svg/1f977-1f3fb.svg new file mode 100644 index 0000000..5c981c2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f977-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f977-1f3fc.svg b/frontend/theme/img/emojis/svg/1f977-1f3fc.svg new file mode 100644 index 0000000..6c3545e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f977-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f977-1f3fd.svg b/frontend/theme/img/emojis/svg/1f977-1f3fd.svg new file mode 100644 index 0000000..557267b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f977-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f977-1f3fe.svg b/frontend/theme/img/emojis/svg/1f977-1f3fe.svg new file mode 100644 index 0000000..8b65491 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f977-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f977-1f3ff.svg b/frontend/theme/img/emojis/svg/1f977-1f3ff.svg new file mode 100644 index 0000000..7d32872 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f977-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f977.svg b/frontend/theme/img/emojis/svg/1f977.svg new file mode 100644 index 0000000..84be7d7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f977.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f978.svg b/frontend/theme/img/emojis/svg/1f978.svg new file mode 100644 index 0000000..6d1e4e1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f978.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f979.svg b/frontend/theme/img/emojis/svg/1f979.svg new file mode 100644 index 0000000..fff9243 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f979.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f97a.svg b/frontend/theme/img/emojis/svg/1f97a.svg new file mode 100644 index 0000000..3240471 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f97a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f97b.svg b/frontend/theme/img/emojis/svg/1f97b.svg new file mode 100644 index 0000000..846d591 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f97b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f97c.svg b/frontend/theme/img/emojis/svg/1f97c.svg new file mode 100644 index 0000000..5d19b27 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f97c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f97d.svg b/frontend/theme/img/emojis/svg/1f97d.svg new file mode 100644 index 0000000..cdb79f9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f97d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f97e.svg b/frontend/theme/img/emojis/svg/1f97e.svg new file mode 100644 index 0000000..6715028 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f97e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f97f.svg b/frontend/theme/img/emojis/svg/1f97f.svg new file mode 100644 index 0000000..2206307 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f97f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f980.svg b/frontend/theme/img/emojis/svg/1f980.svg new file mode 100644 index 0000000..8f45b53 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f980.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f981.svg b/frontend/theme/img/emojis/svg/1f981.svg new file mode 100644 index 0000000..674ff24 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f981.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f982.svg b/frontend/theme/img/emojis/svg/1f982.svg new file mode 100644 index 0000000..582c722 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f982.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f983.svg b/frontend/theme/img/emojis/svg/1f983.svg new file mode 100644 index 0000000..e9de7de --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f983.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f984.svg b/frontend/theme/img/emojis/svg/1f984.svg new file mode 100644 index 0000000..19d9ff1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f984.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f985.svg b/frontend/theme/img/emojis/svg/1f985.svg new file mode 100644 index 0000000..81b7b3c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f985.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f986.svg b/frontend/theme/img/emojis/svg/1f986.svg new file mode 100644 index 0000000..085c900 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f986.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f987.svg b/frontend/theme/img/emojis/svg/1f987.svg new file mode 100644 index 0000000..4ebb5ad --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f987.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f988.svg b/frontend/theme/img/emojis/svg/1f988.svg new file mode 100644 index 0000000..f6381c5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f988.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f989.svg b/frontend/theme/img/emojis/svg/1f989.svg new file mode 100644 index 0000000..bb0d461 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f989.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f98a.svg b/frontend/theme/img/emojis/svg/1f98a.svg new file mode 100644 index 0000000..2cb2f98 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f98a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f98b.svg b/frontend/theme/img/emojis/svg/1f98b.svg new file mode 100644 index 0000000..22c6ead --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f98b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f98c.svg b/frontend/theme/img/emojis/svg/1f98c.svg new file mode 100644 index 0000000..8662368 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f98c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f98d.svg b/frontend/theme/img/emojis/svg/1f98d.svg new file mode 100644 index 0000000..aa59923 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f98d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f98e.svg b/frontend/theme/img/emojis/svg/1f98e.svg new file mode 100644 index 0000000..1164a73 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f98e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f98f.svg b/frontend/theme/img/emojis/svg/1f98f.svg new file mode 100644 index 0000000..0d07017 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f98f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f990.svg b/frontend/theme/img/emojis/svg/1f990.svg new file mode 100644 index 0000000..8279307 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f990.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f991.svg b/frontend/theme/img/emojis/svg/1f991.svg new file mode 100644 index 0000000..e0bbf92 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f991.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f992.svg b/frontend/theme/img/emojis/svg/1f992.svg new file mode 100644 index 0000000..233e3c9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f992.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f993.svg b/frontend/theme/img/emojis/svg/1f993.svg new file mode 100644 index 0000000..2cb4b9e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f993.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f994.svg b/frontend/theme/img/emojis/svg/1f994.svg new file mode 100644 index 0000000..ebbfc2a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f994.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f995.svg b/frontend/theme/img/emojis/svg/1f995.svg new file mode 100644 index 0000000..fb046c6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f995.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f996.svg b/frontend/theme/img/emojis/svg/1f996.svg new file mode 100644 index 0000000..73b0291 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f996.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f997.svg b/frontend/theme/img/emojis/svg/1f997.svg new file mode 100644 index 0000000..6f0476d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f997.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f998.svg b/frontend/theme/img/emojis/svg/1f998.svg new file mode 100644 index 0000000..8a72b40 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f998.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f999.svg b/frontend/theme/img/emojis/svg/1f999.svg new file mode 100644 index 0000000..b505faf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f999.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f99a.svg b/frontend/theme/img/emojis/svg/1f99a.svg new file mode 100644 index 0000000..7606d38 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f99a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f99b.svg b/frontend/theme/img/emojis/svg/1f99b.svg new file mode 100644 index 0000000..2764249 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f99b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f99c.svg b/frontend/theme/img/emojis/svg/1f99c.svg new file mode 100644 index 0000000..f7f743c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f99c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f99d.svg b/frontend/theme/img/emojis/svg/1f99d.svg new file mode 100644 index 0000000..30c8872 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f99d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f99e.svg b/frontend/theme/img/emojis/svg/1f99e.svg new file mode 100644 index 0000000..8df2a74 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f99e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f99f.svg b/frontend/theme/img/emojis/svg/1f99f.svg new file mode 100644 index 0000000..5888151 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f99f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9a0.svg b/frontend/theme/img/emojis/svg/1f9a0.svg new file mode 100644 index 0000000..cea144e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9a0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9a1.svg b/frontend/theme/img/emojis/svg/1f9a1.svg new file mode 100644 index 0000000..92f42fd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9a1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9a2.svg b/frontend/theme/img/emojis/svg/1f9a2.svg new file mode 100644 index 0000000..9c38381 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9a2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9a3.svg b/frontend/theme/img/emojis/svg/1f9a3.svg new file mode 100644 index 0000000..1aa8719 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9a3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9a4.svg b/frontend/theme/img/emojis/svg/1f9a4.svg new file mode 100644 index 0000000..1dbac1e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9a4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9a5.svg b/frontend/theme/img/emojis/svg/1f9a5.svg new file mode 100644 index 0000000..7371a8e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9a5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9a6.svg b/frontend/theme/img/emojis/svg/1f9a6.svg new file mode 100644 index 0000000..5ea0173 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9a6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9a7.svg b/frontend/theme/img/emojis/svg/1f9a7.svg new file mode 100644 index 0000000..0382845 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9a7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9a8.svg b/frontend/theme/img/emojis/svg/1f9a8.svg new file mode 100644 index 0000000..47478ff --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9a8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9a9.svg b/frontend/theme/img/emojis/svg/1f9a9.svg new file mode 100644 index 0000000..aaa5cfa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9a9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9aa.svg b/frontend/theme/img/emojis/svg/1f9aa.svg new file mode 100644 index 0000000..f0f4778 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9aa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ab.svg b/frontend/theme/img/emojis/svg/1f9ab.svg new file mode 100644 index 0000000..7967d67 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ac.svg b/frontend/theme/img/emojis/svg/1f9ac.svg new file mode 100644 index 0000000..c815681 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ac.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ad.svg b/frontend/theme/img/emojis/svg/1f9ad.svg new file mode 100644 index 0000000..6904e81 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ad.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ae.svg b/frontend/theme/img/emojis/svg/1f9ae.svg new file mode 100644 index 0000000..fc63587 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ae.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9af.svg b/frontend/theme/img/emojis/svg/1f9af.svg new file mode 100644 index 0000000..aba8a98 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b0.svg b/frontend/theme/img/emojis/svg/1f9b0.svg new file mode 100644 index 0000000..5cb487e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b1.svg b/frontend/theme/img/emojis/svg/1f9b1.svg new file mode 100644 index 0000000..414422b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b2.svg b/frontend/theme/img/emojis/svg/1f9b2.svg new file mode 100644 index 0000000..035b691 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b3.svg b/frontend/theme/img/emojis/svg/1f9b3.svg new file mode 100644 index 0000000..ea3072c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b4.svg b/frontend/theme/img/emojis/svg/1f9b4.svg new file mode 100644 index 0000000..624de72 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b5-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9b5-1f3fb.svg new file mode 100644 index 0000000..0a233cf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b5-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b5-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9b5-1f3fc.svg new file mode 100644 index 0000000..229bd21 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b5-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b5-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9b5-1f3fd.svg new file mode 100644 index 0000000..dce4696 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b5-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b5-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9b5-1f3fe.svg new file mode 100644 index 0000000..5cb9907 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b5-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b5-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9b5-1f3ff.svg new file mode 100644 index 0000000..6bdc2f9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b5-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b5.svg b/frontend/theme/img/emojis/svg/1f9b5.svg new file mode 100644 index 0000000..178fd15 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b6-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9b6-1f3fb.svg new file mode 100644 index 0000000..29677fb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b6-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b6-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9b6-1f3fc.svg new file mode 100644 index 0000000..dc679d0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b6-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b6-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9b6-1f3fd.svg new file mode 100644 index 0000000..8f0f689 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b6-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b6-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9b6-1f3fe.svg new file mode 100644 index 0000000..0752f69 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b6-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b6-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9b6-1f3ff.svg new file mode 100644 index 0000000..297e0b4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b6-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b6.svg b/frontend/theme/img/emojis/svg/1f9b6.svg new file mode 100644 index 0000000..abbbbac --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b7.svg b/frontend/theme/img/emojis/svg/1f9b7.svg new file mode 100644 index 0000000..49cc5f9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b8-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9b8-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..f50f846 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b8-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b8-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9b8-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..fc3adcb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b8-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b8-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9b8-1f3fb.svg new file mode 100644 index 0000000..52a50d9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b8-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b8-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9b8-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..3b0a5be --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b8-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b8-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9b8-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..3e223f3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b8-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b8-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9b8-1f3fc.svg new file mode 100644 index 0000000..8a2fc9b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b8-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b8-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9b8-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..e87b63f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b8-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b8-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9b8-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..f357590 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b8-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b8-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9b8-1f3fd.svg new file mode 100644 index 0000000..a9ee6d8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b8-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b8-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9b8-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..355bbad --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b8-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b8-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9b8-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..a1535bf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b8-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b8-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9b8-1f3fe.svg new file mode 100644 index 0000000..11d689b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b8-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b8-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9b8-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..d4126a1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b8-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b8-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9b8-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..8e5c150 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b8-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b8-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9b8-1f3ff.svg new file mode 100644 index 0000000..58b200e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b8-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b8-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9b8-200d-2640-fe0f.svg new file mode 100644 index 0000000..120097e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b8-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b8-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9b8-200d-2642-fe0f.svg new file mode 100644 index 0000000..404dcb2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b8-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b8.svg b/frontend/theme/img/emojis/svg/1f9b8.svg new file mode 100644 index 0000000..f012215 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b9-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9b9-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..e52e0d8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b9-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b9-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9b9-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..ced012a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b9-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b9-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9b9-1f3fb.svg new file mode 100644 index 0000000..2070980 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b9-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b9-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9b9-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..61c9be8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b9-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b9-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9b9-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..67a93de --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b9-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b9-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9b9-1f3fc.svg new file mode 100644 index 0000000..2a0ce49 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b9-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b9-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9b9-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..eeb4f07 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b9-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b9-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9b9-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..091e36b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b9-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b9-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9b9-1f3fd.svg new file mode 100644 index 0000000..199cceb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b9-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b9-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9b9-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..463ee89 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b9-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b9-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9b9-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..008a07f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b9-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b9-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9b9-1f3fe.svg new file mode 100644 index 0000000..63f24fd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b9-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b9-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9b9-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..a110d6d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b9-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b9-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9b9-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..ec17e3b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b9-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b9-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9b9-1f3ff.svg new file mode 100644 index 0000000..bd52692 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b9-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b9-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9b9-200d-2640-fe0f.svg new file mode 100644 index 0000000..97ee771 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b9-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b9-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9b9-200d-2642-fe0f.svg new file mode 100644 index 0000000..6c20761 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b9-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9b9.svg b/frontend/theme/img/emojis/svg/1f9b9.svg new file mode 100644 index 0000000..43922b0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9b9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ba.svg b/frontend/theme/img/emojis/svg/1f9ba.svg new file mode 100644 index 0000000..50bf8e3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ba.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9bb-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9bb-1f3fb.svg new file mode 100644 index 0000000..b94d484 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9bb-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9bb-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9bb-1f3fc.svg new file mode 100644 index 0000000..d187bad --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9bb-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9bb-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9bb-1f3fd.svg new file mode 100644 index 0000000..51ed272 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9bb-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9bb-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9bb-1f3fe.svg new file mode 100644 index 0000000..af889ad --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9bb-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9bb-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9bb-1f3ff.svg new file mode 100644 index 0000000..818e532 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9bb-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9bb.svg b/frontend/theme/img/emojis/svg/1f9bb.svg new file mode 100644 index 0000000..05bc020 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9bb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9bc.svg b/frontend/theme/img/emojis/svg/1f9bc.svg new file mode 100644 index 0000000..153f553 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9bd.svg b/frontend/theme/img/emojis/svg/1f9bd.svg new file mode 100644 index 0000000..c371d4b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9be.svg b/frontend/theme/img/emojis/svg/1f9be.svg new file mode 100644 index 0000000..c3d2db4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9be.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9bf.svg b/frontend/theme/img/emojis/svg/1f9bf.svg new file mode 100644 index 0000000..db17a63 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9bf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9c0.svg b/frontend/theme/img/emojis/svg/1f9c0.svg new file mode 100644 index 0000000..20e6a92 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9c0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9c1.svg b/frontend/theme/img/emojis/svg/1f9c1.svg new file mode 100644 index 0000000..1f966c3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9c1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9c2.svg b/frontend/theme/img/emojis/svg/1f9c2.svg new file mode 100644 index 0000000..40dea88 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9c2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9c3.svg b/frontend/theme/img/emojis/svg/1f9c3.svg new file mode 100644 index 0000000..51a3f26 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9c3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9c4.svg b/frontend/theme/img/emojis/svg/1f9c4.svg new file mode 100644 index 0000000..37a9f36 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9c4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9c5.svg b/frontend/theme/img/emojis/svg/1f9c5.svg new file mode 100644 index 0000000..ab68cb1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9c5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9c6.svg b/frontend/theme/img/emojis/svg/1f9c6.svg new file mode 100644 index 0000000..c360564 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9c6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9c7.svg b/frontend/theme/img/emojis/svg/1f9c7.svg new file mode 100644 index 0000000..cc92a9d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9c7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9c8.svg b/frontend/theme/img/emojis/svg/1f9c8.svg new file mode 100644 index 0000000..d7a5674 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9c8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9c9.svg b/frontend/theme/img/emojis/svg/1f9c9.svg new file mode 100644 index 0000000..16b0db8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9c9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ca.svg b/frontend/theme/img/emojis/svg/1f9ca.svg new file mode 100644 index 0000000..569fe03 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ca.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cb.svg b/frontend/theme/img/emojis/svg/1f9cb.svg new file mode 100644 index 0000000..8cb6178 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cc.svg b/frontend/theme/img/emojis/svg/1f9cc.svg new file mode 100755 index 0000000..ebc08ba --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cd-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9cd-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..d5981e3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cd-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cd-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9cd-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..8fbd6c0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cd-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cd-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9cd-1f3fb.svg new file mode 100644 index 0000000..3492853 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cd-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cd-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9cd-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..7f81ff8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cd-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cd-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9cd-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..0ea6daf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cd-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cd-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9cd-1f3fc.svg new file mode 100644 index 0000000..b974f41 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cd-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cd-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9cd-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..48329af --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cd-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cd-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9cd-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..3197184 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cd-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cd-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9cd-1f3fd.svg new file mode 100644 index 0000000..468edc6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cd-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cd-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9cd-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..696243d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cd-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cd-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9cd-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..8b05543 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cd-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cd-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9cd-1f3fe.svg new file mode 100644 index 0000000..db22d18 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cd-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cd-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9cd-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..c96659c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cd-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cd-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9cd-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..59fb6a9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cd-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cd-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9cd-1f3ff.svg new file mode 100644 index 0000000..5191b96 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cd-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9cd-200d-2640-fe0f.svg new file mode 100644 index 0000000..1b8bfc3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9cd-200d-2642-fe0f.svg new file mode 100644 index 0000000..450561e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cd.svg b/frontend/theme/img/emojis/svg/1f9cd.svg new file mode 100644 index 0000000..331041b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3fb-200d-2640-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3fb-200d-2640-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..c7d0280 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3fb-200d-2640-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..3750749 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3fb-200d-2642-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3fb-200d-2642-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..88655aa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3fb-200d-2642-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..97de596 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3fb-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3fb-200d-27a1-fe0f.svg new file mode 100644 index 0000000..5ce1c6c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3fb-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3fb.svg new file mode 100644 index 0000000..6f97b1b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3fc-200d-2640-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3fc-200d-2640-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..8c6fe2d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3fc-200d-2640-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..ee5bf15 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3fc-200d-2642-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3fc-200d-2642-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..0666eb6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3fc-200d-2642-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..e518657 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3fc-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3fc-200d-27a1-fe0f.svg new file mode 100644 index 0000000..b158ba8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3fc-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3fc.svg new file mode 100644 index 0000000..0977ee6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3fd-200d-2640-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3fd-200d-2640-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..fdf1af6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3fd-200d-2640-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..e210695 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3fd-200d-2642-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3fd-200d-2642-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..81eee1b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3fd-200d-2642-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..269c7ce --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3fd-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3fd-200d-27a1-fe0f.svg new file mode 100644 index 0000000..77c6ab6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3fd-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3fd.svg new file mode 100644 index 0000000..7fe4f06 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3fe-200d-2640-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3fe-200d-2640-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..6061ed0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3fe-200d-2640-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..e2b0930 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3fe-200d-2642-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3fe-200d-2642-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..f0cbfad --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3fe-200d-2642-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..54e4ba9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3fe-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3fe-200d-27a1-fe0f.svg new file mode 100644 index 0000000..09e7ed0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3fe-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3fe.svg new file mode 100644 index 0000000..2f70944 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3ff-200d-2640-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3ff-200d-2640-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..ad3d3ce --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3ff-200d-2640-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..0f2dc0c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3ff-200d-2642-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3ff-200d-2642-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..d7949f6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3ff-200d-2642-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..b51d7ff --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3ff-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3ff-200d-27a1-fe0f.svg new file mode 100644 index 0000000..36bba79 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3ff-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9ce-1f3ff.svg new file mode 100644 index 0000000..542a604 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-200d-2640-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-200d-2640-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..d234fee --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-200d-2640-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-200d-2640-fe0f.svg new file mode 100644 index 0000000..40b5754 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-200d-2642-fe0f-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-200d-2642-fe0f-200d-27a1-fe0f.svg new file mode 100644 index 0000000..df25703 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-200d-2642-fe0f-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-200d-2642-fe0f.svg new file mode 100644 index 0000000..1c8ddcd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9ce-200d-27a1-fe0f.svg new file mode 100644 index 0000000..e1f21e6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ce.svg b/frontend/theme/img/emojis/svg/1f9ce.svg new file mode 100644 index 0000000..86a60cb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ce.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cf-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9cf-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..9605fac --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cf-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cf-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9cf-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..be0cd90 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cf-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cf-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9cf-1f3fb.svg new file mode 100644 index 0000000..297d20a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cf-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cf-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9cf-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..a463bd6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cf-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cf-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9cf-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..3123646 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cf-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cf-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9cf-1f3fc.svg new file mode 100644 index 0000000..ef8f1d8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cf-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cf-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9cf-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..623b344 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cf-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cf-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9cf-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..d41a0fa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cf-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cf-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9cf-1f3fd.svg new file mode 100644 index 0000000..f1ed199 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cf-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cf-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9cf-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..d63eee4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cf-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cf-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9cf-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..dd43926 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cf-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cf-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9cf-1f3fe.svg new file mode 100644 index 0000000..480a1a6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cf-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cf-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9cf-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..6064882 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cf-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cf-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9cf-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..748ab42 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cf-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cf-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9cf-1f3ff.svg new file mode 100644 index 0000000..d44bde7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cf-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cf-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9cf-200d-2640-fe0f.svg new file mode 100644 index 0000000..7d8f058 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cf-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cf-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9cf-200d-2642-fe0f.svg new file mode 100644 index 0000000..8c119c9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cf-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9cf.svg b/frontend/theme/img/emojis/svg/1f9cf.svg new file mode 100644 index 0000000..b632521 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9cf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d0.svg b/frontend/theme/img/emojis/svg/1f9d0.svg new file mode 100644 index 0000000..86198f7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f33e.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f33e.svg new file mode 100644 index 0000000..9963675 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f33e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f373.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f373.svg new file mode 100644 index 0000000..35898da --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f373.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f37c.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f37c.svg new file mode 100644 index 0000000..624d945 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f37c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f384.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f384.svg new file mode 100644 index 0000000..e204d68 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f384.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f393.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f393.svg new file mode 100644 index 0000000..73f9b6d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f393.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f3a4.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f3a4.svg new file mode 100644 index 0000000..b093c51 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f3a4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f3a8.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f3a8.svg new file mode 100644 index 0000000..260397c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f3a8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f3eb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f3eb.svg new file mode 100644 index 0000000..09c5866 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f3eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f3ed.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f3ed.svg new file mode 100644 index 0000000..00836e9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f3ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f430-200d-1f9d1-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f430-200d-1f9d1-1f3fc.svg new file mode 100644 index 0000000..9cffd6d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f430-200d-1f9d1-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f430-200d-1f9d1-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f430-200d-1f9d1-1f3fd.svg new file mode 100644 index 0000000..eb82240 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f430-200d-1f9d1-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f430-200d-1f9d1-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f430-200d-1f9d1-1f3fe.svg new file mode 100644 index 0000000..7b62862 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f430-200d-1f9d1-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f430-200d-1f9d1-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f430-200d-1f9d1-1f3ff.svg new file mode 100644 index 0000000..b2b2c70 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f430-200d-1f9d1-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f4bb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f4bb.svg new file mode 100644 index 0000000..b38cf48 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f4bb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f4bc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f4bc.svg new file mode 100644 index 0000000..5c448c3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f4bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f527.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f527.svg new file mode 100644 index 0000000..94bf92c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f527.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f52c.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f52c.svg new file mode 100644 index 0000000..726e378 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f52c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f680.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f680.svg new file mode 100644 index 0000000..45e1361 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f680.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f692.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f692.svg new file mode 100644 index 0000000..319c687 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f692.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fb.svg new file mode 100644 index 0000000..872bbb0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fc.svg new file mode 100644 index 0000000..fee6221 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fd.svg new file mode 100644 index 0000000..937470f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fe.svg new file mode 100644 index 0000000..782e26e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3ff.svg new file mode 100644 index 0000000..93b224a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9af-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9af-200d-27a1-fe0f.svg new file mode 100644 index 0000000..14dc417 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9af-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9af.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9af.svg new file mode 100644 index 0000000..66a5330 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9b0.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9b0.svg new file mode 100644 index 0000000..d32aaaf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9b0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9b1.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9b1.svg new file mode 100644 index 0000000..81b32ae --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9b1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9b2.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9b2.svg new file mode 100644 index 0000000..74beee1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9b2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9b3.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9b3.svg new file mode 100644 index 0000000..c0c6987 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9b3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9bc-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9bc-200d-27a1-fe0f.svg new file mode 100644 index 0000000..559200e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9bc-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9bc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9bc.svg new file mode 100644 index 0000000..0fdb383 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9bd-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9bd-200d-27a1-fe0f.svg new file mode 100644 index 0000000..976fa28 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9bd-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9bd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9bd.svg new file mode 100644 index 0000000..aaff786 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1f9bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1fa70.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1fa70.svg new file mode 100644 index 0000000..729fbbb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1fa70.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1faef-200d-1f9d1-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1faef-200d-1f9d1-1f3fc.svg new file mode 100644 index 0000000..9506003 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1faef-200d-1f9d1-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1faef-200d-1f9d1-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1faef-200d-1f9d1-1f3fd.svg new file mode 100644 index 0000000..432ec76 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1faef-200d-1f9d1-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1faef-200d-1f9d1-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1faef-200d-1f9d1-1f3fe.svg new file mode 100644 index 0000000..f39fe41 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1faef-200d-1f9d1-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1faef-200d-1f9d1-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1faef-200d-1f9d1-1f3ff.svg new file mode 100644 index 0000000..c257e31 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-1faef-200d-1f9d1-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2695-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2695-fe0f.svg new file mode 100644 index 0000000..40e3f3e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2695-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2696-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2696-fe0f.svg new file mode 100644 index 0000000..4eb5510 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2696-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2708-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2708-fe0f.svg new file mode 100644 index 0000000..97c3440 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2708-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc.svg new file mode 100644 index 0000000..6542ef0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd.svg new file mode 100644 index 0000000..92180dc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe.svg new file mode 100644 index 0000000..7672a83 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff.svg new file mode 100644 index 0000000..3a1f8c8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fc.svg new file mode 100644 index 0000000..6b9ed98 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fd.svg new file mode 100644 index 0000000..7aa9cfb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fe.svg new file mode 100644 index 0000000..adc94ee --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3ff.svg new file mode 100644 index 0000000..e9257bf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fb.svg new file mode 100644 index 0000000..9235058 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f33e.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f33e.svg new file mode 100644 index 0000000..ca8c8b7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f33e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f373.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f373.svg new file mode 100644 index 0000000..9a065b5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f373.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f37c.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f37c.svg new file mode 100644 index 0000000..cd1b853 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f37c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f384.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f384.svg new file mode 100644 index 0000000..c86b6d3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f384.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f393.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f393.svg new file mode 100644 index 0000000..6923efa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f393.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f3a4.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f3a4.svg new file mode 100644 index 0000000..f35861f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f3a4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f3a8.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f3a8.svg new file mode 100644 index 0000000..6666557 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f3a8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f3eb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f3eb.svg new file mode 100644 index 0000000..c0e5cd1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f3eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f3ed.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f3ed.svg new file mode 100644 index 0000000..2a9e89a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f3ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f430-200d-1f9d1-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f430-200d-1f9d1-1f3fb.svg new file mode 100644 index 0000000..7011666 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f430-200d-1f9d1-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f430-200d-1f9d1-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f430-200d-1f9d1-1f3fd.svg new file mode 100644 index 0000000..f4166b6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f430-200d-1f9d1-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f430-200d-1f9d1-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f430-200d-1f9d1-1f3fe.svg new file mode 100644 index 0000000..2bf68ad --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f430-200d-1f9d1-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f430-200d-1f9d1-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f430-200d-1f9d1-1f3ff.svg new file mode 100644 index 0000000..99ef76f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f430-200d-1f9d1-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f4bb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f4bb.svg new file mode 100644 index 0000000..39c5f63 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f4bb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f4bc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f4bc.svg new file mode 100644 index 0000000..4ec99b2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f4bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f527.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f527.svg new file mode 100644 index 0000000..20526c6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f527.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f52c.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f52c.svg new file mode 100644 index 0000000..5912cbc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f52c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f680.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f680.svg new file mode 100644 index 0000000..9e5eee3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f680.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f692.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f692.svg new file mode 100644 index 0000000..c03e8ec --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f692.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fb.svg new file mode 100644 index 0000000..db9e577 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fc.svg new file mode 100644 index 0000000..91bae53 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fd.svg new file mode 100644 index 0000000..b76524f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fe.svg new file mode 100644 index 0000000..166e271 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3ff.svg new file mode 100644 index 0000000..cbcf327 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9af-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9af-200d-27a1-fe0f.svg new file mode 100644 index 0000000..828d98d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9af-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9af.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9af.svg new file mode 100644 index 0000000..5dfba69 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9b0.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9b0.svg new file mode 100644 index 0000000..95e5268 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9b0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9b1.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9b1.svg new file mode 100644 index 0000000..27e3ad6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9b1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9b2.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9b2.svg new file mode 100644 index 0000000..4235ea0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9b2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9b3.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9b3.svg new file mode 100644 index 0000000..71bce8f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9b3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9bc-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9bc-200d-27a1-fe0f.svg new file mode 100644 index 0000000..fe8198d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9bc-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9bc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9bc.svg new file mode 100644 index 0000000..7241316 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9bd-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9bd-200d-27a1-fe0f.svg new file mode 100644 index 0000000..0690a87 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9bd-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9bd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9bd.svg new file mode 100644 index 0000000..740422f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1f9bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1fa70.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1fa70.svg new file mode 100644 index 0000000..4a2be1d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1fa70.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1faef-200d-1f9d1-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1faef-200d-1f9d1-1f3fb.svg new file mode 100644 index 0000000..3f6d097 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1faef-200d-1f9d1-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1faef-200d-1f9d1-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1faef-200d-1f9d1-1f3fd.svg new file mode 100644 index 0000000..8ede6d9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1faef-200d-1f9d1-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1faef-200d-1f9d1-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1faef-200d-1f9d1-1f3fe.svg new file mode 100644 index 0000000..8c05e4a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1faef-200d-1f9d1-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1faef-200d-1f9d1-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1faef-200d-1f9d1-1f3ff.svg new file mode 100644 index 0000000..9b1c3d1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-1faef-200d-1f9d1-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2695-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2695-fe0f.svg new file mode 100644 index 0000000..8c5d106 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2695-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2696-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2696-fe0f.svg new file mode 100644 index 0000000..a39ad4e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2696-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2708-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2708-fe0f.svg new file mode 100644 index 0000000..cbba777 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2708-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb.svg new file mode 100644 index 0000000..fc33920 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd.svg new file mode 100644 index 0000000..e28ecdf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe.svg new file mode 100644 index 0000000..182f55d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff.svg new file mode 100644 index 0000000..77ad1c2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fb.svg new file mode 100644 index 0000000..d2db4a4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fd.svg new file mode 100644 index 0000000..c5fa071 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fe.svg new file mode 100644 index 0000000..073ed32 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3ff.svg new file mode 100644 index 0000000..330dd09 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fc.svg new file mode 100644 index 0000000..e47b1b2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f33e.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f33e.svg new file mode 100644 index 0000000..4526ae4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f33e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f373.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f373.svg new file mode 100644 index 0000000..af6f1f2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f373.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f37c.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f37c.svg new file mode 100644 index 0000000..c1d45aa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f37c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f384.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f384.svg new file mode 100644 index 0000000..0c60666 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f384.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f393.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f393.svg new file mode 100644 index 0000000..5ca8a61 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f393.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f3a4.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f3a4.svg new file mode 100644 index 0000000..91929e0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f3a4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f3a8.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f3a8.svg new file mode 100644 index 0000000..5c9448c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f3a8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f3eb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f3eb.svg new file mode 100644 index 0000000..b9e6bd7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f3eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f3ed.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f3ed.svg new file mode 100644 index 0000000..98518b0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f3ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f430-200d-1f9d1-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f430-200d-1f9d1-1f3fb.svg new file mode 100644 index 0000000..a0a2149 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f430-200d-1f9d1-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f430-200d-1f9d1-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f430-200d-1f9d1-1f3fc.svg new file mode 100644 index 0000000..dbfe22a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f430-200d-1f9d1-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f430-200d-1f9d1-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f430-200d-1f9d1-1f3fe.svg new file mode 100644 index 0000000..0e6e6aa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f430-200d-1f9d1-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f430-200d-1f9d1-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f430-200d-1f9d1-1f3ff.svg new file mode 100644 index 0000000..042dfda --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f430-200d-1f9d1-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f4bb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f4bb.svg new file mode 100644 index 0000000..83db71b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f4bb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f4bc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f4bc.svg new file mode 100644 index 0000000..310edfe --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f4bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f527.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f527.svg new file mode 100644 index 0000000..dbe729a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f527.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f52c.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f52c.svg new file mode 100644 index 0000000..fcf6cdb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f52c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f680.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f680.svg new file mode 100644 index 0000000..59e3fb5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f680.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f692.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f692.svg new file mode 100644 index 0000000..1150325 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f692.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fb.svg new file mode 100644 index 0000000..95b71de --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fc.svg new file mode 100644 index 0000000..ccf18e1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fd.svg new file mode 100644 index 0000000..bd3e712 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fe.svg new file mode 100644 index 0000000..37b06f9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3ff.svg new file mode 100644 index 0000000..4f85ab9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9af-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9af-200d-27a1-fe0f.svg new file mode 100644 index 0000000..8d1215c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9af-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9af.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9af.svg new file mode 100644 index 0000000..7db282e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9b0.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9b0.svg new file mode 100644 index 0000000..2a950ba --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9b0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9b1.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9b1.svg new file mode 100644 index 0000000..e6547c1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9b1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9b2.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9b2.svg new file mode 100644 index 0000000..fe56d2a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9b2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9b3.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9b3.svg new file mode 100644 index 0000000..369b941 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9b3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9bc-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9bc-200d-27a1-fe0f.svg new file mode 100644 index 0000000..816b253 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9bc-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9bc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9bc.svg new file mode 100644 index 0000000..a7352ec --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9bd-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9bd-200d-27a1-fe0f.svg new file mode 100644 index 0000000..bc0fd10 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9bd-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9bd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9bd.svg new file mode 100644 index 0000000..baac4da --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1f9bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1fa70.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1fa70.svg new file mode 100644 index 0000000..f73dd60 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1fa70.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1faef-200d-1f9d1-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1faef-200d-1f9d1-1f3fb.svg new file mode 100644 index 0000000..d2be055 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1faef-200d-1f9d1-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1faef-200d-1f9d1-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1faef-200d-1f9d1-1f3fc.svg new file mode 100644 index 0000000..596807e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1faef-200d-1f9d1-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1faef-200d-1f9d1-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1faef-200d-1f9d1-1f3fe.svg new file mode 100644 index 0000000..98858eb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1faef-200d-1f9d1-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1faef-200d-1f9d1-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1faef-200d-1f9d1-1f3ff.svg new file mode 100644 index 0000000..4a0240f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-1faef-200d-1f9d1-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2695-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2695-fe0f.svg new file mode 100644 index 0000000..8361c3a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2695-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2696-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2696-fe0f.svg new file mode 100644 index 0000000..5c8816e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2696-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2708-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2708-fe0f.svg new file mode 100644 index 0000000..55592e3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2708-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb.svg new file mode 100644 index 0000000..338be21 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc.svg new file mode 100644 index 0000000..606aa6c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe.svg new file mode 100644 index 0000000..3242514 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff.svg new file mode 100644 index 0000000..c6dc1ca --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fb.svg new file mode 100644 index 0000000..c7ff545 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fc.svg new file mode 100644 index 0000000..70f5da4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fe.svg new file mode 100644 index 0000000..3a1913f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3ff.svg new file mode 100644 index 0000000..7f5f2f0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fd.svg new file mode 100644 index 0000000..892d262 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f33e.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f33e.svg new file mode 100644 index 0000000..c2cfa0a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f33e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f373.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f373.svg new file mode 100644 index 0000000..1c9bbf3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f373.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f37c.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f37c.svg new file mode 100644 index 0000000..a4f6e76 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f37c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f384.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f384.svg new file mode 100644 index 0000000..fb94c66 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f384.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f393.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f393.svg new file mode 100644 index 0000000..fbf4897 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f393.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f3a4.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f3a4.svg new file mode 100644 index 0000000..756b24f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f3a4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f3a8.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f3a8.svg new file mode 100644 index 0000000..b3e5d45 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f3a8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f3eb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f3eb.svg new file mode 100644 index 0000000..c9769d9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f3eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f3ed.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f3ed.svg new file mode 100644 index 0000000..891e38a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f3ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f430-200d-1f9d1-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f430-200d-1f9d1-1f3fb.svg new file mode 100644 index 0000000..5c5973d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f430-200d-1f9d1-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f430-200d-1f9d1-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f430-200d-1f9d1-1f3fc.svg new file mode 100644 index 0000000..2304a23 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f430-200d-1f9d1-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f430-200d-1f9d1-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f430-200d-1f9d1-1f3fd.svg new file mode 100644 index 0000000..3c80eec --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f430-200d-1f9d1-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f430-200d-1f9d1-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f430-200d-1f9d1-1f3ff.svg new file mode 100644 index 0000000..d8ba7fc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f430-200d-1f9d1-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f4bb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f4bb.svg new file mode 100644 index 0000000..fa7b724 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f4bb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f4bc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f4bc.svg new file mode 100644 index 0000000..ee31db0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f4bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f527.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f527.svg new file mode 100644 index 0000000..e70a616 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f527.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f52c.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f52c.svg new file mode 100644 index 0000000..d9ca99f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f52c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f680.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f680.svg new file mode 100644 index 0000000..f747a93 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f680.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f692.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f692.svg new file mode 100644 index 0000000..994939d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f692.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fb.svg new file mode 100644 index 0000000..c00782b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fc.svg new file mode 100644 index 0000000..581eac9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fd.svg new file mode 100644 index 0000000..565c1cf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fe.svg new file mode 100644 index 0000000..7bad577 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3ff.svg new file mode 100644 index 0000000..be44c06 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9af-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9af-200d-27a1-fe0f.svg new file mode 100644 index 0000000..ac01e1e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9af-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9af.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9af.svg new file mode 100644 index 0000000..bc64dc3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9b0.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9b0.svg new file mode 100644 index 0000000..4a29c3f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9b0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9b1.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9b1.svg new file mode 100644 index 0000000..a1824af --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9b1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9b2.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9b2.svg new file mode 100644 index 0000000..9139c2f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9b2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9b3.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9b3.svg new file mode 100644 index 0000000..a555928 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9b3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9bc-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9bc-200d-27a1-fe0f.svg new file mode 100644 index 0000000..b4e76bb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9bc-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9bc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9bc.svg new file mode 100644 index 0000000..d83b937 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9bd-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9bd-200d-27a1-fe0f.svg new file mode 100644 index 0000000..36a9bc0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9bd-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9bd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9bd.svg new file mode 100644 index 0000000..1f3215c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1f9bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1fa70.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1fa70.svg new file mode 100644 index 0000000..edbc0cb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1fa70.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1faef-200d-1f9d1-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1faef-200d-1f9d1-1f3fb.svg new file mode 100644 index 0000000..4e9ee6d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1faef-200d-1f9d1-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1faef-200d-1f9d1-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1faef-200d-1f9d1-1f3fc.svg new file mode 100644 index 0000000..077d673 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1faef-200d-1f9d1-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1faef-200d-1f9d1-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1faef-200d-1f9d1-1f3fd.svg new file mode 100644 index 0000000..e12bed5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1faef-200d-1f9d1-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1faef-200d-1f9d1-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1faef-200d-1f9d1-1f3ff.svg new file mode 100644 index 0000000..1ab55db --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-1faef-200d-1f9d1-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2695-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2695-fe0f.svg new file mode 100644 index 0000000..f083514 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2695-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2696-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2696-fe0f.svg new file mode 100644 index 0000000..fcf4bea --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2696-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2708-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2708-fe0f.svg new file mode 100644 index 0000000..0f059a9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2708-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb.svg new file mode 100644 index 0000000..5c4c22e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc.svg new file mode 100644 index 0000000..a88fe51 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd.svg new file mode 100644 index 0000000..f5305f0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff.svg new file mode 100644 index 0000000..995b238 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fb.svg new file mode 100644 index 0000000..5ee06ff --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fc.svg new file mode 100644 index 0000000..a4056f6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fd.svg new file mode 100644 index 0000000..96667d8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3ff.svg new file mode 100644 index 0000000..e744074 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3fe.svg new file mode 100644 index 0000000..ee05425 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f33e.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f33e.svg new file mode 100644 index 0000000..6b9286b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f33e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f373.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f373.svg new file mode 100644 index 0000000..bb79b4b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f373.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f37c.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f37c.svg new file mode 100644 index 0000000..4e75f50 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f37c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f384.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f384.svg new file mode 100644 index 0000000..52121d1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f384.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f393.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f393.svg new file mode 100644 index 0000000..6d7689e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f393.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f3a4.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f3a4.svg new file mode 100644 index 0000000..3e4407f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f3a4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f3a8.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f3a8.svg new file mode 100644 index 0000000..499729b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f3a8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f3eb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f3eb.svg new file mode 100644 index 0000000..b9ac531 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f3eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f3ed.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f3ed.svg new file mode 100644 index 0000000..bc66d22 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f3ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f430-200d-1f9d1-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f430-200d-1f9d1-1f3fb.svg new file mode 100644 index 0000000..9bb47f0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f430-200d-1f9d1-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f430-200d-1f9d1-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f430-200d-1f9d1-1f3fc.svg new file mode 100644 index 0000000..4705beb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f430-200d-1f9d1-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f430-200d-1f9d1-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f430-200d-1f9d1-1f3fd.svg new file mode 100644 index 0000000..045d8bb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f430-200d-1f9d1-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f430-200d-1f9d1-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f430-200d-1f9d1-1f3fe.svg new file mode 100644 index 0000000..5711830 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f430-200d-1f9d1-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f4bb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f4bb.svg new file mode 100644 index 0000000..d79adc7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f4bb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f4bc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f4bc.svg new file mode 100644 index 0000000..b08175e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f4bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f527.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f527.svg new file mode 100644 index 0000000..015b39c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f527.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f52c.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f52c.svg new file mode 100644 index 0000000..ff1a170 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f52c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f680.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f680.svg new file mode 100644 index 0000000..5939ba5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f680.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f692.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f692.svg new file mode 100644 index 0000000..c51348c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f692.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fb.svg new file mode 100644 index 0000000..a01b2c9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fc.svg new file mode 100644 index 0000000..87d8181 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fd.svg new file mode 100644 index 0000000..0eb84d0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fe.svg new file mode 100644 index 0000000..0526a3e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3ff.svg new file mode 100644 index 0000000..29dbea2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9af-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9af-200d-27a1-fe0f.svg new file mode 100644 index 0000000..95cc631 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9af-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9af.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9af.svg new file mode 100644 index 0000000..d46aa0a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9b0.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9b0.svg new file mode 100644 index 0000000..4e8b888 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9b0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9b1.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9b1.svg new file mode 100644 index 0000000..e6a22f1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9b1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9b2.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9b2.svg new file mode 100644 index 0000000..a5e06b8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9b2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9b3.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9b3.svg new file mode 100644 index 0000000..a9abb97 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9b3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9bc-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9bc-200d-27a1-fe0f.svg new file mode 100644 index 0000000..b22836f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9bc-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9bc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9bc.svg new file mode 100644 index 0000000..b82a522 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9bd-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9bd-200d-27a1-fe0f.svg new file mode 100644 index 0000000..f760972 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9bd-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9bd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9bd.svg new file mode 100644 index 0000000..ffa7e86 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1f9bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1fa70.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1fa70.svg new file mode 100644 index 0000000..01a1a67 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1fa70.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1faef-200d-1f9d1-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1faef-200d-1f9d1-1f3fb.svg new file mode 100644 index 0000000..c6fe538 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1faef-200d-1f9d1-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1faef-200d-1f9d1-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1faef-200d-1f9d1-1f3fc.svg new file mode 100644 index 0000000..9ff6e61 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1faef-200d-1f9d1-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1faef-200d-1f9d1-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1faef-200d-1f9d1-1f3fd.svg new file mode 100644 index 0000000..4a91b18 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1faef-200d-1f9d1-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1faef-200d-1f9d1-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1faef-200d-1f9d1-1f3fe.svg new file mode 100644 index 0000000..f516bc2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-1faef-200d-1f9d1-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2695-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2695-fe0f.svg new file mode 100644 index 0000000..63a0b4b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2695-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2696-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2696-fe0f.svg new file mode 100644 index 0000000..10b9d96 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2696-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2708-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2708-fe0f.svg new file mode 100644 index 0000000..0ba3686 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2708-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb.svg new file mode 100644 index 0000000..9c1bd57 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc.svg new file mode 100644 index 0000000..2d11a91 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd.svg new file mode 100644 index 0000000..39dc1d9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe.svg new file mode 100644 index 0000000..57616f7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fb.svg new file mode 100644 index 0000000..a1895b8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fc.svg new file mode 100644 index 0000000..49c9ef2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fd.svg new file mode 100644 index 0000000..be650e4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fe.svg new file mode 100644 index 0000000..0bed3d5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d1-1f3ff.svg new file mode 100644 index 0000000..64832fe --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f33e.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f33e.svg new file mode 100644 index 0000000..56eba79 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f33e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f373.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f373.svg new file mode 100644 index 0000000..21a99bf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f373.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f37c.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f37c.svg new file mode 100644 index 0000000..f2bf529 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f37c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f384.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f384.svg new file mode 100644 index 0000000..78bde98 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f384.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f393.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f393.svg new file mode 100644 index 0000000..1befeaa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f393.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f3a4.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f3a4.svg new file mode 100644 index 0000000..9b138a8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f3a4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f3a8.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f3a8.svg new file mode 100644 index 0000000..6271635 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f3a8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f3eb.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f3eb.svg new file mode 100644 index 0000000..ec3858a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f3eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f3ed.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f3ed.svg new file mode 100644 index 0000000..21c22e2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f3ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f4bb.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f4bb.svg new file mode 100644 index 0000000..d89d8a0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f4bb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f4bc.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f4bc.svg new file mode 100644 index 0000000..d88ae0d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f4bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f527.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f527.svg new file mode 100644 index 0000000..489d5b3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f527.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f52c.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f52c.svg new file mode 100644 index 0000000..6e76004 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f52c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f680.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f680.svg new file mode 100644 index 0000000..be96b03 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f680.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f692.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f692.svg new file mode 100644 index 0000000..5885001 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f692.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f91d-200d-1f9d1.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f91d-200d-1f9d1.svg new file mode 100644 index 0000000..6c3d407 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f91d-200d-1f9d1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f9af-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9af-200d-27a1-fe0f.svg new file mode 100644 index 0000000..7efa589 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9af-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f9af.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9af.svg new file mode 100644 index 0000000..a43e280 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f9b0.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9b0.svg new file mode 100644 index 0000000..682b591 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9b0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f9b1.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9b1.svg new file mode 100644 index 0000000..aa54799 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9b1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f9b2.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9b2.svg new file mode 100644 index 0000000..e8732a5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9b2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f9b3.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9b3.svg new file mode 100644 index 0000000..baaf5ff --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9b3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f9bc-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9bc-200d-27a1-fe0f.svg new file mode 100644 index 0000000..b460c12 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9bc-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f9bc.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9bc.svg new file mode 100644 index 0000000..257d1e3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9bc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f9bd-200d-27a1-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9bd-200d-27a1-fe0f.svg new file mode 100644 index 0000000..9bf865e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9bd-200d-27a1-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f9bd.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9bd.svg new file mode 100644 index 0000000..e6acf98 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f9d1-200d-1f9d2-200d-1f9d2.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9d1-200d-1f9d2-200d-1f9d2.svg new file mode 100644 index 0000000..317e600 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9d1-200d-1f9d2-200d-1f9d2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f9d1-200d-1f9d2.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9d1-200d-1f9d2.svg new file mode 100644 index 0000000..743b7ba --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9d1-200d-1f9d2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f9d2-200d-1f9d2.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9d2-200d-1f9d2.svg new file mode 100644 index 0000000..9fe8161 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9d2-200d-1f9d2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1f9d2.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9d2.svg new file mode 100644 index 0000000..da28199 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1f9d2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-1fa70.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-1fa70.svg new file mode 100644 index 0000000..951a0a8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-1fa70.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-2695-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-2695-fe0f.svg new file mode 100644 index 0000000..c33867a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-2695-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-2696-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-2696-fe0f.svg new file mode 100644 index 0000000..34d420d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-2696-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1-200d-2708-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d1-200d-2708-fe0f.svg new file mode 100644 index 0000000..ab9e11b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1-200d-2708-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d1.svg b/frontend/theme/img/emojis/svg/1f9d1.svg new file mode 100644 index 0000000..3c71659 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d2-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d2-1f3fb.svg new file mode 100644 index 0000000..59fdd03 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d2-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d2-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d2-1f3fc.svg new file mode 100644 index 0000000..0b0386d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d2-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d2-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d2-1f3fd.svg new file mode 100644 index 0000000..cba8e66 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d2-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d2-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d2-1f3fe.svg new file mode 100644 index 0000000..62abe30 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d2-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d2-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d2-1f3ff.svg new file mode 100644 index 0000000..180f8f3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d2-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d2.svg b/frontend/theme/img/emojis/svg/1f9d2.svg new file mode 100644 index 0000000..23dce9f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d3-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d3-1f3fb.svg new file mode 100644 index 0000000..28b9a2d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d3-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d3-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d3-1f3fc.svg new file mode 100644 index 0000000..c484efd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d3-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d3-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d3-1f3fd.svg new file mode 100644 index 0000000..5010b96 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d3-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d3-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d3-1f3fe.svg new file mode 100644 index 0000000..98df63c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d3-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d3-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d3-1f3ff.svg new file mode 100644 index 0000000..d4f781d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d3-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d3.svg b/frontend/theme/img/emojis/svg/1f9d3.svg new file mode 100644 index 0000000..ad713bb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d4-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d4-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..31109bd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d4-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d4-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d4-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..07e4013 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d4-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d4-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d4-1f3fb.svg new file mode 100644 index 0000000..f70cdfe --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d4-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d4-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d4-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..96acdb5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d4-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d4-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d4-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..168fa82 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d4-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d4-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d4-1f3fc.svg new file mode 100644 index 0000000..5006795 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d4-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d4-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d4-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..9fb7aea --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d4-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d4-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d4-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..01e9365 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d4-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d4-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d4-1f3fd.svg new file mode 100644 index 0000000..9caabe7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d4-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d4-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d4-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..489e279 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d4-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d4-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d4-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..27a6f75 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d4-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d4-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d4-1f3fe.svg new file mode 100644 index 0000000..6dd4b0a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d4-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d4-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d4-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..31f8291 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d4-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d4-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d4-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..34a7f5e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d4-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d4-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d4-1f3ff.svg new file mode 100644 index 0000000..b994169 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d4-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d4-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d4-200d-2640-fe0f.svg new file mode 100644 index 0000000..08af35c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d4-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d4-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d4-200d-2642-fe0f.svg new file mode 100644 index 0000000..fcd2cdf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d4-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d4.svg b/frontend/theme/img/emojis/svg/1f9d4.svg new file mode 100644 index 0000000..edabdc0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d5-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d5-1f3fb.svg new file mode 100644 index 0000000..e1db714 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d5-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d5-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d5-1f3fc.svg new file mode 100644 index 0000000..ef64ff8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d5-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d5-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d5-1f3fd.svg new file mode 100644 index 0000000..c31d2fc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d5-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d5-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d5-1f3fe.svg new file mode 100644 index 0000000..4f34675 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d5-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d5-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d5-1f3ff.svg new file mode 100644 index 0000000..2dcef9d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d5-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d5.svg b/frontend/theme/img/emojis/svg/1f9d5.svg new file mode 100644 index 0000000..a650fee --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d6-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d6-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..98c2980 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d6-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d6-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d6-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..d3aff3d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d6-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d6-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d6-1f3fb.svg new file mode 100644 index 0000000..cf686c4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d6-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d6-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d6-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..976146d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d6-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d6-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d6-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..35f7e55 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d6-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d6-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d6-1f3fc.svg new file mode 100644 index 0000000..1ab495c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d6-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d6-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d6-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..b297500 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d6-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d6-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d6-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..42772b4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d6-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d6-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d6-1f3fd.svg new file mode 100644 index 0000000..d2611e9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d6-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d6-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d6-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..935ff32 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d6-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d6-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d6-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..4846f73 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d6-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d6-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d6-1f3fe.svg new file mode 100644 index 0000000..bc36bf2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d6-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d6-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d6-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..1c0862f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d6-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d6-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d6-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..7512a60 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d6-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d6-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d6-1f3ff.svg new file mode 100644 index 0000000..4402aab --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d6-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d6-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d6-200d-2640-fe0f.svg new file mode 100644 index 0000000..f1d0343 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d6-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d6-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d6-200d-2642-fe0f.svg new file mode 100644 index 0000000..3ecdeee --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d6-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d6.svg b/frontend/theme/img/emojis/svg/1f9d6.svg new file mode 100644 index 0000000..4974433 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d7-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d7-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..1aaa8a4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d7-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d7-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d7-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..5d7450b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d7-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d7-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d7-1f3fb.svg new file mode 100644 index 0000000..357d505 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d7-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d7-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d7-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..28347d7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d7-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d7-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d7-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..a8fed14 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d7-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d7-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d7-1f3fc.svg new file mode 100644 index 0000000..0475ced --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d7-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d7-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d7-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..6c665bf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d7-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d7-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d7-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..8e7e286 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d7-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d7-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d7-1f3fd.svg new file mode 100644 index 0000000..a208c73 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d7-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d7-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d7-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..03ab0f0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d7-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d7-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d7-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..fc16b85 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d7-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d7-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d7-1f3fe.svg new file mode 100644 index 0000000..6516963 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d7-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d7-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d7-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..1253ee6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d7-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d7-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d7-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..2a9524e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d7-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d7-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d7-1f3ff.svg new file mode 100644 index 0000000..4b64961 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d7-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d7-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d7-200d-2640-fe0f.svg new file mode 100644 index 0000000..c65c14a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d7-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d7-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d7-200d-2642-fe0f.svg new file mode 100644 index 0000000..bb49709 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d7-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d7.svg b/frontend/theme/img/emojis/svg/1f9d7.svg new file mode 100644 index 0000000..9709f86 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d8-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d8-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..e51d2e4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d8-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d8-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d8-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..ce17dc9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d8-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d8-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d8-1f3fb.svg new file mode 100644 index 0000000..39cbf7f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d8-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d8-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d8-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..0797270 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d8-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d8-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d8-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..9e4c8d0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d8-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d8-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d8-1f3fc.svg new file mode 100644 index 0000000..3eaa3d8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d8-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d8-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d8-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..010541a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d8-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d8-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d8-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..6c3b34f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d8-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d8-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d8-1f3fd.svg new file mode 100644 index 0000000..6af0877 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d8-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d8-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d8-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..71bc5ad --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d8-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d8-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d8-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..c3629c6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d8-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d8-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d8-1f3fe.svg new file mode 100644 index 0000000..e189a9e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d8-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d8-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d8-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..5cc0fb7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d8-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d8-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d8-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..33acb80 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d8-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d8-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d8-1f3ff.svg new file mode 100644 index 0000000..b09ba9e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d8-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d8-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d8-200d-2640-fe0f.svg new file mode 100644 index 0000000..8fcb70f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d8-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d8-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d8-200d-2642-fe0f.svg new file mode 100644 index 0000000..e0c1f48 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d8-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d8.svg b/frontend/theme/img/emojis/svg/1f9d8.svg new file mode 100644 index 0000000..e6b30ed --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d9-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d9-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..cc9e856 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d9-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d9-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d9-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..7f07dda --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d9-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d9-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9d9-1f3fb.svg new file mode 100644 index 0000000..9f5bd36 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d9-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d9-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d9-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..bc2fb4e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d9-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d9-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d9-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..3b981e9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d9-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d9-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9d9-1f3fc.svg new file mode 100644 index 0000000..9277d4b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d9-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d9-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d9-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..bac7c44 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d9-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d9-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d9-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..936629d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d9-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d9-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9d9-1f3fd.svg new file mode 100644 index 0000000..0bdb235 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d9-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d9-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d9-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..28105d8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d9-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d9-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d9-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..f83e59b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d9-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d9-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9d9-1f3fe.svg new file mode 100644 index 0000000..de5dc07 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d9-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d9-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d9-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..2527917 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d9-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d9-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d9-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..91482a1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d9-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d9-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9d9-1f3ff.svg new file mode 100644 index 0000000..0bd73e8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d9-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d9-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d9-200d-2640-fe0f.svg new file mode 100644 index 0000000..d5b31e5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d9-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d9-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9d9-200d-2642-fe0f.svg new file mode 100644 index 0000000..c747b34 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d9-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9d9.svg b/frontend/theme/img/emojis/svg/1f9d9.svg new file mode 100644 index 0000000..5537083 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9d9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9da-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9da-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..e75c0b2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9da-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9da-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9da-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..c8f4015 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9da-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9da-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9da-1f3fb.svg new file mode 100644 index 0000000..d89d155 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9da-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9da-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9da-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..3572c60 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9da-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9da-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9da-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..89375bd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9da-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9da-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9da-1f3fc.svg new file mode 100644 index 0000000..427b84d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9da-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9da-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9da-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..9af4964 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9da-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9da-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9da-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..a614bb1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9da-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9da-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9da-1f3fd.svg new file mode 100644 index 0000000..108f96a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9da-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9da-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9da-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..00d57b1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9da-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9da-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9da-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..7c80a13 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9da-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9da-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9da-1f3fe.svg new file mode 100644 index 0000000..50d0f22 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9da-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9da-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9da-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..ce1e45d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9da-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9da-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9da-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..4095948 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9da-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9da-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9da-1f3ff.svg new file mode 100644 index 0000000..68d77af --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9da-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9da-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9da-200d-2640-fe0f.svg new file mode 100644 index 0000000..7a60a49 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9da-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9da-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9da-200d-2642-fe0f.svg new file mode 100644 index 0000000..d538536 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9da-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9da.svg b/frontend/theme/img/emojis/svg/1f9da.svg new file mode 100644 index 0000000..5c9ea36 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9da.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9db-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9db-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..68c9c95 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9db-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9db-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9db-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..6c79042 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9db-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9db-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9db-1f3fb.svg new file mode 100644 index 0000000..a341fe9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9db-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9db-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9db-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..93acfc1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9db-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9db-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9db-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..fe6e755 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9db-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9db-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9db-1f3fc.svg new file mode 100644 index 0000000..4fed8b2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9db-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9db-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9db-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..5bf1eee --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9db-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9db-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9db-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..abcb258 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9db-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9db-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9db-1f3fd.svg new file mode 100644 index 0000000..21b2a18 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9db-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9db-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9db-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..aa373a3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9db-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9db-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9db-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..bd9e32b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9db-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9db-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9db-1f3fe.svg new file mode 100644 index 0000000..e1154e5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9db-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9db-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9db-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..443150a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9db-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9db-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9db-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..d611a42 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9db-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9db-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9db-1f3ff.svg new file mode 100644 index 0000000..a30ee92 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9db-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9db-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9db-200d-2640-fe0f.svg new file mode 100644 index 0000000..53d6dde --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9db-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9db-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9db-200d-2642-fe0f.svg new file mode 100644 index 0000000..1f104d1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9db-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9db.svg b/frontend/theme/img/emojis/svg/1f9db.svg new file mode 100644 index 0000000..642dc3a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9db.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dc-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9dc-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..e211b06 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dc-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dc-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9dc-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..4263e6a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dc-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dc-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9dc-1f3fb.svg new file mode 100644 index 0000000..7529d0e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dc-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dc-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9dc-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..de8fa73 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dc-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dc-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9dc-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..18637d9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dc-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dc-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9dc-1f3fc.svg new file mode 100644 index 0000000..8d014d1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dc-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dc-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9dc-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..0ad162b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dc-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dc-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9dc-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..7279710 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dc-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dc-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9dc-1f3fd.svg new file mode 100644 index 0000000..fcd5e0a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dc-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dc-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9dc-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..5f71af9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dc-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dc-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9dc-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..faeb2fa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dc-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dc-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9dc-1f3fe.svg new file mode 100644 index 0000000..e9e20c6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dc-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dc-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9dc-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..f2932ed --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dc-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dc-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9dc-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..2d28d8d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dc-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dc-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9dc-1f3ff.svg new file mode 100644 index 0000000..a075dc9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dc-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9dc-200d-2640-fe0f.svg new file mode 100644 index 0000000..750f243 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9dc-200d-2642-fe0f.svg new file mode 100644 index 0000000..07111b5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dc.svg b/frontend/theme/img/emojis/svg/1f9dc.svg new file mode 100644 index 0000000..52f120c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dd-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9dd-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..d561e2d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dd-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dd-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9dd-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..95c77d4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dd-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dd-1f3fb.svg b/frontend/theme/img/emojis/svg/1f9dd-1f3fb.svg new file mode 100644 index 0000000..5646b90 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dd-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dd-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9dd-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..e1d2b35 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dd-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dd-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9dd-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..d65388c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dd-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dd-1f3fc.svg b/frontend/theme/img/emojis/svg/1f9dd-1f3fc.svg new file mode 100644 index 0000000..4246248 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dd-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dd-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9dd-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..a17e888 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dd-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dd-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9dd-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..9633b7d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dd-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dd-1f3fd.svg b/frontend/theme/img/emojis/svg/1f9dd-1f3fd.svg new file mode 100644 index 0000000..f96868b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dd-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dd-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9dd-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..842e9a7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dd-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dd-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9dd-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..61d69ac --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dd-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dd-1f3fe.svg b/frontend/theme/img/emojis/svg/1f9dd-1f3fe.svg new file mode 100644 index 0000000..e127507 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dd-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dd-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9dd-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..0f6c8c5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dd-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dd-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9dd-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..49faa09 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dd-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dd-1f3ff.svg b/frontend/theme/img/emojis/svg/1f9dd-1f3ff.svg new file mode 100644 index 0000000..47cf437 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dd-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9dd-200d-2640-fe0f.svg new file mode 100644 index 0000000..f452ca7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9dd-200d-2642-fe0f.svg new file mode 100644 index 0000000..f9c1e97 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9dd.svg b/frontend/theme/img/emojis/svg/1f9dd.svg new file mode 100644 index 0000000..3e82899 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9dd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9de-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9de-200d-2640-fe0f.svg new file mode 100644 index 0000000..9893e0a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9de-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9de-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9de-200d-2642-fe0f.svg new file mode 100644 index 0000000..af17a48 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9de-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9de.svg b/frontend/theme/img/emojis/svg/1f9de.svg new file mode 100644 index 0000000..95be289 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9de.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9df-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/1f9df-200d-2640-fe0f.svg new file mode 100644 index 0000000..cac9ccf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9df-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9df-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/1f9df-200d-2642-fe0f.svg new file mode 100644 index 0000000..21674c3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9df-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9df.svg b/frontend/theme/img/emojis/svg/1f9df.svg new file mode 100644 index 0000000..596a02f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9df.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9e0.svg b/frontend/theme/img/emojis/svg/1f9e0.svg new file mode 100644 index 0000000..653427d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9e0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9e1.svg b/frontend/theme/img/emojis/svg/1f9e1.svg new file mode 100644 index 0000000..0e61b14 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9e1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9e2.svg b/frontend/theme/img/emojis/svg/1f9e2.svg new file mode 100644 index 0000000..c2dd6c6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9e2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9e3.svg b/frontend/theme/img/emojis/svg/1f9e3.svg new file mode 100644 index 0000000..2c959f4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9e3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9e4.svg b/frontend/theme/img/emojis/svg/1f9e4.svg new file mode 100644 index 0000000..1b028b2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9e4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9e5.svg b/frontend/theme/img/emojis/svg/1f9e5.svg new file mode 100644 index 0000000..392af56 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9e5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9e6.svg b/frontend/theme/img/emojis/svg/1f9e6.svg new file mode 100644 index 0000000..44fc310 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9e6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9e7.svg b/frontend/theme/img/emojis/svg/1f9e7.svg new file mode 100644 index 0000000..203e78d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9e7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9e8.svg b/frontend/theme/img/emojis/svg/1f9e8.svg new file mode 100644 index 0000000..ff03820 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9e8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9e9.svg b/frontend/theme/img/emojis/svg/1f9e9.svg new file mode 100644 index 0000000..ae4bf56 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9e9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ea.svg b/frontend/theme/img/emojis/svg/1f9ea.svg new file mode 100644 index 0000000..8116cfa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9eb.svg b/frontend/theme/img/emojis/svg/1f9eb.svg new file mode 100644 index 0000000..8fdeaf9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ec.svg b/frontend/theme/img/emojis/svg/1f9ec.svg new file mode 100644 index 0000000..689cc3e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ec.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ed.svg b/frontend/theme/img/emojis/svg/1f9ed.svg new file mode 100644 index 0000000..fd3d583 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ee.svg b/frontend/theme/img/emojis/svg/1f9ee.svg new file mode 100644 index 0000000..c619bb0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ee.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ef.svg b/frontend/theme/img/emojis/svg/1f9ef.svg new file mode 100644 index 0000000..e8b17ac --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ef.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9f0.svg b/frontend/theme/img/emojis/svg/1f9f0.svg new file mode 100644 index 0000000..ae06531 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9f0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9f1.svg b/frontend/theme/img/emojis/svg/1f9f1.svg new file mode 100644 index 0000000..c7f3482 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9f1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9f2.svg b/frontend/theme/img/emojis/svg/1f9f2.svg new file mode 100644 index 0000000..e81b464 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9f2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9f3.svg b/frontend/theme/img/emojis/svg/1f9f3.svg new file mode 100644 index 0000000..7de2518 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9f3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9f4.svg b/frontend/theme/img/emojis/svg/1f9f4.svg new file mode 100644 index 0000000..2cb39a7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9f4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9f5.svg b/frontend/theme/img/emojis/svg/1f9f5.svg new file mode 100644 index 0000000..3210fbe --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9f5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9f6.svg b/frontend/theme/img/emojis/svg/1f9f6.svg new file mode 100644 index 0000000..f402fd2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9f6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9f7.svg b/frontend/theme/img/emojis/svg/1f9f7.svg new file mode 100644 index 0000000..a37a048 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9f7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9f8.svg b/frontend/theme/img/emojis/svg/1f9f8.svg new file mode 100644 index 0000000..87af73b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9f8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9f9.svg b/frontend/theme/img/emojis/svg/1f9f9.svg new file mode 100644 index 0000000..2bcbda8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9f9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9fa.svg b/frontend/theme/img/emojis/svg/1f9fa.svg new file mode 100644 index 0000000..947d954 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9fa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9fb.svg b/frontend/theme/img/emojis/svg/1f9fb.svg new file mode 100644 index 0000000..e8f7252 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9fc.svg b/frontend/theme/img/emojis/svg/1f9fc.svg new file mode 100644 index 0000000..e5b1e02 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9fd.svg b/frontend/theme/img/emojis/svg/1f9fd.svg new file mode 100644 index 0000000..1c95751 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9fe.svg b/frontend/theme/img/emojis/svg/1f9fe.svg new file mode 100644 index 0000000..c6d288c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1f9ff.svg b/frontend/theme/img/emojis/svg/1f9ff.svg new file mode 100644 index 0000000..a45a528 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1f9ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa70.svg b/frontend/theme/img/emojis/svg/1fa70.svg new file mode 100644 index 0000000..a8df4c6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa70.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa71.svg b/frontend/theme/img/emojis/svg/1fa71.svg new file mode 100644 index 0000000..df3eceb --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa71.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa72.svg b/frontend/theme/img/emojis/svg/1fa72.svg new file mode 100644 index 0000000..7486e6a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa72.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa73.svg b/frontend/theme/img/emojis/svg/1fa73.svg new file mode 100644 index 0000000..03e70ca --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa73.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa74.svg b/frontend/theme/img/emojis/svg/1fa74.svg new file mode 100644 index 0000000..585265a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa74.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa75.svg b/frontend/theme/img/emojis/svg/1fa75.svg new file mode 100755 index 0000000..5a72101 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa75.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa76.svg b/frontend/theme/img/emojis/svg/1fa76.svg new file mode 100755 index 0000000..56e3ef1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa76.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa77.svg b/frontend/theme/img/emojis/svg/1fa77.svg new file mode 100755 index 0000000..a372dcc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa77.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa78.svg b/frontend/theme/img/emojis/svg/1fa78.svg new file mode 100644 index 0000000..2dc83a5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa78.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa79.svg b/frontend/theme/img/emojis/svg/1fa79.svg new file mode 100644 index 0000000..41d5722 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa79.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa7a.svg b/frontend/theme/img/emojis/svg/1fa7a.svg new file mode 100644 index 0000000..848c72e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa7a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa7b.svg b/frontend/theme/img/emojis/svg/1fa7b.svg new file mode 100755 index 0000000..fd81ad8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa7b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa7c.svg b/frontend/theme/img/emojis/svg/1fa7c.svg new file mode 100755 index 0000000..895af1d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa7c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa80.svg b/frontend/theme/img/emojis/svg/1fa80.svg new file mode 100644 index 0000000..fc9af9b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa80.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa81.svg b/frontend/theme/img/emojis/svg/1fa81.svg new file mode 100644 index 0000000..fd8605e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa81.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa82.svg b/frontend/theme/img/emojis/svg/1fa82.svg new file mode 100644 index 0000000..acb16e2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa82.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa83.svg b/frontend/theme/img/emojis/svg/1fa83.svg new file mode 100644 index 0000000..3de58a8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa83.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa84.svg b/frontend/theme/img/emojis/svg/1fa84.svg new file mode 100644 index 0000000..988c798 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa84.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa85.svg b/frontend/theme/img/emojis/svg/1fa85.svg new file mode 100644 index 0000000..a6b0f60 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa85.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa86.svg b/frontend/theme/img/emojis/svg/1fa86.svg new file mode 100644 index 0000000..fca9a3c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa86.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa87.svg b/frontend/theme/img/emojis/svg/1fa87.svg new file mode 100644 index 0000000..fd8c53a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa87.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa88.svg b/frontend/theme/img/emojis/svg/1fa88.svg new file mode 100755 index 0000000..633fa4c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa88.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa89.svg b/frontend/theme/img/emojis/svg/1fa89.svg new file mode 100644 index 0000000..aa36081 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa89.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa8a.svg b/frontend/theme/img/emojis/svg/1fa8a.svg new file mode 100644 index 0000000..8f2f7d3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa8a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa8e.svg b/frontend/theme/img/emojis/svg/1fa8e.svg new file mode 100644 index 0000000..431dd66 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa8e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa8f.svg b/frontend/theme/img/emojis/svg/1fa8f.svg new file mode 100644 index 0000000..1a80ea2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa8f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa90.svg b/frontend/theme/img/emojis/svg/1fa90.svg new file mode 100644 index 0000000..46a0c53 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa90.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa91.svg b/frontend/theme/img/emojis/svg/1fa91.svg new file mode 100644 index 0000000..8db5801 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa91.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa92.svg b/frontend/theme/img/emojis/svg/1fa92.svg new file mode 100644 index 0000000..3b261c9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa92.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa93.svg b/frontend/theme/img/emojis/svg/1fa93.svg new file mode 100644 index 0000000..f886dfa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa93.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa94.svg b/frontend/theme/img/emojis/svg/1fa94.svg new file mode 100644 index 0000000..34c5f38 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa94.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa95.svg b/frontend/theme/img/emojis/svg/1fa95.svg new file mode 100644 index 0000000..da6e25d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa95.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa96.svg b/frontend/theme/img/emojis/svg/1fa96.svg new file mode 100644 index 0000000..462cbf5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa96.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa97.svg b/frontend/theme/img/emojis/svg/1fa97.svg new file mode 100644 index 0000000..c9c21ca --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa97.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa98.svg b/frontend/theme/img/emojis/svg/1fa98.svg new file mode 100644 index 0000000..fa316b1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa98.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa99.svg b/frontend/theme/img/emojis/svg/1fa99.svg new file mode 100644 index 0000000..0494469 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa99.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa9a.svg b/frontend/theme/img/emojis/svg/1fa9a.svg new file mode 100644 index 0000000..f33a048 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa9a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa9b.svg b/frontend/theme/img/emojis/svg/1fa9b.svg new file mode 100644 index 0000000..d0b988f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa9b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa9c.svg b/frontend/theme/img/emojis/svg/1fa9c.svg new file mode 100644 index 0000000..cd3b979 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa9c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa9d.svg b/frontend/theme/img/emojis/svg/1fa9d.svg new file mode 100644 index 0000000..923a96d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa9d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa9e.svg b/frontend/theme/img/emojis/svg/1fa9e.svg new file mode 100644 index 0000000..b263f10 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa9e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fa9f.svg b/frontend/theme/img/emojis/svg/1fa9f.svg new file mode 100644 index 0000000..8daaad6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fa9f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faa0.svg b/frontend/theme/img/emojis/svg/1faa0.svg new file mode 100644 index 0000000..f5422d9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faa0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faa1.svg b/frontend/theme/img/emojis/svg/1faa1.svg new file mode 100644 index 0000000..a99cb16 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faa1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faa2.svg b/frontend/theme/img/emojis/svg/1faa2.svg new file mode 100644 index 0000000..fd6a64c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faa2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faa3.svg b/frontend/theme/img/emojis/svg/1faa3.svg new file mode 100644 index 0000000..7be64da --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faa3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faa4.svg b/frontend/theme/img/emojis/svg/1faa4.svg new file mode 100644 index 0000000..a680fb7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faa4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faa5.svg b/frontend/theme/img/emojis/svg/1faa5.svg new file mode 100644 index 0000000..9c9e617 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faa5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faa6.svg b/frontend/theme/img/emojis/svg/1faa6.svg new file mode 100644 index 0000000..f4f3a89 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faa6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faa7.svg b/frontend/theme/img/emojis/svg/1faa7.svg new file mode 100644 index 0000000..ac1646b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faa7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faa8.svg b/frontend/theme/img/emojis/svg/1faa8.svg new file mode 100644 index 0000000..361fc03 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faa8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faa9.svg b/frontend/theme/img/emojis/svg/1faa9.svg new file mode 100755 index 0000000..e0243c0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faa9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faaa.svg b/frontend/theme/img/emojis/svg/1faaa.svg new file mode 100755 index 0000000..391e3d1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faaa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faab.svg b/frontend/theme/img/emojis/svg/1faab.svg new file mode 100755 index 0000000..a7b3b9e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faac.svg b/frontend/theme/img/emojis/svg/1faac.svg new file mode 100755 index 0000000..8a21860 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faac.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faad.svg b/frontend/theme/img/emojis/svg/1faad.svg new file mode 100644 index 0000000..5036323 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faad.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faae.svg b/frontend/theme/img/emojis/svg/1faae.svg new file mode 100644 index 0000000..e8ad033 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faae.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faaf.svg b/frontend/theme/img/emojis/svg/1faaf.svg new file mode 100644 index 0000000..bfaceb5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faaf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fab0.svg b/frontend/theme/img/emojis/svg/1fab0.svg new file mode 100644 index 0000000..4b13d7e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fab0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fab1.svg b/frontend/theme/img/emojis/svg/1fab1.svg new file mode 100644 index 0000000..1bc9b9a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fab1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fab2.svg b/frontend/theme/img/emojis/svg/1fab2.svg new file mode 100644 index 0000000..57fd4bf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fab2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fab3.svg b/frontend/theme/img/emojis/svg/1fab3.svg new file mode 100644 index 0000000..f8c8d78 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fab3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fab4.svg b/frontend/theme/img/emojis/svg/1fab4.svg new file mode 100644 index 0000000..92f1547 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fab4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fab5.svg b/frontend/theme/img/emojis/svg/1fab5.svg new file mode 100644 index 0000000..981dd2d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fab5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fab6.svg b/frontend/theme/img/emojis/svg/1fab6.svg new file mode 100644 index 0000000..8e70d6c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fab6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fab7.svg b/frontend/theme/img/emojis/svg/1fab7.svg new file mode 100755 index 0000000..b32a58f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fab7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fab8.svg b/frontend/theme/img/emojis/svg/1fab8.svg new file mode 100755 index 0000000..2e458cf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fab8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fab9.svg b/frontend/theme/img/emojis/svg/1fab9.svg new file mode 100755 index 0000000..d27cf19 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fab9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faba.svg b/frontend/theme/img/emojis/svg/1faba.svg new file mode 100755 index 0000000..5386cbd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faba.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fabb.svg b/frontend/theme/img/emojis/svg/1fabb.svg new file mode 100644 index 0000000..3cae81a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fabb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fabc.svg b/frontend/theme/img/emojis/svg/1fabc.svg new file mode 100644 index 0000000..cb8c4ee --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fabc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fabd.svg b/frontend/theme/img/emojis/svg/1fabd.svg new file mode 100644 index 0000000..9effe33 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fabd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fabe.svg b/frontend/theme/img/emojis/svg/1fabe.svg new file mode 100644 index 0000000..3b9b6bf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fabe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fabf.svg b/frontend/theme/img/emojis/svg/1fabf.svg new file mode 100644 index 0000000..7c0f6a6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fabf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fac0.svg b/frontend/theme/img/emojis/svg/1fac0.svg new file mode 100644 index 0000000..e6916d2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fac0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fac1.svg b/frontend/theme/img/emojis/svg/1fac1.svg new file mode 100644 index 0000000..cfdf72f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fac1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fac2.svg b/frontend/theme/img/emojis/svg/1fac2.svg new file mode 100644 index 0000000..5c0413c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fac2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fac3-1f3fb.svg b/frontend/theme/img/emojis/svg/1fac3-1f3fb.svg new file mode 100755 index 0000000..73ac22b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fac3-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fac3-1f3fc.svg b/frontend/theme/img/emojis/svg/1fac3-1f3fc.svg new file mode 100755 index 0000000..7f19822 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fac3-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fac3-1f3fd.svg b/frontend/theme/img/emojis/svg/1fac3-1f3fd.svg new file mode 100755 index 0000000..9603796 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fac3-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fac3-1f3fe.svg b/frontend/theme/img/emojis/svg/1fac3-1f3fe.svg new file mode 100755 index 0000000..63f1152 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fac3-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fac3-1f3ff.svg b/frontend/theme/img/emojis/svg/1fac3-1f3ff.svg new file mode 100755 index 0000000..3312217 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fac3-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fac3.svg b/frontend/theme/img/emojis/svg/1fac3.svg new file mode 100755 index 0000000..2c0f284 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fac3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fac4-1f3fb.svg b/frontend/theme/img/emojis/svg/1fac4-1f3fb.svg new file mode 100755 index 0000000..1d6fe80 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fac4-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fac4-1f3fc.svg b/frontend/theme/img/emojis/svg/1fac4-1f3fc.svg new file mode 100755 index 0000000..b87bd05 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fac4-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fac4-1f3fd.svg b/frontend/theme/img/emojis/svg/1fac4-1f3fd.svg new file mode 100755 index 0000000..96e58f1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fac4-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fac4-1f3fe.svg b/frontend/theme/img/emojis/svg/1fac4-1f3fe.svg new file mode 100755 index 0000000..40f8869 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fac4-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fac4-1f3ff.svg b/frontend/theme/img/emojis/svg/1fac4-1f3ff.svg new file mode 100755 index 0000000..8565a9a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fac4-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fac4.svg b/frontend/theme/img/emojis/svg/1fac4.svg new file mode 100755 index 0000000..0d06947 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fac4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fac5-1f3fb.svg b/frontend/theme/img/emojis/svg/1fac5-1f3fb.svg new file mode 100755 index 0000000..70f44e3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fac5-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fac5-1f3fc.svg b/frontend/theme/img/emojis/svg/1fac5-1f3fc.svg new file mode 100755 index 0000000..c98b8c4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fac5-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fac5-1f3fd.svg b/frontend/theme/img/emojis/svg/1fac5-1f3fd.svg new file mode 100755 index 0000000..096506f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fac5-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fac5-1f3fe.svg b/frontend/theme/img/emojis/svg/1fac5-1f3fe.svg new file mode 100755 index 0000000..44adb01 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fac5-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fac5-1f3ff.svg b/frontend/theme/img/emojis/svg/1fac5-1f3ff.svg new file mode 100755 index 0000000..c546423 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fac5-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fac5.svg b/frontend/theme/img/emojis/svg/1fac5.svg new file mode 100755 index 0000000..b7b246b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fac5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fac6.svg b/frontend/theme/img/emojis/svg/1fac6.svg new file mode 100644 index 0000000..be06881 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fac6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fac8.svg b/frontend/theme/img/emojis/svg/1fac8.svg new file mode 100644 index 0000000..696f3d2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fac8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1facd.svg b/frontend/theme/img/emojis/svg/1facd.svg new file mode 100644 index 0000000..c0df084 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1facd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1face.svg b/frontend/theme/img/emojis/svg/1face.svg new file mode 100644 index 0000000..f419d66 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1face.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1facf.svg b/frontend/theme/img/emojis/svg/1facf.svg new file mode 100644 index 0000000..030b0bd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1facf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fad0.svg b/frontend/theme/img/emojis/svg/1fad0.svg new file mode 100644 index 0000000..34e68d6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fad0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fad1.svg b/frontend/theme/img/emojis/svg/1fad1.svg new file mode 100644 index 0000000..b0d5242 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fad1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fad2.svg b/frontend/theme/img/emojis/svg/1fad2.svg new file mode 100644 index 0000000..b84ce6a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fad2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fad3.svg b/frontend/theme/img/emojis/svg/1fad3.svg new file mode 100644 index 0000000..25c1842 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fad3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fad4.svg b/frontend/theme/img/emojis/svg/1fad4.svg new file mode 100644 index 0000000..34a6215 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fad4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fad5.svg b/frontend/theme/img/emojis/svg/1fad5.svg new file mode 100644 index 0000000..1133788 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fad5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fad6.svg b/frontend/theme/img/emojis/svg/1fad6.svg new file mode 100644 index 0000000..9e6894d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fad6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fad7.svg b/frontend/theme/img/emojis/svg/1fad7.svg new file mode 100755 index 0000000..4a84242 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fad7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fad8.svg b/frontend/theme/img/emojis/svg/1fad8.svg new file mode 100755 index 0000000..5e9325d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fad8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fad9.svg b/frontend/theme/img/emojis/svg/1fad9.svg new file mode 100755 index 0000000..b0ebb69 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fad9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fada.svg b/frontend/theme/img/emojis/svg/1fada.svg new file mode 100644 index 0000000..2094a77 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fada.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fadb.svg b/frontend/theme/img/emojis/svg/1fadb.svg new file mode 100644 index 0000000..e68a96d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fadb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fadc.svg b/frontend/theme/img/emojis/svg/1fadc.svg new file mode 100644 index 0000000..9922df6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fadc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fadf.svg b/frontend/theme/img/emojis/svg/1fadf.svg new file mode 100644 index 0000000..1b9de85 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fadf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fae0.svg b/frontend/theme/img/emojis/svg/1fae0.svg new file mode 100755 index 0000000..cd010b8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fae0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fae1.svg b/frontend/theme/img/emojis/svg/1fae1.svg new file mode 100755 index 0000000..64d58b5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fae1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fae2.svg b/frontend/theme/img/emojis/svg/1fae2.svg new file mode 100755 index 0000000..87b65d5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fae2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fae3.svg b/frontend/theme/img/emojis/svg/1fae3.svg new file mode 100755 index 0000000..b293f71 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fae3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fae4.svg b/frontend/theme/img/emojis/svg/1fae4.svg new file mode 100755 index 0000000..f8d8098 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fae4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fae5.svg b/frontend/theme/img/emojis/svg/1fae5.svg new file mode 100755 index 0000000..7d02e20 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fae5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fae6.svg b/frontend/theme/img/emojis/svg/1fae6.svg new file mode 100755 index 0000000..d8537a3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fae6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fae7.svg b/frontend/theme/img/emojis/svg/1fae7.svg new file mode 100755 index 0000000..665f797 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fae7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fae8.svg b/frontend/theme/img/emojis/svg/1fae8.svg new file mode 100644 index 0000000..02ab52d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fae8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1fae9.svg b/frontend/theme/img/emojis/svg/1fae9.svg new file mode 100644 index 0000000..7ec7545 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1fae9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faea.svg b/frontend/theme/img/emojis/svg/1faea.svg new file mode 100644 index 0000000..d9302a9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faef.svg b/frontend/theme/img/emojis/svg/1faef.svg new file mode 100644 index 0000000..f30501a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faef.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf0-1f3fb.svg b/frontend/theme/img/emojis/svg/1faf0-1f3fb.svg new file mode 100755 index 0000000..6abb81e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf0-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf0-1f3fc.svg b/frontend/theme/img/emojis/svg/1faf0-1f3fc.svg new file mode 100755 index 0000000..1bd6d7f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf0-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf0-1f3fd.svg b/frontend/theme/img/emojis/svg/1faf0-1f3fd.svg new file mode 100755 index 0000000..44054f5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf0-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf0-1f3fe.svg b/frontend/theme/img/emojis/svg/1faf0-1f3fe.svg new file mode 100755 index 0000000..4b7c895 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf0-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf0-1f3ff.svg b/frontend/theme/img/emojis/svg/1faf0-1f3ff.svg new file mode 100755 index 0000000..6d9cc6f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf0-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf0.svg b/frontend/theme/img/emojis/svg/1faf0.svg new file mode 100755 index 0000000..da013e1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf1-1f3fb-200d-1faf2-1f3fc.svg b/frontend/theme/img/emojis/svg/1faf1-1f3fb-200d-1faf2-1f3fc.svg new file mode 100755 index 0000000..7b199ad --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf1-1f3fb-200d-1faf2-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf1-1f3fb-200d-1faf2-1f3fd.svg b/frontend/theme/img/emojis/svg/1faf1-1f3fb-200d-1faf2-1f3fd.svg new file mode 100755 index 0000000..4e6ab1f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf1-1f3fb-200d-1faf2-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf1-1f3fb-200d-1faf2-1f3fe.svg b/frontend/theme/img/emojis/svg/1faf1-1f3fb-200d-1faf2-1f3fe.svg new file mode 100755 index 0000000..29cda9e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf1-1f3fb-200d-1faf2-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf1-1f3fb-200d-1faf2-1f3ff.svg b/frontend/theme/img/emojis/svg/1faf1-1f3fb-200d-1faf2-1f3ff.svg new file mode 100755 index 0000000..2a5a382 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf1-1f3fb-200d-1faf2-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf1-1f3fb.svg b/frontend/theme/img/emojis/svg/1faf1-1f3fb.svg new file mode 100755 index 0000000..4d993c8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf1-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf1-1f3fc-200d-1faf2-1f3fb.svg b/frontend/theme/img/emojis/svg/1faf1-1f3fc-200d-1faf2-1f3fb.svg new file mode 100755 index 0000000..13d060d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf1-1f3fc-200d-1faf2-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf1-1f3fc-200d-1faf2-1f3fd.svg b/frontend/theme/img/emojis/svg/1faf1-1f3fc-200d-1faf2-1f3fd.svg new file mode 100755 index 0000000..25c6408 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf1-1f3fc-200d-1faf2-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf1-1f3fc-200d-1faf2-1f3fe.svg b/frontend/theme/img/emojis/svg/1faf1-1f3fc-200d-1faf2-1f3fe.svg new file mode 100755 index 0000000..8174804 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf1-1f3fc-200d-1faf2-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf1-1f3fc-200d-1faf2-1f3ff.svg b/frontend/theme/img/emojis/svg/1faf1-1f3fc-200d-1faf2-1f3ff.svg new file mode 100755 index 0000000..3825515 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf1-1f3fc-200d-1faf2-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf1-1f3fc.svg b/frontend/theme/img/emojis/svg/1faf1-1f3fc.svg new file mode 100755 index 0000000..da90e94 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf1-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf1-1f3fd-200d-1faf2-1f3fb.svg b/frontend/theme/img/emojis/svg/1faf1-1f3fd-200d-1faf2-1f3fb.svg new file mode 100755 index 0000000..a8c8faf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf1-1f3fd-200d-1faf2-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf1-1f3fd-200d-1faf2-1f3fc.svg b/frontend/theme/img/emojis/svg/1faf1-1f3fd-200d-1faf2-1f3fc.svg new file mode 100755 index 0000000..8851130 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf1-1f3fd-200d-1faf2-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf1-1f3fd-200d-1faf2-1f3fe.svg b/frontend/theme/img/emojis/svg/1faf1-1f3fd-200d-1faf2-1f3fe.svg new file mode 100755 index 0000000..84d470f --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf1-1f3fd-200d-1faf2-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf1-1f3fd-200d-1faf2-1f3ff.svg b/frontend/theme/img/emojis/svg/1faf1-1f3fd-200d-1faf2-1f3ff.svg new file mode 100755 index 0000000..f018908 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf1-1f3fd-200d-1faf2-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf1-1f3fd.svg b/frontend/theme/img/emojis/svg/1faf1-1f3fd.svg new file mode 100755 index 0000000..af89e27 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf1-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf1-1f3fe-200d-1faf2-1f3fb.svg b/frontend/theme/img/emojis/svg/1faf1-1f3fe-200d-1faf2-1f3fb.svg new file mode 100755 index 0000000..32b8852 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf1-1f3fe-200d-1faf2-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf1-1f3fe-200d-1faf2-1f3fc.svg b/frontend/theme/img/emojis/svg/1faf1-1f3fe-200d-1faf2-1f3fc.svg new file mode 100755 index 0000000..fe34fd5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf1-1f3fe-200d-1faf2-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf1-1f3fe-200d-1faf2-1f3fd.svg b/frontend/theme/img/emojis/svg/1faf1-1f3fe-200d-1faf2-1f3fd.svg new file mode 100755 index 0000000..ede918e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf1-1f3fe-200d-1faf2-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf1-1f3fe-200d-1faf2-1f3ff.svg b/frontend/theme/img/emojis/svg/1faf1-1f3fe-200d-1faf2-1f3ff.svg new file mode 100755 index 0000000..9a3005c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf1-1f3fe-200d-1faf2-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf1-1f3fe.svg b/frontend/theme/img/emojis/svg/1faf1-1f3fe.svg new file mode 100755 index 0000000..c92d788 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf1-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf1-1f3ff-200d-1faf2-1f3fb.svg b/frontend/theme/img/emojis/svg/1faf1-1f3ff-200d-1faf2-1f3fb.svg new file mode 100755 index 0000000..5925547 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf1-1f3ff-200d-1faf2-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf1-1f3ff-200d-1faf2-1f3fc.svg b/frontend/theme/img/emojis/svg/1faf1-1f3ff-200d-1faf2-1f3fc.svg new file mode 100755 index 0000000..19220a1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf1-1f3ff-200d-1faf2-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf1-1f3ff-200d-1faf2-1f3fd.svg b/frontend/theme/img/emojis/svg/1faf1-1f3ff-200d-1faf2-1f3fd.svg new file mode 100755 index 0000000..ead51cf --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf1-1f3ff-200d-1faf2-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf1-1f3ff-200d-1faf2-1f3fe.svg b/frontend/theme/img/emojis/svg/1faf1-1f3ff-200d-1faf2-1f3fe.svg new file mode 100755 index 0000000..1d724bd --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf1-1f3ff-200d-1faf2-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf1-1f3ff.svg b/frontend/theme/img/emojis/svg/1faf1-1f3ff.svg new file mode 100755 index 0000000..8b9b9c2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf1-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf1.svg b/frontend/theme/img/emojis/svg/1faf1.svg new file mode 100755 index 0000000..7acb4bc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf2-1f3fb.svg b/frontend/theme/img/emojis/svg/1faf2-1f3fb.svg new file mode 100755 index 0000000..0f7778d --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf2-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf2-1f3fc.svg b/frontend/theme/img/emojis/svg/1faf2-1f3fc.svg new file mode 100755 index 0000000..5354ab5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf2-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf2-1f3fd.svg b/frontend/theme/img/emojis/svg/1faf2-1f3fd.svg new file mode 100755 index 0000000..9110dec --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf2-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf2-1f3fe.svg b/frontend/theme/img/emojis/svg/1faf2-1f3fe.svg new file mode 100755 index 0000000..4502250 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf2-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf2-1f3ff.svg b/frontend/theme/img/emojis/svg/1faf2-1f3ff.svg new file mode 100755 index 0000000..c464d26 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf2-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf2.svg b/frontend/theme/img/emojis/svg/1faf2.svg new file mode 100755 index 0000000..bb8afac --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf3-1f3fb.svg b/frontend/theme/img/emojis/svg/1faf3-1f3fb.svg new file mode 100755 index 0000000..b553015 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf3-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf3-1f3fc.svg b/frontend/theme/img/emojis/svg/1faf3-1f3fc.svg new file mode 100755 index 0000000..a71212a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf3-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf3-1f3fd.svg b/frontend/theme/img/emojis/svg/1faf3-1f3fd.svg new file mode 100755 index 0000000..fa8521a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf3-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf3-1f3fe.svg b/frontend/theme/img/emojis/svg/1faf3-1f3fe.svg new file mode 100755 index 0000000..081e709 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf3-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf3-1f3ff.svg b/frontend/theme/img/emojis/svg/1faf3-1f3ff.svg new file mode 100755 index 0000000..0d11e8a --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf3-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf3.svg b/frontend/theme/img/emojis/svg/1faf3.svg new file mode 100755 index 0000000..a8e6f74 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf4-1f3fb.svg b/frontend/theme/img/emojis/svg/1faf4-1f3fb.svg new file mode 100755 index 0000000..70de846 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf4-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf4-1f3fc.svg b/frontend/theme/img/emojis/svg/1faf4-1f3fc.svg new file mode 100755 index 0000000..e6f8a74 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf4-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf4-1f3fd.svg b/frontend/theme/img/emojis/svg/1faf4-1f3fd.svg new file mode 100755 index 0000000..61fd726 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf4-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf4-1f3fe.svg b/frontend/theme/img/emojis/svg/1faf4-1f3fe.svg new file mode 100755 index 0000000..973909c --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf4-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf4-1f3ff.svg b/frontend/theme/img/emojis/svg/1faf4-1f3ff.svg new file mode 100755 index 0000000..cd06aaa --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf4-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf4.svg b/frontend/theme/img/emojis/svg/1faf4.svg new file mode 100755 index 0000000..168c190 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf5-1f3fb.svg b/frontend/theme/img/emojis/svg/1faf5-1f3fb.svg new file mode 100755 index 0000000..a4ce272 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf5-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf5-1f3fc.svg b/frontend/theme/img/emojis/svg/1faf5-1f3fc.svg new file mode 100755 index 0000000..b0f5878 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf5-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf5-1f3fd.svg b/frontend/theme/img/emojis/svg/1faf5-1f3fd.svg new file mode 100755 index 0000000..279c507 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf5-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf5-1f3fe.svg b/frontend/theme/img/emojis/svg/1faf5-1f3fe.svg new file mode 100755 index 0000000..44d0668 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf5-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf5-1f3ff.svg b/frontend/theme/img/emojis/svg/1faf5-1f3ff.svg new file mode 100755 index 0000000..bb47a26 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf5-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf5.svg b/frontend/theme/img/emojis/svg/1faf5.svg new file mode 100755 index 0000000..307a2d2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf6-1f3fb.svg b/frontend/theme/img/emojis/svg/1faf6-1f3fb.svg new file mode 100755 index 0000000..45c5bd7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf6-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf6-1f3fc.svg b/frontend/theme/img/emojis/svg/1faf6-1f3fc.svg new file mode 100755 index 0000000..903b267 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf6-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf6-1f3fd.svg b/frontend/theme/img/emojis/svg/1faf6-1f3fd.svg new file mode 100755 index 0000000..34393e5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf6-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf6-1f3fe.svg b/frontend/theme/img/emojis/svg/1faf6-1f3fe.svg new file mode 100755 index 0000000..84f2844 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf6-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf6-1f3ff.svg b/frontend/theme/img/emojis/svg/1faf6-1f3ff.svg new file mode 100755 index 0000000..7998c9b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf6-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf6.svg b/frontend/theme/img/emojis/svg/1faf6.svg new file mode 100755 index 0000000..2dc07b4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf7-1f3fb.svg b/frontend/theme/img/emojis/svg/1faf7-1f3fb.svg new file mode 100644 index 0000000..5df3bd1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf7-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf7-1f3fc.svg b/frontend/theme/img/emojis/svg/1faf7-1f3fc.svg new file mode 100644 index 0000000..6633504 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf7-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf7-1f3fd.svg b/frontend/theme/img/emojis/svg/1faf7-1f3fd.svg new file mode 100644 index 0000000..752c49b --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf7-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf7-1f3fe.svg b/frontend/theme/img/emojis/svg/1faf7-1f3fe.svg new file mode 100644 index 0000000..d4aaefc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf7-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf7-1f3ff.svg b/frontend/theme/img/emojis/svg/1faf7-1f3ff.svg new file mode 100644 index 0000000..6735ce3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf7-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf7.svg b/frontend/theme/img/emojis/svg/1faf7.svg new file mode 100644 index 0000000..1237887 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf8-1f3fb.svg b/frontend/theme/img/emojis/svg/1faf8-1f3fb.svg new file mode 100644 index 0000000..3a28a11 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf8-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf8-1f3fc.svg b/frontend/theme/img/emojis/svg/1faf8-1f3fc.svg new file mode 100644 index 0000000..544719e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf8-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf8-1f3fd.svg b/frontend/theme/img/emojis/svg/1faf8-1f3fd.svg new file mode 100644 index 0000000..607bcf2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf8-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf8-1f3fe.svg b/frontend/theme/img/emojis/svg/1faf8-1f3fe.svg new file mode 100644 index 0000000..378fa2e --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf8-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf8-1f3ff.svg b/frontend/theme/img/emojis/svg/1faf8-1f3ff.svg new file mode 100644 index 0000000..b3cccfc --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf8-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/1faf8.svg b/frontend/theme/img/emojis/svg/1faf8.svg new file mode 100644 index 0000000..fadecd8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/1faf8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/203c.svg b/frontend/theme/img/emojis/svg/203c.svg new file mode 100644 index 0000000..d3579ee --- /dev/null +++ b/frontend/theme/img/emojis/svg/203c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2049.svg b/frontend/theme/img/emojis/svg/2049.svg new file mode 100644 index 0000000..8cf9985 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2049.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2122.svg b/frontend/theme/img/emojis/svg/2122.svg new file mode 100644 index 0000000..1706c28 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2122.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2139.svg b/frontend/theme/img/emojis/svg/2139.svg new file mode 100644 index 0000000..bc34155 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2139.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2194.svg b/frontend/theme/img/emojis/svg/2194.svg new file mode 100644 index 0000000..9884b42 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2194.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2195.svg b/frontend/theme/img/emojis/svg/2195.svg new file mode 100644 index 0000000..e7a5254 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2195.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2196.svg b/frontend/theme/img/emojis/svg/2196.svg new file mode 100644 index 0000000..a6889d1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2196.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2197.svg b/frontend/theme/img/emojis/svg/2197.svg new file mode 100644 index 0000000..62e4c0f --- /dev/null +++ b/frontend/theme/img/emojis/svg/2197.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2198.svg b/frontend/theme/img/emojis/svg/2198.svg new file mode 100644 index 0000000..129dd62 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2198.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2199.svg b/frontend/theme/img/emojis/svg/2199.svg new file mode 100644 index 0000000..f327e40 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2199.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/21a9.svg b/frontend/theme/img/emojis/svg/21a9.svg new file mode 100644 index 0000000..0a39004 --- /dev/null +++ b/frontend/theme/img/emojis/svg/21a9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/21aa.svg b/frontend/theme/img/emojis/svg/21aa.svg new file mode 100644 index 0000000..a9c586e --- /dev/null +++ b/frontend/theme/img/emojis/svg/21aa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/23-20e3.svg b/frontend/theme/img/emojis/svg/23-20e3.svg new file mode 100644 index 0000000..f2f1011 --- /dev/null +++ b/frontend/theme/img/emojis/svg/23-20e3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/231a.svg b/frontend/theme/img/emojis/svg/231a.svg new file mode 100644 index 0000000..53e6f6e --- /dev/null +++ b/frontend/theme/img/emojis/svg/231a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/231b.svg b/frontend/theme/img/emojis/svg/231b.svg new file mode 100644 index 0000000..ed66084 --- /dev/null +++ b/frontend/theme/img/emojis/svg/231b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2328.svg b/frontend/theme/img/emojis/svg/2328.svg new file mode 100644 index 0000000..c834ed6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2328.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/23cf.svg b/frontend/theme/img/emojis/svg/23cf.svg new file mode 100644 index 0000000..d53497c --- /dev/null +++ b/frontend/theme/img/emojis/svg/23cf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/23e9.svg b/frontend/theme/img/emojis/svg/23e9.svg new file mode 100644 index 0000000..1ef719c --- /dev/null +++ b/frontend/theme/img/emojis/svg/23e9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/23ea.svg b/frontend/theme/img/emojis/svg/23ea.svg new file mode 100644 index 0000000..0510ac7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/23ea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/23eb.svg b/frontend/theme/img/emojis/svg/23eb.svg new file mode 100644 index 0000000..a33e0f8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/23eb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/23ec.svg b/frontend/theme/img/emojis/svg/23ec.svg new file mode 100644 index 0000000..5846fae --- /dev/null +++ b/frontend/theme/img/emojis/svg/23ec.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/23ed.svg b/frontend/theme/img/emojis/svg/23ed.svg new file mode 100644 index 0000000..6e66128 --- /dev/null +++ b/frontend/theme/img/emojis/svg/23ed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/23ee.svg b/frontend/theme/img/emojis/svg/23ee.svg new file mode 100644 index 0000000..889b162 --- /dev/null +++ b/frontend/theme/img/emojis/svg/23ee.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/23ef.svg b/frontend/theme/img/emojis/svg/23ef.svg new file mode 100644 index 0000000..69c3d2d --- /dev/null +++ b/frontend/theme/img/emojis/svg/23ef.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/23f0.svg b/frontend/theme/img/emojis/svg/23f0.svg new file mode 100644 index 0000000..ea9ad14 --- /dev/null +++ b/frontend/theme/img/emojis/svg/23f0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/23f1.svg b/frontend/theme/img/emojis/svg/23f1.svg new file mode 100644 index 0000000..599d246 --- /dev/null +++ b/frontend/theme/img/emojis/svg/23f1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/23f2.svg b/frontend/theme/img/emojis/svg/23f2.svg new file mode 100644 index 0000000..7cb6e02 --- /dev/null +++ b/frontend/theme/img/emojis/svg/23f2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/23f3.svg b/frontend/theme/img/emojis/svg/23f3.svg new file mode 100644 index 0000000..3491504 --- /dev/null +++ b/frontend/theme/img/emojis/svg/23f3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/23f8.svg b/frontend/theme/img/emojis/svg/23f8.svg new file mode 100644 index 0000000..9cb0ac8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/23f8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/23f9.svg b/frontend/theme/img/emojis/svg/23f9.svg new file mode 100644 index 0000000..c38882a --- /dev/null +++ b/frontend/theme/img/emojis/svg/23f9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/23fa.svg b/frontend/theme/img/emojis/svg/23fa.svg new file mode 100644 index 0000000..e8dfcca --- /dev/null +++ b/frontend/theme/img/emojis/svg/23fa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/24c2.svg b/frontend/theme/img/emojis/svg/24c2.svg new file mode 100644 index 0000000..29a9429 --- /dev/null +++ b/frontend/theme/img/emojis/svg/24c2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/25aa.svg b/frontend/theme/img/emojis/svg/25aa.svg new file mode 100644 index 0000000..cb4f63b --- /dev/null +++ b/frontend/theme/img/emojis/svg/25aa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/25ab.svg b/frontend/theme/img/emojis/svg/25ab.svg new file mode 100644 index 0000000..6d1f796 --- /dev/null +++ b/frontend/theme/img/emojis/svg/25ab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/25b6.svg b/frontend/theme/img/emojis/svg/25b6.svg new file mode 100644 index 0000000..b373a4f --- /dev/null +++ b/frontend/theme/img/emojis/svg/25b6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/25c0.svg b/frontend/theme/img/emojis/svg/25c0.svg new file mode 100644 index 0000000..af74e9c --- /dev/null +++ b/frontend/theme/img/emojis/svg/25c0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/25fb.svg b/frontend/theme/img/emojis/svg/25fb.svg new file mode 100644 index 0000000..eb40d14 --- /dev/null +++ b/frontend/theme/img/emojis/svg/25fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/25fc.svg b/frontend/theme/img/emojis/svg/25fc.svg new file mode 100644 index 0000000..b91ca80 --- /dev/null +++ b/frontend/theme/img/emojis/svg/25fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/25fd.svg b/frontend/theme/img/emojis/svg/25fd.svg new file mode 100644 index 0000000..6f73777 --- /dev/null +++ b/frontend/theme/img/emojis/svg/25fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/25fe.svg b/frontend/theme/img/emojis/svg/25fe.svg new file mode 100644 index 0000000..9c0abf0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/25fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2600.svg b/frontend/theme/img/emojis/svg/2600.svg new file mode 100644 index 0000000..8602bae --- /dev/null +++ b/frontend/theme/img/emojis/svg/2600.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2601.svg b/frontend/theme/img/emojis/svg/2601.svg new file mode 100644 index 0000000..928baa6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2601.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2602.svg b/frontend/theme/img/emojis/svg/2602.svg new file mode 100644 index 0000000..7c63330 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2602.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2603.svg b/frontend/theme/img/emojis/svg/2603.svg new file mode 100644 index 0000000..c02380e --- /dev/null +++ b/frontend/theme/img/emojis/svg/2603.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2604.svg b/frontend/theme/img/emojis/svg/2604.svg new file mode 100644 index 0000000..07df915 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2604.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/260e.svg b/frontend/theme/img/emojis/svg/260e.svg new file mode 100644 index 0000000..e65124f --- /dev/null +++ b/frontend/theme/img/emojis/svg/260e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2611.svg b/frontend/theme/img/emojis/svg/2611.svg new file mode 100644 index 0000000..904d0fc --- /dev/null +++ b/frontend/theme/img/emojis/svg/2611.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2614.svg b/frontend/theme/img/emojis/svg/2614.svg new file mode 100644 index 0000000..6240aa6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2614.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2615.svg b/frontend/theme/img/emojis/svg/2615.svg new file mode 100644 index 0000000..bb68dd5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2615.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2618.svg b/frontend/theme/img/emojis/svg/2618.svg new file mode 100644 index 0000000..72eaf47 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2618.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/261d-1f3fb.svg b/frontend/theme/img/emojis/svg/261d-1f3fb.svg new file mode 100644 index 0000000..854b494 --- /dev/null +++ b/frontend/theme/img/emojis/svg/261d-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/261d-1f3fc.svg b/frontend/theme/img/emojis/svg/261d-1f3fc.svg new file mode 100644 index 0000000..76dac4e --- /dev/null +++ b/frontend/theme/img/emojis/svg/261d-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/261d-1f3fd.svg b/frontend/theme/img/emojis/svg/261d-1f3fd.svg new file mode 100644 index 0000000..e03f60e --- /dev/null +++ b/frontend/theme/img/emojis/svg/261d-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/261d-1f3fe.svg b/frontend/theme/img/emojis/svg/261d-1f3fe.svg new file mode 100644 index 0000000..a839456 --- /dev/null +++ b/frontend/theme/img/emojis/svg/261d-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/261d-1f3ff.svg b/frontend/theme/img/emojis/svg/261d-1f3ff.svg new file mode 100644 index 0000000..8588495 --- /dev/null +++ b/frontend/theme/img/emojis/svg/261d-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/261d.svg b/frontend/theme/img/emojis/svg/261d.svg new file mode 100644 index 0000000..95d8ddd --- /dev/null +++ b/frontend/theme/img/emojis/svg/261d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2620.svg b/frontend/theme/img/emojis/svg/2620.svg new file mode 100644 index 0000000..66f9862 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2620.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2622.svg b/frontend/theme/img/emojis/svg/2622.svg new file mode 100644 index 0000000..2039db1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2622.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2623.svg b/frontend/theme/img/emojis/svg/2623.svg new file mode 100644 index 0000000..6e7d858 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2623.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2626.svg b/frontend/theme/img/emojis/svg/2626.svg new file mode 100644 index 0000000..4d02f16 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2626.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/262a.svg b/frontend/theme/img/emojis/svg/262a.svg new file mode 100644 index 0000000..678a1e8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/262a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/262e.svg b/frontend/theme/img/emojis/svg/262e.svg new file mode 100644 index 0000000..a0be08a --- /dev/null +++ b/frontend/theme/img/emojis/svg/262e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/262f.svg b/frontend/theme/img/emojis/svg/262f.svg new file mode 100644 index 0000000..e0aff80 --- /dev/null +++ b/frontend/theme/img/emojis/svg/262f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2638.svg b/frontend/theme/img/emojis/svg/2638.svg new file mode 100644 index 0000000..a00bf1d --- /dev/null +++ b/frontend/theme/img/emojis/svg/2638.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2639.svg b/frontend/theme/img/emojis/svg/2639.svg new file mode 100644 index 0000000..a2a4909 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2639.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/263a.svg b/frontend/theme/img/emojis/svg/263a.svg new file mode 100644 index 0000000..5020134 --- /dev/null +++ b/frontend/theme/img/emojis/svg/263a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2640.svg b/frontend/theme/img/emojis/svg/2640.svg new file mode 100644 index 0000000..db5291c --- /dev/null +++ b/frontend/theme/img/emojis/svg/2640.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2642.svg b/frontend/theme/img/emojis/svg/2642.svg new file mode 100644 index 0000000..29868a8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2642.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2648.svg b/frontend/theme/img/emojis/svg/2648.svg new file mode 100644 index 0000000..0f00d2d --- /dev/null +++ b/frontend/theme/img/emojis/svg/2648.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2649.svg b/frontend/theme/img/emojis/svg/2649.svg new file mode 100644 index 0000000..6e9918a --- /dev/null +++ b/frontend/theme/img/emojis/svg/2649.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/264a.svg b/frontend/theme/img/emojis/svg/264a.svg new file mode 100644 index 0000000..9f05642 --- /dev/null +++ b/frontend/theme/img/emojis/svg/264a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/264b.svg b/frontend/theme/img/emojis/svg/264b.svg new file mode 100644 index 0000000..c5c8b66 --- /dev/null +++ b/frontend/theme/img/emojis/svg/264b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/264c.svg b/frontend/theme/img/emojis/svg/264c.svg new file mode 100644 index 0000000..e9af63d --- /dev/null +++ b/frontend/theme/img/emojis/svg/264c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/264d.svg b/frontend/theme/img/emojis/svg/264d.svg new file mode 100644 index 0000000..98ad1a8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/264d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/264e.svg b/frontend/theme/img/emojis/svg/264e.svg new file mode 100644 index 0000000..11583c1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/264e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/264f.svg b/frontend/theme/img/emojis/svg/264f.svg new file mode 100644 index 0000000..ec1b93a --- /dev/null +++ b/frontend/theme/img/emojis/svg/264f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2650.svg b/frontend/theme/img/emojis/svg/2650.svg new file mode 100644 index 0000000..df13efc --- /dev/null +++ b/frontend/theme/img/emojis/svg/2650.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2651.svg b/frontend/theme/img/emojis/svg/2651.svg new file mode 100644 index 0000000..f3ccf92 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2651.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2652.svg b/frontend/theme/img/emojis/svg/2652.svg new file mode 100644 index 0000000..41e4623 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2652.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2653.svg b/frontend/theme/img/emojis/svg/2653.svg new file mode 100644 index 0000000..854032a --- /dev/null +++ b/frontend/theme/img/emojis/svg/2653.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/265f.svg b/frontend/theme/img/emojis/svg/265f.svg new file mode 100644 index 0000000..10c880c --- /dev/null +++ b/frontend/theme/img/emojis/svg/265f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2660.svg b/frontend/theme/img/emojis/svg/2660.svg new file mode 100644 index 0000000..5f7b109 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2660.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2663.svg b/frontend/theme/img/emojis/svg/2663.svg new file mode 100644 index 0000000..a9dce6f --- /dev/null +++ b/frontend/theme/img/emojis/svg/2663.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2665.svg b/frontend/theme/img/emojis/svg/2665.svg new file mode 100644 index 0000000..67f49c3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2665.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2666.svg b/frontend/theme/img/emojis/svg/2666.svg new file mode 100644 index 0000000..02f93aa --- /dev/null +++ b/frontend/theme/img/emojis/svg/2666.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2668.svg b/frontend/theme/img/emojis/svg/2668.svg new file mode 100644 index 0000000..4a87bea --- /dev/null +++ b/frontend/theme/img/emojis/svg/2668.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/267b.svg b/frontend/theme/img/emojis/svg/267b.svg new file mode 100644 index 0000000..06352b9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/267b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/267e.svg b/frontend/theme/img/emojis/svg/267e.svg new file mode 100644 index 0000000..03df2a6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/267e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/267f.svg b/frontend/theme/img/emojis/svg/267f.svg new file mode 100644 index 0000000..b1d1c42 --- /dev/null +++ b/frontend/theme/img/emojis/svg/267f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2692.svg b/frontend/theme/img/emojis/svg/2692.svg new file mode 100644 index 0000000..3a8ff26 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2692.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2693.svg b/frontend/theme/img/emojis/svg/2693.svg new file mode 100644 index 0000000..09f3fe4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2693.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2694.svg b/frontend/theme/img/emojis/svg/2694.svg new file mode 100644 index 0000000..325b85f --- /dev/null +++ b/frontend/theme/img/emojis/svg/2694.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2695.svg b/frontend/theme/img/emojis/svg/2695.svg new file mode 100644 index 0000000..add4c0e --- /dev/null +++ b/frontend/theme/img/emojis/svg/2695.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2696.svg b/frontend/theme/img/emojis/svg/2696.svg new file mode 100644 index 0000000..61af844 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2696.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2697.svg b/frontend/theme/img/emojis/svg/2697.svg new file mode 100644 index 0000000..3fe8c15 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2697.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2699.svg b/frontend/theme/img/emojis/svg/2699.svg new file mode 100644 index 0000000..635ca02 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2699.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/269b.svg b/frontend/theme/img/emojis/svg/269b.svg new file mode 100644 index 0000000..385c18c --- /dev/null +++ b/frontend/theme/img/emojis/svg/269b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/269c.svg b/frontend/theme/img/emojis/svg/269c.svg new file mode 100644 index 0000000..27be9c3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/269c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26a0.svg b/frontend/theme/img/emojis/svg/26a0.svg new file mode 100644 index 0000000..b9ee297 --- /dev/null +++ b/frontend/theme/img/emojis/svg/26a0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26a1.svg b/frontend/theme/img/emojis/svg/26a1.svg new file mode 100644 index 0000000..9d9ae7d --- /dev/null +++ b/frontend/theme/img/emojis/svg/26a1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26a7.svg b/frontend/theme/img/emojis/svg/26a7.svg new file mode 100644 index 0000000..0d0b230 --- /dev/null +++ b/frontend/theme/img/emojis/svg/26a7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26aa.svg b/frontend/theme/img/emojis/svg/26aa.svg new file mode 100644 index 0000000..60b9bbc --- /dev/null +++ b/frontend/theme/img/emojis/svg/26aa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26ab.svg b/frontend/theme/img/emojis/svg/26ab.svg new file mode 100644 index 0000000..169b72c --- /dev/null +++ b/frontend/theme/img/emojis/svg/26ab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26b0.svg b/frontend/theme/img/emojis/svg/26b0.svg new file mode 100644 index 0000000..c1ea4d6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/26b0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26b1.svg b/frontend/theme/img/emojis/svg/26b1.svg new file mode 100644 index 0000000..830c81a --- /dev/null +++ b/frontend/theme/img/emojis/svg/26b1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26bd.svg b/frontend/theme/img/emojis/svg/26bd.svg new file mode 100644 index 0000000..f24749c --- /dev/null +++ b/frontend/theme/img/emojis/svg/26bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26be.svg b/frontend/theme/img/emojis/svg/26be.svg new file mode 100644 index 0000000..210b8ef --- /dev/null +++ b/frontend/theme/img/emojis/svg/26be.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26c4.svg b/frontend/theme/img/emojis/svg/26c4.svg new file mode 100644 index 0000000..74caddf --- /dev/null +++ b/frontend/theme/img/emojis/svg/26c4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26c5.svg b/frontend/theme/img/emojis/svg/26c5.svg new file mode 100644 index 0000000..89d57dc --- /dev/null +++ b/frontend/theme/img/emojis/svg/26c5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26c8.svg b/frontend/theme/img/emojis/svg/26c8.svg new file mode 100644 index 0000000..878ba81 --- /dev/null +++ b/frontend/theme/img/emojis/svg/26c8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26ce.svg b/frontend/theme/img/emojis/svg/26ce.svg new file mode 100644 index 0000000..4abec02 --- /dev/null +++ b/frontend/theme/img/emojis/svg/26ce.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26cf.svg b/frontend/theme/img/emojis/svg/26cf.svg new file mode 100644 index 0000000..ac8ac01 --- /dev/null +++ b/frontend/theme/img/emojis/svg/26cf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26d1.svg b/frontend/theme/img/emojis/svg/26d1.svg new file mode 100644 index 0000000..e8457ae --- /dev/null +++ b/frontend/theme/img/emojis/svg/26d1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26d3-fe0f-200d-1f4a5.svg b/frontend/theme/img/emojis/svg/26d3-fe0f-200d-1f4a5.svg new file mode 100644 index 0000000..556308f --- /dev/null +++ b/frontend/theme/img/emojis/svg/26d3-fe0f-200d-1f4a5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26d3.svg b/frontend/theme/img/emojis/svg/26d3.svg new file mode 100644 index 0000000..a7b213e --- /dev/null +++ b/frontend/theme/img/emojis/svg/26d3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26d4.svg b/frontend/theme/img/emojis/svg/26d4.svg new file mode 100644 index 0000000..fcab301 --- /dev/null +++ b/frontend/theme/img/emojis/svg/26d4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26e9.svg b/frontend/theme/img/emojis/svg/26e9.svg new file mode 100644 index 0000000..395048e --- /dev/null +++ b/frontend/theme/img/emojis/svg/26e9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26ea.svg b/frontend/theme/img/emojis/svg/26ea.svg new file mode 100644 index 0000000..79b8ce5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/26ea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f0.svg b/frontend/theme/img/emojis/svg/26f0.svg new file mode 100644 index 0000000..ba331d1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f1.svg b/frontend/theme/img/emojis/svg/26f1.svg new file mode 100644 index 0000000..589f385 --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f2.svg b/frontend/theme/img/emojis/svg/26f2.svg new file mode 100644 index 0000000..659c228 --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f3.svg b/frontend/theme/img/emojis/svg/26f3.svg new file mode 100644 index 0000000..c4f8916 --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f4.svg b/frontend/theme/img/emojis/svg/26f4.svg new file mode 100644 index 0000000..70b3542 --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f5.svg b/frontend/theme/img/emojis/svg/26f5.svg new file mode 100644 index 0000000..c76c0de --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f7-1f3fb.svg b/frontend/theme/img/emojis/svg/26f7-1f3fb.svg new file mode 100644 index 0000000..e62b340 --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f7-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f7-1f3fc.svg b/frontend/theme/img/emojis/svg/26f7-1f3fc.svg new file mode 100644 index 0000000..38dac4b --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f7-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f7-1f3fd.svg b/frontend/theme/img/emojis/svg/26f7-1f3fd.svg new file mode 100644 index 0000000..8801338 --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f7-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f7-1f3fe.svg b/frontend/theme/img/emojis/svg/26f7-1f3fe.svg new file mode 100644 index 0000000..cb4c301 --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f7-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f7-1f3ff.svg b/frontend/theme/img/emojis/svg/26f7-1f3ff.svg new file mode 100644 index 0000000..4184e4a --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f7-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f7.svg b/frontend/theme/img/emojis/svg/26f7.svg new file mode 100644 index 0000000..ade6f21 --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f8.svg b/frontend/theme/img/emojis/svg/26f8.svg new file mode 100644 index 0000000..022e86e --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f9-1f3fb-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/26f9-1f3fb-200d-2640-fe0f.svg new file mode 100644 index 0000000..8a00ebc --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f9-1f3fb-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f9-1f3fb-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/26f9-1f3fb-200d-2642-fe0f.svg new file mode 100644 index 0000000..78a8b5d --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f9-1f3fb-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f9-1f3fb.svg b/frontend/theme/img/emojis/svg/26f9-1f3fb.svg new file mode 100644 index 0000000..836b94b --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f9-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f9-1f3fc-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/26f9-1f3fc-200d-2640-fe0f.svg new file mode 100644 index 0000000..8bcada0 --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f9-1f3fc-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f9-1f3fc-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/26f9-1f3fc-200d-2642-fe0f.svg new file mode 100644 index 0000000..fb2b1e1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f9-1f3fc-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f9-1f3fc.svg b/frontend/theme/img/emojis/svg/26f9-1f3fc.svg new file mode 100644 index 0000000..0c3662e --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f9-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f9-1f3fd-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/26f9-1f3fd-200d-2640-fe0f.svg new file mode 100644 index 0000000..edb6001 --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f9-1f3fd-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f9-1f3fd-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/26f9-1f3fd-200d-2642-fe0f.svg new file mode 100644 index 0000000..9282cee --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f9-1f3fd-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f9-1f3fd.svg b/frontend/theme/img/emojis/svg/26f9-1f3fd.svg new file mode 100644 index 0000000..ee2eb37 --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f9-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f9-1f3fe-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/26f9-1f3fe-200d-2640-fe0f.svg new file mode 100644 index 0000000..5eee281 --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f9-1f3fe-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f9-1f3fe-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/26f9-1f3fe-200d-2642-fe0f.svg new file mode 100644 index 0000000..d618e5a --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f9-1f3fe-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f9-1f3fe.svg b/frontend/theme/img/emojis/svg/26f9-1f3fe.svg new file mode 100644 index 0000000..f6687c6 --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f9-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f9-1f3ff-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/26f9-1f3ff-200d-2640-fe0f.svg new file mode 100644 index 0000000..52dcb9b --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f9-1f3ff-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f9-1f3ff-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/26f9-1f3ff-200d-2642-fe0f.svg new file mode 100644 index 0000000..c174ef8 --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f9-1f3ff-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f9-1f3ff.svg b/frontend/theme/img/emojis/svg/26f9-1f3ff.svg new file mode 100644 index 0000000..435b37b --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f9-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f9-fe0f-200d-2640-fe0f.svg b/frontend/theme/img/emojis/svg/26f9-fe0f-200d-2640-fe0f.svg new file mode 100644 index 0000000..f25f03d --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f9-fe0f-200d-2640-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f9-fe0f-200d-2642-fe0f.svg b/frontend/theme/img/emojis/svg/26f9-fe0f-200d-2642-fe0f.svg new file mode 100644 index 0000000..ee014e4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f9-fe0f-200d-2642-fe0f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26f9.svg b/frontend/theme/img/emojis/svg/26f9.svg new file mode 100644 index 0000000..e772c2c --- /dev/null +++ b/frontend/theme/img/emojis/svg/26f9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26fa.svg b/frontend/theme/img/emojis/svg/26fa.svg new file mode 100644 index 0000000..72c5cbd --- /dev/null +++ b/frontend/theme/img/emojis/svg/26fa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/26fd.svg b/frontend/theme/img/emojis/svg/26fd.svg new file mode 100644 index 0000000..0081947 --- /dev/null +++ b/frontend/theme/img/emojis/svg/26fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2702.svg b/frontend/theme/img/emojis/svg/2702.svg new file mode 100644 index 0000000..e5d3ac1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2702.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2705.svg b/frontend/theme/img/emojis/svg/2705.svg new file mode 100644 index 0000000..9817a09 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2705.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2708.svg b/frontend/theme/img/emojis/svg/2708.svg new file mode 100644 index 0000000..ebce3af --- /dev/null +++ b/frontend/theme/img/emojis/svg/2708.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2709.svg b/frontend/theme/img/emojis/svg/2709.svg new file mode 100644 index 0000000..d880c42 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2709.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/270a-1f3fb.svg b/frontend/theme/img/emojis/svg/270a-1f3fb.svg new file mode 100644 index 0000000..1929efb --- /dev/null +++ b/frontend/theme/img/emojis/svg/270a-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/270a-1f3fc.svg b/frontend/theme/img/emojis/svg/270a-1f3fc.svg new file mode 100644 index 0000000..09dc7d3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/270a-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/270a-1f3fd.svg b/frontend/theme/img/emojis/svg/270a-1f3fd.svg new file mode 100644 index 0000000..329832d --- /dev/null +++ b/frontend/theme/img/emojis/svg/270a-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/270a-1f3fe.svg b/frontend/theme/img/emojis/svg/270a-1f3fe.svg new file mode 100644 index 0000000..b4bcfc5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/270a-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/270a-1f3ff.svg b/frontend/theme/img/emojis/svg/270a-1f3ff.svg new file mode 100644 index 0000000..e7dd06e --- /dev/null +++ b/frontend/theme/img/emojis/svg/270a-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/270a.svg b/frontend/theme/img/emojis/svg/270a.svg new file mode 100644 index 0000000..9991043 --- /dev/null +++ b/frontend/theme/img/emojis/svg/270a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/270b-1f3fb.svg b/frontend/theme/img/emojis/svg/270b-1f3fb.svg new file mode 100644 index 0000000..5b64565 --- /dev/null +++ b/frontend/theme/img/emojis/svg/270b-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/270b-1f3fc.svg b/frontend/theme/img/emojis/svg/270b-1f3fc.svg new file mode 100644 index 0000000..3f69cc7 --- /dev/null +++ b/frontend/theme/img/emojis/svg/270b-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/270b-1f3fd.svg b/frontend/theme/img/emojis/svg/270b-1f3fd.svg new file mode 100644 index 0000000..02f7417 --- /dev/null +++ b/frontend/theme/img/emojis/svg/270b-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/270b-1f3fe.svg b/frontend/theme/img/emojis/svg/270b-1f3fe.svg new file mode 100644 index 0000000..ed89dba --- /dev/null +++ b/frontend/theme/img/emojis/svg/270b-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/270b-1f3ff.svg b/frontend/theme/img/emojis/svg/270b-1f3ff.svg new file mode 100644 index 0000000..7407220 --- /dev/null +++ b/frontend/theme/img/emojis/svg/270b-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/270b.svg b/frontend/theme/img/emojis/svg/270b.svg new file mode 100644 index 0000000..31576f1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/270b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/270c-1f3fb.svg b/frontend/theme/img/emojis/svg/270c-1f3fb.svg new file mode 100644 index 0000000..a95327a --- /dev/null +++ b/frontend/theme/img/emojis/svg/270c-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/270c-1f3fc.svg b/frontend/theme/img/emojis/svg/270c-1f3fc.svg new file mode 100644 index 0000000..d748f20 --- /dev/null +++ b/frontend/theme/img/emojis/svg/270c-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/270c-1f3fd.svg b/frontend/theme/img/emojis/svg/270c-1f3fd.svg new file mode 100644 index 0000000..f93272a --- /dev/null +++ b/frontend/theme/img/emojis/svg/270c-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/270c-1f3fe.svg b/frontend/theme/img/emojis/svg/270c-1f3fe.svg new file mode 100644 index 0000000..aca5302 --- /dev/null +++ b/frontend/theme/img/emojis/svg/270c-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/270c-1f3ff.svg b/frontend/theme/img/emojis/svg/270c-1f3ff.svg new file mode 100644 index 0000000..3fa9742 --- /dev/null +++ b/frontend/theme/img/emojis/svg/270c-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/270c.svg b/frontend/theme/img/emojis/svg/270c.svg new file mode 100644 index 0000000..730545f --- /dev/null +++ b/frontend/theme/img/emojis/svg/270c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/270d-1f3fb.svg b/frontend/theme/img/emojis/svg/270d-1f3fb.svg new file mode 100644 index 0000000..91eaf47 --- /dev/null +++ b/frontend/theme/img/emojis/svg/270d-1f3fb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/270d-1f3fc.svg b/frontend/theme/img/emojis/svg/270d-1f3fc.svg new file mode 100644 index 0000000..b404d7f --- /dev/null +++ b/frontend/theme/img/emojis/svg/270d-1f3fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/270d-1f3fd.svg b/frontend/theme/img/emojis/svg/270d-1f3fd.svg new file mode 100644 index 0000000..a1cbd76 --- /dev/null +++ b/frontend/theme/img/emojis/svg/270d-1f3fd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/270d-1f3fe.svg b/frontend/theme/img/emojis/svg/270d-1f3fe.svg new file mode 100644 index 0000000..20b9922 --- /dev/null +++ b/frontend/theme/img/emojis/svg/270d-1f3fe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/270d-1f3ff.svg b/frontend/theme/img/emojis/svg/270d-1f3ff.svg new file mode 100644 index 0000000..ef0383f --- /dev/null +++ b/frontend/theme/img/emojis/svg/270d-1f3ff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/270d.svg b/frontend/theme/img/emojis/svg/270d.svg new file mode 100644 index 0000000..f138584 --- /dev/null +++ b/frontend/theme/img/emojis/svg/270d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/270f.svg b/frontend/theme/img/emojis/svg/270f.svg new file mode 100644 index 0000000..a9b69e1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/270f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2712.svg b/frontend/theme/img/emojis/svg/2712.svg new file mode 100644 index 0000000..8eaec69 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2712.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2714.svg b/frontend/theme/img/emojis/svg/2714.svg new file mode 100644 index 0000000..1797238 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2714.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2716.svg b/frontend/theme/img/emojis/svg/2716.svg new file mode 100644 index 0000000..d102373 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2716.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/271d.svg b/frontend/theme/img/emojis/svg/271d.svg new file mode 100644 index 0000000..270b812 --- /dev/null +++ b/frontend/theme/img/emojis/svg/271d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2721.svg b/frontend/theme/img/emojis/svg/2721.svg new file mode 100644 index 0000000..bdf63ac --- /dev/null +++ b/frontend/theme/img/emojis/svg/2721.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2728.svg b/frontend/theme/img/emojis/svg/2728.svg new file mode 100644 index 0000000..347ad12 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2728.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2733.svg b/frontend/theme/img/emojis/svg/2733.svg new file mode 100644 index 0000000..0aac14f --- /dev/null +++ b/frontend/theme/img/emojis/svg/2733.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2734.svg b/frontend/theme/img/emojis/svg/2734.svg new file mode 100644 index 0000000..17ed819 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2734.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2744.svg b/frontend/theme/img/emojis/svg/2744.svg new file mode 100644 index 0000000..258c161 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2744.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2747.svg b/frontend/theme/img/emojis/svg/2747.svg new file mode 100644 index 0000000..61e1997 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2747.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/274c.svg b/frontend/theme/img/emojis/svg/274c.svg new file mode 100644 index 0000000..4d76e24 --- /dev/null +++ b/frontend/theme/img/emojis/svg/274c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/274e.svg b/frontend/theme/img/emojis/svg/274e.svg new file mode 100644 index 0000000..814a6e4 --- /dev/null +++ b/frontend/theme/img/emojis/svg/274e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2753.svg b/frontend/theme/img/emojis/svg/2753.svg new file mode 100644 index 0000000..d76931b --- /dev/null +++ b/frontend/theme/img/emojis/svg/2753.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2754.svg b/frontend/theme/img/emojis/svg/2754.svg new file mode 100644 index 0000000..ab6b64b --- /dev/null +++ b/frontend/theme/img/emojis/svg/2754.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2755.svg b/frontend/theme/img/emojis/svg/2755.svg new file mode 100644 index 0000000..40881c5 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2755.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2757.svg b/frontend/theme/img/emojis/svg/2757.svg new file mode 100644 index 0000000..e730a08 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2757.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2763.svg b/frontend/theme/img/emojis/svg/2763.svg new file mode 100644 index 0000000..b78e878 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2763.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2764-fe0f-200d-1f525.svg b/frontend/theme/img/emojis/svg/2764-fe0f-200d-1f525.svg new file mode 100644 index 0000000..298dd0e --- /dev/null +++ b/frontend/theme/img/emojis/svg/2764-fe0f-200d-1f525.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2764-fe0f-200d-1fa79.svg b/frontend/theme/img/emojis/svg/2764-fe0f-200d-1fa79.svg new file mode 100644 index 0000000..a7a38bd --- /dev/null +++ b/frontend/theme/img/emojis/svg/2764-fe0f-200d-1fa79.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2764.svg b/frontend/theme/img/emojis/svg/2764.svg new file mode 100644 index 0000000..7eb5c59 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2764.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2795.svg b/frontend/theme/img/emojis/svg/2795.svg new file mode 100644 index 0000000..5d55ec2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2795.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2796.svg b/frontend/theme/img/emojis/svg/2796.svg new file mode 100644 index 0000000..589c012 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2796.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2797.svg b/frontend/theme/img/emojis/svg/2797.svg new file mode 100644 index 0000000..6b8a7c1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2797.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/27a1.svg b/frontend/theme/img/emojis/svg/27a1.svg new file mode 100644 index 0000000..55d2d62 --- /dev/null +++ b/frontend/theme/img/emojis/svg/27a1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/27b0.svg b/frontend/theme/img/emojis/svg/27b0.svg new file mode 100644 index 0000000..33abaa9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/27b0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/27bf.svg b/frontend/theme/img/emojis/svg/27bf.svg new file mode 100644 index 0000000..0d7b5fa --- /dev/null +++ b/frontend/theme/img/emojis/svg/27bf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2934.svg b/frontend/theme/img/emojis/svg/2934.svg new file mode 100644 index 0000000..7c2e675 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2934.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2935.svg b/frontend/theme/img/emojis/svg/2935.svg new file mode 100644 index 0000000..e06163b --- /dev/null +++ b/frontend/theme/img/emojis/svg/2935.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2a-20e3.svg b/frontend/theme/img/emojis/svg/2a-20e3.svg new file mode 100644 index 0000000..d9c53c9 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2a-20e3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2b05.svg b/frontend/theme/img/emojis/svg/2b05.svg new file mode 100644 index 0000000..6ac3f63 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2b05.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2b06.svg b/frontend/theme/img/emojis/svg/2b06.svg new file mode 100644 index 0000000..080ca19 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2b06.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2b07.svg b/frontend/theme/img/emojis/svg/2b07.svg new file mode 100644 index 0000000..ed33773 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2b07.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2b1b.svg b/frontend/theme/img/emojis/svg/2b1b.svg new file mode 100644 index 0000000..42b60e3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2b1b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2b1c.svg b/frontend/theme/img/emojis/svg/2b1c.svg new file mode 100644 index 0000000..a40e12e --- /dev/null +++ b/frontend/theme/img/emojis/svg/2b1c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2b50.svg b/frontend/theme/img/emojis/svg/2b50.svg new file mode 100644 index 0000000..760ad08 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2b50.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/2b55.svg b/frontend/theme/img/emojis/svg/2b55.svg new file mode 100644 index 0000000..deb4cf1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/2b55.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/30-20e3.svg b/frontend/theme/img/emojis/svg/30-20e3.svg new file mode 100644 index 0000000..8794b3a --- /dev/null +++ b/frontend/theme/img/emojis/svg/30-20e3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/3030.svg b/frontend/theme/img/emojis/svg/3030.svg new file mode 100644 index 0000000..8ea1141 --- /dev/null +++ b/frontend/theme/img/emojis/svg/3030.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/303d.svg b/frontend/theme/img/emojis/svg/303d.svg new file mode 100644 index 0000000..e2c5c49 --- /dev/null +++ b/frontend/theme/img/emojis/svg/303d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/31-20e3.svg b/frontend/theme/img/emojis/svg/31-20e3.svg new file mode 100644 index 0000000..38197ad --- /dev/null +++ b/frontend/theme/img/emojis/svg/31-20e3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/32-20e3.svg b/frontend/theme/img/emojis/svg/32-20e3.svg new file mode 100644 index 0000000..8d81b8c --- /dev/null +++ b/frontend/theme/img/emojis/svg/32-20e3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/3297.svg b/frontend/theme/img/emojis/svg/3297.svg new file mode 100644 index 0000000..7adbcf1 --- /dev/null +++ b/frontend/theme/img/emojis/svg/3297.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/3299.svg b/frontend/theme/img/emojis/svg/3299.svg new file mode 100644 index 0000000..d1a7933 --- /dev/null +++ b/frontend/theme/img/emojis/svg/3299.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/33-20e3.svg b/frontend/theme/img/emojis/svg/33-20e3.svg new file mode 100644 index 0000000..95db6d2 --- /dev/null +++ b/frontend/theme/img/emojis/svg/33-20e3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/34-20e3.svg b/frontend/theme/img/emojis/svg/34-20e3.svg new file mode 100644 index 0000000..b1004f3 --- /dev/null +++ b/frontend/theme/img/emojis/svg/34-20e3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/35-20e3.svg b/frontend/theme/img/emojis/svg/35-20e3.svg new file mode 100644 index 0000000..be3b062 --- /dev/null +++ b/frontend/theme/img/emojis/svg/35-20e3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/36-20e3.svg b/frontend/theme/img/emojis/svg/36-20e3.svg new file mode 100644 index 0000000..c28896e --- /dev/null +++ b/frontend/theme/img/emojis/svg/36-20e3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/37-20e3.svg b/frontend/theme/img/emojis/svg/37-20e3.svg new file mode 100644 index 0000000..2da4206 --- /dev/null +++ b/frontend/theme/img/emojis/svg/37-20e3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/38-20e3.svg b/frontend/theme/img/emojis/svg/38-20e3.svg new file mode 100644 index 0000000..b912265 --- /dev/null +++ b/frontend/theme/img/emojis/svg/38-20e3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/39-20e3.svg b/frontend/theme/img/emojis/svg/39-20e3.svg new file mode 100644 index 0000000..6936cfb --- /dev/null +++ b/frontend/theme/img/emojis/svg/39-20e3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/a9.svg b/frontend/theme/img/emojis/svg/a9.svg new file mode 100644 index 0000000..4879577 --- /dev/null +++ b/frontend/theme/img/emojis/svg/a9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/ae.svg b/frontend/theme/img/emojis/svg/ae.svg new file mode 100644 index 0000000..bd51781 --- /dev/null +++ b/frontend/theme/img/emojis/svg/ae.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/emojis/svg/e50a.svg b/frontend/theme/img/emojis/svg/e50a.svg new file mode 100644 index 0000000..4fb5389 --- /dev/null +++ b/frontend/theme/img/emojis/svg/e50a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/theme/img/empty.png b/frontend/theme/img/empty.png new file mode 100644 index 0000000..d8a0c8f Binary files /dev/null and b/frontend/theme/img/empty.png differ diff --git a/frontend/theme/img/poster.svg b/frontend/theme/img/poster.svg new file mode 100644 index 0000000..ea4e14f --- /dev/null +++ b/frontend/theme/img/poster.svg @@ -0,0 +1,43 @@ + + + + + + + diff --git a/frontend/theme/img/yuno.png b/frontend/theme/img/yuno.png new file mode 100644 index 0000000..ff04b18 Binary files /dev/null and b/frontend/theme/img/yuno.png differ diff --git a/frontend/widgets/About/locales.ini b/frontend/widgets/About/locales.ini new file mode 100644 index 0000000..599ac4f --- /dev/null +++ b/frontend/widgets/About/locales.ini @@ -0,0 +1,11 @@ +[about] +thanks = Thanks +developers = Developers +translators = Translators +translators_text = "Thanks to all the translators" +software = Software +resources = Resources +api = API +info = Movim is an XMPP-based communication platform. All the project, except the following software and resources, is under +sourcecode_title = Sourcecode +sourcecode_text = Check out the sourcecode on the Github repository \ No newline at end of file diff --git a/frontend/widgets/Account/account.js b/frontend/widgets/Account/account.js new file mode 100644 index 0000000..52e963a --- /dev/null +++ b/frontend/widgets/Account/account.js @@ -0,0 +1,71 @@ +var Account = { + resetPassword: function () { + var form = document.querySelector('form[name=password]'); + form.reset(); + document.querySelector('#password_save').className = 'button color flat'; + }, + resolveSessionsStates: function () { + var store = new ChatOmemoStorage(); + store.getSessionsIds(store.jid).map(id => { + store.getSessionState(store.jid + '.' + id).then(state => { + if (state) { + let checkbox = document.querySelector('input[name=accountsessionstate_' + id + ']'); + + if (checkbox) { + checkbox.checked = true; + } + } + }) + }); + }, + toggleFingerprintState: function (checkbox) { + var store = new ChatOmemoStorage(); + store.setSessionState(checkbox.dataset.identifier, checkbox.checked); + }, + deleteBundle: async function (bundleid) { + ChatOmemo.resolveContactFingerprints(USER_JID).then(remoteKeys => { + remoteKeys = remoteKeys.filter(remoteKey => + remoteKey.bundleid == bundleid + ); + + Account_ajaxDeleteBundle(remoteKeys[0]) + }); + }, + deleteBundleConfirm: function (bundleid) { + var store = new ChatOmemoStorage(); + + var address = new libsignal.SignalProtocolAddress(USER_JID, bundleid); + store.removeSession(address); + + Account_ajaxDeleteBundleConfirm(bundleid, store.getOwnSessionsIds()); + }, + refreshFingerprints: async function () { + ChatOmemo.resolveContactFingerprints(USER_JID).then(remoteKeys => { + let omemoStorage = new ChatOmemoStorage; + + omemoStorage.getLocalRegistrationId().then(localBundleId => { + omemoStorage.getIdentityKeyPair().then(identityKey => { + // Remove it if its already there + remoteKeys = remoteKeys.filter(remoteKey => + remoteKey.bundleid != localBundleId.toString() + ); + + remoteKeys.unshift({ + jid: USER_JID, + self: true, + bundleid: localBundleId.toString(), + fingerprint: MovimUtils.arrayBufferToBase64(identityKey.pubKey) + }); + + Account_ajaxHttpGetFingerprints(remoteKeys); + }); + }); + }); + } +} + +MovimWebsocket.attach(function () { + if (OMEMO_ENABLED) Account.refreshFingerprints(); + Account_ajaxHttpGetPresences(); + Account_ajaxGetGateways(); +}); diff --git a/frontend/widgets/Account/locales.ini b/frontend/widgets/Account/locales.ini new file mode 100644 index 0000000..cd447c3 --- /dev/null +++ b/frontend/widgets/Account/locales.ini @@ -0,0 +1,19 @@ +[account] +title = Account +account_management = Account management +password_change_title = Change my password +password = Password +password_confirmation = Password confirmation +password_changed = The password has been updated +password_not_same = The provided passwords are not the same +delete = Delete your account +delete_text = You will delete your XMPP account and all the relative information linked to it (profile, contacts, and publications). +delete_text_confirm = Type your full username +delete_text_error = Please provide a valid username. +gateway_title = Gateways +clear = Leave this instance +clear_text = You will delete all the relative information linked to your account on this Movim instance (profile, contacts, and publications). +clear_text_confirm = This action will not delete your account but will disconnect you from Movim. +delete_bundle_title = OMEMO Key deletion +delete_bundle_text = You are going to destroy the following OMEMO key. Your contacts will not be able to encrypt messages using that key anymore. This action cannot be reverted. Are you sure? +xmpp_server_info = XMPP Server Information \ No newline at end of file diff --git a/frontend/widgets/AdHoc/adhoc.js b/frontend/widgets/AdHoc/adhoc.js new file mode 100644 index 0000000..aff7522 --- /dev/null +++ b/frontend/widgets/AdHoc/adhoc.js @@ -0,0 +1,54 @@ +var AdHoc = { + refresh: function () { + var items = document.querySelectorAll('.adhoc_widget .actions li:not(.subheader)'); + var i = 0; + + while (i < items.length) { + items[i].onclick = function () { + Drawer.clear(); + AdHoc_ajaxCommand(this.dataset.jid, this.dataset.node); + }; + + i++; + } + }, + initForm: function () { + var form = document.querySelector('#dialog form[name=command]'); + + if (form) { + form.addEventListener('input', e => AdHoc.checkFormValidity()); + } + + AdHoc.checkFormValidity(); + }, + submit: function (jid, action) { + var form = document.querySelector('#dialog form[name=command]'); + AdHoc_ajaxSubmit( + jid, + form.dataset.node, + MovimUtils.formToJson('command'), + form.dataset.sessionid, + action + ); + }, + checkFormValidity: function () { + var form = document.querySelector('#dialog form[name=command]'); + var action = document.querySelector('#dialog #adhoc_action'); + + if (form && action) { + if (form.checkValidity()) { + action.classList.remove('disabled'); + } else { + action.classList.add('disabled'); + } + } + } +} + +MovimWebsocket.attach(function () { + var parts = MovimUtils.urlParts(); + + if (parts.page === "configuration") { + AdHoc_ajaxGet(); + } +}); diff --git a/frontend/widgets/AdHoc/locales.ini b/frontend/widgets/AdHoc/locales.ini new file mode 100644 index 0000000..8b7397c --- /dev/null +++ b/frontend/widgets/AdHoc/locales.ini @@ -0,0 +1,10 @@ +[adhoc] +title = Actions +completed = Action completed + +[tools] +title = Developer Tools +sdp_to_jingle = Convert SDP to Jingle +sdp_title = SDP +jingle_to_sdp = Convert Jingle to SDP +jingle_title = Jingle stanza \ No newline at end of file diff --git a/frontend/widgets/AdminMain/locales.ini b/frontend/widgets/AdminMain/locales.ini new file mode 100644 index 0000000..00be035 --- /dev/null +++ b/frontend/widgets/AdminMain/locales.ini @@ -0,0 +1,72 @@ +[admin] +general = General Settings + +[general] +theme = Theme +language = Default language +log_verbosity = Log verbosity +join_title = Your instance is public? +join_text = Register your instance on join.movim.eu and join the Movim federation! + +[restrictsuggestions] +title = Restrict suggestions +text = "Only suggest chatrooms, Communities, and other contents that are available on the user's XMPP server and related services" + +[chatonly] +title = Chat only +text = Disable all the social feature (Communities, Blog…) and keep only the chat ones + +[credentials] +title = Administration Credential +username = Username +password = Password +re_password = Retype password + +[disableregistration] +title = Disable the XMPP registration feature +text = Remove the XMPP registration flow and buttons from the interface + +[whitelist] +title = Allowed XMPP Servers +info1 = If you want to specify a list of authorized XMPP servers on your Movim pod and forbid the connection on all the others please put their domain name(s) here, with comma (ex: movim.eu,jabber.fr) +info2 = Leave this field blank if you allow the access to all the XMPP accounts. +label = List of allowed XMPP servers + +[ssrfwhitelist] +title = Whitelisted Domains for SSRF Protection +info1 = Movim is protecting you against SSRF vulnerabilities. This means that Movim blocks all URLs (shared links, avatars, and pictures) that point to your local network IPs. +info2 = See the related SSRF documentation on developer.mozilla.org. +info3 = Add all domains hosted locally here (for example, if you host a blog, an XMPP file upload service, or other web services). +info4 = This setting will be applied after a daemon restart. +label = List of Locally Authorized Domains + +[information] +description = Description +description_placeholder = General description of the instance +banner = Main banner +banner_info = Ensure that the picture is not too large and can be reached from any webpages +info1 = This message will be displayed on the login page. It can be used to link the Terms and Conditions of your Movim instance for example. +info2 = Leave this field blank if you don’t want to show any message. +label = Information Message + +[xmpp] +title = Default XMPP server +domain = Main XMPP server domain +description = Main XMPP server description +country = Main XMPP server country +country_pick= Pick a country in the list + +[tenor] +title = Tenor integration +label = Your Tenor API Key +info1 = Movim integrates the Tenor API to allow GIF search and publication in Chat +info2 = Access Tenor and get your API key + +[log] +empty = Empty +syslog = Syslog +syslog_files = Syslog and files + +[maxsessions] +title = Maximum of connected sessions +info = Movim will forbid new users to connect when the limit is reached, set it to 0 to disable \ No newline at end of file diff --git a/frontend/widgets/AdminReported/adminreported.css b/frontend/widgets/AdminReported/adminreported.css new file mode 100644 index 0000000..86e222f --- /dev/null +++ b/frontend/widgets/AdminReported/adminreported.css @@ -0,0 +1,3 @@ +#blocked_widget_list:not(:empty) ~ .placeholder { + display: none; +} diff --git a/frontend/widgets/AdminReported/adminreported.js b/frontend/widgets/AdminReported/adminreported.js new file mode 100644 index 0000000..42ed891 --- /dev/null +++ b/frontend/widgets/AdminReported/adminreported.js @@ -0,0 +1,3 @@ +MovimWebsocket.attach(function() { + AdminReported_ajaxHttpGet(); +}); diff --git a/frontend/widgets/AdminReported/locales.ini b/frontend/widgets/AdminReported/locales.ini new file mode 100644 index 0000000..3882dde --- /dev/null +++ b/frontend/widgets/AdminReported/locales.ini @@ -0,0 +1,4 @@ +[adminreported] +reported_by = "Reported by %s users" +info = Those accounts were reported by some Movim users +info2 = You can choose to block them for all the other users diff --git a/frontend/widgets/AdminSessions/locales.ini b/frontend/widgets/AdminSessions/locales.ini new file mode 100644 index 0000000..bd2dd72 --- /dev/null +++ b/frontend/widgets/AdminSessions/locales.ini @@ -0,0 +1,3 @@ +[adminsessions] +title = Sessions +text = Currently connected users on the pod diff --git a/frontend/widgets/Avatar/avatar.css b/frontend/widgets/Avatar/avatar.css new file mode 100644 index 0000000..9c6894b --- /dev/null +++ b/frontend/widgets/Avatar/avatar.css @@ -0,0 +1,15 @@ +#avatar span.primary { + min-width: 10rem; + height: 10rem; + margin-right: 1rem; +} + +#avatar span.primary i { + line-height: 10rem; + font-size: 5rem; +} + +form[name=bannerform] img.avatar { + max-width: calc(100% - 2rem); + margin: 1rem; +} \ No newline at end of file diff --git a/frontend/widgets/Avatar/avatar.js b/frontend/widgets/Avatar/avatar.js new file mode 100644 index 0000000..969be0e --- /dev/null +++ b/frontend/widgets/Avatar/avatar.js @@ -0,0 +1,4 @@ +MovimWebsocket.attach(function() { + Avatar_ajaxHttpGetCurrent(); + Avatar_ajaxGetAvatar(); +}); diff --git a/frontend/widgets/Avatar/locales.ini b/frontend/widgets/Avatar/locales.ini new file mode 100644 index 0000000..5edd5cc --- /dev/null +++ b/frontend/widgets/Avatar/locales.ini @@ -0,0 +1,13 @@ +[avatar] +file = File +updated = Profile Picture Updated +not_updated = Profile Picture Not Updated +change = Change my profile picture +too_big = Your picture is too big +missing = No avatar yet + +[banner] +change = Change my banner +updated = Banner Updated +not_updated = Banner Not Updated +missing = No banner yet \ No newline at end of file diff --git a/frontend/widgets/Blocked/blocked.css b/frontend/widgets/Blocked/blocked.css new file mode 100644 index 0000000..86e222f --- /dev/null +++ b/frontend/widgets/Blocked/blocked.css @@ -0,0 +1,3 @@ +#blocked_widget_list:not(:empty) ~ .placeholder { + display: none; +} diff --git a/frontend/widgets/Blocked/blocked.js b/frontend/widgets/Blocked/blocked.js new file mode 100644 index 0000000..91dbcf1 --- /dev/null +++ b/frontend/widgets/Blocked/blocked.js @@ -0,0 +1,3 @@ +MovimWebsocket.attach(function() { + Blocked_ajaxGet(); +}); diff --git a/frontend/widgets/Blocked/locales.ini b/frontend/widgets/Blocked/locales.ini new file mode 100644 index 0000000..0ec76ba --- /dev/null +++ b/frontend/widgets/Blocked/locales.ini @@ -0,0 +1,9 @@ +[blocked] +title = Blocked +block_account = Block the account +unblock_account = Unblock the account +account_blocked = Account blocked +account_unblocked = Account unblocked +placeholder = You will find here the users you have blocked +info = The following users are blocked by Movim and cannot contact you anymore +info2 = The administrator is also aware of this list and can therefore block those users system wide diff --git a/frontend/widgets/Blog/locales.ini b/frontend/widgets/Blog/locales.ini new file mode 100644 index 0000000..5c3bc19 --- /dev/null +++ b/frontend/widgets/Blog/locales.ini @@ -0,0 +1,3 @@ +[blog] +title = "%s’s blog" +private = This content is private, please login to see it diff --git a/frontend/widgets/BottomNavigation/bottomnavigation.css b/frontend/widgets/BottomNavigation/bottomnavigation.css new file mode 100644 index 0000000..920a1c7 --- /dev/null +++ b/frontend/widgets/BottomNavigation/bottomnavigation.css @@ -0,0 +1,110 @@ +ul#bottomnavigation { + position: fixed; + bottom: 0; + left: 0; + height: auto; + width: 100%; + box-shadow: var(--elevation-6); + z-index: 2; + display: none; + justify-content: center; + transition: translate .3s cubic-bezier(.4, 0, .2, 1); + user-select: none; + background-color: rgb(var(--movim-background)); +} + +ul#bottomnavigation li { + padding: 0.5rem; + text-align: center; + flex: 1 1 0; + width: 0; + position: relative; + transition: background-color 0.15s ease; +} + +ul#bottomnavigation li:hover { + cursor: pointer; +} + +ul#bottomnavigation li:hover:not(.active)>span.primary>i { + opacity: 0.8; +} + +ul#bottomnavigation li:before { + content: ''; + display: block; + border-radius: 3rem; + height: 5rem; + width: 8rem; + position: absolute; + top: 0.5rem; + left: calc(50% - 4rem); +} + +ul#bottomnavigation li.active:before { + background-color: rgba(var(--movim-element-action), 0.2); +} + +ul#bottomnavigation li:not(.active):hover:before { + background-color: rgba(var(--movim-element-action), 0.1); +} + +ul#bottomnavigation li span:not(.counter) { + display: inline-block; +} + +@media screen and (max-width: 1024px) { + ul#bottomnavigation { + display: flex; + } + + ul#bottomnavigation~main>div:not(#chat_widget)>div:last-child, + ul#bottomnavigation~main>div:not(#chat_widget)>div.tabelem, + ul#bottomnavigation~main>div:not(#chat_widget)>article:last-child { + padding-bottom: 6.5rem; + } + + body>div.dialog:not(:empty)~ul#bottomnavigation, + body>div#drawer:not(.empty)~ul#bottomnavigation, + nav.active+ul#bottomnavigation, + ul#bottomnavigation.hidden { + translate: 0 100%; + pointer-events: none; + } + + nav.active+ul#bottomnavigation~main, + ul#bottomnavigation.hidden~main { + padding-bottom: 0; + } + + ul#bottomnavigation~main .button.action { + bottom: 8.25rem; + transition: all 0.2s ease 0; + } + + ul#bottomnavigation~main.enabled .button.action { + opacity: 0; + pointer-events: none; + } + + ul#bottomnavigation #bottomnavigation_me span { + transform: scale(0.7); + } + + ul#bottomnavigation #bottomchatcounter.notifications:after { + content: '\e7f4'; + display: block; + width: 2rem; + height: 2rem; + right: calc(50% - 2.5rem); + top: calc(50% + 0.50rem); + position: absolute; + border-radius: 1rem; + background-color: var(--movim-accent); + box-shadow: var(--elevation-2); + font-family: 'Material Symbols'; + font-size: 1.2rem; + line-height: 2rem; + font-variation-settings: 'FILL' 1; + } +} \ No newline at end of file diff --git a/frontend/widgets/BottomNavigation/bottomnavigation.js b/frontend/widgets/BottomNavigation/bottomnavigation.js new file mode 100644 index 0000000..753cdc4 --- /dev/null +++ b/frontend/widgets/BottomNavigation/bottomnavigation.js @@ -0,0 +1,32 @@ +var BottomNavigation = { + chatsCounter: 0, + spacesCounters: {}, + setChatNotification: function (keys) { + let counter = document.querySelector('#bottomchatcounter'); + + if (counter) { + counter.classList.remove('notifications'); + + Object.keys(keys).forEach(key => { + if (key == 'chat') { + BottomNavigation.chatsCounter = keys[key]; + } + + if (key.substring(0, 5) == 'space' && !key.includes('|')) { + BottomNavigation.spacesCounters[key] = keys[key]; + } + }); + + if (BottomNavigation.chatsCounter + + Object.values(BottomNavigation.spacesCounters).reduce((sum, counter) => sum + counter, 0)) { + counter.classList.add('notifications'); + } + } + } +} + +MovimWebsocket.initiate(() => { + if (MovimUtils.isMobile()) { + BottomNavigation_ajaxHttpRefresh() + } +}); diff --git a/frontend/widgets/Chat/chat.css b/frontend/widgets/Chat/chat.css new file mode 100644 index 0000000..2ee295d --- /dev/null +++ b/frontend/widgets/Chat/chat.css @@ -0,0 +1,1080 @@ +#chat_widget { + background-color: rgb(var(--movim-background-main)); + overflow: hidden; +} + +#chat_widget:has(header) { + display: grid; + flex-direction: column; + grid-template-columns: [start] calc(100% - 25rem) [nav] 25rem [end]; + grid-template-rows: [start] 7rem [header] 0 [visio] auto [box] 1fr [end]; +} + +#chat_widget:has(header):has(#visio[data-jid]) { + grid-template-rows: [start] 7rem [header] 2fr [visio] 2fr [box] 0fr [end]; +} + +@media screen and (max-width: 1024px) { + #chat_widget:has(header) { + grid-template-columns: [start] 100% [nav] 0 [end]; + } +} + +/** nav **/ + +#chat_widget nav { + box-shadow: var(--elevation-2) inset; + border-left: 1px solid rgba(var(--movim-font), 0.05); + grid-column: nav / end; + grid-row: visio / end; + width: 100%; + overflow: hidden scroll; +} + +#chat_widget nav>ul>li { + padding: 0 0.5rem; + margin: 0 0.5rem; +} + +#chat_widget nav>ul>li span.icon.small { + margin-right: 0.25rem; +} + +main:not(.enabled) #chat_widget { + overflow-y: auto; +} + +#chat_frequent, +#chat_explore { + width: 100%; +} + +#chat_widget>div:not(#chat_explore):not(#chat_frequent), +#chat_widget>header { + max-width: 100%; + width: 100%; +} + +#chat_widget>header { + box-shadow: var(--elevation-flat); + z-index: 1; + grid-column: start / end; + grid-row: start / header; + background-color: rgb(var(--movim-background)); +} + +#chat_widget nav ul#room_nav_members:has(li.found) li:not(.found) { + display: none; +} + +#chat_widget nav li.search form div:after { + background-color: rgb(var(--movim-background)); +} + +#chat_widget nav { + display: flex; + flex-direction: column; +} + +#chat_widget nav ul#room_nav_members_search { + order: 0; +} + +#chat_widget nav ul#room_nav_members { + order: 1; +} + +#chat_widget nav ul#room_nav_members:not(:has(> li:nth-child(10)))+ul#room_nav_members_search { + display: none; +} + +/** contained **/ + +#chat_widget .contained { + overflow-y: scroll; + overflow-x: hidden; + height: 100%; + position: relative; + display: flex; + flex-direction: row; + + grid-column: start / end; + grid-row: visio / box; +} + +#chat_widget nav~.contained { + grid-column: start / nav; +} + +#chat_widget .contained.history { + mask-image: linear-gradient(to bottom, transparent, black 25% 75%, transparent); +} + +#chat_widget ul.list.flex:not(:has(.story)) { + width: 100%; +} + +#chat_widget .contained:before { + position: absolute; + display: block; + background-color: var(--movim-accent); + width: 100%; + height: 0.25rem; + content: ''; + top: 0; + left: 0; + transform-origin: 0% 50%; + opacity: 0; +} + +#chat_widget .contained.loading:before { + animation: loadingBar 3s infinite linear; + opacity: 1; +} + +@keyframes loadingBar { + 0% { + transform: translateX(0) scaleX(0); + } + + 33% { + transform: translateX(0) scaleX(0.33); + } + + 100% { + transform: translateX(100%) scaleX(0.33); + } +} + +#chat_widget .contained section { + max-width: 100rem; + margin: 0 auto; + width: 100%; +} + +/** call **/ + +#chat_widget.call #chat_conference_call { + grid-column: start / end; + grid-row: header / end; + background-color: rgb(var(--movim-background-main)); + display: flex; + align-items: center; +} + +#chat_widget.call nav, +#chat_widget.call .contained, +#chat_widget.call .chat_box { + display: none; +} + +/* Chat attach list */ + +#chat_widget ul.list.actions { + position: absolute; + bottom: 7rem; + right: 0; + opacity: 0; + transform: translateY(5%); + transition: transform 0.2s, opacity 0.2s; + pointer-events: none; + width: 20rem; + background-color: rgb(var(--movim-background-main)); + box-shadow: var(--elevation-2); + border-radius: 1rem; + overflow: hidden; + margin: 0.5rem; +} + +#chat_widget span.control.enabled+ul.list.actions { + opacity: 1; + z-index: 2; + transform: translateY(0); + pointer-events: initial; +} + +/* Scroll button */ + +#chat_widget #scroll_down.button.action, +#chat_widget #scroll_now.button.action { + animation: none; + opacity: 0; + transform: scale(90%); + position: absolute; + top: -6.25rem; + right: 0.75rem; + pointer-events: none; +} + +#chat_widget .contained.history~.chat_box #scroll_now.button.action { + width: 7rem; + right: 1.5rem; +} + +#chat_widget .contained.history~.chat_box #scroll_now.button.action, +#chat_widget .contained:not(.history)~.chat_box #scroll_now.button.action+#scroll_down.button.action.show { + transition: transform 0.2s ease-in-out, opacity 0.2s; + transform: scale(100%); + opacity: 1; + pointer-events: all; +} + +/* Chat box */ + +#chat_widget .chat_box { + position: relative; + grid-column: start / end; + grid-row: box / end; + align-self: end; +} + +#chat_widget nav~.chat_box { + grid-column: start / nav; +} + +#chat_widget .chat_box ul { + margin: 0; + max-width: 100%; +} + +#chat_widget .chat_box form>div { + min-height: 0; + padding: 1.5rem 0; +} + +#chat_widget .chat_box form textarea { + padding: 0; + margin: 0 2rem; + max-height: 50vh; + overflow: hidden; + box-shadow: none; + width: calc(100% - 4rem); + transition: margin-left 0.1s ease-in-out; +} + +#chat_widget .chat_box ul.list>li.main.edit form div:before { + content: "\e3c9"; + top: 0; + line-height: 6rem; +} + +#chat_widget .chat_box ul.list>li.main.edit form textarea { + margin-left: 5.5rem; + width: calc(100% - 7.5rem); +} + +#chat_widget .chat_box form textarea~span.encrypted, +#chat_widget .chat_box form textarea~span.encrypted_disabled, +#chat_widget .chat_box form textarea~span.encrypted_loading { + display: none; +} + +#chat_widget .chat_box form textarea~span.encrypted_loading { + opacity: 0.5; +} + +#chat_widget .chat_box form textarea[data-encryptedstate] { + width: calc(100% - 6.5rem); +} + +#chat_widget .chat_box ul.list>li.main.edit form textarea[data-encryptedstate] { + width: calc(100% - 9.5rem); +} + +#chat_widget .chat_box form textarea[data-encryptedstate="yes"]~span.control.icon.encrypted, +#chat_widget .chat_box form textarea[data-encryptedstate="disabled"]~span.control.icon.encrypted_disabled, +#chat_widget .chat_box form textarea[data-encryptedstate="build"]~span.control.icon.encrypted_loading { + display: inline-block; + font-size: 2.75rem; + line-height: 6rem; + height: 6rem; + position: absolute; + right: 0; + top: 0; + padding: 0 1.5rem; + z-index: 1; + color: rgba(var(--movim-font), 0.68); +} + +#chat_widget .chat_box li.main>span.primary, +#chat_widget .chat_box li.main>span.control:not(.button):not(.color) { + font-size: 3.5rem; + animation: fadeIn 0.3s; + flex: 0 0 5rem; + margin-right: 0; +} + +#chat_widget .chat_box span.primary:active, +#chat_widget .chat_box span.control:not(.button):not(.color):active { + font-variation-settings: 'FILL' 1; +} + +#chat_widget .chat_box.compose span.control[title="dictaphone"] { + display: none; +} + +#chat_widget #dictaphone:has(#dictaphone_widget.show)~.main #dictaphone_toggle { + font-variation-settings: 'FILL' 1; +} + +#chat_widget .chat_box span.primary#record { + color: rgba(255, 255, 255, 0.9); +} + +#chat_widget .chat_box span.control:not(.button) i { + font-size: inherit; +} + +#chat_widget .chat_box span.control:hover { + cursor: pointer; +} + +#chat_widget .chat_box:after { + position: absolute; + display: block; + background-color: var(--movim-accent); + width: 0; + height: 0.25rem; + content: ''; + top: -0.25rem; + transition: width 5s ease-in-out, opacity 0.2s ease-in-out; + opacity: 0; +} + +#chat_widget .chat_box.sending:after { + width: 100%; + opacity: 1; +} + +#chat_widget .chat_box.finished:after { + transition: width 1s cubic-bezier(.68, 0, 0, 1), opacity 1s ease-in-out; + width: 100%; + opacity: 0; +} + +#chat_widget .chat_box.sending li.main>span.control.send { + animation: loadingOpacity 0.7s infinite alternate; + pointer-events: none; +} + +#chat_widget .chat_box>ul.list>li:not(:empty) { + min-height: 0; + padding-left: 2rem; + padding-top: 0.5rem; + padding-right: 0.5rem; + padding-bottom: 0.75rem; + border-radius: 0; +} + +#chat_widget .chat_box>ul.list>li form { + position: relative; + margin: 0 0.5rem; + padding: 0; + padding-right: 0.5rem; +} + +#chat_widget .chat_box>ul.list>li>.control { + transition: transform 0.2s; +} + +#chat_widget .chat_box>ul.list>li>.control.attach.enabled { + transform: rotate(45deg); + font-variation-settings: 'FILL' 1; +} + +#chat_widget .chat_box.compose>ul.list>li>ul.list.actions, +#chat_widget .chat_box.compose>ul.list>li #dictaphone_toggle, +#chat_widget .chat_box:not(.compose)>ul.list>li>.control.attach~.control.send:not(.emojis), +#chat_widget .chat_box.compose>ul.list>li>.control.attach~.control:not(.send):not(.emojis), +#chat_widget .chat_box.compose>ul.list>li>.control:not(.send):not(.emojis) { + display: none; +} + +#chat_widget section>ul.list>li.oppose { + flex-direction: row-reverse; +} + +@media screen and (max-width: 1024px) { + #chat_widget .chat_box { + left: 0; + width: 100%; + } + + #chat_widget section>ul.list>li.oppose>span.primary { + display: none; + } +} + +#chat_widget .contained ul { + overflow-x: hidden; +} + +/* Emojis */ + +#chat_widget .chat_box li.emojis:not(:empty) { + text-align: center; + margin-top: 0.25rem; + max-height: 10.5rem; + overflow: hidden; + flex-wrap: wrap; + justify-content: center; + border-top: 1px solid rgba(var(--movim-font), 0.12); +} + +#chat_widget .chat_box .emojis img { + display: inline-block; + padding: 1rem; + border-radius: 0.25rem; + margin: 0; + flex: 0 0 5rem; + height: 5rem; + box-sizing: border-box; +} + +#chat_widget .chat_box .emojis img:hover, +#chat_widget .chat_box .emojis img.selected { + cursor: pointer; + background-color: rgba(var(--movim-font), 0.05); + padding: 0.5rem; +} + +/* Chatroom */ + +#chat_widget ul.simple { + padding-left: 2rem; +} + +#chat_widget div:not(.chat_box):not(#chat_explore) ul.conversation>li>span.icon, +#chat_widget div:not(.chat_box):not(#chat_explore) ul.state>li>span.icon { + align-self: flex-start; + margin: 0; +} + +#chat_widget li img:not(.emoji):not(.main):not(.inline) { + max-width: 100%; + display: block; + width: auto; +} + +#chat_widget li img.active { + transition: filter 0.3s ease-in-out, box-shadow 0.3s ease; + box-shadow: var(--elevation-1); +} + +#chat_widget li img.active:hover { + cursor: pointer; + box-shadow: var(--elevation-2); + filter: grayscale(.7); +} + +#chat_widget li img.active:active { + box-shadow: var(--elevation-1); + filter: grayscale(.9); +} + +#chat_widget li img.sticker { + max-height: 150px; + border-radius: 0.75rem; + margin-bottom: 3rem; +} + +#chat_widget ul.list:after { + content: " "; + display: block; + clear: both; +} + +#chat_widget .contained.muc ul li span.primary:not(:empty):hover { + cursor: pointer; +} + +#chat_widget .contained ul li.sequel>span.icon, +#chat_widget .contained ul li.sequel .bubble::before, +#chat_widget .contained ul li.oppose+li.oppose>span.icon, +#chat_widget .contained ul li.oppose+li.oppose .bubble::before, +#chat_widget .contained:not(.muc) ul li:not(.oppose):not(.separator):not(.date)+li:not(.oppose)>span.icon, +#chat_widget .contained:not(.muc) ul li:not(.oppose):not(.separator):not(.date)+li:not(.oppose) .bubble::before { + opacity: 0; + pointer-events: none; +} + +#chat_widget .contained section>ul>li { + animation: fadeIn 0.2s; + padding: 0 1rem; +} + +#chat_widget .contained .placeholder { + display: none; +} + +#chat_widget .placeholder.show { + display: block; + animation: fadeIn 1s; +} + +.emojis_grid { + padding: 0 1rem; + display: grid; + grid-template-columns: repeat(6, 1fr); +} + +@media screen and (min-width: 1025px) { + .emojis_grid { + grid-template-columns: repeat(8, 1fr); + } +} + +.emojis.results, +.emojis:last-child { + margin-bottom: 1rem; +} + +.emojis_grid img { + text-align: center; + padding: 1rem 1.5rem; + font-size: 0; + position: relative; +} + +.emojis_grid.main { + border-bottom: 1px solid rgba(var(--movim-font), 0.12); + padding-bottom: 0.5rem; + margin-bottom: 0.5rem; +} + +#drawer section:has(.emojis_grid) { + margin-top: 0.75rem; +} + +.emojis_grid.results:empty, +.emojis_grid.results:not(:empty)~.emojis_grid { + display: none; +} + +#chat_widget li.main .control.active:hover, +#chat_widget li.main .primary.active:hover, +.emojis_grid img:hover { + cursor: pointer; + background-color: rgba(var(--movim-font), 0.05); + border-radius: 0.5rem; +} + +#chat_widget textarea#chat_textarea~span.control:hover { + border-radius: 0.5rem 3rem 3rem 0.5rem; +} + +#chat_widget div.quoted { + border-right: 3px solid var(--movim-accent); + border-radius: 0 3px 3px; +} + +/* Parent */ + +#chat_widget div.parent { + border-left: 0.25rem solid gray; + padding: 0 1rem; +} + +#chat_widget .bubble div div.parent { + margin: 0.25rem 0; +} + +#chat_widget .bubble div+div div.parent { + margin-top: 1rem; +} + +#chat_widget div.parent[data-parent-id]:hover { + cursor: pointer; + background-color: rgba(var(--movim-font), 0.04); +} + +#chat_widget div.parent span, +#chat_widget div.parent p { + font-size: 1.6rem; + display: block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + line-height: 2.4rem; +} + +#chat_widget .bubble div.parent p { + color: rgba(var(--movim-font), 0.60); + white-space: pre-wrap; +} + +/* Date element */ + +li div.bubble:after { + content: attr(data-publishedprepared); + line-height: 1.5rem; + right: 1rem; + bottom: 1rem; + position: absolute; + pointer-events: none; +} + +li div.bubble.file:not(.audio):after { + right: 0; + bottom: 0.5rem; +} + +/* Emojis */ + +#chat_widget .bubble ul.reactions { + display: flex; + flex-wrap: wrap; +} + +#chat_widget .bubble.file .reactions { + margin-right: 4.5rem; + margin-top: -2rem; +} + +#chat_widget .bubble.file .card~.reactions { + margin-top: 0; +} + +#chat_widget .bubble div span.reaction, +#chat_widget .bubble div span.reply, +#chat_widget .bubble ul.reactions li { + list-style-type: none; + background-color: rgba(var(--movim-background-main), 1); + color: rgba(var(--movim-font), 0.75); + padding: 0 0.5rem; + border-radius: 0.5rem; + line-height: 3rem; + font-size: 2rem; + margin: 0.25rem 0; + display: inline-flex; + z-index: 1; + border: solid 1px transparent; + box-shadow: var(--elevation-0); + transition: background-color 0.3s ease; +} + +#chat_widget .bubble div span.reaction:hover, +#chat_widget .bubble div span.reply:hover, +#chat_widget .bubble ul.reactions li:hover { + cursor: pointer; + background-color: rgba(var(--movim-element-action), 0.1); + box-shadow: var(--elevation-1); +} + +#chat_widget .bubble div span.reaction:active, +#chat_widget .bubble div span.reply:active, +#chat_widget .bubble ul.reactions li:active { + background-color: rgba(var(--movim-element-action), 0.2); + box-shadow: var(--elevation-0); +} + +#chat_widget .bubble ul.reactions li:not(:last-child) { + margin-right: 0.5rem; + font-size: 1.75rem; +} + +#chat_widget .bubble ul.reactions li i { + padding: 0; +} + +#chat_widget .bubble>div { + padding-right: 7rem; + margin-right: -7rem; + position: relative; + min-width: 3rem; +} + +#chat_widget .bubble>div:after { + font-family: 'Material Symbols'; + content: '\e15e'; + position: absolute; + right: 0; + top: -0.5rem; + background-color: rgba(var(--movim-background-main), 0.5); + color: rgba(var(--movim-font), 0.8); + font-size: 2.5rem; + width: 4rem; + line-height: 4rem; + text-align: center; + border-radius: 2rem; + transition: opacity 0.25s ease, transform .25s ease; + transform: translateX(-2rem); + opacity: 0; +} + +#chat_widget .bubble>div.reply:after { + opacity: 1; + transform: translateX(0); +} + +#chat_widget .bubble:not(.file)>div:last-child { + padding-right: 12rem; +} + +#chat_widget .bubble div span.reaction, +#chat_widget .bubble div span.reply, +#chat_widget .bubble ul.reactions:empty { + display: none; +} + +@media screen and (min-width: 1025px) { + + #chat_widget li .bubble div:not(.encrypted):hover p:not(.retracted)~ul.reactions:empty~span.reaction, + #chat_widget li .bubble div:not(.encrypted):hover p:not(.retracted)~span.reply { + display: inline-flex; + position: absolute; + left: calc(100% - 7rem); + bottom: -0.5rem; + } + + #chat_widget li .bubble.file div:not(.encrypted):hover p:not(.retracted)~ul.reactions:empty~span.reaction, + #chat_widget li .bubble.file div:not(.encrypted):hover p:not(.retracted)~span.reply { + transform: translateX(-0.75rem); + } + + #chat_widget li .bubble div:hover ul.reactions:not(:empty)~span.reply { + margin-top: -3rem; + } + + #chat_widget li .bubble div:hover ul.reactions:empty~span.reaction~span.reply { + left: calc(100% - 7rem + 3.5rem); + } +} + +#chat_widget .bubble ul.reactions li.reacted { + border-color: rgba(var(--movim-font), 0.3); + box-sizing: border-box; +} + +#chat_widget .bubble ul.reactions li img { + width: 2.25rem; + height: 3rem; + margin: 0; + padding: 0; + margin-right: 0.5rem; + order: 0; +} + +/* File element */ + +ul.list li>div.bubble.file { + margin-bottom: 1.5rem; +} + +ul.list li>div.bubble.file ul.card { + margin-bottom: 0.5rem; +} + +ul.list li>div.bubble.file ul.card+p:empty:before { + content: ' '; +} + +ul.list li>div.bubble.file>div>p>a { + display: inline-block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + max-width: 35rem; +} + +ul.list li>div.bubble.file div.file { + margin-bottom: 3rem; + border-radius: 0.75rem; + position: relative; +} + +ul.list li.oppose>div.bubble.file div.file { + text-align: right; +} + +li:not(.oppose) .bubble.file span.resource+div.file { + margin-top: 1rem; +} + +ul.list li>div.bubble.file div.file img, +ul.list li>div.bubble.file div.file video { + display: block; + width: auto; + max-height: 200px; + height: 200px; + margin-bottom: 1rem; +} + +li div.bubble.file div.file img { + max-height: 170px; + min-width: 12rem; + object-fit: cover; + border-radius: 0.75rem; + background-color: rgba(var(--movim-gray), 0.1); + background-image: url(/theme/img/broken_image.svg); + background-position: center; + background-repeat: no-repeat; +} + +li div.bubble.file video { + max-height: 200px; + background-color: rgba(var(--movim-font), 0.15); + max-width: 100%; + border-radius: 0.75rem; +} + +li.oppose .bubble.file div.file img, +li.oppose .bubble.file div.file video { + display: block; + margin-right: 0; + margin-left: auto; +} + +ul.list li>div.bubble.file div.file[data-type="image/gif"]:after { + color: white; + font-family: 'Material Symbols'; + text-shadow: 0 0 1rem rgba(0, 0, 0, 0.5); + position: absolute; + font-size: 5rem; + line-height: 5rem; + content: "\e908"; + top: 0; + left: 0.5rem; + display: block; + pointer-events: none; +} + +ul.list li>div.bubble.file div.file a span.host:after, +ul.list li>div.bubble.file div.file a span.size:after { + content: '-'; + margin: 0 0.5rem; +} + +/* Message Info */ + +#chat_widget .bubble .message span.info:after { + display: inline-block; + font-family: 'Material Symbols'; + vertical-align: middle; + font-variation-settings: 'FILL' 1; + letter-spacing: -0.5rem; +} + +#chat_widget .bubble.file .message div.file:before, +#chat_widget .bubble .message ul.card.list .block:before { + display: inline-block; + position: absolute; + top: 1rem; + right: 1.5rem; + font-family: 'Material Symbols'; + color: white; + text-shadow: 0 0 1rem rgba(0, 0, 0, 0.85); + font-variation-settings: 'FILL' 1; + letter-spacing: -0.5rem; +} + +#chat_widget .bubble.file .message div.file:before { + right: 1.5rem; +} + +#chat_widget .bubble.file[data-thumbash] { + background-image: url(attr(data-thumbhash)); +} + +#chat_widget .bubble .message ul.card.list .block:before { + color: rgba(var(--movim-font), 0.54); +} + +#chat_widget .bubble.file .message.delivered div.file:before, +#chat_widget .bubble .message.delivered span.info:after, +#chat_widget .bubble .message.delivered ul.card.list .block:before { + content: '\e5ca'; +} + +#chat_widget .bubble.file .message.displayed div.file:before, +#chat_widget .bubble .message.displayed span.info:after, +#chat_widget .bubble .message.displayed ul.card.list .block:before { + content: '\e877'; +} + +#chat_widget .bubble .message.encrypted span.info:after { + content: '\e897'; +} + +#chat_widget .bubble.file .message.edited.delivered div.file:before, +#chat_widget .bubble .message.edited.delivered span.info:after, +#chat_widget .bubble .message.edited.delivered ul.card.list .block:before { + content: '\e3c9 \e5ca'; +} + +#chat_widget .bubble .message.encrypted.delivered span.info:after { + content: '\e897 \e5ca'; +} + +#chat_widget .bubble.file .message.edited.displayed div.file:before, +#chat_widget .bubble .message.edited.displayed span.info:after, +#chat_widget .bubble .message.edited.displated ul.card.list .block:before { + content: '\e3c9 \e877'; +} + +#chat_widget .bubble .message.encrypted.displayed span.info:after { + content: '\e897 \e877'; +} + +#chat_widget .bubble.file .message span.info:after { + display: block; + margin-top: -2rem; +} + +#chat_widget .bubble.file .message ul.list.card~span.info:after, +#chat_widget .bubble.file .message div.file~span.info:after { + display: none; +} + +/* Card */ + +#chat_widget .bubble ul.card.list { + max-width: 45rem; + width: -webkit-fill-available; + padding: 0; +} + +#chat_widget .bubble ul.card.list.flex.gallery { + width: auto; +} + +/*#chat_widget .bubble ul.card.list li p:first-child { + margin-right: 2rem; +}*/ + +#chat_widget .bubble ul.card.list li span.primary:not(.thumb) { + margin: 1rem 0; +} + +#chat_widget .bubble ul.card.list li span.primary:not(.thumb) img { + display: inline-block; +} + +#chat_widget .bubble span.resource+ul.card.list li { + margin-top: 0.5rem; +} + +#chat_widget .bubble ul.card.list li { + margin-bottom: 0.5rem; +} + +#chat_widget .bubble ul.card.list .info { + display: none; +} + +#chat_widget li.oppose .bubble ul.card.list { + float: right; + grid-template-columns: none; +} + +#chat_widget li.oppose .bubble ul.card.list+* { + clear: both; + display: block; + text-align: right; +} + +#chat_widget li .bubble ul.card.list+p { + margin-right: 4.5rem; + margin-bottom: 0.25rem; +} + +/* Reply */ + +#embed:not(:empty), +#reply:not(:empty) { + animation: slideUp 0.1s; + animation-timing-function: var(--decelerate-easing); + margin: 0 0.5rem; + border-top: 1px solid rgba(var(--movim-font), 0.12); +} + +#reply li { + padding: 0.5rem 0; +} + +/* Counter */ + +#chat_widget #chatheadercounter .counter { + margin-top: 1rem; +} + + +@media screen and (min-width: 1025px) { + #chat_widget #chatheadercounter .counter { + display: none; + } +} + +/* Parent scroll */ + +#chat_widget .bubble.scroll_blink { + animation: backgroundBlink 1s; +} + +/* Composing state */ + +#chat_widget .contained section > ul.state > li { + animation: fadeIn 0.2s, slideUp 0.2s 0.1s var(--decelerate-easing) forwards; + transform: translateY(100%); +} + +#chat_widget ul.state { + overflow: hidden; +} + +#chat_widget ul.state span.primary { + opacity: 0.5; +} + +#chat_widget ul.state span.dots, +#chat_widget ul.state span.dots:before, +#chat_widget ul.state span.dots:after { + display: block; + width: 1rem; + height: 1rem; + background-color: rgba(var(--movim-font), 0.3); + border-radius: 1rem; + float: left; + margin: 1rem 2rem; + margin-right: 3rem; + position: relative; + animation: loadingFade 2s infinite; + animation-delay: 0.2s; + opacity: 0.2; +} + +#chat_widget ul.state span.dots:before, +#chat_widget ul.state span.dots:after { + display: inline-block; + position: absolute; + content: ''; + margin: 0; +} + +#chat_widget ul.state span.dots:before { + left: -1.5rem; + animation-delay: 0s; +} + +#chat_widget ul.state span.dots:after { + right: -1.5rem; + animation-delay: 0.4s; +} + +#chat_widget ul.state .bubble:not(.file) > div:last-child { + padding-right: 7rem; +} + +@keyframes loadingFade { + 0% { + opacity: 0.1; + } + + 50% { + opacity: 1; + } + + 100% { + opacity: 0.1; + } +} \ No newline at end of file diff --git a/frontend/widgets/Chat/chat.js b/frontend/widgets/Chat/chat.js new file mode 100644 index 0000000..f6c6066 --- /dev/null +++ b/frontend/widgets/Chat/chat.js @@ -0,0 +1,1862 @@ +var Chat = { + left: null, + right: null, + date: null, + separator: null, + + edit: false, + + // Scroll + lastHeight: null, + lastScroll: null, + + // Intersection discussion observer + discussionObserver: null, + + // Chat state + composing: false, + since: null, + sent: false, + + // Timer + typingTimer: null, + + // Autocomplete vars. + autocompleteList: null, + lastAutocomplete: null, + searchAutocomplete: null, + + // Touch + delay: 20, + clientWidth: null, + + startX: 0, + startY: 0, + translateX: 0, + translateY: 0, + slideAuthorized: false, + + messageStartX: 0, + messageStartY: 0, + messageTranslateX: 0, + messageTranslateY: 0, + messageSlideAuthorized: false, + + // Temporary messages, for OMEMO local messages + tempMessages: {}, + + // Last sent id, to clear the chatbox if the message is coming back by the websocket + lastSentUUID: null, + + // Local list of the room members, used to encrypt the messages + groupChatMembers: [], + + // Jingle types + jingleTypes: ['jingle_incoming', 'jingle_outgoing', 'jingle_end'], + + // Keep track of replaced messages hash when loading history or refreshing + replacedHash: [], + + init: function (date, separator, config) { + var div = document.createElement('div'); + + Chat.clientWidth = Math.abs(document.body.clientWidth); + + div.innerHTML = date; + Chat.date = div.firstChild.cloneNode(true); + div.innerHTML = separator; + Chat.separator = div.firstChild.cloneNode(true); + + Chat.pagination = config['pagination']; + Chat.delivery_error = config['delivery_error']; + Chat.action_impossible_encrypted_error = config['action_impossible_encrypted_error']; + }, + autocomplete: function (event, jid) { + RoomsUtils_ajaxMucUsersAutocomplete(jid); + }, + onAutocomplete: function (usersList) { + Chat.autocompleteList = usersList; + usersList = Object.values(usersList); + + var textarea = Chat.getTextarea(); + + var words = textarea.value.toLowerCase().trim().split(' '); + var last = words[words.length - 1].trim(); + + if (last == '') { + // Space or nothing, so we put the first one in the list + textarea.value += usersList[0] + ' '; + Chat.lastAutocomplete = usersList[0]; + Chat.searchAutocomplete = null; + } else if (typeof Chat.lastAutocomplete === 'string' + && Chat.lastAutocomplete.toLowerCase() == last + && Chat.searchAutocomplete == null) { + var index = (usersList.indexOf(Chat.lastAutocomplete) == usersList.length - 1) + ? -1 + : usersList.indexOf(Chat.lastAutocomplete); + + if (textarea.value.slice(-1) == ' ') textarea.value = textarea.value.trim() + ' '; + + // Full complete, so we iterate + Chat.lastAutocomplete = usersList[index + 1]; + textarea.value = textarea.value.slice(0, -last.length - 1) + Chat.lastAutocomplete + ' '; + Chat.searchAutocomplete = null; + } else { + // Searching for nicknames starting with + if (Chat.lastAutocomplete == null + || last != Chat.lastAutocomplete.toLowerCase()) { + Chat.searchAutocomplete = last; + Chat.lastAutocomplete = null; + } + + var start = (typeof Chat.lastAutocomplete === 'string') + ? usersList.indexOf(Chat.lastAutocomplete) + 1 + : start = 0; + + var end = false; + + for (var i = start; i < usersList.length; i++) { + if (Chat.searchAutocomplete == usersList[i].substring(0, Chat.searchAutocomplete.length).toLowerCase()) { + textarea.value = textarea.value.trim().slice(0, -last.length) + usersList[i] + ' '; + Chat.lastAutocomplete = usersList[i]; + end = true; + break; + } + } + + if (end == false) { + var found = usersList.find((user) => Chat.searchAutocomplete == user.substring(0, Chat.searchAutocomplete.length).toLowerCase()); + if (found) { + textarea.value = textarea.value.trim().slice(0, -last.length) + found + ' '; + Chat.lastAutocomplete = found; + } + } + } + }, + quoteMUC: function (nickname, add) { + var textarea = Chat.getTextarea(); + if (add) { + if (textarea.value.search(nickname) === -1) { + textarea.value = nickname + ' ' + textarea.value; + } + } else { + textarea.value = nickname + ' '; + } + + textarea.focus(); + }, + insertAtCursor: function (textToInsert) { + textarea = Chat.getTextarea(); + + const value = textarea.value; + const start = textarea.selectionStart; + const end = textarea.selectionEnd; + + textarea.value = value.slice(0, start) + textToInsert + value.slice(end); + textarea.selectionStart = textarea.selectionEnd = start + textToInsert.length; + + textarea.focus(); + Chat.toggleAction(); + }, + get: function (jid, light) { + if (MovimUtils.urlParts().page == 'chat') { + if (jid != undefined) { + MovimTpl.showPanel(); + document.querySelector('#chat_widget').innerHTML = ''; + Chats.setActive(jid); + } else { + Chats.clearAllActives(); + MovimUtils.clearAllActivesRooms(); + } + + Chat_ajaxGet(jid, light); + } else if (MovimUtils.urlParts().page == 'space') { + if (MovimUtils.isMobile()) { + Chat_ajaxGet(); + } else { + MovimTpl.hidePanel(); + } + } + }, + getPresences: function (room) { + if (!MovimUtils.isMobile()) { + Chat_ajaxHttpGetPresences(room); + } + }, + getRoom: function (jid) { + MovimTpl.showPanel(); + document.querySelector('#chat_widget').innerHTML = ''; + MovimUtils.setActiveRoom(jid); + + Chat_ajaxGetRoom(jid); + }, + getHistory: function (tryMam) { + var textarea = Chat.getTextarea(); + let firstMessage = Chat.getDiscussion()?.querySelector('.message'); + + if (textarea) { + Chat_ajaxGetHistory( + textarea.dataset.jid, + firstMessage ? firstMessage.dataset.published : null, + Boolean(textarea.dataset.muc), + true, + tryMam); + } + }, + sendMessage: function () { + var textarea = Chat.getTextarea(); + var text = textarea.value; + + var isMuc = Boolean(textarea.dataset.muc); + var mucReceipts = false; + var jid = textarea.dataset.jid; + + if (isMuc) { + var counter = document.querySelector('#chat_widget header span.counter'); + mucReceipts = (counter && counter.dataset.mucreceipts == 'true'); + } + + Chat.removeSeparator(); + Chat.scrollTotally(); + + document.querySelector('#embed').innerHTML = ''; + + // In case it was in edit mode + textarea.parentNode.parentNode.parentNode.classList.remove('edit'); + + textarea.focus(); + + if (!Chat.sent) { + Chat.enableSending(); + + if (Chat.edit) { + Chat.edit = false; + + if (text == '') { + Chat.disableSending(); + } else { + let correct = Chat_ajaxHttpDaemonCorrect(jid, textarea.dataset.mid, text); + correct.then(e => { + Chat.sentMessage(); + }).catch(e => { + Chat.failedMessage(text); + }); + } + + delete textarea.dataset.mid; + } else { + var reply = document.querySelector('#reply > div'); + replyMid = false; + + if (reply) { + replyMid = reply.dataset.mid; + Chat_ajaxClearReply(); + }; + + if (Chat.getOmemoState() == 'build') { + var store = new ChatOmemoStorage(); + store.getLocalRegistrationId().then(deviceId => { + if (deviceId) { + if (isMuc) { + Chat.checkOMEMOState(jid, isMuc); + } else { + ChatOmemo_ajaxGetDevicesList(jid); + } + } else { + Chat.disableSending(); + ChatOmemo.refreshBundle(store.getOwnSessionsIds()); + } + }); + } else if (Chat.getOmemoState() == 'yes') { + if (!text) { + Chat.disableSending(); + return; + } + + // Try to encrypt the message + let omemo = ChatOmemo.encrypt(jid, text, isMuc); + if (omemo) { + // TODO, disable the other risky features + omemo.then(omemoheader => { + Chat.lastSentUUID = id = omemoheader.id = crypto.randomUUID(); + Chat.tempMessages[id] = text; + + let request = Chat_ajaxHttpDaemonSendMessage(id, jid, null, isMuc, null, replyMid, mucReceipts, omemoheader); + request.then(e => { + Chat.sentMessage(); + }).catch(e => { + Chat.failedMessage(); + }); + }); + } + } else { + Chat.lastSentUUID = id = crypto.randomUUID(); + let request = Chat_ajaxHttpDaemonSendMessage(id, jid, text, isMuc, null, replyMid, mucReceipts); + request.then(response => { + response.ok ? Chat.sentMessage() : Chat.failedMessage(text); + }).catch(e => { + Chat.failedMessage(text); + }); + } + } + } + }, + sentId: function (id) { + if (Chat.tempMessages[id]) { + ChatOmemoDB.putMessage(id, Chat.tempMessages[id]); + delete Chat.tempMessages[id]; + } + }, + setGroupChatMembers: function (members) { + Chat.groupChatMembers = members; + }, + + checkOMEMOState: function (jid, muc) { + var store = new ChatOmemoStorage(); + + let build = muc + ? Chat.groupChatMembers.some( + member => !store.isJidResolved(member) + ) + : !store.isJidResolved(jid); + + ChatOmemo.getContactState(jid).then(enabled => { + let state = 'no'; + + if (enabled) { + state = build + ? 'build' + : 'yes'; + } else { + state = 'disabled'; + } + + Chat.setOmemoState(state); + }); + }, + + setOmemoState: function (state) { + let textarea = Chat.getTextarea(); + if (textarea) { + textarea.dataset.encryptedstate = state; + } + }, + + getOmemoState: function () { + let textarea = Chat.getTextarea(); + if (textarea) { + return textarea.dataset.encryptedstate; + } + }, + + enableSending: function () { + Chat.sent = true; + var send = document.querySelector('.chat_box'); + if (send) { + send.classList.add('sending'); + send.classList.remove('finished'); + } + }, + disableSending: function () { + Chat.sent = false; + var send = document.querySelector('.chat_box'); + if (send) { + send.classList.remove('sending'); + } + }, + finishedSending: function () { + Chat.sent = false; + var send = document.querySelector('.chat_box'); + if (send) send.classList.add('finished'); + }, + + sentMessage: function () { + Chat.disableSending(); + + var textarea = Chat.getTextarea(); + localStorage.removeItem(textarea.dataset.jid + '_message'); + Chat.clearReplace(); + Chat.toggleAction(); + Chat.lastSentUUID = null; + }, + failedMessage: function (text) { + // Race condition if the Ajax request failed but the message was still handled + if (Chat.lastSentUUID == null) return; + + Toast.send(Chat.delivery_error); + Chat.disableSending(); + Chat.lastSentUUID = null; + + // We try to put back the text in place + var textarea = Chat.getTextarea(); + if (textarea.value == '') { + textarea.value = text; + } + }, + clearReplace: function () { + Chat.edit = false; + var textarea = Chat.getTextarea(); + textarea.value = localStorage.getItem(textarea.dataset.jid + '_message'); + }, + editPrevious: function () { + var textarea = Chat.getTextarea(); + + if (textarea.value != '') { + return; + } + + if (!Chat.isEncrypted()) { + Chat_ajaxLast(textarea.dataset.jid, Boolean(textarea.dataset.muc)); + } else { + Toast.send(Chat.action_impossible_encrypted_error); + } + }, + resolveMessage: function (mid) { + ChatActions_ajaxResolveMessage(mid); + }, + refreshMessage: function (mid) { + Chat_ajaxRefreshMessage(mid); + }, + focus: function () { + Chat.sent = false; + Chat.composing = false; + Chat.clearReplace(); + Chat.toggleAction(); + + var textarea = Chat.getTextarea(); + textarea.onkeydown = function (event) { + if ((event.key == 'ArrowLeft' && Chat.tryPreviousEmoji()) + || (event.key == 'ArrowRight' && Chat.tryNextEmoji())) { + event.preventDefault(); + return; + } + + if (this.dataset.muc + && textarea.value.length > 0 + && event.key == 'Tab') { + event.preventDefault(); + if (Chat.autocompleteList == null) { + Chat.autocomplete(event, this.dataset.jid); + } else { + Chat.onAutocomplete(Chat.autocompleteList); + } + return; + } + + if (event.key == 'ArrowUp' && !Chat.isEncrypted()) { + Chat.editPrevious(); + } else if (event.key == 'Escape' + && (this.value == '' || Chat.edit == true)) { + localStorage.removeItem(textarea.dataset.jid + '_message'); + textarea.parentNode.parentNode.parentNode.classList.remove('edit'); + Chat.clearReplace(); + } + }; + + textarea.onkeypress = function (event) { + if (event.key == 'Enter') { + // An emoji was selected + var emoji = document.querySelector('.chat_box .emojis img.selected'); + if (emoji) { + Chat.selectEmoji(emoji); + event.preventDefault(); + return; + } + + if ((MovimEvents.isTouch && !event.shiftKey) + || (!MovimEvents.isTouch && event.shiftKey)) { + return; + } + + Chat.composing = false; + Chat.sendMessage(); + + return false; + } else if (Chat.composing === false) { + Chat.composing = true; + Chat_ajaxSendComposing(this.dataset.jid, Boolean(this.dataset.muc)); + Chat.since = new Date().getTime(); + } + }; + + textarea.oninput = function () { + localStorage.setItem(this.dataset.jid + '_message', this.value); + + // A little timeout to not spam the server with composing states + setTimeout(function () { + if (Chat.since + 3000 < new Date().getTime()) { + Chat.composing = false; + } + }, 3000); + + if (Chat.typingTimer != null) clearTimeout(Chat.typingTimer); + if (this.value) { + if (Chat.lastResolvedUrl != this.value) Chat.lastResolvedUrl = null; + Chat.typingTimer = setTimeout(e => Chat.checkResolveUrl(this.value), 1000); + } + + Chat.checkEmojis(this.value); + Chat.scrollRestore(); + Chat.toggleAction(); + + document.querySelector('#embed').innerHTML = ''; + } + + textarea.addEventListener('paste', function (e) { + clearTimeout(Chat.typingTimer); + + let clipboardData = e.clipboardData || window.clipboardData; + let pastedData = clipboardData.getData('Text'); + + Chat.checkResolveUrl(pastedData); + Chat.toggleAction(); + }); + + if (document.documentElement.clientWidth > 1024) { + textarea.focus(); + } + + Chat.autocompleteList = null; + }, + checkResolveUrl(content) { + let url; + + try { + url = new URL(content); + } catch (_) { + return false; + } + + if ((url.protocol === "http:" || url.protocol === "https:") + && !Chat.isEncrypted() + && !content.includes(' ') + && Chat.lastResolvedUrl != content) { + Chat.enableSending(); + + ChatActions_ajaxResolveUrl(content); + + Chat.lastResolvedUrl = content; + } + }, + checkEmojis: function (value, reaction, noColon) { + value = value.toLowerCase(); + + listSelector = reaction + ? '.emojis_grid.results' + : '.chat_box .emojis'; + + var emojisList = document.querySelector(listSelector); + emojisList.innerHTML = ''; + + if (!value) return; + + if (noColon || value.lastIndexOf(':') > -1 && value.length > value.lastIndexOf(':') + 2) { + var first = true; + + Object.keys(window.favoriteEmojis) + .filter(key => key.includes(value.substring(value.lastIndexOf(':') + 1)) && !key.includes('type')) + .slice(0, 20) + .forEach(found => { + var img = document.createElement('img'); + img.setAttribute('src', favoriteEmojis[found]); + img.classList.add('emoji'); + if (reaction) img.classList.add('large'); + + if (first) { + img.classList.add('selected'); + first = false; + } + + img.title = ':' + found + ':'; + img.dataset.emoji = ':' + found + ':'; + + if (!reaction) { + img.addEventListener('click', e => { + Chat.selectEmoji(e.target); + }); + } + + emojisList.appendChild(img); + }); + + Object.keys(window.emojis) + .filter(key => key.includes(value.substring(value.lastIndexOf(':') + 1)) && !key.includes('type')) + .slice(0, 30) + .forEach(found => { + var img = document.createElement('img'); + img.setAttribute('src', BASE_URI + '/theme/img/emojis/svg/' + emojis[found].c + '.svg'); + img.classList.add('emoji'); + if (reaction) img.classList.add('large'); + + if (first) { + img.classList.add('selected'); + first = false; + } + + img.title = ':' + found + ':'; + img.dataset.emoji = emojis[found].e; + + if (!reaction) { + img.addEventListener('click', e => { + Chat.selectEmoji(e.target); + }); + } + + emojisList.appendChild(img); + }); + } + }, + selectEmoji: function (emoji) { + var emojisList = document.querySelector('.chat_box .emojis'); + var textarea = Chat.getTextarea(); + + textarea.value = textarea.value.substring(0, textarea.value.lastIndexOf(':')); + emojisList.innerHTML = ''; + Chat.insertAtCursor(emoji.dataset.emoji + ' '); + }, + tryNextEmoji: function () { + var currentEmoji = document.querySelector('.chat_box .emojis img.selected'); + + if (currentEmoji) { + currentEmoji.classList.remove('selected'); + + if (currentEmoji.nextSibling) { + currentEmoji.nextSibling.classList.add('selected'); + } else { + document.querySelector('.chat_box .emojis img:first-child').classList.add('selected'); + } + + return true; + } + + return false; + }, + tryPreviousEmoji: function () { + var currentEmoji = document.querySelector('.chat_box .emojis img.selected'); + + if (currentEmoji) { + currentEmoji.classList.remove('selected'); + + if (currentEmoji.previousSibling) { + currentEmoji.previousSibling.classList.add('selected'); + } else { + document.querySelector('.chat_box .emojis img:last-child').classList.add('selected'); + } + + return true; + } + + return false; + }, + setTextarea: function (value, mid) { + Chat.edit = true; + var textarea = Chat.getTextarea(); + textarea.value = value; + textarea.parentNode.parentNode.parentNode.classList.add('edit'); + + if (mid) { + textarea.dataset.mid = mid; + } + + textarea.focus(); + }, + setConfig(pagination, delivery_error, action_impossible_encrypted_error) { + Chat.pagination = pagination; + Chat.delivery_error = delivery_error; + Chat.action_impossible_encrypted_error = action_impossible_encrypted_error; + }, + setSpecificElements: function (left, right) { + var div = document.createElement('div'); + + div.innerHTML = left; + Chat.left = div.firstChild.cloneNode(true); + div.innerHTML = right; + Chat.right = div.firstChild.cloneNode(true); + }, + setScrollBehaviour: function () { + var discussion = Chat.getDiscussion(); + if (!discussion) return; + + discussion.onscroll = function () { + // Don't get more history the conversation is already empty + if (discussion.querySelector('.conversation').innerHTML != '' && this.scrollTop < 10) { + Chat.getHistory(true); + } + + Chat.setScroll(); + }; + + Chat.setScroll(); + }, + setScroll: function () { + var discussion = Chat.getDiscussion(); + if (!discussion) return; + + Chat.lastHeight = discussion.scrollHeight; + Chat.lastScroll = discussion.scrollTop + discussion.clientHeight; + + var button = document.querySelector('#chat_widget #scroll_down.button.action'); + + if (Chat.isScrolled()) { + button.classList.remove('show'); + } else { + button.classList.add('show'); + } + }, + isScrolled: function () { + return Chat.lastHeight - 5 <= Chat.lastScroll; + }, + scrollRestore: function () { + var discussion = Chat.getDiscussion(); + if (!discussion) return; + + if (Chat.isScrolled()) { + Chat.scrollTotally(); + } else { + discussion.scrollTop = Chat.lastScroll - discussion.clientHeight; + } + }, + scrollTotally: function () { + var discussion = Chat.getDiscussion(); + if (!discussion) return; + + discussion.scrollTop = discussion.scrollHeight; + }, + setObservers: function () { + var options = { + root: Chat.getDiscussion(), + rootMargin: '0px', + threshold: 1.0 + }; + Chat.discussionObserver = new IntersectionObserver((entries) => { + entries.forEach((entrie) => { + if (entrie.target.classList.contains('gif') && entrie.isIntersecting == true) { + entrie.target.play(); + } else { + entrie.target.pause(); + } + }); + }, options); + }, + scrollToSeparator: function () { + var discussion = Chat.getDiscussion(); + if (!discussion) return; + + var separator = discussion.querySelector('.separator'); + if (separator) { + discussion.scrollTop = separator.offsetTop - 65; + Chat.setScroll(); + } + }, + removeSeparator: function () { + var separator = Chat.getDiscussion().querySelector('li.separator'); + if (separator) separator.remove(); + }, + setReactionButtonBehaviour: function () { + let reactions = document.querySelectorAll('#chat_widget span.reaction'); + let i = 0; + + while (i < reactions.length) { + reactions[i].onclick = function (e) { + e.stopPropagation(); + Stickers_ajaxReaction(this.dataset.mid); + } + + i++; + } + }, + setParentScrollBehaviour: function () { + let toParents = document.querySelectorAll('#chat_widget div.parent'); + let i = 0; + + while (i < toParents.length) { + toParents[i].onclick = function (e) { + var parentMsg = document.getElementById('id' + this.dataset.parentId); + if (!parentMsg) { + parentMsg = document.getElementById('id' + this.dataset.parentReplaceId) + } + if (parentMsg) { + Chat.scrollAndBlinkMessage(parentMsg) + } + } + + i++; + } + }, + scrollAndBlinkMessage: function (msg) { + scrollToLi = msg.parentNode.parentNode; + + msg.parentNode.classList.add('scroll_blink'); + + setTimeout(() => { + msg.parentNode.classList.remove('scroll_blink'); + }, 1000); + + document.querySelector('#chat_widget .contained').scrollTo({ + top: scrollToLi.offsetTop - 160, + left: 0 + }); + }, + scrollAndBlinkMessageMid: function (mid) { + setTimeout(() => { + Chat.scrollAndBlinkMessage(document.querySelector('div[data-mid="' + mid + '"')); + }, 500) + }, + setVideoObserverBehaviour: function () { + document.querySelectorAll('.file video').forEach(video => { + Chat.discussionObserver.observe(video); + }); + }, + setAudioPlayersBehaviour: function () { + document.querySelectorAll('.audio_player').forEach((audioPlayer, index, audioPlayers) => { + var audio = audioPlayer.querySelector('audio'); + var buttonPlayPause = audioPlayer.querySelector('span.play_pause'); + var progressBar = audioPlayer.querySelector('input[type=range]'); + var timer = audioPlayer.querySelector('p.timer'); + let mouseDownOnSlider = false; + + audio.onloadeddata = function () { + progressBar.value = 0; + timer.innerHTML = MovimUtils.cleanTime(audio.currentTime) + ' / ' + MovimUtils.cleanTime(0); + } + + audio.ontimeupdate = function () { + if (!mouseDownOnSlider) { + progressBar.value = audio.currentTime / audio.duration * 100; + timer.innerHTML = MovimUtils.cleanTime(audio.currentTime) + + ' / ' + + MovimUtils.cleanTime(Number.isFinite(audio.duration) ? audio.duration : 0); + } + } + + audio.onplay = function () { + buttonPlayPause.querySelector('i').innerHTML = 'pause'; + }; + + audio.onpause = function () { + buttonPlayPause.querySelector('i').innerHTML = 'play_arrow'; + }; + + audio.onended = function () { + var maybeNext = audioPlayers[index + 1]; + + if (maybeNext) { + maybeNext.querySelector('audio').play(); + } + } + + progressBar.onchange = function () { + const pct = progressBar.value / 100; + audio.currentTime = (audio.duration || 0) * pct; + } + + progressBar.onmousedown = function () { + mouseDownOnSlider = true; + } + + progressBar.onmouseup = function () { + mouseDownOnSlider = false; + } + + buttonPlayPause.onclick = function () { + if (audio.paused) { + document.querySelectorAll('.audio_player:not(#' + audioPlayer.id + ') audio').forEach(otherAudio => otherAudio.pause()); + audio.play(); + } else { + audio.pause(); + } + }; + }); + }, + setActionsButtonBehaviour: function () { + document.querySelectorAll('#chat_widget .contained span.reply').forEach(reply => + reply.onclick = function (e) { + e.stopPropagation(); + Chat_ajaxHttpDaemonReply(this.dataset.mid); + } + ); + }, + setMessagePressBehaviour: function () { + document.querySelectorAll('#chat_widget li div.bubble:not(.file) > div.message').forEach(message => { + message.onmousedown = function (e) { + setTimeout(() => { + if (e.button == 0 + && (e.target.classList.contains('message') + || e.target.parentElement.classList.contains('message')) && !(window.getSelection().toString() != '' + ) + && this.dataset.mid + && e.target.tagName.toLowerCase() != 'span') { + ChatActions_ajaxShowMessageDialog(this.dataset.mid); + } + }, 200); + } + }); + + document.querySelectorAll('#chat_widget li div.bubble.file > div.message').forEach(message => { + if (card = message.querySelector('ul.list.card > li:not(.ticket) > div')) { + card.onclick = function (e) { + ChatActions_ajaxShowMessageDialog(message.dataset.mid); + }; + } + }); + }, + setMessageSwipeBehaviour: function () { + if (MovimUtils.isMobile()) { + document.querySelectorAll('#chat_widget li div.bubble:not(.file) > div.message').forEach(message => { + message.ontouchstart = function (event) { + Chat.messageStartX = event.targetTouches[0].pageX; + Chat.messageStartY = event.targetTouches[0].pageY; + }; + + message.ontouchmove = function (event) { + Chat.messageTranslateX = parseInt(event.targetTouches[0].pageX - Chat.messageStartX); + Chat.messageTranslateY = parseInt(event.targetTouches[0].pageY - Chat.messageStartY); + if (Math.abs(Chat.messageTranslateX) > Chat.delay && Math.abs(Chat.messageTranslateX) <= Chat.clientWidth) { + if (Math.abs(Chat.messageTranslateY) < Chat.delay) { + Chat.messageSlideAuthorized = true; + } + + if (Chat.messageTranslateX < -100) { + message.classList.add('reply'); + } else { + message.classList.remove('reply'); + } + + if (Chat.messageSlideAuthorized && Chat.messageTranslateX < 0 && Chat.messageTranslateX > -110) { + message.parentNode.style.transform = 'translateX(' + (Chat.messageTranslateX + Chat.delay) + 'px)'; + } + } else { + message.parentNode.style.transform = ''; + message.classList.remove('reply'); + } + }; + + message.ontouchend = function (event) { + if (Math.abs(Chat.messageTranslateX) > 100 && Chat.messageSlideAuthorized) { + Chat_ajaxHttpDaemonReply(message.dataset.mid); + } + + message.classList.remove('reply'); + message.parentNode.style.transform = ''; + Chat.messageSlideAuthorized = false; + Chat.messageStartX = Chat.messageStartY = Chat.messageTranslateX = Chat.messageTranslateY = 0; + }; + }); + } + }, + checkDiscussion: function (page) { + for (var firstKey in page) break; + if (page[firstKey] == null) return false; + + for (var firstMessageKey in page[firstKey]) break; + var firstMessage = page[firstKey][firstMessageKey]; + if (firstMessage == null) return false; + + var contactJid = firstMessage.user_id == firstMessage.jidfrom + ? firstMessage.jidto + : firstMessage.jidfrom; + + if (document.getElementById(MovimUtils.cleanupId(contactJid) + '-discussion') + == null) return false; + + return true; + }, + appendMessagesWrapper: async function (page, prepend) { + var discussion = Chat.getDiscussion(); + + if (page && Chat.checkDiscussion(page)) { + if (discussion == null) return; + + discussion.querySelector('.placeholder.empty').classList.remove('show'); + + Chat.setScroll(); + + // Get all the messages keys + var ids = []; + Object.values(page).forEach(pageByDate => { + Object.values(pageByDate).map(message => { + if (message.omemoheader) ids.push(message.id) + }); + }); + + // Try to preload the OMEMO messages from the cache + if (ids.length > 2 && OMEMO_ENABLED) { + await ChatOmemoDB.loadMessagesByIds(ids); + } + + for (date in page) { + let messageDateTime = page[date][Object.keys(page[date])[0]].published; + let firstMessage = Chat.getDiscussion()?.querySelector('.message') + + /** + * We might have old messages reacted pushed by the server + */ + if (firstMessage + && (new Date(messageDateTime) < (new Date(firstMessage.dataset.published))) + && !prepend) { + return; + } + + if (prepend === undefined || prepend === false) { + Chat.appendDate(date, prepend); + } + + for (speakertime in page[date]) { + Chat.appendMessage(speakertime, page[date][speakertime], prepend); + } + + if (prepend && date) { + Chat.appendDate(date, prepend); + } + } + + if (prepend) { + // And we scroll where we were + var scrollDiff = discussion.scrollHeight - Chat.lastHeight; + discussion.scrollTop += scrollDiff; + + Chat.setScroll(); + } else { + Chat.scrollRestore(); + } + + var chat = document.querySelector('#chat_widget'); + var lastMessage = chat.querySelector('ul li:not(.oppose):last-child div.bubble > div:last-child'); + var textarea = Chat.getTextarea(); + + if (textarea && lastMessage) { + Chat_ajaxDisplayed( + textarea.dataset.jid, + lastMessage.id.substring(2) // 'id' is appended to the id + ); + } + } else if (discussion !== null) { + if (discussion.querySelector('ul').innerHTML === '') { + discussion.querySelector('ul').classList.remove('spin'); + discussion.querySelector('.placeholder.empty').classList.add('show'); + } + } + + if (discussion !== null) { + if (discussion.querySelectorAll('ul li:not(.oppose)').length > 0 && discussion.querySelectorAll('ul li.oppose').length == 0 + && discussion.querySelectorAll('ul li').length < 5) { + discussion.querySelector('.placeholder.first_messages').classList.add('show'); + } else { + discussion.querySelector('.placeholder.first_messages').classList.remove('show'); + } + } + + Chat.setScrollBehaviour(); + Chat.setReactionButtonBehaviour(); + Chat.setActionsButtonBehaviour(); + Chat.setParentScrollBehaviour(); + Chat.setVideoObserverBehaviour(); + Chat.setAudioPlayersBehaviour(); + Chat.setMessagePressBehaviour(); + Chat.setMessageSwipeBehaviour(); + }, + appendMessage: function (idjidtime, data, prepend) { + if (data.body === null) return; + + // Sent message where the Ajax request somehow but the message was still handled by the server + if (data.id == Chat.lastSentUUID) { + Chat.sentMessage(); + } + + var bubble = null, + mergeMsg = false, + msgStack, + refBubble; + + var textarea = Chat.getTextarea(); + var isMuc = Boolean(textarea.dataset.muc); + var jidtime = idjidtime.substring(idjidtime.indexOf('<') + 1); + + if (prepend) { + refBubble = document.querySelector('#chat_widget .contained section > ul > li:first-child'); + msgStack = document.querySelector("[data-bubble='" + jidtime + "']"); + } else { + refBubble = document.querySelector("#chat_widget .contained section > ul > li:last-child"); + var stack = document.querySelectorAll("[data-bubble='" + jidtime + "']"); + msgStack = stack[stack.length - 1]; + } + + if (msgStack != null + && msgStack.parentNode == refBubble + && data.url === false + && (data.file === undefined || data.file === null) + && (data.sticker === undefined || data.sticker === null) + && !refBubble.querySelector('div.bubble').classList.contains('sticker') + && !refBubble.querySelector('div.bubble').classList.contains('file') + && Chat.jingleTypes.indexOf(data.type) < 0 + ) { + bubble = msgStack.parentNode; + mergeMsg = true; + } else { + if (data.user_id == data.jidfrom || data.mine) { + bubble = Chat.right.cloneNode(true); + id = (data.mine) + ? data.jidfrom + : data.jidto; + } else { + bubble = Chat.left.cloneNode(true); + id = data.jidfrom; + } + + id = MovimUtils.cleanupId(id) + '-conversation'; + + bubble.querySelector('div.bubble').dataset.bubble = jidtime; + bubble.querySelector('div.bubble').dataset.publishedprepared = data.publishedPrepared; + } + + if (isMuc) { + bubble.dataset.resource = data.resource; + } + + if (refBubble && refBubble.dataset.resource == bubble.dataset.resource + && mergeMsg == false + && isMuc) { + if (prepend) { + refBubble.classList.add('sequel'); + } else { + bubble.classList.add('sequel'); + } + } + + // If there is already a msg in this bubble, create another div (next msg or replacement) + var msg = (bubble.querySelector('div.bubble p') + && bubble.querySelector('div.bubble p').innerHTML != '') + ? Chat.right.querySelector('div.bubble > div.message').cloneNode(true) + : bubble.querySelector('div.bubble > div.message'); + + var info = msg.querySelector('span.info'); + var p = msg.getElementsByTagName('p')[0]; + var reaction = msg.querySelector('span.reaction'); + var reply = msg.querySelector('span.reply'); + var reactions = msg.querySelector('ul.reactions'); + + // And we complete the message structure from the data we got... + + if (data.retracted) { + p.classList.add('retracted'); + } + + if (data.encrypted) { + msg.classList.add('encrypted'); + p.classList.add('encrypted'); + } + + if (data.body.match(/^\/me\s/)) { + p.classList.add('quote'); + data.body = data.body.substring(4); + } + + if (data.id != null) { + msg.setAttribute('id', 'id' + data.id); + } + + if (data.messageid != null) { + msg.dataset.messageid = 'messageid-' + MovimUtils.hash(data.messageid + data.jidfrom); + + /** + * If we append (during a reload) or prepend, we might have already a + * replacement message displayed, in that case we just stop here + */ + if (this.replacedHash.includes(msg.dataset.messageid)) return; + } + + if (data.rtl) { + msg.setAttribute('dir', 'rtl'); + } + + let omemo = false; + + // OMEMO handling + if (data.omemoheader && data.encrypted && !data.retracted && OMEMO_ENABLED) { + p.innerHTML = data.omemoheader.payload.substring(0, data.omemoheader.payload.length / 2); + ChatOmemo.decrypt(data).then(plaintext => { + let refreshP = document.querySelector('#id' + data.id + ' p.encrypted'); + if (refreshP) { + if (plaintext) { + let escaped = MovimUtils.linkify(MovimUtils.htmlEscape(plaintext)); + refreshP.innerHTML = ChatOmemo.searchEncryptedFile(escaped); + + refreshP.classList.remove('encrypted'); + } else { + refreshP.classList.add('error'); + } + } + }); + + omemo = true; + } + + if (data.replaceid) { + msg.classList.add('edited'); + } + + if (data.user_id == data.jidfrom || (isMuc && data.mine)) { + if (data.displayed) { + msg.classList.add('displayed'); + } else if (data.delivered) { + msg.classList.add('delivered'); + } + } + + if (data.reactionsHtml !== undefined && data.retracted == false) { + reactions.innerHTML = data.reactionsHtml; + } + + if (isMuc && data.resource) { + var resourceSpan = document.createElement('span'); + resourceSpan.classList.add('resource'); + resourceSpan.classList.add(data.color); + resourceSpan.innerText = data.resource; + + msg.appendChild(resourceSpan); + } + + if (data.sticker != null && data.retracted == false) { + bubble.querySelector('div.bubble').classList.add('file'); + p.appendChild(Chat.getStickerHtml(data)); + + } else if (data.file != null && data.card === undefined && data.file.type !== 'xmpp' && data.retracted == false) { + bubble.querySelector('div.bubble').classList.add('file'); + msg.appendChild(Chat.getFileHtml(data.file, data)); + } + + if (data.published) { + info.title = data.published; + } + + // Parent + if (data.parent) { + msg.appendChild(Chat.getParentHtml(data.parent)); + } /*else if (data.parentQuote) { + msg.appendChild(Chat.getSimpleParentHtml(data.parentQuote)); + }*/ + + if (data.card) { + bubble.querySelector('div.bubble').classList.add('file'); + msg.appendChild(Chat.getCardHtml(data.card, data.story)); + } + + msg.dataset.published = data.published; + + if (omemo == false && data.sticker === undefined) { + Chat.addQuotesHtml(msg, data.body); + } + + msg.appendChild(p); + msg.appendChild(info); + msg.appendChild(reactions); + + if (data.mid) { + if ((isMuc && data.stanzaid) + || (!isMuc && data.messageid)) { + reaction.dataset.mid = data.mid; + msg.appendChild(reaction); + } + + if (reply) { + reply.dataset.mid = data.mid; + msg.appendChild(reply); + } + + msg.dataset.mid = data.mid; + } + + var elem; + + // The following commented part introduces a security issue, see https://xmpp.org/extensions/xep-0308.html#security + if (data.replaceid /*&& (!isMuc || Boolean(textarea.dataset.mucGroup) == true)*/) { + elem = document.querySelector("[data-messageid=messageid-" + MovimUtils.hash(data.replaceid + data.jidfrom) + "]"); + msg.dataset.messageid = 'messageid-' + MovimUtils.hash(data.replaceid + data.jidfrom); + + this.replacedHash.push(msg.dataset.messageid); + } + + if (!elem) { + elem = document.getElementById('id' + data.id); + } + + if (elem) { + elem.parentElement.replaceChild(msg, elem); + mergeMsg = true; + + // If the previous message was not a file or card and is replaced by it + if ((data.file != null || data.card != null) && data.retracted == false) { + msg.parentElement.classList.add('file'); + } else { + msg.parentElement.classList.remove('file'); + } + + if (data.sticker != null && data.retracted == false) { + msg.parentElement.classList.add('sticker', 'file'); + } else { + msg.parentElement.classList.remove('sticker'); + } + } else { + if (prepend) { + bubble.querySelector('div.bubble').insertBefore(msg, bubble.querySelector('div.bubble').firstChild); + } else { + bubble.querySelector('div.bubble').appendChild(msg); + } + } + + // MUC specific + if (isMuc) { + if (data.moderator) { + bubble.querySelector('div.bubble').classList.add('moderator'); + } + + icon = bubble.querySelector('span.primary.icon'); + + if (icon.querySelector('img') == undefined) { + if (data.icon_url) { + var img = document.createElement('img'); + img.setAttribute('src', data.icon_url); + img.setAttribute('loading', 'lazy'); + icon.appendChild(img); + } + + if (data.resource) { + icon.dataset.resource = data.resource; + } else { + icon.innerHTML = ''; + + var i = document.createElement('i'); + i.className = 'material-symbols'; + i.innerText = 'notes'; + + icon.appendChild(i); + } + } + + if (data.quoted) { + bubble.querySelector('div.bubble').classList.add('quoted'); + } + } + + if (!mergeMsg) { + if (prepend) { + MovimTpl.prepend('#' + id, bubble.outerHTML); + } else { + MovimTpl.append('#' + id, bubble.outerHTML); + } + } + }, + appendDate: function (date, prepend) { + var list = document.querySelector('#chat_widget > div ul.conversation'); + + if (!list) return; + + dateNode = Chat.date.cloneNode(true); + dateNode.querySelector('p').innerHTML = date; + dateNode.id = MovimUtils.cleanupId(date); + + if (prepend) { + if (list.firstChild.className == 'date') return; + + if (existingDate = document.getElementById(MovimUtils.cleanupId(date))) { + existingDate.remove(); + } + + list.insertBefore(dateNode, list.firstChild); + } else { + if (document.getElementById(MovimUtils.cleanupId(date))) { + return; + } + + list.appendChild(dateNode); + } + }, + insertSeparator: function (counter) { + separatorNode = Chat.separator.cloneNode(true); + + var list = document.querySelector('#chat_widget > div ul.conversation'); + + if (!list || list.querySelector('li.separator')) return; + + var messages = document.querySelectorAll('#chat_widget > div ul.conversation div.bubble p'); + + if (messages.length > counter && counter > 0) { + var p = messages[messages.length - counter]; + list.insertBefore(separatorNode, p.parentNode.parentNode.parentNode); + } + }, + getStickerHtml: function (data) { + var img = document.createElement('img'); + img.classList.add('sticker'); + + if (data.sticker.url) { + if (data.sticker.thumb) { + img.setAttribute('src', data.sticker.thumb); + } else { + img.setAttribute('src', data.sticker.url); + } + + if (data.sticker.width) img.setAttribute('width', data.sticker.width); + if (data.sticker.height) { + img.setAttribute('height', data.sticker.height); + } else { + img.setAttribute('height', '170'); + } + } + + return img; + }, + getCardHtml: function (card, story) { + var ul = document.createElement('ul'); + + ul.innerHTML = card; + ul.setAttribute('class', story + ? 'list card shadow flex fourth gallery active' + : 'list card middle noanim shadow active'); + + if (story) { + ul.querySelector('li').classList.add('story'); + } + + return ul; + }, + getFileHtml: function (file, data) { + // Inline files + if (file.disposition == 'inline' && (!file.preview || !file.preview.height) && file.type.substring(0, 5) == 'image') { + var img = document.createElement('img'); + img.classList.add('sticker'); + img.setAttribute('src', file.url); + img.setAttribute('height', '170'); + + return img; + } + + var div = document.createElement('div'); + div.classList.add('file'); + + if (file.name) { + div.dataset.type = file.type; + + if (file.preview) { + var img = document.createElement('img'); + if (file.preview.url) { + img.setAttribute('src', file.preview.thumb ?? file.preview.url); + + if (file.preview.width && file.preview.height) { + img.setAttribute('width', file.preview.width); + img.setAttribute('height', file.preview.height); + } else if (file.thumbnail_width && file.thumbnail_height) { + img.setAttribute('width', file.thumbnail_width); + img.setAttribute('height', file.thumbnail_height); + } + } + + if (file.preview.title) { + img.title = file.preview.title; + } + + if (file.preview.picture) { + img.classList.add('active'); + img.setAttribute('onclick', 'Preview_ajaxHttpShow("' + file.preview.url + '", ' + data.mid + ')'); + } + + if (file.preview.thumbnail_type == 'image/thumbhash' && file.preview.thumbnail_url) { + try { + div.style.background = `center / cover url(${thumbHashToDataURL(MovimUtils.base64ToBinary(file.preview.thumbnail_url))})`; + } catch (error) { + console.log('Cannot handle thumbhash hash'); + } + } + + div.appendChild(img); + } + + if (file.type == 'audio/ogg' || file.type == 'audio/opus' || file.type == 'audio/mpeg') { + div.appendChild(Chat.getAudioPlayer(file)); + } else if (file.type == 'video/webm' || file.type == 'video/mp4') { + div.appendChild(Chat.getVideoPlayer(file)); + } + + var url = new URL(file.url); + + // Tenor implementation and inline files + if (url.host && ['media.tenor.com', 'static.klipy.com'].includes(url.host) + || file.type == 'audio/ogg' || file.type == 'audio/opus' || file.type == 'audio/mpeg' + || file.disposition == 'inline') { + return div; + } + + if (!file.preview) { + var a = document.createElement('a'); + + a.textContent = file.name; + a.href = file.url; + a.target = '_blank'; + a.rel = 'noopener noreferrer'; + a.title = file.url; + + div.appendChild(a); + if (file.host) { + var host = document.createElement('span'); + host.innerHTML = file.host; + host.className = 'host'; + a.prepend(host); + } + + if (file.size > 0) { + var span = document.createElement('span'); + span.innerHTML = file.cleansize; + span.className = 'size'; + + a.prepend(span); + } + } + } + + return div; + }, + getAudioPlayer: function (file) { + var div = document.createElement('div'); + div.setAttribute('title', file.name); + div.classList.add('audio_player'); + div.id = 'a_' + file.message_mid; + + var audio = document.createElement('audio'); + audio.setAttribute('src', file.url + '#t=0.01'); + //audio.setAttribute('controls', ''); + div.appendChild(audio); + + + var playPauseButton = document.createElement('span'); + playPauseButton.classList.add('button', 'flat', 'gray'); + playPauseButton.classList.add('play_pause'); + var i = document.createElement('i'); + i.className = 'material-symbols'; + i.innerText = 'play_arrow'; + playPauseButton.appendChild(i); + + div.appendChild(playPauseButton); + + var timer = document.createElement('p'); + timer.classList.add('timer'); + + div.appendChild(timer); + + var progressBar = document.createElement('input'); + progressBar.type = 'range'; + progressBar.value = 0; + progressBar.setAttribute('min', 0); + progressBar.setAttribute('max', 100); + progressBar.setAttribute('step', 0.1); + + div.appendChild(progressBar); + + var downloadButton = document.createElement('a'); + downloadButton.classList.add('button', 'flat', 'gray'); + downloadButton.href = file.url; + downloadButton.target = '_blank'; + var i = document.createElement('i'); + i.className = 'material-symbols'; + i.innerText = 'file_download'; + downloadButton.appendChild(i); + + div.appendChild(downloadButton); + + return div; + }, + getVideoPlayer: function (file) { + var video = document.createElement('video'); + video.setAttribute('src', file.url + '#t=0.01'); + video.setAttribute('loop', 'loop'); + + if (file.thumbnail_url != null) { + video.setAttribute('poster', file.thumbnail_url); + video.setAttribute('width', file.thumbnail_width); + video.setAttribute('height', file.thumbnail_height); + } else { + video.setAttribute('poster', BASE_URI + 'theme/img/poster.svg'); + } + + var url = new URL(file.url); + + // Tenor implementation + if ((url.host && ['media.tenor.com', 'static.klipy.com'].includes(url.host)) || file.disposition == 'inline') { + video.classList.add('gif'); + } else { + video.setAttribute('controls', 'controls'); + video.setAttribute('preload', 'metadata'); + } + + return video; + }, + addQuotesHtml: function (msg, body) { + let div = null; + let p = null; + + if (!body.startsWith(' { + if (line.startsWith('> ') || line == '>') { + p = null; + + if (div == null) { + div = document.createElement('div'); + div.classList.add('parent'); + } + + let divP = document.createElement('p'); + let trimmed = line.substring('4'); + divP.innerHTML = trimmed == '' + ? ' ' + : trimmed + div.appendChild(divP); + + msg.appendChild(div); + } else { + div = null; + + if (p == null) { + p = document.createElement('p'); + p.innerHTML = line; + } else { + p.innerHTML += "\n" + line; + } + + msg.appendChild(p); + } + }); + return; + } + + p = msg.getElementsByTagName('p')[0]; + p.innerHTML = body; + }, + + getParentHtml: function (parent) { + var div = document.createElement('div'); + div.classList.add('parent'); + div.dataset.parentReplaceId = parent.replaceid + div.dataset.parentId = parent.id; + div.id = 'parent' + parent.id; + + var span = document.createElement('span'); + + if (parent.color) { + span.classList.add('resource'); + span.classList.add(parent.color); + } + + span.classList.add('from'); + span.innerHTML = parent.fromName; + div.appendChild(span); + + var p = document.createElement('p'); + div.appendChild(p); + + if (parent.omemoheader && OMEMO_ENABLED) { + p.innerHTML = parent.omemoheader.payload.substring(0, parent.omemoheader.payload.length / 2); + ChatOmemo.decrypt(parent).then(plaintext => { + let refreshP = document.querySelector('#parent' + parent.id + ' p'); + if (refreshP) { + if (plaintext) { + refreshP.innerText = plaintext; + } else { + refreshP.classList.add('error'); + } + } + }); + } else { + p.innerHTML = parent.body; + } + + return div; + }, + toggleAction: function () { + var chatBox = document.querySelector('#chat_widget .chat_box'); + + if (chatBox) { + if (Chat.getTextarea().value.length > 0) { + chatBox.classList.add('compose'); + Chat.toggleAttach(true); + } else { + chatBox.classList.remove('compose'); + } + } + }, + toggleAttach: function (forceDisabled) { + var attach = document.querySelector('#chat_widget .chat_box span.attach'); + + if (attach) { + if (forceDisabled) { + attach.classList.remove('enabled'); + } else { + attach.classList.toggle('enabled'); + } + } + }, + getTextarea: function () { + var textarea = document.querySelector('#chat_textarea'); + if (textarea) return textarea; + }, + isEncrypted: function () { + return (Chat.getTextarea() && Chat.getTextarea().dataset.encryptedstate == 'yes'); + }, + getDiscussion: function () { + return document.querySelector('#chat_widget div.contained'); + }, + touchEvents: function () { + var chat = document.querySelector('#chat_widget'); + if (!chat) return; + + chat.addEventListener('touchstart', function (event) { + chat.classList.remove('moving'); + Chat.startX = event.targetTouches[0].pageX; + Chat.startY = event.targetTouches[0].pageY; + }, true); + + chat.addEventListener('touchmove', function (event) { + Chat.translateX = parseInt(event.targetTouches[0].pageX - Chat.startX); + Chat.translateY = parseInt(event.targetTouches[0].pageY - Chat.startY); + + if (Chat.translateX > Chat.delay && Chat.translateX <= Chat.clientWidth) { + // If the horizontal movement is allowed and the vertical one is not important + // we authorize the slide + if (Math.abs(Chat.translateY) < Chat.delay) { + Chat.slideAuthorized = true; + } + + if (Chat.slideAuthorized) { + chat.style.transform = 'translateX(' + (Chat.translateX - Chat.delay) + 'px)'; + } + } + }, true); + + chat.addEventListener('touchend', function (event) { + chat.classList.add('moving'); + + if (Chat.translateX > (Chat.clientWidth / 4) && Chat.slideAuthorized) { + MovimTpl.hidePanel(); + Chat.get(null, true); + } + + chat.style.transform = ''; + Chat.slideAuthorized = false; + Chat.startX = Chat.translateX = Chat.startY = Chat.translateY = 0; + }, true); + }, + isValidHttpUrl: function (string) { + let url; + + try { + url = new URL(string); + } catch (_) { + return false; + } + + return url.protocol === "http:" || url.protocol === "https:"; + }, + getNewerMessages: function () { + var jid = MovimUtils.urlParts().params[0]; + + let lastMessage = Chat.getDiscussion()?.querySelector('li:last-child .bubble:last-child .message:last-child'); + + if (jid) { + Chat_ajaxGetHistory( + jid, + lastMessage ? lastMessage.dataset.published : null, + (MovimUtils.urlParts().params[1] === 'room'), + false, + false + ); + } + }, + searchMembers: function (key) { + var selector = '#room_nav_members > li'; + + document.querySelectorAll(selector) + .forEach(item => item.classList.remove('found')); + + var founds = document.querySelectorAll( + selector + '[name*="' + MovimUtils.cleanupId(key).slice(3) + '"]' + ); + + founds.forEach(item => item.classList.add('found')); + } +}; + +MovimWebsocket.attach(function () { + if (!Chat.pagination) { + Chat_ajaxInit(); + } + + var jid = MovimUtils.urlParts().params[0]; + + if (jid) { + if (Boolean(document.getElementById(MovimUtils.cleanupId(jid) + '-conversation'))) { + Chat.getNewerMessages(); + } else { + (MovimUtils.urlParts().params[1] === 'room') + ? Chat.getRoom(jid) + : Chat.get(jid); + } + } else { + if (!MovimUtils.isMobile()) { + Chat_ajaxHttpGetEmpty(); + } + + if (MovimUtils.urlParts().page == 'chat') { + Notif.current('chat'); + } + } +}); + +MovimEvents.registerWindow('focus', 'chat', () => { + if (MovimWebsocket.connection) { + var jid = MovimUtils.urlParts().params[0]; + var room = (MovimUtils.urlParts().params[1] === 'room'); + if (jid) { + Chat_ajaxGetHeader(jid, room); + + if (room) { + Chat_ajaxHttpGetPresences(jid); + } + } + } + + var textarea = Chat.getTextarea(); + if (textarea) textarea.focus(); +}); + +MovimEvents.registerWindow('resize', 'chat', () => Chat.scrollRestore()); + +MovimEvents.registerWindow('loaded', 'chat', () => { + if (MovimUtils.isMobile()) Chat.touchEvents(); + + if (typeof Upload != 'undefined') { + Upload.initiate((file) => { + if (['chat', 'space'].includes(MovimUtils.urlParts().page) + && (typeof (PublishStories) == 'undefined' || PublishStories.main == undefined)) { + Upload.prependName = 'chat'; + } + }); + + Upload.attach((file) => { + if (['chat', 'space'].includes(MovimUtils.urlParts().page) + && (typeof (PublishStories) == 'undefined' || PublishStories.main == undefined)) { + Chat_ajaxHttpDaemonSendMessage( + Chat.getTextarea().dataset.jid, + false, + Boolean(Chat.getTextarea().dataset.muc), + file + ); + } + }); + } + + // Really early panel showing in case we have a JID + var parts = MovimUtils.urlParts(); + if (parts.page == 'chat' && parts.params[0]) { + MovimTpl.showPanel(); + } +}); + +var state = 0; diff --git a/frontend/widgets/Chat/locales.ini b/frontend/widgets/Chat/locales.ini new file mode 100644 index 0000000..f573fd0 --- /dev/null +++ b/frontend/widgets/Chat/locales.ini @@ -0,0 +1,57 @@ +[message] +published = Message Published +react = Add a reaction +retract = Retract +retract_body = "Your contact attempted to retract a previous message, but it's unsupported by your client" +moderate_body = This message was moderated +error = Your message could not be sent, please try again later +encrypted = Encrypted message +retracted = Retracted message +composing = Composing… +invitation = Invitation +paused = Paused… +gone = Contact gone +edit_help = ↑ to edit your previous message +emoji_help = :shortcut: to insert an emoji +visitor_help = You are not allowed to send messages in this chatroom + +[chat] +attention = %s needs your attention +placeholder = Your message here… +smileys = Smileys +frequent = Frequent contacts +new_title = Nothing here yet… +new_text = "Don’t be shy, send a first message to start the discussion" +invitation = You received an invitation to join a chatroom +invitation_self = You sent an invitation to join a chatroom +invitation_join = Join %s +profile = See the profile +clear = Clear the history +edit_previous = Edit last message +report_abuse = Report abuse +jingle_incoming = Incoming call +jingle_outgoing = Outgoing call +jingle_retract = Missed call +jingle_reject = Refused call +jingle_end = Call ended +jingle_hours = %s hours %s minutes +jingle_minutes = %s minutes and %s seconds +jingle_seconds = %s seconds +muc_admin = %s is now admin +muc_owner = %s is now owner +muc_outcast = %s is now banned +muc_member = %s is now member +publish_error = An error occurred when sending the message +clear_history = Clear the local history +clear_history_text = "You are going to delete %s local messages, are you sure?" +action_impossible_encrypted = Action impossible in encrypted chats +first_messages_title = This is the beginning of this conversation +first_messages_text = You can choose to add it as a new contact or block it to prevent some other unsolicited messages +first_messages_add = Add to my contacts +first_messages_block = Block + +[wide_conference_call] +enable_title = Enable Wide Conference Call +enable_text = Scale this call to more participants. +enable_info = "An SFU (Selective Forwarding Unit) service was detected on this server. Unlike the current peer-to-peer (P2P) setup, where every participant sends their audio/video stream directly to everyone else, an SFU relays streams through a central server. This significantly reduces the bandwidth and CPU load on each participant's device, allowing the conference call to scale to many more people." +enable_info2 = Enabling Wide Conference Call will invite the SFU service into this conference call. \ No newline at end of file diff --git a/frontend/widgets/ChatActions/chatactions.css b/frontend/widgets/ChatActions/chatactions.css new file mode 100644 index 0000000..a5ab7d1 --- /dev/null +++ b/frontend/widgets/ChatActions/chatactions.css @@ -0,0 +1,50 @@ +ul#message_preview { + background-color: rgb(var(--movim-background)); + min-height: 100%; + box-sizing: border-box; + padding: 0.75rem 0; +} + +ul#message_preview li { + padding: 0.75rem; +} + +ul#message_preview li > div.bubble::after { + white-space: nowrap; +} + +ul#message_preview li div.bubble { + max-width: calc(100% - 2rem); + pointer-events: none; + background-color: rgb(var(--movim-background-main)); +} + +ul#message_preview.list li > div.bubble:not(.file)::before { + background-color: rgb(var(--movim-background-main)); +} + +ul#message_preview li div.bubble:not(.file) { + padding-right: 5rem; + margin-bottom: 0; + padding-bottom: 3rem; +} + +ul#message_preview li.oppose { + flex-direction: row-reverse; +} + +ul#message_preview li div.bubble div.message > p { + white-space: initial; + display: -webkit-box; + -webkit-line-clamp: 4; + -webkit-box-orient: vertical; +} + +ul#message_preview li.reactions { + padding: 0 0.5rem; + padding-bottom: 0.75rem; +} + +ul#message_preview li.reactions a.chip { + max-width: 100%; +} \ No newline at end of file diff --git a/frontend/widgets/ChatActions/chatactions.js b/frontend/widgets/ChatActions/chatactions.js new file mode 100644 index 0000000..b5e4714 --- /dev/null +++ b/frontend/widgets/ChatActions/chatactions.js @@ -0,0 +1,17 @@ +var ChatActions = { + message: null, + + setMessage: function (message) { + ChatActions.message = message; + }, + focusSearch: function () { + document.querySelector('form[name=search] input').focus(); + } +} + +MovimEvents.registerWindow('keydown', 'search_message', (e) => { + if (e.key == 'f' && e.ctrlKey && MovimUtils.urlParts().page == 'chat' && Chat.getTextarea()) { + e.preventDefault(); + ChatActions_ajaxShowSearchDialog(Chat.getTextarea().dataset.jid, Boolean(Chat.getTextarea().dataset.muc)); + } +}); diff --git a/frontend/widgets/ChatActions/locales.ini b/frontend/widgets/ChatActions/locales.ini new file mode 100644 index 0000000..c1f71c0 --- /dev/null +++ b/frontend/widgets/ChatActions/locales.ini @@ -0,0 +1,5 @@ +[chatactions] +copy_text = Copy the text +copied_text = Text copied +search_messages = Search messages by content +search_messages_empty = No messages found \ No newline at end of file diff --git a/frontend/widgets/ChatOmemo/chatomemo.js b/frontend/widgets/ChatOmemo/chatomemo.js new file mode 100644 index 0000000..46bc531 --- /dev/null +++ b/frontend/widgets/ChatOmemo/chatomemo.js @@ -0,0 +1,518 @@ +var KeyHelper = libsignal.KeyHelper; + +var ChatOmemo = { + refreshed: false, + + initiateBundle: async function (devicesIds) { + var store = new ChatOmemoStorage(); + store.removeAllSessions(); + + const identityKeyPair = await KeyHelper.generateIdentityKeyPair(); + const bundle = {}; + + const localDeviceId = await store.getLocalRegistrationId(); + const deviceId = localDeviceId ?? KeyHelper.generateRegistrationId(); + + bundle['identityKey'] = MovimUtils.arrayBufferToBase64(identityKeyPair.pubKey); + bundle['deviceId'] = deviceId; + + store.setLocalRegistrationId(deviceId); + store.setIdentityKeyPair(identityKeyPair); + + const signedPreKey = await KeyHelper.generateSignedPreKey(identityKeyPair, SIGNED_PREKEY_ID); + + store.storeSignedPreKey(signedPreKey.keyId, signedPreKey); + bundle['signedPreKey'] = { + 'id': signedPreKey.keyId, + 'publicKey': signedPreKey.keyPair.pubKey, + 'signature': signedPreKey.signature + } + const keys = await Promise.all(MovimUtils.range(0, NUM_PREKEYS).map(id => KeyHelper.generatePreKey(id))); + keys.forEach(k => store.storePreKey(k.keyId, k.keyPair)); + + const preKeys = keys.map(k => ({ 'id': k.keyId, 'key': k.keyPair.pubKey })); + bundle['preKeys'] = preKeys; + + ChatOmemo_ajaxNotifyGeneratedBundle(); + ChatOmemo_ajaxAnnounceBundle(bundle, devicesIds); + ChatOmemo_ajaxGetDevicesList(USER_JID); + }, + + refreshBundle: async function (devicesIds, publishOnly) { + var store = new ChatOmemoStorage(); + + const bundle = {}; + const localDeviceId = await store.getLocalRegistrationId(); + + if (!localDeviceId) ChatOmemo.initiateBundle(devicesIds); + + // We get the base of the bundle from the store + let keyPair = await store.getIdentityKeyPair(); + const deviceId = localDeviceId; + + bundle['identityKey'] = MovimUtils.arrayBufferToBase64(keyPair.pubKey); + bundle['deviceId'] = deviceId; + + let signedPreKey = store.loadCompleteSignedPreKey(SIGNED_PREKEY_ID); + bundle['signedPreKey'] = { + 'id': signedPreKey.keyId, + 'publicKey': MovimUtils.arrayBufferToBase64(signedPreKey.keyPair.pubKey), + 'signature': MovimUtils.arrayBufferToBase64(signedPreKey.signature) + } + + // We refresh or load all the preKeys + let keys = []; + let preKeys = []; + + if (publishOnly) { + keys = await Promise.all(MovimUtils.range(0, NUM_PREKEYS).map(id => store.loadPreKey(id))); + + let counter = -1; + preKeys = keys.map(k => { + counter++; + return { 'id': counter, 'key': MovimUtils.arrayBufferToBase64(k.pubKey) }; + }); + } else { + keys = await Promise.all(MovimUtils.range(0, NUM_PREKEYS).map(id => KeyHelper.generatePreKey(id))); + keys.forEach(k => store.storePreKey(k.keyId, k.keyPair)); + preKeys = keys.map(k => ({ 'id': k.keyId, 'key': k.keyPair.pubKey })); + } + + bundle['preKeys'] = preKeys; + + ChatOmemo_ajaxAnnounceBundle(bundle, devicesIds); + }, + + ownDevicesReceived: async function (from, devicesIds) { + var store = new ChatOmemoStorage(); + const localDeviceId = await store.getLocalRegistrationId(); + devicesIds = Object.values(devicesIds); + + if (localDeviceId == undefined) { + ChatOmemo.initiateBundle(devicesIds); + return; + } + + if (!devicesIds.includes(localDeviceId.toString()) && ChatOmemo.refreshed == false) { + ChatOmemo.refreshBundle(devicesIds, true); + ChatOmemo.refreshed = true; + } + }, + + /** + * A contact send us a new device list, we check if we can already build a new session + */ + devicesReceived: async function (from, devicesIds) { + var store = new ChatOmemoStorage(); + let localIds = store.getSessionsIds(from); + + if (await store.getContactState(from)) { + for (deviceId of devicesIds.filter(key => !localIds.includes(key))) { + ChatOmemo_ajaxGetBundle(from, deviceId); + } + + /** + * If we have open sessions from devices that doesn't exists anymore + * we close them + */ + for (deviceId of localIds.filter(key => !devicesIds.includes(key))) { + var address = new libsignal.SignalProtocolAddress(from, deviceId); + store.removeSession(address); + } + } + }, + + bundlesRefreshError(jid) { + var store = new ChatOmemoStorage(); + store.setContactTombstone(jid); + ChatOmemo.disableContactState(jid); + }, + + bundlesRefreshed(jid) { + var store = new ChatOmemoStorage(); + + if (typeof Chat == 'undefined') return; + + let textarea = Chat && Chat.getTextarea(); + + if (textarea) { + // First time we handle a session, we enforce the OMEMO state to true by default + if (!store.hasContactState(jid)) { + store.setContactState(jid, true); + } + + if (textarea.dataset.jid == jid) { + Chat.setOmemoState('yes'); + Chat.disableSending(); + + Chat_ajaxGet(jid); + + if (textarea.value.length > 0) { + Chat.sendMessage(); + } + } + } + }, + + handlePreKey: async function (jid, deviceId, preKey) { + var store = new ChatOmemoStorage(); + + const localDeviceId = await store.getLocalRegistrationId(); + if (localDeviceId == undefined) return; + + var address = new libsignal.SignalProtocolAddress(jid, deviceId); + + const session = await store.loadSession(address.toString()); + + // If we already have a session we don't have to build it + if (session) { + var promise = Promise.resolve(); + } else { + var sessionBuilder = new libsignal.SessionBuilder(store, address); + var promise = sessionBuilder.processPreKey({ + registrationId: parseInt(deviceId, 10), + identityKey: MovimUtils.base64ToArrayBuffer(preKey.identitykey), + signedPreKey: { + keyId: parseInt(preKey.signedprekeyid, 10), + publicKey: MovimUtils.base64ToArrayBuffer(preKey.signedprekeypublic), + signature: MovimUtils.base64ToArrayBuffer(preKey.signedprekeysignature) + }, + preKey: { + keyId: preKey.prekey.id, + publicKey: MovimUtils.base64ToArrayBuffer(preKey.prekey.value) + } + }); + } + + promise.then(function onsuccess() { + console.log('success ' + jid + ':' + deviceId); + + if (typeof Chat == 'undefined') return; + + let textarea = Chat.getTextarea(); + if (textarea && textarea.dataset.jid == jid) { + Chat.setOmemoState('yes'); + } + }); + + promise.catch(function onerror(error) { + console.log(error); + }); + + return promise; + }, + + encrypt: async function (to, plaintext, muc) { + var store = new ChatOmemoStorage(); + + // https://xmpp.org/extensions/attic/xep-0384-0.3.0.html#usecases-messagesend + + let iv = crypto.getRandomValues(new Uint8Array(12)); + let key = await crypto.subtle.generateKey(KEY_ALGO, true, ['encrypt', 'decrypt']); + + let algo = { + 'name': 'AES-GCM', + 'iv': iv, + 'tagLength': 128 + }; + + let encrypted = await crypto.subtle.encrypt(algo, key, MovimUtils.stringToArrayBuffer(plaintext)); + let length = encrypted.byteLength - ((128 + 7) >> 3); + let ciphertext = encrypted.slice(0, length); + let tag = encrypted.slice(length); + let exportedKey = await crypto.subtle.exportKey('raw', key); + + // obj + let keyAndTag = MovimUtils.appendArrayBuffer(exportedKey, tag); + let biv = MovimUtils.arrayBufferToBase64(iv); + let payload = MovimUtils.arrayBufferToBase64(ciphertext); + let deviceId = await store.getLocalRegistrationId(); + let ownKeys = await this.encryptJid(keyAndTag, store.jid); + + let remoteKeys = []; + + if (muc) { + for (member of Chat.groupChatMembers) { + remoteKeys = remoteKeys.concat(await this.encryptJid(keyAndTag, member)); + } + } else { + remoteKeys = await this.encryptJid(keyAndTag, to); + } + + ownKeys = ownKeys.concat(remoteKeys); + + let messageKeys = {}; + ownKeys.map(result => { + messageKeys[result.device] = { + payload: btoa(result.payload.body), + prekey: 3 == parseInt(result.payload.type, 10) + }; + }); + + return { + 'sid': deviceId, + 'keys': messageKeys, + 'iv': biv, + 'payload': payload + }; + }, + decrypt: async function (message) { + if (message.omemoheader == undefined) return; + + var store = new ChatOmemoStorage(); + + let resolvedId = message.mine + ? message.messageid + : message.id; + + let maybeDecrypted = await ChatOmemoDB.getMessage(resolvedId); + + if (maybeDecrypted !== undefined) { + return maybeDecrypted; + } + + // Resolved jid from a muc message + var jid = message.mucjid ?? message.jidfrom; + + // If there was an encryption tombstone on this contact we can lift it + store.removeContactTombstone(jid); + + // No keys + if (message.omemoheader.keys == undefined) return; + + let deviceId = await store.getLocalRegistrationId(); + + if (!deviceId) return; + + /** + * Check if we need to build more sessions + */ + if (Chat) { + textarea = Chat.getTextarea(); + + if (!Boolean(textarea.dataset.muc)) { + for (bundleId of Object.keys(message.omemoheader.keys).filter( + key => !store.getSessionsIds(jid) + .concat(store.getOwnSessionsIds(), [deviceId.toString()]).includes(key) + ) + ) { + ChatOmemo_ajaxGetBundle(jid, bundleId); + } + } + } + + if (message.omemoheader.keys[deviceId] == undefined) { + console.log('Message not encrypted for this device'); + ChatOmemoDB.putMessage(resolvedId, false); + return; + } + + let key = message.omemoheader.keys[deviceId]; + let plainKey; + + try { + plainKey = await this.decryptDevice(MovimUtils.base64ToArrayBuffer(key.payload), key.prekey, jid, message.omemoheader.sid); + } catch (err) { + ChatOmemoDB.putMessage(resolvedId, false); + console.log('Error during decryption: ' + err); + + // Let the session heal, a new prekey will be send next time + //var address = new libsignal.SignalProtocolAddress(jid, message.omemoheader.sid); + //store.removeSession(address); + return; + } + + let exportedAESKey = plainKey.slice(0, 16); + let authenticationTag = plainKey.slice(16); + + if (authenticationTag.byteLength < 16) { + if (authenticationTag.byteLength > 0) { + throw new Error('Authentication tag too short'); + } + + console.log(`Authentication tag is only ${authenticationTag.byteLength} byte long`); + } + + if (!message.omemoheader.payload) { + console.log('No payload to decrypt'); + } + + // One of our key was used, lets refresh the bundle + if (key.prekey) { + ChatOmemo.refreshBundle(store.getOwnSessionsIds()); + } + + let iv = MovimUtils.base64ToArrayBuffer(message.omemoheader.iv); + let ciphertextAndAuthenticationTag = MovimUtils.appendArrayBuffer( + MovimUtils.base64ToArrayBuffer(message.omemoheader.payload), + authenticationTag + ); + + let importedKey = await crypto.subtle.importKey('raw', exportedAESKey, 'AES-GCM', false, ['decrypt']); + let decryptedBuffer = await crypto.subtle.decrypt({ + name: 'AES-GCM', + iv, + tagLength: 128 + }, importedKey, ciphertextAndAuthenticationTag); + + let plaintext = MovimUtils.arrayBufferToString(decryptedBuffer); + + ChatOmemoDB.putMessage(resolvedId, plaintext); + return plaintext; + }, + enableContactState: function (jid, muc) { + var store = new ChatOmemoStorage(); + store.setContactState(jid, true); + + if (muc) { + Chat_ajaxGetRoom(jid); + ChatOmemo_ajaxEnableRoomState(); + + Chat.groupChatMembers.forEach(member => { + if (!store.isJidResolved(member)) { + ChatOmemo_ajaxGetDevicesList(member); + } + }); + } else { + Chat_ajaxGet(jid); + ChatOmemo_ajaxEnableContactState(); + ChatOmemo_ajaxGetDevicesList(jid); + } + }, + disableContactState: function (jid, muc) { + var store = new ChatOmemoStorage(); + store.setContactState(jid, false); + Chat.setOmemoState("disabled"); + + if (muc) { + ChatOmemo_ajaxDisableRoomState(); + } else { + ChatOmemo_ajaxDisableContactState(); + } + }, + getContactState: async function (jid) { + var store = new ChatOmemoStorage(); + return store.getContactState(jid); + }, + encryptJid: function (plaintext, jid) { + var store = new ChatOmemoStorage(); + let promises = store.filter('.session' + jid) + .map(key => key.split(/[\s.]+/).pop()) + .map(deviceId => store.getSessionState(jid + '.' + deviceId).then(state => { + if (state) { + return this.encryptDevice(plaintext, jid, deviceId); + } + + return Promise.resolve(false); + })); + + return Promise.all(promises).then(result => { + return result.filter(encrypted => encrypted !== false); + }); + }, + encryptDevice: function (plaintext, jid, deviceId) { + var address = new libsignal.SignalProtocolAddress(jid, parseInt(deviceId, 10)); + var store = new ChatOmemoStorage(); + var sessionCipher = new libsignal.SessionCipher(store, address); + + return sessionCipher.encrypt(plaintext) + .then(payload => ({ 'payload': payload, 'device': deviceId })); + }, + decryptDevice: async function (ciphertext, preKey, jid, deviceId) { + var address = new libsignal.SignalProtocolAddress(jid, parseInt(deviceId, 10)); + var store = new ChatOmemoStorage(); + var sessionCipher = new libsignal.SessionCipher(store, address); + + return (preKey) + ? await sessionCipher.decryptPreKeyWhisperMessage(ciphertext, 'binary') + : await sessionCipher.decryptWhisperMessage(ciphertext, 'binary'); + }, + searchEncryptedFile: function (plaintext) { + let lines = plaintext.split('\n'); + let matches = lines[0].match(AESGCM_REGEX); + + if (!matches) { + return plaintext; + } + let [match, , filename, extension, hash] = matches; + return 'file_download ' + + filename + + ''; + }, + getEncryptedFile: async function (encryptedUrl) { + Chat.enableSending(); + + let [, url, filename, , hash] = encryptedUrl.match(AESGCM_REGEX); + url = 'https://' + url; + let response; + + try { + response = await fetch(url) + } catch (e) { + console.log('Cannot get the following file: ' + url) + return null; + } + + if (response.status >= 200 && response.status < 400) { + let cipher = await response.arrayBuffer(); + const iv = hash.slice(0, 24); + const key = hash.slice(24); + + const keyObj = await crypto.subtle.importKey('raw', MovimUtils.hexToArrayBuffer(key), 'AES-GCM', false, ['decrypt']); + const algo = { + 'name': 'AES-GCM', + 'iv': MovimUtils.hexToArrayBuffer(iv), + }; + let plainFile = await crypto.subtle.decrypt(algo, keyObj, cipher); + + const file = new File([plainFile], filename); + const link = document.createElement('a'); + link.href = URL.createObjectURL(file); + link.download = filename; + link.click(); + + Chat.disableSending(); + + URL.revokeObjectURL(link.href) + } + }, + resolveContactFingerprints: function (jid) { + let omemoStorage = new ChatOmemoStorage; + + let sessionLoaded = []; + omemoStorage.getSessionsIds(jid).forEach(deviceId => { + var address = new libsignal.SignalProtocolAddress(jid, deviceId); + sessionLoaded.push(omemoStorage.loadSession(address.toString())); + }); + + const promise = new Promise((resolve) => { + Promise.all(sessionLoaded).then(sessions => { + let remoteKeys = []; + + sessions.forEach(session => { + let parsed = Object.values(JSON.parse(session).sessions)[0]; + remoteKeys.push({ + jid: jid, + self: false, + bundleid: parsed.registrationId.toString(), + fingerprint: btoa(parsed.indexInfo.remoteIdentityKey) + }); + }); + + resolve(remoteKeys); + }); + }); + + return promise; + } +} + +MovimWebsocket.attach(async () => { + var store = new ChatOmemoStorage(); + const localDeviceId = await store.getLocalRegistrationId(); + if (!localDeviceId) { + ChatOmemo_ajaxGetDevicesList(USER_JID); + } +}); diff --git a/frontend/widgets/ChatOmemo/chatomemo_db.js b/frontend/widgets/ChatOmemo/chatomemo_db.js new file mode 100644 index 0000000..cd41bbe --- /dev/null +++ b/frontend/widgets/ChatOmemo/chatomemo_db.js @@ -0,0 +1,91 @@ +var ChatOmemoDB = { + dbName: 'movim', + storeName: 'decryptedMessages', + version: 3, + + cachedMessages: {}, + + db: null, + + setup: async function() { + var db = window.indexedDB.open(this.dbName, this.version); + db.onupgradeneeded = function (event) { + var db = event.target.result; + db.createObjectStore(ChatOmemoDB.storeName, { keyPath: "id" }); + } + + db.onsuccess = function() { + ChatOmemoDB.db = db; + } + + db.onerror = function() { + console.log('Movim Decrypted Messages database cannot be opened properly'); + } + }, + + loadMessagesByIds: async function(ids) { + ChatOmemoDB.cachedMessages = {}; + + var tx = ChatOmemoDB.db.result.transaction(ChatOmemoDB.storeName, 'readonly'); + var os = tx.objectStore(ChatOmemoDB.storeName); + + var promises = []; + + ids.forEach(id => { + var request = os.get(id); + + promises.push(new Promise((resolve, reject) => { + request.onsuccess = function (event) { + if (event.target.result) { + ChatOmemoDB.cachedMessages[id] = event.target.result.body; + } + resolve(); + } + + request.onerror = function() { + resolve(); + } + })); + }); + + return Promise.all(promises); + }, + + putMessage: async function(id, body) { + let promise = new Promise(resolve => { + var tx = ChatOmemoDB.db.result.transaction(ChatOmemoDB.storeName, 'readwrite'); + var os = tx.objectStore(ChatOmemoDB.storeName); + + var request = os.put({"id" : id, "body" : body}); + request.onsuccess = function(event) { + resolve(body); + } + }); + + return promise; + }, + + getMessage: async function(id) { + let promise = new Promise(resolve => { + if (id in ChatOmemoDB.cachedMessages) { + resolve(ChatOmemoDB.cachedMessages[String(id)]); + } else { + var tx = ChatOmemoDB.db.result.transaction(ChatOmemoDB.storeName, 'readonly'); + var os = tx.objectStore(ChatOmemoDB.storeName); + + var request = os.get(id); + request.onsuccess = function(event) { + if (event.target.result) { + resolve(event.target.result.body); + } else { + resolve(); + } + } + } + }); + + return promise; + } +} + +ChatOmemoDB.setup(); diff --git a/frontend/widgets/ChatOmemo/chatomemo_storage.js b/frontend/widgets/ChatOmemo/chatomemo_storage.js new file mode 100644 index 0000000..f21399d --- /dev/null +++ b/frontend/widgets/ChatOmemo/chatomemo_storage.js @@ -0,0 +1,250 @@ +function ChatOmemoStorage() { + this.jid = USER_JID; +} + +ChatOmemoStorage.prototype = { + Direction: { + SENDING: 1, + RECEIVING: 2, + }, + + // Storage is versionned to ensure a proper reset when changes are made + storageVersion: '2', + + // Generic methods + put: function (key, value) { + if (key === undefined || value === undefined || key === null || value === null) + throw new Error("Tried to store undefined/null"); + + return localStorage.setObject(this.storageVersion + '.' + key, value); + }, + get: function (key, defaultValue) { + if (key === null || key === undefined) + throw new Error("Tried to get value for undefined/null key"); + if (this.storageVersion + '.' + key in localStorage) { + return localStorage.getObject(this.storageVersion + '.' + key); + } else { + return defaultValue; + } + }, + remove: function (key) { + if (key === null || key === undefined) + throw new Error("Tried to remove value for undefined/null key"); + + localStorage.removeItem(this.storageVersion + '.' + key); + }, + filter: function (search) { + return Object.keys(localStorage).filter(key => key.startsWith(this.storageVersion + '.' + this.jid + search)); + }, + + // OMEMO specific methods + setIdentityKeyPair: function(identityKeyPair) { + return Promise.resolve(this.put(this.jid + '.identityKey', { + 'privKey': MovimUtils.arrayBufferToBase64(identityKeyPair.privKey), + 'pubKey': MovimUtils.arrayBufferToBase64(identityKeyPair.pubKey) + })); + }, + getIdentityKeyPair: function () { + identityKeyPair = this.get(this.jid + '.identityKey'); + + if (!identityKeyPair) return Promise.reject(); + + return Promise.resolve({ + 'privKey': MovimUtils.base64ToArrayBuffer(identityKeyPair.privKey), + 'pubKey': MovimUtils.base64ToArrayBuffer(identityKeyPair.pubKey) + }); + }, + + setLocalRegistrationId: function (registrationId) { + return Promise.resolve(this.put(this.jid + '.registrationId', registrationId)); + }, + getLocalRegistrationId: function () { + return Promise.resolve(this.get(this.jid + '.registrationId')); + }, + + isTrustedIdentity: function (identifier, identityKey, direction) { + if (identifier === null || identifier === undefined) { + throw new Error("tried to check identity key for undefined/null key"); + } + if (!(identityKey instanceof ArrayBuffer)) { + throw new Error("Expected identityKey to be an ArrayBuffer"); + } + var trusted = this.get(this.jid + '.identityKey' + identifier); + if (trusted === undefined) { + return Promise.resolve(true); + } + + // movim-rs: identities are stored per JID (not per device) so a contact with several + // devices would always be rejected. Blind Trust Before Verification, like Conversations: + // the fingerprints can still be checked and disabled in the contact drawer. + return Promise.resolve(true); + }, + loadIdentityKey: function (identifier) { + if (identifier === null || identifier === undefined) + throw new Error("Tried to get identity key for undefined/null key"); + return Promise.resolve(MovimUtils.base64ToArrayBuffer(this.get(this.jid + '.identityKey' + identifier))); + }, + saveIdentity: function (identifier, identityKey) { + if (identifier === null || identifier === undefined) + throw new Error("Tried to put identity key for undefined/null key"); + + var address = new libsignal.SignalProtocolAddress.fromString(identifier); + + var existing = this.get(this.jid + '.identityKey' + address.getName()); + this.put(this.jid + '.identityKey' + address.getName(), MovimUtils.arrayBufferToBase64(identityKey)) + + if (existing && toString(identityKey) !== toString(existing)) { + return Promise.resolve(true); + } else { + return Promise.resolve(false); + } + + }, + + loadPreKey: function (keyId) { + var res = this.get(this.jid + '.25519KeypreKey' + keyId); + if (res !== undefined) { + res = { + pubKey: MovimUtils.base64ToArrayBuffer(res.pubKey), + privKey: MovimUtils.base64ToArrayBuffer(res.privKey) + }; + } + return Promise.resolve(res); + }, + storePreKey: function (keyId, keyPair) { + keyPair.pubKey = MovimUtils.arrayBufferToBase64(keyPair.pubKey); + keyPair.privKey = MovimUtils.arrayBufferToBase64(keyPair.privKey); + return Promise.resolve(this.put(this.jid + '.25519KeypreKey' + keyId, keyPair)); + }, + removePreKey: function (keyId) { + return Promise.resolve(this.remove(this.jid + '.25519KeypreKey' + keyId)); + }, + + loadCompleteSignedPreKey: function (keyId) { + var res = this.get(this.jid + '.25519KeysignedKey' + keyId); + if (res !== undefined) { + res = { + keyPair: { + pubKey: MovimUtils.base64ToArrayBuffer(res.keyPair.pubKey), + privKey: MovimUtils.base64ToArrayBuffer(res.keyPair.privKey), + }, + signature: MovimUtils.base64ToArrayBuffer(res.signature), + keyId: keyId + }; + } + return res; + }, + loadSignedPreKey: function (keyId) { + return Promise.resolve(this.loadCompleteSignedPreKey(keyId).keyPair); + }, + storeSignedPreKey: function (keyId, key) { + key.keyPair.pubKey = MovimUtils.arrayBufferToBase64(key.keyPair.pubKey); + key.keyPair.privKey = MovimUtils.arrayBufferToBase64(key.keyPair.privKey); + key.signature = MovimUtils.arrayBufferToBase64(key.signature); + return Promise.resolve(this.put(this.jid + '.25519KeysignedKey' + keyId, key)); + }, + removeSignedPreKey: function (keyId) { + return Promise.resolve(this.remove(this.jid + '.25519KeysignedKey' + keyId)); + }, + + loadSession: function (identifier) { + return Promise.resolve(this.get(this.jid + '.session' + identifier)); + }, + storeSession: function (identifier, record) { + return Promise.resolve(this.put(this.jid + '.session' + identifier, record)); + }, + removeSession: function (identifier) { + return Promise.resolve(this.remove(this.jid + '.session' + identifier)); + }, + removeAllSessions: function () { + let filtered = this.filter('.session'); + + for (key in filtered) { + localStorage.removeItem(filtered[key]); + } + + return Promise.resolve(); + }, + getOwnSessions: function () { + return this.filter('.session' + this.jid); + }, + getSessions: function (identifier) { + return this.filter('.session' + identifier); + }, + getOwnSessionsIds: function () { + return this.filter('.session' + this.jid).map(sessionId => sessionId.split('.').pop()); + }, + getSessionsIds: function (identifier) { + return this.filter('.session' + identifier).map(sessionId => sessionId.split('.').pop()); + }, + + isJidResolved: function (identifier) { + return this.hasContactTombstone(identifier) || this.filter('.session' + identifier).length > 0; + }, + + removeAllSessionsOfJid: function (identifier) { + let filtered = this.filter('.session' + identifier); + + for (id in filtered) { + localStorage.removeItem(filtered[id]); + } + + this.remove(this.jid + '.contact' + identifier); + + return Promise.resolve(); + }, + + setContactState: function (jid, state) { + return Promise.resolve(this.put(this.jid + '.contact' + jid, state)); + }, + removeContactState: function (jid) { + return Promise.resolve(this.remove(this.jid + '.contact' + jid)); + }, + hasContactState: function(jid) { + return (this.get(this.jid + '.contact' + jid) !== undefined); + }, + getContactState: function (jid) { + let state = Boolean(this.get(this.jid + '.contact' + jid)); + return Promise.resolve(state); + }, + + /** + * Tombstone to know if a contact doesn't have OMEMO at the moment + */ + setContactTombstone: function (jid) { + return Promise.resolve(this.put(this.jid + '.contact.tombstone' + jid, true)); + }, + removeContactTombstone: function (jid) { + return Promise.resolve(this.remove(this.jid + '.contact.tombstone' + jid)); + }, + hasContactTombstone: function(jid) { + return (this.get(this.jid + '.contact.tombstone' + jid) == true); + }, + + getSessionState: function (identifier) { + return this.loadSession(identifier).then(json => { + if (json !== undefined) { + let session = JSON.parse(json); + return (session.state === true || session.state === undefined); + } + + return false; + }); + }, + setSessionState: function (identifier, enabled) { + this.loadSession(identifier).then(json => { + if (json !== undefined) { + let session = JSON.parse(json); + session.state = Boolean(enabled); + this.storeSession(identifier, JSON.stringify(session)); + } + }); + }, + + toString: function(thing) { + if (typeof thing == 'string') { + return thing; + } + return new dcodeIO.ByteBuffer.wrap(thing).toString('binary'); + } +}; diff --git a/frontend/widgets/ChatOmemo/locales.ini b/frontend/widgets/ChatOmemo/locales.ini new file mode 100644 index 0000000..ce31981 --- /dev/null +++ b/frontend/widgets/ChatOmemo/locales.ini @@ -0,0 +1,17 @@ +[omemo] +fingerprints_title = Fingerprints +fingerprints = OMEMO Fingerprints +generating_bundle = "Generating the encryption keys, please wait…" +generated_bundle = Encryption keys generated +resolving_devices = Resolving OMEMO devices +building_sessions = Building encrypted sessions +building_own_sessions = Building own encryption sessions +encrypted = Encrypted message +encrypted_disabled = Encryption disabled +encrypted_loading = Send a message to build the encrypted session +enable_contact = Enabling encryption for the contact +enable_room = Enabling encryption for the chatroom +disable_contact = Disabling encryption for the contact +disable_room = Disabling encryption for the chatroom +last_activity = Last activity +sessions_built = %s sessions built diff --git a/frontend/widgets/Chats/chats.css b/frontend/widgets/Chats/chats.css new file mode 100644 index 0000000..27839ed --- /dev/null +++ b/frontend/widgets/Chats/chats.css @@ -0,0 +1,55 @@ +ul#chats { + overflow: hidden; +} + +ul#chats ~ .placeholder { + display: none; +} + +ul#chats li { + transition: opacity 0.2s ease-in-out; + overflow: hidden; + box-sizing: border-box; + max-height: 8rem; +} + +ul#chats li img.tinythumb { + object-fit: cover; + width: 1.4rem; + height: 1.4rem; + margin-right: 0.25rem; + border-radius: 0.25rem; +} + +ul#chats li.moving { + transition: transform 0.1s, max-height 0.2s var(--accelerate-easing) 0.2s; +} + +ul#chats li.closing { + transition: transform 0.1s, max-height 0.2s var(--decelerate-easing) 0.2s; + max-height: 0; +} + +ul#chats li.closing.to_left { + transform: translateX(-100%); +} + +ul#chats li.closing.to_right { + transform: translateX(100%); +} + +ul#chats li.close { + opacity: 0.5; +} + +ul#chats:empty ~ .placeholder { + display: block; +} + +ul#chats_widget_header[data-scroll] li.subheader:first-child { + animation: backgroundBlink 1s; +} + +ul#chats_widget_header[data-filter=roster] + ul#chats li:not(.roster) { + display: none; +} \ No newline at end of file diff --git a/frontend/widgets/Chats/chats.js b/frontend/widgets/Chats/chats.js new file mode 100644 index 0000000..685e1a5 --- /dev/null +++ b/frontend/widgets/Chats/chats.js @@ -0,0 +1,150 @@ +var Chats = { + startX: 0, + startY: 0, + translateX: 0, + translateY: 0, + slideAuthorized: false, + + setFilter: function (filter) { + document.querySelector('#chats_widget_header').dataset.filter = filter; + Chats_ajaxSetFilter(filter); + }, + + refreshFilters: function () { + var filter = document.querySelector('#chats_widget_header').dataset.filter; + + document.querySelectorAll('#chats_widget_header span.chip').forEach(chip => { + chip.classList.remove('enabled'); + + if (chip.dataset.filter == filter) chip.classList.add('enabled'); + }); + }, + + refresh: function () { + var list = document.querySelector('#chats'); + if (!list) return; + + Chats.refreshFilters(); + + var trim = list.innerHTML.trim(); + + if (trim === '') list.innerHTML = trim; + + var items = document.querySelectorAll('ul#chats li:not(.subheader)'); + var i = 0; + + while (i < items.length) { + if (items[i].querySelector('img.tinythumb')) { + var img = items[i].querySelector('img.tinythumb'); + + try { + img.src = thumbHashToDataURL(MovimUtils.base64ToBinary(img.dataset.thumbhash)); + } catch (error) { + console.log('Cannot handle thumbhash hash'); + } + } + + if (items[i].dataset.jid != null) { + items[i].onclick = function (e) { + Rooms.refresh(); + MovimUtils.addClass('ul#bottomnavigation', 'hidden'); + + Chat.get(this.dataset.jid); + }; + + items[i].onmousedown = function (e) { + if (e.which == 2) { + Chats.closeItem(this, false); + e.preventDefault(); + } + } + + clientWidth = Math.abs(document.body.clientWidth); + delay = 20; + + if (MovimUtils.isMobile()) { + items[i].addEventListener('touchstart', function (event) { + if (MovimTpl.menuDragged) return; + + Chats.startX = event.targetTouches[0].pageX; + Chats.startY = event.targetTouches[0].pageY; + + this.classList.remove('moving'); + }, true); + + items[i].addEventListener('touchmove', function (event) { + if (MovimTpl.menuDragged) return; + + Chats.translateX = parseInt(event.targetTouches[0].pageX - Chats.startX); + Chats.translateY = parseInt(event.targetTouches[0].pageY - Chats.startY); + + if (Math.abs(Chats.translateX) > delay && Math.abs(Chats.translateX) <= clientWidth) { + if (Math.abs(Chats.translateX) > this.offsetWidth / 2) { + this.classList.add('close'); + } else { + this.classList.remove('close'); + } + + if (Math.abs(Chats.translateY) < delay) { + Chats.slideAuthorized = true; + } + + var moveX = Chats.translateX < 0 + ? (Chats.translateX + delay) + : (Chats.translateX - delay); + + if (Chats.slideAuthorized) { + this.style.transform = 'translateX(' + (moveX) + 'px)'; + } + } else { + this.style.transform = ''; + this.classList.remove('close'); + } + }, true); + + items[i].addEventListener('touchend', function (event) { + if (MovimTpl.menuDragged) return; + + this.classList.add('moving'); + + if (Math.abs(Chats.translateX) > this.offsetWidth / 2 && Chats.slideAuthorized) { + Chats.closeItem(this, (Chats.translateX < 0)); + } else { + this.classList.remove('close'); + } + + this.style.transform = ''; + Chats.slideAuthorized = false; + Chats.startX = Chats.startY = Chats.translateX = Chats.translateY = 0; + }, true); + } + } + + i++; + } + }, + + clearAllActives: function () { + document.querySelectorAll('ul#chats li:not(.subheader)') + .forEach(item => item.classList.remove('active')); + }, + + setActive: function (jid) { + Chats.clearAllActives(); + Rooms.clearAllActives(); + MovimUtils.addClass('ul#chats li[data-jid="' + jid + '"]', 'active'); + }, + + closeItem(li, toLeft) { + li.classList.add('closing'); + li.classList.add(toLeft ? 'to_left' : 'to_right'); + + window.setTimeout(() => { + Chats_ajaxClose(li.dataset.jid, (MovimUtils.urlParts().params[0] === li.dataset.jid)); + }, 400); + } +}; + +MovimEvents.registerWindow('loaded', 'chats', () => Chats.refresh()); + +MovimWebsocket.initiate(() => Chats_ajaxHttpGet()); diff --git a/frontend/widgets/Chats/locales.ini b/frontend/widgets/Chats/locales.ini new file mode 100644 index 0000000..8bc6bb8 --- /dev/null +++ b/frontend/widgets/Chats/locales.ini @@ -0,0 +1,13 @@ +[chats] +empty_title = No chats yet… +empty = Start a new conversation by clicking on the %s button. +new_title = Start a new conversation +add = Chat with a contact +me = Me +picture = Picture +video = Video +audio = Audio + +[chats_filter] +all = All +roster = Contacts \ No newline at end of file diff --git a/frontend/widgets/Communities/communities.js b/frontend/widgets/Communities/communities.js new file mode 100644 index 0000000..1749c6a --- /dev/null +++ b/frontend/widgets/Communities/communities.js @@ -0,0 +1,30 @@ +var Communities = { + init: function() { + let parts = MovimUtils.urlParts(); + let page = parts.params[0] !== undefined ? parseInt(parts.params[0]) : 0; + + if (parts.hash != '') { + switch (parts.hash) { + case 'communities': + Communities_ajaxHttpGetCommunities(page); + break; + case 'contacts': + Communities_ajaxHttpGetContacts(page); + break; + } + } else { + Communities_ajaxHttpGetAll(page); + } + }, + + morePosts: function(button, page, type) { + button.remove(); + Communities_ajaxHttpGetPosts(page, type); + } +} + +MovimWebsocket.attach(function() { + Notif.current('community'); +}); + +MovimWebsocket.initiate(() => Communities.init()); diff --git a/frontend/widgets/Communities/locales.ini b/frontend/widgets/Communities/locales.ini new file mode 100644 index 0000000..901d404 --- /dev/null +++ b/frontend/widgets/Communities/locales.ini @@ -0,0 +1,8 @@ +[communities] +empty_text = Discover, follow and share +counter = "%s communities" +search_server = Search for a new server +servers = Communities servers +servers_text = Discover the Communities by servers +disco = Communities server discovered +disco_error = "This server doesn’t exists" diff --git a/frontend/widgets/CommunitiesInteresting/locales.ini b/frontend/widgets/CommunitiesInteresting/locales.ini new file mode 100644 index 0000000..23e5127 --- /dev/null +++ b/frontend/widgets/CommunitiesInteresting/locales.ini @@ -0,0 +1,2 @@ +[communitiesinteresting] +about = Communities you might like diff --git a/frontend/widgets/CommunitiesServer/communitiesserver.js b/frontend/widgets/CommunitiesServer/communitiesserver.js new file mode 100644 index 0000000..54f4a95 --- /dev/null +++ b/frontend/widgets/CommunitiesServer/communitiesserver.js @@ -0,0 +1,7 @@ +MovimWebsocket.attach(function() { + Notif.current('community'); + var parts = MovimUtils.urlParts(); + if (parts.params.length > 0) { + CommunitiesServer_ajaxDisco(parts.params[0]); + } +}); diff --git a/frontend/widgets/CommunitiesServer/locales.ini b/frontend/widgets/CommunitiesServer/locales.ini new file mode 100644 index 0000000..8e96e01 --- /dev/null +++ b/frontend/widgets/CommunitiesServer/locales.ini @@ -0,0 +1,10 @@ +[communitiesserver] +created = Community created successfully +empty_server = "There is no Communities yet on this server." +add = Create a new community on %s +name = Community name +name_example = My Little Pony - Fan Club +name_error = Please provide a valid community name (4 characters minimum) +no_creation = You cannot create a new community on this server +disco_error = Issue when trying to discover the items +remoteservernotfound = "The server %s cannot be reached" \ No newline at end of file diff --git a/frontend/widgets/CommunitiesServers/communitiesservers.js b/frontend/widgets/CommunitiesServers/communitiesservers.js new file mode 100644 index 0000000..55d7959 --- /dev/null +++ b/frontend/widgets/CommunitiesServers/communitiesservers.js @@ -0,0 +1,5 @@ +MovimWebsocket.initiate(() => CommunitiesServers_ajaxHttpGet()); + +MovimWebsocket.attach(function () { + Notif.current('explore'); +}); \ No newline at end of file diff --git a/frontend/widgets/CommunitiesServers/locales.ini b/frontend/widgets/CommunitiesServers/locales.ini new file mode 100644 index 0000000..c64de0c --- /dev/null +++ b/frontend/widgets/CommunitiesServers/locales.ini @@ -0,0 +1,3 @@ +[communitiesservers] +empty_title = No Communities Servers yet… +empty_text = "It seems that we can't find any communities for the moment" diff --git a/frontend/widgets/CommunityAffiliations/communityaffiliations.js b/frontend/widgets/CommunityAffiliations/communityaffiliations.js new file mode 100644 index 0000000..738c5e6 --- /dev/null +++ b/frontend/widgets/CommunityAffiliations/communityaffiliations.js @@ -0,0 +1,20 @@ +var CommunityAffiliations = { + update : function(jid) { + var parts = MovimUtils.urlParts(); + if (parts.params.length > 0) { + CommunityAffiliations_ajaxChangeAffiliation( + parts.params[0], + parts.params[1], + MovimUtils.formToJson(jid) + ); + } + } +} + +MovimWebsocket.attach(function() { + var parts = MovimUtils.urlParts(); + if (parts.params.length > 0) { + CommunityAffiliations_ajaxGetSubscriptions(parts.params[0], parts.params[1]); + CommunityAffiliations_ajaxGetAffiliations(parts.params[0], parts.params[1]); + } +}); diff --git a/frontend/widgets/CommunityAffiliations/locales.ini b/frontend/widgets/CommunityAffiliations/locales.ini new file mode 100644 index 0000000..fcaa3d7 --- /dev/null +++ b/frontend/widgets/CommunityAffiliations/locales.ini @@ -0,0 +1,16 @@ +[communityaffiliation] +configuration = Configuration +subscriptions = Subscriptions +public_subscriptions= Public subscriptions +subscriptions_text = My Communities subscriptions +deleted = Community deleted successfully +delete_title = Delete the community +delete_text = You are going to delete the following community. Please confirm your action. +delete_clean_text = "It seems that this community doesn’t exists anymore. Do you want to remove it from your subscriptions?" +delete_error = Error during the node deletion +config_saved = Configuration saved +config_error = Error during the application of the node configuration +owners = Owners +publishers = Publishers +roles = Roles +role_set = Role correctly set diff --git a/frontend/widgets/CommunityConfig/locales.ini b/frontend/widgets/CommunityConfig/locales.ini new file mode 100644 index 0000000..a68da10 --- /dev/null +++ b/frontend/widgets/CommunityConfig/locales.ini @@ -0,0 +1,14 @@ +[communityconfig] +description = Description +publication = Publication +publish_model_open_title = Public +publish_model_open_text = Everyone can publish +publish_model_publishers_title = Publishers +publish_model_publishers_text = The publishers can publish +publish_model_subscribers_title = Subscribers +publish_model_subscribers_text = The subscribers can publish +type = Community type +type_articles_title = Articles +type_articles_text = Publish and read articles +type_gallery_title = Gallery +type_gallery_text = Publish and browse pictures diff --git a/frontend/widgets/CommunityData/communitydata.css b/frontend/widgets/CommunityData/communitydata.css new file mode 100644 index 0000000..469dad0 --- /dev/null +++ b/frontend/widgets/CommunityData/communitydata.css @@ -0,0 +1,4 @@ +#community_data li:first-child img.avatar, +#community_data li:first-child span.avatar { + display: inline-block; +} diff --git a/frontend/widgets/CommunityData/communitydata.js b/frontend/widgets/CommunityData/communitydata.js new file mode 100644 index 0000000..39140a5 --- /dev/null +++ b/frontend/widgets/CommunityData/communitydata.js @@ -0,0 +1,8 @@ +MovimWebsocket.attach(function() { + if (!MovimUtils.isMobile()) { + var parts = MovimUtils.urlParts(); + if (parts.params.length > 0) { + CommunityData_ajaxGetAvatar(parts.params[0], parts.params[1]); + } + } +}); diff --git a/frontend/widgets/CommunityData/locales.ini b/frontend/widgets/CommunityData/locales.ini new file mode 100644 index 0000000..2f1c092 --- /dev/null +++ b/frontend/widgets/CommunityData/locales.ini @@ -0,0 +1,6 @@ +[communitydata] +sub = %s subscribers +num = %s posts +public = Public page +publishmodel_publishers = Only publishers can publish +publishmodel_subscribers = Only subscribers can publish diff --git a/frontend/widgets/CommunityHeader/communityheader.js b/frontend/widgets/CommunityHeader/communityheader.js new file mode 100644 index 0000000..4f03c01 --- /dev/null +++ b/frontend/widgets/CommunityHeader/communityheader.js @@ -0,0 +1,13 @@ +var CommunityHeader = { + getMetadata: function () { + var parts = MovimUtils.urlParts(); + if (parts.params.length > 0) { + CommunityHeader_ajaxGetMetadata(parts.params[0], parts.params[1]); + } + } +} + +MovimWebsocket.attach(function () { + Notif.current('community'); + CommunityHeader.getMetadata(); +}); diff --git a/frontend/widgets/CommunityHeader/locales.ini b/frontend/widgets/CommunityHeader/locales.ini new file mode 100644 index 0000000..7ed32c7 --- /dev/null +++ b/frontend/widgets/CommunityHeader/locales.ini @@ -0,0 +1,12 @@ +[communityheader] +follow = Follow +unfollow = Unfollow +followed = Followed +unfollowed = Unfollowed +subscription_unsupported = The subscriptions are disabled for this community +label_label = Give a label for this community +label_placeholder = My Community Name +share_follow = Share this follow to everyone +share_follow_text = It will appear on your profile +unfollow_text = You are going to unfollow this community +sure = Are you sure? diff --git a/frontend/widgets/CommunityPosts/communityposts.js b/frontend/widgets/CommunityPosts/communityposts.js new file mode 100644 index 0000000..a782512 --- /dev/null +++ b/frontend/widgets/CommunityPosts/communityposts.js @@ -0,0 +1,16 @@ +var CommunityPosts = { + getItems: function () { + var parts = MovimUtils.urlParts(); + if (parts.params.length > 0) { + var node = (parts.params[1] == undefined || parts.params[1] == '') + ? 'urn:xmpp:microblog:0' + : parts.params[1]; + + CommunityPosts_ajaxGetItems(parts.params[0], node, parts.params[2]); + } + } +} + +MovimWebsocket.attach(function () { + CommunityPosts.getItems(); +}); diff --git a/frontend/widgets/CommunityPosts/locales.ini b/frontend/widgets/CommunityPosts/locales.ini new file mode 100644 index 0000000..30c8d88 --- /dev/null +++ b/frontend/widgets/CommunityPosts/locales.ini @@ -0,0 +1,7 @@ +[communityposts] +empty_me_text = No publication yet? Write your first post to make people discover your profile +empty_me_button = Publish my first post +presencerequired = Private account +presencerequired_text = Ask %s to be in your contacts to see the publications +subscribe_presencerequired = Send an invitation request before following the contact +subscribe_unsupported = "You can't follow the contact at the moment" \ No newline at end of file diff --git a/frontend/widgets/CommunitySubscriptions/communitysubscriptions.css b/frontend/widgets/CommunitySubscriptions/communitysubscriptions.css new file mode 100644 index 0000000..c347bdc --- /dev/null +++ b/frontend/widgets/CommunitySubscriptions/communitysubscriptions.css @@ -0,0 +1,5 @@ +@media screen and (max-width: 1024px) { + #subscriptions { + padding: 0 0.75rem; + } +} \ No newline at end of file diff --git a/frontend/widgets/CommunitySubscriptions/communitysubscriptions.js b/frontend/widgets/CommunitySubscriptions/communitysubscriptions.js new file mode 100644 index 0000000..229b96c --- /dev/null +++ b/frontend/widgets/CommunitySubscriptions/communitysubscriptions.js @@ -0,0 +1 @@ +MovimWebsocket.attach(() => CommunitySubscriptions_ajaxHttpGet()); diff --git a/frontend/widgets/CommunitySubscriptions/locales.ini b/frontend/widgets/CommunitySubscriptions/locales.ini new file mode 100644 index 0000000..1f676cc --- /dev/null +++ b/frontend/widgets/CommunitySubscriptions/locales.ini @@ -0,0 +1,5 @@ +[communitysubscriptions] +subscriptions = Subscribed Communities +empty_title = Hello +empty_text1 = Here you will be able to manage all your subscriptions. +empty_text2 = You don’t have any community subscriptions yet. diff --git a/frontend/widgets/Config/config.css b/frontend/widgets/Config/config.css new file mode 100644 index 0000000..fb0012b --- /dev/null +++ b/frontend/widgets/Config/config.css @@ -0,0 +1,39 @@ +label[for=nightmode] i, +form ul.list li div>span.supporting.night_mode_detected { + display: none; +} + +@media (prefers-color-scheme: dark) { + form > div .checkbox > input[type="checkbox"] + label[for=nightmode] { + width: 3rem; + height: 3rem; + left: 1.25em; + top: 0.25em; + } + + label[for=nightmode] i, + form ul.list li div>span.supporting.night_mode_detected { + display: initial; + } + + form div:has(> #nightmode) { + opacity: 0.25; + pointer-events: none; + } +} + +form li#accent_color div.radio { + display: inline-block; + margin-right: 0.5rem; + line-height: 5rem; +} + +form li#accent_color div.radio label { + transform: scale(1.5); + position: relative; + margin-top: 0.5rem; +} + +form li#accent_color div.radio input[type=radio] { + display: none; +} \ No newline at end of file diff --git a/frontend/widgets/Config/config.js b/frontend/widgets/Config/config.js new file mode 100644 index 0000000..68084cc --- /dev/null +++ b/frontend/widgets/Config/config.js @@ -0,0 +1,20 @@ +var Config = { + switchNightMode: function () { + document.body.classList.toggle('nightmode'); + }, + + setAccentColor: function (color) { + document.body.style.setProperty('--movim-accent', 'var(--p-' + color + ')'); + }, + + updateSystemVariable: function (variable, value) { + window[variable] = value; + } +} + +MovimWebsocket.attach(function () { + Notif.current('configuration'); + + Config_ajaxMAMGetConfig(); + Config_ajaxBlogGetConfig(); +}); diff --git a/frontend/widgets/Config/locales.ini b/frontend/widgets/Config/locales.ini new file mode 100644 index 0000000..13fcb69 --- /dev/null +++ b/frontend/widgets/Config/locales.ini @@ -0,0 +1,37 @@ +[config] +general = General +language = Language +roster = Roster display +roster_show = Show the offline contacts +roster_hide = Hide the offline contacts +appearence = Appearance +updated = Configuration updated +not_valid = Configuration invalid +advanced = Advanced Configuration +nsfw = Display adult content +nsfw_text = Will allow you to read the posts tagged with the #nsfw tag +omemoenabled = Use OMEMO +omemoenabled_text = Enable end to end encryption on Movim for your account +omemoenabled_warning = "To encrypt and decrypt messages Movim is using some code delivered from the %s web domain. If you want to exchange sensitive information please ensure that you fully trust the code issued by this intermediary." +night_mode = Night Mode +night_mode_text = Use dark colors to rest your eyes +night_mode_detected = Your browser is already telling Movim to use the Night Mode by default +chatmain = Main chat page +chatmain_text = Set the chat page to the default when opening Movim +mam_text = Server-side chat messages archiving preferences +mam_always = Always +mam_never = Never +mam_saved = Archiving preferences saved +blog_text = Personal blog confidentiality +blog_open_title = Public blog +blog_open_text = Accessible to everyone on the network +blog_presence_title = Private blog +blog_presence_text = Restricted to your subscribers only +blog_saved = Personal blog confidentiality saved +confidentiality = Confidentiality +audio_title = Audio notifications +audio_call = Incoming call +audio_chat = Incoming message +accent_color = Accent color +change_nickname_title= Be careful +change_nickname_text = Changing your nickname will change your public blog, feed, and articles URLs diff --git a/frontend/widgets/Confirm/confirm.css b/frontend/widgets/Confirm/confirm.css new file mode 100644 index 0000000..8ed19f5 --- /dev/null +++ b/frontend/widgets/Confirm/confirm.css @@ -0,0 +1,4 @@ +#confirm ul h2, +#confirm ul h3 { + text-align: center; +} diff --git a/frontend/widgets/Confirm/locales.ini b/frontend/widgets/Confirm/locales.ini new file mode 100644 index 0000000..b0e6f74 --- /dev/null +++ b/frontend/widgets/Confirm/locales.ini @@ -0,0 +1,4 @@ +[confirm] +title = Confirmation of authentication +description = The following platform would like your confirmation to authentify this account +code = Authentication code diff --git a/frontend/widgets/ContactActions/contactactions.js b/frontend/widgets/ContactActions/contactactions.js new file mode 100644 index 0000000..aedc7d4 --- /dev/null +++ b/frontend/widgets/ContactActions/contactactions.js @@ -0,0 +1,48 @@ +var ContactActions = { + getDrawerFingerprints: function (jid) { + ChatOmemo.resolveContactFingerprints(jid).then(remoteKeys => { + ContactActions_ajaxGetDrawerFingerprints(jid, remoteKeys); + }); + }, + morePictures(button, jid, page) { + button.remove(); + ContactActions_ajaxHttpGetPictures(jid, page); + }, + moreLinks(button, jid, page) { + button.remove(); + ContactActions_ajaxHttpGetLinks(jid, page); + }, + resolveSessionsStates: function (jid, room = false) { + var store = new ChatOmemoStorage(); + + store.getSessionsIds(jid).map(id => { + store.getSessionState(jid + '.' + id).then(state => { + if (state) { + let icon = document.querySelector('span#sessionicon_' + MovimUtils.cleanupId(jid) + '_' + id); + if (icon) { + icon.classList.remove('blue'); + icon.classList.add('blue'); + } + + let checkbox = document.querySelector('input[name=sessionstate_' + MovimUtils.cleanupId(jid) + '_' + id + ']'); + + if (checkbox) { + checkbox.checked = true; + } + } + }) + }); + + if (room == false) { + store.getContactState(jid).then(enabled => { + if (!enabled && document.querySelector('#omemo_fingerprints ul.list')) { + document.querySelector('#omemo_fingerprints ul.list').classList.add('disabled'); + } + }); + } + }, + toggleFingerprintState: function (checkbox) { + var store = new ChatOmemoStorage(); + let set = store.setSessionState(checkbox.dataset.identifier, checkbox.checked); + } +} diff --git a/frontend/widgets/ContactActions/locales.ini b/frontend/widgets/ContactActions/locales.ini new file mode 100644 index 0000000..b8f3c7b --- /dev/null +++ b/frontend/widgets/ContactActions/locales.ini @@ -0,0 +1,7 @@ +[roster] +add_title = Add a contact +add_contact_info1 = Enter the XMPP Address of your contact. +add_contact_info2 = Press enter to validate. +added = Contact added +updated = Contact updated +deleted = Contact deleted diff --git a/frontend/widgets/ContactBlogConfig/contactblogconfig.js b/frontend/widgets/ContactBlogConfig/contactblogconfig.js new file mode 100644 index 0000000..c0252f7 --- /dev/null +++ b/frontend/widgets/ContactBlogConfig/contactblogconfig.js @@ -0,0 +1,3 @@ +MovimWebsocket.attach(() => { + ContactBlogConfig_ajaxCheckAccessModel(MovimUtils.urlParts().params[0]); +}); diff --git a/frontend/widgets/ContactData/contactdata.js b/frontend/widgets/ContactData/contactdata.js new file mode 100644 index 0000000..6aee158 --- /dev/null +++ b/frontend/widgets/ContactData/contactdata.js @@ -0,0 +1,13 @@ +MovimWebsocket.attach(function() { + Notif.current('contact'); + + if (!MovimUtils.isMobile()) { + var parts = MovimUtils.urlParts(); + + ContactData_ajaxGet(parts.params[0]); + + if (parts.params.length > 0) { + ContactData_ajaxRefresh(parts.params[0]); + } + } +}); diff --git a/frontend/widgets/ContactData/locales.ini b/frontend/widgets/ContactData/locales.ini new file mode 100644 index 0000000..6f795c7 --- /dev/null +++ b/frontend/widgets/ContactData/locales.ini @@ -0,0 +1,65 @@ +[general] +legend = General Information +name = Name +pronouns = Pronouns +pronouns_example = "he/she/they/…" +nickname = Nickname +date_of_birth = Date of Birth +gender = Gender +marital = Marital Status +email = Email +website = Website +about = About Me +accounts = Other Accounts +tune = Is Listening +pictures = Pictures +links = Links + +private_account_title = Your account is private +private_account_text = Go to the Settings page to create a public blog and allow the other users to find you + +[position] +legend = Geographic Position +locality = Locality +country = Country + +[listen] +title = Listening + +[last] +title = Last seen + +[clients] +title = Clients +title_full = Clients information + +[explore] +last_registered = Last registered +explore = Find some new contacts + +[edit] +title = Edit +alias = Alias +group = Group + +[delete] +title = Are you sure? +text = You are going to remove one of your contacts, please confirm your action + +[age] +years = %s years + +[blog] +last = Last public post +visit = Visit the public blog + +[subscription] +to = You can see this contact status +to_button = Share my status +to_text = But this contact cannot see yours +from = You are not subscribed to this contact +from_button = Ask to subscribe +from_text = But this contact can still see if you are online +nil = You are not subscribed to anyone +nil_button = Invite +nil_text = This contact is in your contact list but you are not subscribed to each other diff --git a/frontend/widgets/ContactHeader/contactheader.js b/frontend/widgets/ContactHeader/contactheader.js new file mode 100644 index 0000000..5772266 --- /dev/null +++ b/frontend/widgets/ContactHeader/contactheader.js @@ -0,0 +1,6 @@ +var ContactHeader = { + submit: function (button) { + button.innerHTML = 'progress_activity'; + button.classList.add('inactive'); + } +} \ No newline at end of file diff --git a/frontend/widgets/ContactSubscriptions/contactsubscriptions.js b/frontend/widgets/ContactSubscriptions/contactsubscriptions.js new file mode 100644 index 0000000..205dc98 --- /dev/null +++ b/frontend/widgets/ContactSubscriptions/contactsubscriptions.js @@ -0,0 +1,8 @@ +MovimWebsocket.attach(function() { + if (!MovimUtils.isMobile()) { + var parts = MovimUtils.urlParts(); + if (parts.params.length > 0) { + ContactSubscriptions_ajaxRefresh(parts.params[0]); + } + } +}); diff --git a/frontend/widgets/ContactsSuggestions/contactssuggestions.js b/frontend/widgets/ContactsSuggestions/contactssuggestions.js new file mode 100644 index 0000000..34d7efe --- /dev/null +++ b/frontend/widgets/ContactsSuggestions/contactssuggestions.js @@ -0,0 +1,10 @@ +var ContactsSuggestions = { + submit: function (button) { + button.innerHTML = 'progress_activity'; + button.classList.add('inactive'); + } +}; + +if (!MovimUtils.isMobile()) { + ContactsSuggestions_ajaxHttpGet(); +} \ No newline at end of file diff --git a/frontend/widgets/ContactsSuggestions/locales.ini b/frontend/widgets/ContactsSuggestions/locales.ini new file mode 100644 index 0000000..49a7ebd --- /dev/null +++ b/frontend/widgets/ContactsSuggestions/locales.ini @@ -0,0 +1,2 @@ +[contactssuggestions] +for_you = Suggestions for you \ No newline at end of file diff --git a/frontend/widgets/Dialog/dialog.js b/frontend/widgets/Dialog/dialog.js new file mode 100644 index 0000000..d10dca8 --- /dev/null +++ b/frontend/widgets/Dialog/dialog.js @@ -0,0 +1,35 @@ +var Dialog = { + addScroll : function() { + document.querySelector('#dialog').classList.add('scroll'); + }, + removeScroll : function() { + document.querySelector('#dialog').classList.remove('scroll'); + }, + addLocked : function() { + document.querySelector('#dialog').classList.add('locked'); + }, + locked : function() { + return document.querySelector('#dialog').classList.contains('locked'); + }, + filled : function() { + return (document.querySelector('#dialog').innerHTML != ''); + }, + clear : function() { + if (Dialog.filled() + && !Dialog.locked()) { + Dialog_ajaxClear(); + } + }, +} + +MovimEvents.registerBody('click', 'dialog', (e) => { + if (Dialog.filled() && document.querySelector('body') == e.target) { + Dialog.clear(); + } +}); + +MovimEvents.registerBody('keydown', 'dialog', (e) => { + if (e.key == 'Escape') { + Dialog.clear(); + } +}); diff --git a/frontend/widgets/Dictaphone/dictaphone.css b/frontend/widgets/Dictaphone/dictaphone.css new file mode 100644 index 0000000..4455eec --- /dev/null +++ b/frontend/widgets/Dictaphone/dictaphone.css @@ -0,0 +1,69 @@ +#dictaphone_widget { + display: none; + overflow: hidden; + margin: 0 0.5rem; +} + +#dictaphone_widget.show { + display: block; + border-top: 1px solid rgba(var(--movim-font), 0.12); +} + +#dictaphone_widget li { + padding: 0.5rem 0; +} + +#dictaphone_widget li #play_pause:not(.enabled) { + pointer-events: none; + opacity: 0.5; +} + +#dictaphone_widget li #play_pause:not(.enabled) ~ #audio_upload { + display: none; +} + +#dictaphone_widget li div { + display: flex; +} + +#dictaphone_widget li div #timer { + width: 13rem; + line-height: 5rem; +} + +#dictaphone_widget li div p.rec { + font-size: 2rem; + font-weight: bold; + filter: saturate(0); + line-height: 5rem; +} + +#dictaphone_widget li div input[type=range] { + width: 100%; +} + +#dictaphone_widget li #play_pause:not(.enabled) ~ div input[type=range] { + pointer-events: none; + opacity: 0.5; +} + +@media screen and (max-width: 1024px) { + #dictaphone_widget li div input[type=range] { + display: none; + } + + #dictaphone_widget li div #timer { + width: 100%; + } +} + +#dictaphone_widget li div p.rec:before { + font-family: 'Material Symbols'; + content: "\e061"; + vertical-align: bottom; + margin-right: 0.5rem; +} + +#dictaphone_widget li span#record:active ~ div p.rec { + filter: saturate(1); +} diff --git a/frontend/widgets/Dictaphone/dictaphone.js b/frontend/widgets/Dictaphone/dictaphone.js new file mode 100644 index 0000000..857c79d --- /dev/null +++ b/frontend/widgets/Dictaphone/dictaphone.js @@ -0,0 +1,161 @@ +var Dictaphone = { + mediaRecorder: null, + audio: null, + progressBar: null, + playPause: null, + audioUpload: null, + timer: null, + timerInterval: null, + recordTimeMs: 0, + recordTimerStart: null, + chunks: [], + audioStream: null, + + toggle: function () { + let classList = document.querySelector('#dictaphone_widget').classList; + if (classList.contains('show')) { + classList.remove('show'); + Dictaphone.clear(); + } else { + classList.add('show'); + Chat.scrollTotally(); + } + }, + + init: function () { + Dictaphone.audio = document.querySelector('#dictaphone_widget audio'); + Dictaphone.progressBar = document.querySelector('#dictaphone_widget input[type=range]'); + Dictaphone.playPause = document.querySelector('#dictaphone #play_pause'); + Dictaphone.audioUpload = document.querySelector('#dictaphone #audio_upload'); + Dictaphone.timer = document.querySelector('#dictaphone_widget #timer'); + const record = document.querySelector('#dictaphone_widget #record'); + record.onmousedown = Dictaphone.record; + record.onmouseup = Dictaphone.stop; + + Dictaphone.updateRecordTimer(); + }, + + clear: function () { + Dictaphone.audio.src = ''; + Dictaphone.playPause.classList.remove('enabled'); + Dictaphone.recordTimeMs = 0; + Dictaphone.progressBar.value = 0; + Dictaphone.updateRecordTimer(); + }, + + record: function () { + const constraints = { audio: true }; + + if (localStorage.getItem('defaultMicrophone')) { + constraints.audio = { + deviceId: localStorage.getItem('defaultMicrophone') + } + } + + let mouseDownOnSlider = false; + + navigator.mediaDevices.getUserMedia(constraints).then(audioStream => { + Dictaphone.audioStream = audioStream; + + Dictaphone.mediaRecorder = new MediaRecorder(audioStream, { mimeType: 'audio/webm; codecs=opus' }); + + Dictaphone.mediaRecorder.ondataavailable = function (e) { + Dictaphone.chunks.push(e.data); + } + + Dictaphone.mediaRecorder.onstart = function (e) { + Dictaphone.clear(); + + Dictaphone.recordTimerStart = new Date(); + Dictaphone.timerInterval = setInterval(e => { + Dictaphone.updateRecordTimer(); + }, 500); + } + + Dictaphone.mediaRecorder.onstop = function (e) { + const blob = new Blob(Dictaphone.chunks); + Dictaphone.chunks = []; + + Dictaphone.audio.src = window.URL.createObjectURL(blob); + + Upload.prepare(new File([blob], "record.opus", { type: 'audio/ogg'})); + Upload.name = 'record.opus'; + + Dictaphone.recordTimeMs = new Date() - Dictaphone.recordTimerStart; + Dictaphone.recordTimerStart = null; + + clearInterval(Dictaphone.timerInterval); + + Dictaphone.updateRecordTimer(); + } + + Dictaphone.audioUpload.onclick = function () { + Upload.init(); + Dictaphone.clear(); + } + + Dictaphone.audio.onloadeddata = function () { + Dictaphone.playPause.classList.add('enabled'); + Dictaphone.progressBar.value = 0; + Dictaphone.updateRecordTimer(); + } + + Dictaphone.audio.ontimeupdate = function () { + if (!mouseDownOnSlider) { + Dictaphone.progressBar.value = Dictaphone.audio.currentTime / Dictaphone.recordTimeMs * 100 * 1000; + } + + Dictaphone.updateRecordTimer(); + } + + Dictaphone.audio.onplay = function () { + Dictaphone.playPause.querySelector('i').innerHTML = 'pause'; + }; + + Dictaphone.audio.onpause = function () { + Dictaphone.playPause.querySelector('i').innerHTML = 'play_arrow'; + }; + + Dictaphone.progressBar.onchange = function () { + Dictaphone.audio.currentTime = Dictaphone.recordTimeMs / 100000 * Dictaphone.progressBar.value; + } + + Dictaphone.playPause.onclick = function () { + if (Dictaphone.audio.paused) { + Dictaphone.audio.play(); + } else { + Dictaphone.audio.pause(); + } + }; + + Dictaphone.progressBar.onmousedown = function() { + mouseDownOnSlider = true; + } + + Dictaphone.progressBar.onmouseup = function() { + mouseDownOnSlider = false; + } + + Dictaphone.mediaRecorder.start(); + }, error => console.log(error)); + }, + + updateRecordTimer: function () { + Dictaphone.timer.innerHTML = MovimUtils.cleanTime(Dictaphone.audio.currentTime); + Dictaphone.timer.innerHTML += ' / '; + Dictaphone.timer.innerHTML += + (Dictaphone.recordTimerStart != null) + ? MovimUtils.cleanTime(Math.round((new Date() - Dictaphone.recordTimerStart) / 1000)) + : MovimUtils.cleanTime(Math.round(Dictaphone.recordTimeMs / 1000)); + }, + + stop: function () { + if (Dictaphone.mediaRecorder) { + Dictaphone.mediaRecorder.stop(); + } + + Dictaphone.audioStream.getTracks().forEach(function (track) { + track.stop(); + }); + } +} diff --git a/frontend/widgets/Dictaphone/locales.ini b/frontend/widgets/Dictaphone/locales.ini new file mode 100644 index 0000000..375d611 --- /dev/null +++ b/frontend/widgets/Dictaphone/locales.ini @@ -0,0 +1,4 @@ +[dictaphone] +name = Dictaphone +push_to_record = Push to record +recording = Recording diff --git a/frontend/widgets/Draw/draw.css b/frontend/widgets/Draw/draw.css new file mode 100644 index 0000000..ef51295 --- /dev/null +++ b/frontend/widgets/Draw/draw.css @@ -0,0 +1,131 @@ +#draw { + display: flex; + position: absolute; + height: 100%; + width: 100%; + top: 0; + left: 0; + z-index: 2; + display: none; + + backdrop-filter: blur(1rem); +} + +#draw:before { + content: ''; + display: block; + width: 100%; + height: 100%; + position: fixed; + top: 0; + left: 0; + opacity: 0.75; + background-color: rgb(var(--movim-background)); +} + +#draw.open { + display: flex; +} + +#draw .canvas { + position: relative; + height: 100%; + width: 100%; + margin: auto; + z-index: 0; +} + +#draw ul.list.controls li { + justify-content: space-between; +} + +#draw #draw-background { + position: absolute; + z-index: -1; +} + +#draw #screen-canvas { + position: absolute; + top: 0; + left: 0; +} + +#draw #draw-canvas { + cursor: crosshair; +} + +/* Controls */ + +#draw .draw-top-nav { + transition: transform 0.2s; + pointer-events: none; + padding-top: 1rem; +} + +#draw .draw-top-nav span { + pointer-events: auto; +} + +#draw .draw-top-nav span.control { + margin-right: 1.5rem; + box-shadow: var(--elevation-1); +} + +#draw .draw-actions, +#draw .draw-control { + position: absolute; + bottom: 1rem; + right: 1rem; + transition: transform 0.2s; +} + +#draw .draw-actions { + left: -1rem; + right: initial; +} + +#draw .draw-top-nav.drawing { + transform: translateY(-130%); +} + +#draw .draw-control.drawing { + transform: translateX(100%); +} + +#draw .draw-actions.drawing { + transform: translateX(-100%); +} + +#draw .draw-control span.icon.bubble i, +#draw .draw-actions span.icon.bubble i { + line-height: 5rem; + height: 5rem; +} + +#draw .draw-actions li span.primary, +#draw .draw-control li span.primary { + height: 5rem; + flex: 0 0 5rem; + margin: 0.5rem 1rem; + transition: box-shadow .3s cubic-bezier(.4,0,.2,1), transform .3s cubic-bezier(.4,0,.2,1); + box-shadow: var(--elevation-1); +} + +#draw .draw-actions li span.primary:hover, +#draw .draw-control li span.primary:hover { + box-shadow: var(--elevation-2); +} + +#draw .draw-actions li.selected span.primary, +#draw .draw-control li.selected span.primary { + box-shadow: var(--elevation-4); + transform: scale(1.3); + z-index: 1; +} + +#draw [data-width=small] i { + font-size: 2rem; +} +#draw [data-width=medium] i { + font-size: 2.5rem; +} diff --git a/frontend/widgets/Draw/draw.js b/frontend/widgets/Draw/draw.js new file mode 100644 index 0000000..e3f26b7 --- /dev/null +++ b/frontend/widgets/Draw/draw.js @@ -0,0 +1,475 @@ +var Draw = { + initCanvas: null, + + SMALL: 4, + MEDIUM: 6, + BIG: 8, + + CROP_PADDING: 0.15, + + draw: null, // widget wrapper + + canvas: null, // drawable + ctx: null, + bg: null, // non drawable, only used for background + + drawing: false, + mousePos: null, + lastPos: null, + + drawingData: null, // data structure for saving drawn points + + control: null, + actions: null, + topNav: null, + save: null, // button + + backgroundCanvas: null, // background coming from another widget as a canvas + bgHeight: null, // natural height of background + bgWidth: null, // natural width of background + ratio: 1, // upscale ratio + + init: function () { + MovimTpl.pushAnchorState('draw', function () { + Draw.draw.classList.remove('bound', 'open'); + }); + + Draw.drawingData = []; + + if (Draw.initCanvas) { + Draw.backgroundCanvas = Draw.initCanvas; + Draw.initCanvas = null; + } else { + Draw.backgroundCanvas = null; + } + + Draw.topNav = document.querySelector('.draw-top-nav'); + Draw.control = document.querySelector('.draw-control'); + Draw.actions = document.querySelector('.draw-actions'); + + Draw.draw = document.getElementById('draw'); + const canvasWrapper = document.querySelector('#draw .canvas'); + const colors = document.querySelectorAll('.draw-colors li'); + const widths = document.querySelectorAll('.draw-widths li'); + const eraser = document.querySelector('.draw-eraser'); + + Draw.draw.classList.add('open'); + + let height, width; + if (Draw.backgroundCanvas) { + Draw.bgHeight = Draw.backgroundCanvas.height; + Draw.bgWidth = Draw.backgroundCanvas.width; + const dheight = document.body.clientHeight; + const dwidth = document.body.clientWidth; + if (Draw.bgHeight <= dheight && Draw.bgWidth <= dwidth) { + height = Draw.bgHeight; + width = Draw.bgWidth; + } else { + const bgTaller = Draw.bgHeight / Draw.bgWidth > dheight / dwidth; + if (Draw.bgHeight <= dheight || !bgTaller) { + width = dwidth; + height = dwidth * Draw.bgHeight / Draw.bgWidth; + Draw.ratio = Draw.bgWidth / dwidth; + } else if (Draw.bgWidth <= dwidth || bgTaller) { + height = dheight; + width = dheight * Draw.bgWidth / Draw.bgHeight; + Draw.ratio = Draw.bgHeight / dheight; + } + } + } else { + height = document.body.clientHeight; + width = document.body.clientWidth; + } + + canvasWrapper.style.height = `${height}px`; + canvasWrapper.style.width = `${width}px`; + + Draw.canvas = document.getElementById('draw-canvas'); + Draw.canvas.width = width; + Draw.canvas.height = height; + Draw.ctx = Draw.canvas.getContext('2d'); + Draw.ctx.lineCap = 'round'; + + Draw.screen = document.getElementById('screen-canvas'); + Draw.screen.width = width; + Draw.screen.height = height; + Draw.sctx = Draw.screen.getContext('2d'); + Draw.sctx.lineCap = Draw.ctx.lineCap; + + Draw.bg = document.getElementById('draw-background'); + Draw.bg.width = width; + Draw.bg.height = height; + bgctx = Draw.bg.getContext('2d'); + + if (Draw.backgroundCanvas) { + // copy over background image + bgctx.drawImage(Draw.backgroundCanvas, 0, 0, width, height); + } else { + // fill canvas with white + bgctx.fillStyle = 'white'; + bgctx.fillRect(0, 0, width, height); + } + + // init controls + Draw.ctx.strokeStyle = '#000'; + Draw.sctx.strokeStyle = '#000'; + colors.forEach(item => item.classList.remove('selected')); + eraser.classList.remove('selected'); + document.querySelector('[data-color=black]').classList.add('selected'); + Draw.ctx.lineWidth = Draw.MEDIUM; + Draw.sctx.lineWidth = Draw.MEDIUM; + widths.forEach(item => item.classList.remove('selected')); + document.querySelector('[data-width=medium]').classList.add('selected'); + + if (Draw.draw.classList.contains('bound')) return; + + // Get a regular interval for drawing to the screen + window.requestAnimFrame = (function (callback) { + return window.requestAnimationFrame || + window.webkitRequestAnimationFrame || + window.mozRequestAnimationFrame || + window.oRequestAnimationFrame || + window.msRequestAnimaitonFrame || + function (callback) { + window.setTimeout(callback, 1000 / 60); + }; + })(); + // Allow for animation + (function drawLoop() { + requestAnimFrame(drawLoop); + Draw.renderCanvas(); + })(); + + Draw.screen.addEventListener('mousedown', Draw.startDrawing, true); + Draw.screen.addEventListener('mouseenter', Draw.startDrawing, false); + Draw.screen.addEventListener('mouseup', Draw.stopDrawing, false); + Draw.screen.addEventListener('mouseleave', Draw.stopDrawing, false); + Draw.screen.addEventListener('mousemove', function (e) { + Draw.mousePos = Draw.getPos(Draw.screen, e); + }, false); + + // Set up touch events for mobile, etc + Draw.screen.addEventListener('touchstart', function (e) { + Draw.mousePos = Draw.getPos(Draw.screen, e); + var touch = e.touches[0]; + var mouseEvent = new MouseEvent('mousedown', { + clientX: touch.clientX, + clientY: touch.clientY, + buttons: 1 + }); + Draw.screen.dispatchEvent(mouseEvent); + }, false); + Draw.screen.addEventListener('touchend', Draw.stopDrawing, false); + Draw.screen.addEventListener('touchmove', function (e) { + var touch = e.touches[0]; + var mouseEvent = new MouseEvent('mousemove', { + clientX: touch.clientX, + clientY: touch.clientY + }); + Draw.screen.dispatchEvent(mouseEvent); + }, false); + + // Clear canvas + const clear = document.getElementById('draw-clear'); + clear.addEventListener('click', (e) => { + const rect = Draw.screen.getBoundingClientRect(); + Draw.ctx.clearRect(0, 0, rect.width, rect.height); + Draw.drawingData = []; + }, false); + + // Save (background +) drawing + Draw.save = document.querySelector('#draw-save'); + Draw.save.onclick = (e) => { + const finalCanvas = document.createElement('canvas'); + let crop, height, width, bg; + + if (Draw.backgroundCanvas) { + width = Draw.bgWidth; + height = Draw.bgHeight; + bg = Draw.backgroundCanvas; + } else { + crop = Draw.autoCropDrawing(); + width = crop.width; + height = crop.height; + bg = Draw.bg; + } + finalCanvas.setAttribute('width', width); + finalCanvas.setAttribute('height', height); + + const finalctx = finalCanvas.getContext('2d'); + finalctx.lineCap = 'round'; + + if (Draw.backgroundCanvas) { + Draw.upscaleDrawing(finalctx); + } else { + finalctx.putImageData(crop, 0, 0); + } + + // add background + finalctx.globalCompositeOperation = 'destination-over'; + finalctx.drawImage( + bg, + 0, 0, + width, + height + ); + + // Disable button + Draw.save.classList.add('disabled'); + + finalCanvas.toBlob( + function (blob) { + Upload.prepare(blob); + Upload.name = 'drawing.jpg'; + Upload.init(); + }, + 'image/jpeg', + 0.85 + ); + }; + + // Use the eraser + eraser.addEventListener('click', function (e) { + colors.forEach(item => item.classList.remove('selected')); + this.classList.add('selected'); + + Draw.ctx.globalCompositeOperation = 'destination-out'; + }, false); + + // Change pencil color + for (let i = 0; i < colors.length; i++) { + colors[i].addEventListener('click', function (e) { + colors.forEach(item => item.classList.remove('selected')); + eraser.classList.remove('selected'); + this.classList.add('selected'); + + Draw.ctx.globalCompositeOperation = 'source-over'; + Draw.ctx.strokeStyle = window.getComputedStyle(colors[i].querySelector('span.primary')).backgroundColor; + Draw.sctx.strokeStyle = window.getComputedStyle(colors[i].querySelector('span.primary')).backgroundColor; + }); + } + + // Change pencil thickness + for (let i = 0; i < widths.length; i++) { + widths[i].addEventListener('click', function (e) { + widths.forEach(item => item.classList.remove('selected')); + this.classList.add('selected'); + + let width; + switch (this.dataset.width) { + case 'small': + width = Draw.SMALL; + break; + case 'medium': + width = Draw.MEDIUM; + break; + case 'big': + width = Draw.BIG; + break; + default: + width = Draw.SMALL; + } + Draw.ctx.lineWidth = width; + Draw.sctx.lineWidth = width; + }); + } + + const drawback = document.querySelector('#draw #drawback'); + drawback.addEventListener('click', () => { + history.back(); + }); + + // Add a flag to not re-bind event listeners + Draw.draw.classList.add('bound'); + }, + + stopDrawing: function (e) { + // print to actual canvas + if (Draw.drawingData.length) + Draw.smoothenLine(Draw.drawingData[Draw.drawingData.length - 1], Draw.ctx, 1) + // cleanup screen + const rect = Draw.screen.getBoundingClientRect(); + Draw.sctx.clearRect(0, 0, rect.width, rect.height); + + Draw.drawing = false; + Draw.lastPos = null; + Draw.mousePos = null; + + // show coontrols + Draw.topNav.classList.remove('drawing'); + Draw.actions.classList.remove('drawing'); + Draw.control.classList.remove('drawing'); + + Draw.ctx.beginPath(); + Draw.sctx.beginPath(); + }, + + startDrawing: function (e) { + if (e.buttons == 1) { + Draw.drawing = true; + + // hide controls + Draw.topNav.classList.add('drawing'); + Draw.actions.classList.add('drawing'); + Draw.control.classList.add('drawing'); + + // save drawing data + const data = { + gco: Draw.sctx.globalCompositeOperation, + width: Draw.sctx.lineWidth, + color: Draw.sctx.strokeStyle, + points: [] + } + Draw.drawingData.push(data); + + Draw.lastPos = Draw.getPos(Draw.screen, e); + } + }, + + upscaleDrawing: function (finalctx) { + // re-draw upscaled + for (let i = 0; i < Draw.drawingData.length; i++) { + finalctx.globalCompositeOperation = Draw.drawingData[i].gco; + finalctx.lineWidth = Draw.drawingData[i].width * Draw.ratio; + finalctx.strokeStyle = Draw.drawingData[i].color; + + Draw.smoothenLine(Draw.drawingData[i], finalctx, Draw.ratio); + finalctx.beginPath(); + } + }, + + smoothenLine(line, ctx, ratio) { + let j = 0; + // keep only half of the points + const sample = line.points.filter((point, index) => index % 2 == 0) + + while (sample.length < 4) { + sample.push(sample[sample.length - 1]); + } + + if (sample.length >= 4) { + // move to 1st point of the line + ctx.moveTo( + sample[j].x * ratio, + sample[j].y * ratio + ); + for (j = 1; j < sample.length - 2; j++) { + // define controle point as the mean point between current point and next point + const c = (sample[j].x + sample[j + 1].x) / 2; + const d = (sample[j].y + sample[j + 1].y) / 2; + + // draw a curve between + ctx.quadraticCurveTo( + sample[j].x * ratio, + sample[j].y * ratio, + c * ratio, + d * ratio + ); + } + ctx.quadraticCurveTo( + sample[j].x * ratio, + sample[j].y * ratio, + sample[j + 1].x * ratio, + sample[j + 1].y * ratio + ); + } + ctx.stroke(); + }, + + autoCropDrawing: function () { + const rect = Draw.screen.getBoundingClientRect(); + let height = rect.height; + let width = rect.width; + + const imgData = Draw.ctx.getImageData(0, 0, width, height); + let maxx = 0, minx = width, maxy = 0, miny = height, + index; + + // list all non transparent pixels + for (let y = 0; y < height; y++) { + for (let x = 0; x < width; x++) { + index = (y * width + x) * 4; + if (imgData.data[index + 3] > 0) { + minx = Math.min(x, minx); + miny = Math.min(y, miny); + maxx = Math.max(x, maxx); + maxy = Math.max(y, maxy); + } + } + } + + width = maxx - minx + 1; + height = maxy - miny + 1; + + return Draw.ctx.getImageData( + minx - (width * Draw.CROP_PADDING), + miny - (height * Draw.CROP_PADDING), + width * (1 + 2 * Draw.CROP_PADDING), + height * (1 + 2 * Draw.CROP_PADDING) + ) + }, + + // Get the position of the mouse/touch relative to the canvas + getPos: function (canvasDom, event) { + var rect = canvasDom.getBoundingClientRect(); + let x, y; + if (event.touches) { + x = event.touches[0].clientX - rect.left; + y = event.touches[0].clientY - rect.top; + } else { + x = event.clientX - rect.left; + y = event.clientY - rect.top; + } + + if (Draw.drawing) { + let points = Draw.drawingData[Draw.drawingData.length - 1].points; + points.push({ x, y }); + } + + return { x, y }; + }, + + // Draw to the canvas + renderCanvas: function () { + if (Draw.drawing && Draw.lastPos && Draw.mousePos) { + Draw.sctx.moveTo(Draw.lastPos.x, Draw.lastPos.y); + Draw.sctx.lineTo(Draw.mousePos.x, Draw.mousePos.y); + Draw.sctx.stroke(); + Draw.lastPos = Draw.mousePos; + } + }, + + disableForCanvas: function (e) { + if (e.target.tagName == 'canvas') { + e.preventDefault(); + } + } +}; +MovimEvents.registerWindow('loaded', 'draw', () => { + Upload.attach((file) => { + if (Draw.draw) Draw.draw.classList = ''; + if (Draw.save) { + Draw.save.classList.remove('disabled'); + Draw.save.style.backgroundImage = ''; + } + }); + + Upload.fail(() => { + if (Draw.draw) Draw.draw.classList = 'upload'; + if (Draw.save) { + Draw.save.classList.remove('disabled'); + Draw.save.style.backgroundImage = ''; + } + }); + + Upload.progress((percent) => { + if (Draw.save) { + Draw.save.style.backgroundImage + = 'linear-gradient(to top, rgba(0, 0, 0, 0.5) ' + percent + '%, transparent ' + percent + '%)'; + } + }); +}); + +MovimEvents.registerBody('touchstart', 'draw', (e) => Draw.disableForCanvas(e)); +MovimEvents.registerBody('touchend', 'draw', (e) => Draw.disableForCanvas(e)); +MovimEvents.registerBody('touchmove', 'draw', (e) => Draw.disableForCanvas(e)); diff --git a/frontend/widgets/Draw/locales.ini b/frontend/widgets/Draw/locales.ini new file mode 100644 index 0000000..bfc810c --- /dev/null +++ b/frontend/widgets/Draw/locales.ini @@ -0,0 +1,2 @@ +[draw] +title = Draw diff --git a/frontend/widgets/Drawer/drawer.css b/frontend/widgets/Drawer/drawer.css new file mode 100644 index 0000000..b54393d --- /dev/null +++ b/frontend/widgets/Drawer/drawer.css @@ -0,0 +1,67 @@ +.drawer { + position: fixed; + z-index: 3; + bottom: 0; + left: 0; + width: 100%; + max-height: calc(100% - 7rem); + box-shadow: var(--elevation-5); + transition: transform .45s var(--decelerate-easing); + display: flex; + flex-direction: column; + border-radius: 2rem 2rem 0 0; +} + +.drawer.tiny { + height: auto; +} + +.drawer>section { + height: 100%; + overflow-y: auto; + position: relative; +} + +.drawer>section form>div:not(:has(ul.list)) { + padding-left: 1.5rem; + padding-right: 1.5rem; +} + +.drawer:empty { + transition: transform 0.45s var(--accelerate-easing); + transform: translateY(100%); + pointer-events: none; + height: auto; +} + +.drawer ul.list li.subheader.sticky { + background-color: rgb(var(--movim-background)); +} + +@media screen and (min-width: 570px) { + .drawer { + width: 70rem; + left: calc(50% - 35rem); + } +} + +@media screen and (max-width: 570px) { + .drawer~main, .drawer~nav { + transition: transform .25s var(--decelerate-easing); + } + + .drawer:not(:empty)~main, + .drawer:not(:empty)~nav { + transition: transform .25s var(--accelerate-easing); + transform: translateY(-2rem); + } +} + + +#drawer ul.list>li.search form div:after { + background-color: rgb(var(--movim-background-main)); +} + +#drawer ul.list>li.search form div:focus-within:after { + background-color: rgba(var(--movim-background-main), 0.8); +} \ No newline at end of file diff --git a/frontend/widgets/Drawer/drawer.js b/frontend/widgets/Drawer/drawer.js new file mode 100644 index 0000000..7694ffa --- /dev/null +++ b/frontend/widgets/Drawer/drawer.js @@ -0,0 +1,43 @@ +var Drawer = { + open: function (key) { + document.querySelector('#drawer').dataset.type = key; + MovimTpl.pushAnchorState(key, function () { Drawer.clear(key) }); + }, + filled: function () { + return (document.querySelector('#drawer').innerHTML != ''); + }, + hasTabs: function () { + return Drawer.filled() + && document.querySelector('#drawer').contains(document.querySelector('#navtabs')); + }, + clear: function (key) { + if (key && document.querySelector('#drawer').dataset.type == key) { + Drawer_ajaxClear(); + return; + } + + if (key == undefined) { + MovimTpl.clearAnchorState(); + Drawer_ajaxClear(); + } + } +} + +if (typeof MovimWebsocket != 'undefined') { + MovimWebsocket.initiate(() => document.querySelector('#drawer').innerHTML = ''); +} + +MovimEvents.registerBody('click', 'drawer', (e) => { + if (Drawer.filled() + && document.querySelector('body') == e.target) { + e.stopPropagation(); + history.back(); + } +}); + +MovimEvents.registerBody('keydown', 'drawer', (e) => { + if (Drawer.filled() + && e.key == 'Escape') { + history.back(); + } +}); diff --git a/frontend/widgets/EmojisConfig/emojisconfig.css b/frontend/widgets/EmojisConfig/emojisconfig.css new file mode 100644 index 0000000..bd2f08c --- /dev/null +++ b/frontend/widgets/EmojisConfig/emojisconfig.css @@ -0,0 +1,26 @@ +#emojisconfig_widget .pack { + padding-bottom: 1rem; +} + +#emojisconfig_widget .pack:not(:last-child) { + border-bottom: 1px solid rgba(var(--movim-font), 0.12); +} + +#emojisconfig_widget .pack .emojis { + text-align: center; +} + +#emojisconfig_widget .pack .emojis img { + padding: 0.5rem; +} + +#emojisconfig_widget .pack .emojis img:hover { + cursor: pointer; + background-color: rgba(var(--movim-font), 0.05); + border-radius: 0.5rem; +} + +#emojisconfig_widget .pack .emojis img.favorite { + opacity: 0.05; + pointer-events: none; +} diff --git a/frontend/widgets/EmojisConfig/emojisconfig.js b/frontend/widgets/EmojisConfig/emojisconfig.js new file mode 100644 index 0000000..d1e6e9e --- /dev/null +++ b/frontend/widgets/EmojisConfig/emojisconfig.js @@ -0,0 +1,3 @@ +MovimWebsocket.attach(function () { + EmojisConfig_ajaxHttpGet(); +}); diff --git a/frontend/widgets/EmojisConfig/locales.ini b/frontend/widgets/EmojisConfig/locales.ini new file mode 100644 index 0000000..8774380 --- /dev/null +++ b/frontend/widgets/EmojisConfig/locales.ini @@ -0,0 +1,9 @@ +[emojisconfig] +title = Emojis +favorites_title = My favorite emojis +favorites_text = Pick emojis from the packs bellow that you want to add to your favorites ones +dialog_title = Manage a favorite emoji +alias_error = The shortcut should only contains lowercase letters, numbers and dashes +new_added = New favorite emoji added +alias_conflict = The shortcut is already used on another emoji +no_emojis_yet = No favorites yet, check the settings page to add some diff --git a/frontend/widgets/Help/locales.ini b/frontend/widgets/Help/locales.ini new file mode 100644 index 0000000..53021db --- /dev/null +++ b/frontend/widgets/Help/locales.ini @@ -0,0 +1,22 @@ +[faq] +title = Frequently Asked Questions +permission_title = What does the permission setting do? +permission_text = By default the content is only available to your contacts. You can make your profile and publications public by enabling the related setting. +permission_community_title = How does it apply to Communities posts? +permission_community_text = Similary to your blog publications except that, by default, the posts are only available to the members or subscribers of the Community (except if you explicitly open all the Community content) +chatrooms_title = Where can I find a list of group chats? +find_contacts_title = Where can I find my contacts? +find_contacts_text = By opening the search panel. + +[apps] +title = Applications +install = Movim App +install_text = Install Movim on your device +recommend = We also recommend + +[contact] +title = Administrators & Contact + +[chatroom] +question = Chat with the Movim team? +button = Add the chatroom diff --git a/frontend/widgets/Login/locales.ini b/frontend/widgets/Login/locales.ini new file mode 100644 index 0000000..ca29e56 --- /dev/null +++ b/frontend/widgets/Login/locales.ini @@ -0,0 +1,42 @@ +[error] +username = Wrong username +jid = Invalid XMPP Address +empty_challenge = Empty Challenge from the server +dns = XMPP Domain error, your account is not a valid XMPP Address +data_missings = Some data are missing! +internal = Internal server error +session = Session error +account_created = Account successfully created +connection = Movim cannot connect to the server +impossible = Impossible login + +default = Unknown error +login_format = Invalid username format +password_format = Invalid password format +unauthorized = Your XMPP server is unauthorized +wrong_account = Movim failed to authenticate. You entered wrong data +mechanism = Authentication mechanism not supported by Movim +fail_auth = The XMPP authentification failed +max_sessions_reached = This Movim instance is currently full. +max_sessions_reached_join = Try a different one on %s + +[connection] +socket_connected = Connected to the server +authenticated = Authenticated to the server + +[form] +username = My address +password = Password + +whitelist_info = Login with accounts from these servers +connect_info = Login using any XMPP account or create a new one +connected = Connected +population = Population + +invite_chatroom = %s invited you to join a chatroom + +pod_admins = Administrated by + +[about_movim] +info = Movim is a federated blogging and chat platform. +website = Visit the project official website %s. diff --git a/frontend/widgets/Login/login.css b/frontend/widgets/Login/login.css new file mode 100644 index 0000000..34b18df --- /dev/null +++ b/frontend/widgets/Login/login.css @@ -0,0 +1,84 @@ +body main { + background: radial-gradient(circle farthest-corner at right bottom, rgb(255, 61, 0) 0, rgb(61, 58, 244) 90%); + display: flex; + align-items: center; +} + +#login_widget { + display: flex; + justify-content: space-between; + width: 100rem; + gap: 1rem; + padding: 1rem; +} + +@media screen and (max-width: 600px) { + body main { + align-items: flex-start; + } + + #login_widget { + flex-direction: column; + } + + #login_widget:before { + content: ''; + display: block; + background: url(../theme/img/app/logo.svg); + background-size: auto 4rem, 100% 100%; + background-position: center 2rem, center; + background-repeat: no-repeat; + height: 8rem; + } +} + +#login_widget .dialog { + flex: 0 1 50%; + position: relative; + left: 0; + width: 100%; +} + +#login_widget .dialog>section { + display: flex; + flex-direction: column; +} + +#login_widget article>section { + padding: 0; +} + +#login_widget .dialog>section .about { + margin-top: auto; +} + +#login_widget .dialog .banner { + max-width: 100%; + padding: 0; + margin-top: -1rem; + object-fit: cover; + min-height: 9rem; + max-height: 18rem; + width: 100%; + mask-image: linear-gradient(to bottom, black 60%, transparent); +} + +#login_widget:not(.error)>#error, +#login_widget.error>div:not(#error) { + display: none; +} + +#login_widget input#complete { + position: absolute; + top: 0; + z-index: -1; + color: rgba(var(--movim-font), 0.54); + box-shadow: none; + width: calc(100% - 3rem); +} + +#login_error code { + display: block; + margin-top: 1rem; + max-height: 10rem; +} \ No newline at end of file diff --git a/frontend/widgets/Login/login.js b/frontend/widgets/Login/login.js new file mode 100644 index 0000000..c5f6fc8 --- /dev/null +++ b/frontend/widgets/Login/login.js @@ -0,0 +1,127 @@ +var Login = { + domain: '@movim.eu', + submitted: false, + + init: function () { + // The form submission event + document.body.addEventListener('submit', function (e) { + e.preventDefault(); + + Login.submitted = true; + + // We register the socket + MovimWebsocket.connection.register(this.querySelector('input#username').value.replace(/.*@/, '')); + var button = this.querySelector('input[type=submit]'); + button.value = button.dataset.loading; + + localStorage.username = document.querySelector('input#username').value; + + // A fallback security + setTimeout('MovimWebsocket.unregister()', 20000); + + return true; + }, false); + }, + + setCookie: function (value, expires) { + document.cookie = 'MOVIM_SESSION_ID' + '=' + value + '; expires=' + expires + '; path=/ ; secure; SameSite=lax'; + }, + + getCookie: function () { + cookie = document.cookie.split('='); + + if (cookie[0] == 'MOVIM_SESSION_ID') { + return cookie[1].substring(0, 32); + } + + return null; + }, + + setQuick: function (deviceId, login, host, key) { + localStorage.setItem('quickDeviceId', deviceId); + localStorage.setItem('quickLogin', login); + localStorage.setItem('quickHost', host); + localStorage.setItem('quickKey', key); + }, + + clearQuick: function () { + localStorage.removeItem('quickDeviceId'); + localStorage.removeItem('quickLogin'); + localStorage.removeItem('quickHost'); + localStorage.removeItem('quickKey'); + }, + + isQuick: function () { + return localStorage.getItem('quickDeviceId') != null + && localStorage.getItem('quickLogin') != null + && localStorage.getItem('quickHost') != null + && localStorage.getItem('quickKey') != null; + }, + + quickLogin: function () { + if (Login.isQuick()) { + Login_ajaxQuickLogin( + localStorage.getItem('quickDeviceId'), + localStorage.getItem('quickLogin'), + localStorage.getItem('quickKey'), + Intl.DateTimeFormat().resolvedOptions().timeZone, + Login.getCookie(), + true, // check is we can actually quick login before registering + ); + } + }, + + quickLoginRegister: function () { + MovimWebsocket.connection.register(localStorage.getItem('quickHost')); + } +} + +// The session linker is launched +MovimWebsocket.start(function () { + Login.quickLogin(); + Login.init(); + + // We enable the form + var inputs = document.querySelectorAll('#login_widget div input[disabled]'); + for (var i = 0; i < inputs.length; i++) { + inputs[i].disabled = false; + } +}); + +MovimWebsocket.register(function () { + if (Login.isQuick()) { + Login_ajaxQuickLogin( + localStorage.getItem('quickDeviceId'), + localStorage.getItem('quickLogin'), + localStorage.getItem('quickKey'), + Intl.DateTimeFormat().resolvedOptions().timeZone, + Login.getCookie() + ); + } else { + form = document.querySelector('form[name="login"]'); + if (Login.submitted && Login.getCookie()) { + Login_ajaxLogin(MovimUtils.formToJson('login'), Login.getCookie(), Intl.DateTimeFormat().resolvedOptions().timeZone); + } + } +}); + +MovimEvents.registerWindow('loaded', 'login', () => { + // We had the autocomplete system + var login = document.querySelector('input#username'); + + login.addEventListener('input', function () { + if (this.value.indexOf('@') == -1) { + document.querySelector('input#complete').value = this.value + '@' + Login.domain; + } else { + document.querySelector('input#complete').value = this.value; + } + + if (this.value.length == 0) { + document.querySelector('input#complete').value = ''; + } + }); + + login.addEventListener('blur', function () { + this.value = document.querySelector('input#complete').value; + }); +}); diff --git a/frontend/widgets/Menu/locales.ini b/frontend/widgets/Menu/locales.ini new file mode 100644 index 0000000..b5b7029 --- /dev/null +++ b/frontend/widgets/Menu/locales.ini @@ -0,0 +1,8 @@ +[menu] +empty_title = No news yet… +empty = Welcome to your news feed, here you will see all the posts published by your contacts and in the communities you have subscribed. + +all = All +mine = My publications +contacts = Contacts +add_post = Write a new post… diff --git a/frontend/widgets/Menu/menu.css b/frontend/widgets/Menu/menu.css new file mode 100644 index 0000000..9b85112 --- /dev/null +++ b/frontend/widgets/Menu/menu.css @@ -0,0 +1,23 @@ +#menu_widget { + margin-top: 0.5rem; +} + +#menu_refresh { + margin: 0.5rem 0; +} + +@media screen and (max-width: 1024px) { + #menu_widget > div { + padding: 0 0.75rem; + } +} + +#menu_refresh li.refreshing { + background: linear-gradient(to right, rgb(var(--movim-background-main)) 8%, rgba(var(--movim-background), 0.5) 18%, rgb(var(--movim-background-main)) 33%); + animation: 1.5s shine linear infinite; + background-size: 200% 100%; +} + +#menu_refresh li.refreshing span.primary i { + animation: spin 2s linear infinite; +} \ No newline at end of file diff --git a/frontend/widgets/Menu/menu.js b/frontend/widgets/Menu/menu.js new file mode 100644 index 0000000..f2911b2 --- /dev/null +++ b/frontend/widgets/Menu/menu.js @@ -0,0 +1,34 @@ +var Menu = { + init: function() { + let parts = MovimUtils.urlParts(); + let page = parts.params[0] !== undefined ? parseInt(parts.params[0]) : 0; + + if (parts.hash != '') { + switch (parts.hash) { + case 'communities': + Menu_ajaxHttpGetCommunities(page); + break; + case 'contacts': + Menu_ajaxHttpGetContacts(page); + break; + } + } else { + Menu_ajaxHttpGetAll(page); + } + }, + + refresh: function() { + document.querySelector('#menu_refresh li').classList.add('refreshing'); + Menu_ajaxHttpGetAll(); + }, + + setLoad: function(tab) { + tab.innerHTML = 'autorenew'; + } +}; + +MovimWebsocket.attach(function() { + Menu.init(); + Notif_ajaxClear('news'); + Notif.current('news'); +}); diff --git a/frontend/widgets/Navigation/navigation.js b/frontend/widgets/Navigation/navigation.js new file mode 100644 index 0000000..daf55d7 --- /dev/null +++ b/frontend/widgets/Navigation/navigation.js @@ -0,0 +1 @@ +MovimWebsocket.initiate(() => Navigation_ajaxHttpRefresh()); diff --git a/frontend/widgets/NewsNav/newsnav.js b/frontend/widgets/NewsNav/newsnav.js new file mode 100644 index 0000000..d58384b --- /dev/null +++ b/frontend/widgets/NewsNav/newsnav.js @@ -0,0 +1,8 @@ +MovimWebsocket.initiate(() => { + if (!MovimUtils.isMobile()) { + NewsNav_ajaxHttpGet( + MovimUtils.urlParts().page, + MovimUtils.urlParts().params[0] + ) + } +}); diff --git a/frontend/widgets/NotFound/notfound.css b/frontend/widgets/NotFound/notfound.css new file mode 100644 index 0000000..7d6fa09 --- /dev/null +++ b/frontend/widgets/NotFound/notfound.css @@ -0,0 +1,3 @@ +#notfound_widget { + text-align: center; +} diff --git a/frontend/widgets/Notif/locales.ini b/frontend/widgets/Notif/locales.ini new file mode 100644 index 0000000..e3c7b5c --- /dev/null +++ b/frontend/widgets/Notif/locales.ini @@ -0,0 +1,7 @@ +[notification] +request_title = Notifications request +request_info = Movim requires your approval to display notifications +request_info2 = This authorization can be revoked at any time +request_button = Request +request_granted = Authorization granted +request_refused = Authorization refused diff --git a/frontend/widgets/Notif/notif.js b/frontend/widgets/Notif/notif.js new file mode 100644 index 0000000..366b31d --- /dev/null +++ b/frontend/widgets/Notif/notif.js @@ -0,0 +1,282 @@ +var Notif = { + inhibed: false, + focused: false, + call_status: null, + tab_counter1: 0, + tab_counter2: 0, + tab_counter1_key: 'chat', + tab_counter2_key: 'news', + document_title_init: null, + document_title: document.title, + notifs_key: '', + favicon: null, + + audioCall: null, + + incomingMessage: function () { + if (NOTIFICATION_CHAT) { + var tone = new Audio(BASE_URI + 'theme/audio/message.opus'); + tone.play(); + } + }, + incomingCall: function () { + if (NOTIFICATION_CALL) { + Notif.audioCall = new Audio(BASE_URI + 'theme/audio/call.opus'); + Notif.audioCall.addEventListener('ended', function () { + this.currentTime = 0; + this.play(); + }, false); + Notif.audioCall.play(); + } + }, + userJoinedCall: function () { + var tone = new Audio(BASE_URI + 'theme/audio/user_joined.opus'); + tone.play(); + }, + userLeftCall: function () { + var tone = new Audio(BASE_URI + 'theme/audio/user_left.opus'); + tone.play(); + }, + incomingCallAnswer: function () { + if (Notif.audioCall) { + Notif.audioCall.pause(); + Notif.audioCall.currentTime = 0; + } + }, + inhibit: function (sec) { + Notif.inhibed = true; + + if (sec == null) sec = 5; + + setTimeout(function () { + Notif.inhibed = false; + }, + sec * 1000); + }, + refresh: function (keys) { + var counters = document.querySelectorAll('.counter'); + for (i = 0; i < counters.length; i++) { + var n = counters[i]; + if (n.dataset.key != null + && keys[n.dataset.key] != null) { + if (keys[n.dataset.key] > 100) keys[n.dataset.key] = '+100'; + n.innerHTML = keys[n.dataset.key]; + } + } + + for (var key in keys) { + var counter = keys[key]; + Notif.setTab(key, counter); + } + + Notif.displayTab(); + + if (typeof BottomNavigation == 'object') BottomNavigation.setChatNotification(keys) + }, + counter: function (key, counter) { + var counters = document.querySelectorAll('.counter'); + for (i = 0; i < counters.length; i++) { + var n = counters[i]; + if (n.dataset.key != null + && n.dataset.key == key) { + var htmlCounter = String(counter); + if (counter > 100) htmlCounter = '+100'; + if (counter == 0) htmlCounter = ''; + n.innerHTML = htmlCounter; + } + } + + Notif.setTab(key, counter); + Notif.displayTab(); + + if (typeof BottomNavigation == 'object') BottomNavigation?.setChatNotification({ [key]: counter }); + }, + setTab: function (key, counter) { + if (Notif.tab_counter1_key == key) { + Notif.tab_counter1 = counter; + } + if (Notif.tab_counter2_key == key) { + Notif.tab_counter2 = counter; + } + }, + setTitle: function (title) { + Notif.document_title = title; + Notif.displayTab(); + }, + setCallStatus: function (status) { + Notif.call_status = status; + Notif.displayTab(); + }, + displayTab: function () { + document.title = (Notif.call_status != null) + ? Notif.call_status + ' | ' + : ''; + + if (Notif.tab_counter1 == 0 && Notif.tab_counter2 == 0) { + MovimFavicon.counter(0, 0); + document.title += Notif.document_title; + + if (typeof window.electron !== 'undefined') + window.electron.notification(false); + + if (typeof window.rambox !== 'undefined') + window.rambox.setUnreadCount(0); + } else { + document.title += + Notif.tab_counter1 + + '∣' + + Notif.tab_counter2 + + ' • ' + + Notif.document_title; + + MovimFavicon.counter(Notif.tab_counter1, Notif.tab_counter2); + + if (typeof window.electron !== 'undefined') + window.electron.notification(Notif.tab_counter1 + Notif.tab_counter2); + + if (typeof window.rambox !== 'undefined') + window.rambox.setUnreadCount(Notif.tab_counter1 + Notif.tab_counter2); + } + }, + current: function (key) { + Notif.notifs_key = key; + Notif_ajaxCurrent(Notif.notifs_key); + }, + snackbar: function (html, time) { + if (Notif.inhibed == true) return; + + target = document.getElementById('snackbar'); + + if (target) { + target.innerHTML = html; + } + + setTimeout(function () { + Notif.snackbarClear(); + }, time * 1000); + }, + snackbarClear: function () { + target = document.getElementById('snackbar'); + target.innerHTML = ''; + }, + desktop: function (tag, timestamp, title, body, picture, actions, data, force) { + if (!force && (Notif.inhibed == true + || Notif.focused + || typeof Notification === 'undefined') + || !window.Notification + || !Notification.requestPermission) return; + + if (Notification.permission === 'granted') { + Notif.checkPushSubscription(); + + try { + options = { + badge: '/theme/img/app/badge.png', + tag: tag, + timestamp: timestamp * 1000, + body: body, + icon: picture, + actions: actions, + data: data, + vibrate: [100, 50, 100], + }; + + if ('serviceWorker' in navigator) { + navigator.serviceWorker.getRegistration(SW_URI).then(registration => { + if (registration) { + registration.showNotification(title, options); + } + }); + } else { + var notification = new Notification( + title, + options + ); + + notification.onclick = function () { + window.location.href = data.url; + Notif.snackbarClear(); + this.close(); + } + } + } catch (e) { + if (e.name == 'TypeError') + return false; + } + } else if (Notification.permission !== 'denied') { + Notif_ajaxHttpRequest(); + } + }, + clear: function (tag) { + if ('serviceWorker' in navigator) { + navigator.serviceWorker.getRegistration(SW_URI).then((registration) => { + if (!registration) return; + registration.getNotifications({ tag: tag }).then((notifications) => + notifications.forEach(notification => notification.close()) + ); + }); + } + }, + request: function () { + Notification.requestPermission().then(permission => { + (permission == 'granted') + ? Notif_ajaxRequestGranted() + : Notif_ajaxRequestDenied(); + }); + }, + focus: function () { + if (Notif.focused == false) { + Notif.focused = true; + Notif.current(Notif.notifs_key); + } + }, + checkPushSubscription() { + if ('serviceWorker' in navigator) { + navigator.serviceWorker.getRegistration(SW_URI).then(registration => { + if (!registration) return; + + registration.pushManager.getSubscription().then(pushSubscription => { + if (pushSubscription == null) { + // Register the push notification subcription + registration.pushManager.subscribe({ + userVisibleOnly: true, + applicationServerKey: VAPID_PUBLIC_KEY + }).then(function (subscription) { + Notif.registerPushSubscription(subscription); + }).catch(function (e) { + console.error('Unable to subscribe to push', e); + }); + } else { + Notif_ajaxHttpTouchPushSubscription(pushSubscription.endpoint); + } + }); + }); + } + }, + registerPushSubscription(subscription) { + Notif_ajaxRegisterPushSubscrition( + subscription.endpoint, + MovimUtils.arrayBufferToBase64(subscription.getKey('auth')), + MovimUtils.arrayBufferToBase64(subscription.getKey('p256dh')), + window.navigator.userAgent + ); + } +} + +Notif.document_title_init = document.title; + +if (typeof MovimWebsocket != 'undefined') { + MovimWebsocket.attach(function () { + Notif.document_title = Notif.document_title_init; + Notif.tab_counter1 = Notif.tab_counter2 = 0; + Notif_ajaxGet(); + Notif.current(Notif.notifs_key); + + MovimEvents.registerWindow('blur', 'notifs', () => { + Notif.focused = false; + Notif_ajaxCurrent('blurred'); + }); + + MovimEvents.registerWindow('focus', 'notifs', () => Notif.focus()); + }); +} diff --git a/frontend/widgets/NotificationConfig/locales.ini b/frontend/widgets/NotificationConfig/locales.ini new file mode 100644 index 0000000..dc4d915 --- /dev/null +++ b/frontend/widgets/NotificationConfig/locales.ini @@ -0,0 +1,8 @@ +[notificationconfig] +title = Notifications +push_subscriptions = Push notifications +push_subscriptions_text = Movim will send push notifications to the following registered devices +push_enabled = Push notifications enabled for this device +push_disabled = Push notifications disabled for this device +unknown_browser = Unknown browser +unknown_platform = Unknown platform diff --git a/frontend/widgets/NotificationConfig/notificationconfig.js b/frontend/widgets/NotificationConfig/notificationconfig.js new file mode 100644 index 0000000..2fa16a8 --- /dev/null +++ b/frontend/widgets/NotificationConfig/notificationconfig.js @@ -0,0 +1,18 @@ +MovimWebsocket.attach(function() { + if (Notification.permission !== 'granted') { + NotificationConfig_ajaxHttpRequest(); + } + + navigator.serviceWorker.getRegistration(SW_URI).then((registration) => { + if (!registration) { + NotificationConfig_ajaxHttpPushGetConfig(); + return; + } + + registration.pushManager.getSubscription().then((pushSubscription) => { + NotificationConfig_ajaxHttpPushGetConfig(pushSubscription ? pushSubscription.endpoint : null); + }, () => { + NotificationConfig_ajaxHttpPushGetConfig(); + }); + }); +}); diff --git a/frontend/widgets/Notifications/locales.ini b/frontend/widgets/Notifications/locales.ini new file mode 100644 index 0000000..84994d7 --- /dev/null +++ b/frontend/widgets/Notifications/locales.ini @@ -0,0 +1,10 @@ +[invitations] +received = Received Invitations +adds_you = %s wants to add you +no_new = No new invitations +no_subscriptions = No pending subscriptions +wants_to_talk = %s wants to talk with you + +[notifs] +title = Notifications +empty = No new notifications diff --git a/frontend/widgets/Notifications/notifications.css b/frontend/widgets/Notifications/notifications.css new file mode 100644 index 0000000..a034bc8 --- /dev/null +++ b/frontend/widgets/Notifications/notifications.css @@ -0,0 +1,4 @@ +#notifications_subscriptions:not(:empty) + .placeholder, +#notifications_invitations:not(:empty) + .placeholder { + display: none; +} diff --git a/frontend/widgets/Notifications/notifications.js b/frontend/widgets/Notifications/notifications.js new file mode 100644 index 0000000..63c87e6 --- /dev/null +++ b/frontend/widgets/Notifications/notifications.js @@ -0,0 +1,12 @@ +var Notifications = { + setCounters : function(counter) { + var counters = document.querySelectorAll('.counter.notifications:not([data-key])'); + for (i = 0; i < counters.length; i++) { + counters[i].innerHTML = counter; + } + } +} + +MovimWebsocket.attach(function() { + Notifications_ajaxSetCounter(); +}); diff --git a/frontend/widgets/Onboarding/locales.ini b/frontend/widgets/Onboarding/locales.ini new file mode 100644 index 0000000..b41afb9 --- /dev/null +++ b/frontend/widgets/Onboarding/locales.ini @@ -0,0 +1,7 @@ +[onboarding] +notifications_title = Notifications +notifications_text = Movim can notify you when a new post is published or if you receive messages +notifications_text_second = You can always disable them afterwards +public_title = Public profile +public_text = Make your profile public and allow other users to find you and make new contacts more easily +public_text_second = You can always disable this in the configuration afterwards \ No newline at end of file diff --git a/frontend/widgets/Onboarding/onboarding.css b/frontend/widgets/Onboarding/onboarding.css new file mode 100644 index 0000000..e69de29 diff --git a/frontend/widgets/Onboarding/onboarding.js b/frontend/widgets/Onboarding/onboarding.js new file mode 100644 index 0000000..09bf95a --- /dev/null +++ b/frontend/widgets/Onboarding/onboarding.js @@ -0,0 +1,15 @@ +var Onboarding = { + check: function() { + if (localStorage.getItem('onboardingPublic') === null) { + Onboarding_ajaxAskPublic(); + } + }, + + setPublic: function() { + localStorage.setItem('onboardingPublic', true); + } +} + +MovimWebsocket.attach(function() { + Onboarding.check(); +}); diff --git a/frontend/widgets/Post/locales.ini b/frontend/widgets/Post/locales.ini new file mode 100644 index 0000000..9fc36f4 --- /dev/null +++ b/frontend/widgets/Post/locales.ini @@ -0,0 +1,56 @@ +[post] +publish_something = Publish something +news_feed = News Feed +placeholder = Discover and register to the groups you are interested in +content = Content +published = Post published +deleted = Post deleted +hot_text = Posts recently published in communities that you are not subscribed (yet) +new_blog = New blog post +repost = This is a re-post from %s +see_profile = See %s profile + +unknown_contact= Unknown contact + +read_time_singular = %s minute +read_time_plural = %s minutes + +public_preview = Preview URL: %s +public_yes = This post is public +public_no = This post is private +public_url = Public URL of this post + +comments_disabled_title = Disable the comments +comments_disabled_text = Nobody will be able to like or comment +comments_disabled_yes = Comments disabled for this post +comments_disabled_no = Comments enabled for this post + +delete_title = Delete this post +delete_text = You are going to delete this post, please confirm your action +delete_comment = Are you sure that you want to delete this comment? + +discover = Discover more posts on the communities page + +more = Read more + +comments_disabled = Comments disabled +comment_published = Comment published +comment_like_published = Liked +comment_publish_error = The comment cannot be published +comment_deleted = Comment deleted +liked = Liked your publication +commented = Commented + +subscription_required = You must be subscribed to %s to see this publication + +[hello] +contact_post = Contact post +share_title = Universal share button +share_text = Bookmark or drag and drop the following button in your toolbar and use it on all the pages you want to share on Movim +share_button = Share on Movim +enter_title = Oh! Hello! +enter_paragraph = It seems that you are new here! Welcome to Movim! +menu_title = Check the Menu +menu_paragraph = All the main Movim features are accessible there. Don’t hesitate to navigate through the pages to discover more! +profile_title = Looks like you didn’t complete your profile yet +profile_paragraph = You can go in the Configuration page to describe yourself and put a nice picture diff --git a/frontend/widgets/Post/post.css b/frontend/widgets/Post/post.css new file mode 100644 index 0000000..eb63087 --- /dev/null +++ b/frontend/widgets/Post/post.css @@ -0,0 +1,7 @@ +#comments { + margin-top: 2rem; +} + +#comments li.mine ~ li button#like { + display: none; +} diff --git a/frontend/widgets/Post/post.js b/frontend/widgets/Post/post.js new file mode 100644 index 0000000..0c753c2 --- /dev/null +++ b/frontend/widgets/Post/post.js @@ -0,0 +1,39 @@ +var Post = { + comment: function() { + document.querySelector('#comment_add').classList.remove('hide'); + document.querySelector('#comment_add textarea').focus(); + document.querySelector('#comment_add').scrollIntoView(); + }, + share : function() { + var parts = MovimUtils.urlParts(); + + if (parts.params.length) { + Post_ajaxShare(parts.params[0], parts.params[1], parts.params[2]); + } + }, + refreshComments : function() { + var parts = MovimUtils.urlParts(); + + if (parts.params.length) { + Post_ajaxGetPostComments(parts.params[0], parts.params[1], parts.params[2]); + } + }, + checkCommentAction: function() { + var parts = MovimUtils.urlParts(); + if (parts.hash == 'comment') { + Post.comment(); + } + } +}; + +MovimWebsocket.attach(function() { + Notif.current('post'); + + var parts = MovimUtils.urlParts(); + + if (parts.params.length == 3) { + Post_ajaxGetPost(parts.params[0], parts.params[1], parts.params[2]); + } else { + Post_ajaxGetNotFound(); + } +}); diff --git a/frontend/widgets/PostActions/postactions.js b/frontend/widgets/PostActions/postactions.js new file mode 100644 index 0000000..a6cd8d9 --- /dev/null +++ b/frontend/widgets/PostActions/postactions.js @@ -0,0 +1,8 @@ +var PostActions = { + handleDelete : function(url) { + var page = MovimUtils.urlParts().page; + if (page == 'post') { + MovimUtils.redirect(url); + } + } +} diff --git a/frontend/widgets/Presence/locales.ini b/frontend/widgets/Presence/locales.ini new file mode 100644 index 0000000..052ad8e --- /dev/null +++ b/frontend/widgets/Presence/locales.ini @@ -0,0 +1,6 @@ +[status] +visit_blog = Visit my blog +disconnect = Disconnect +presence = Presence +logout_confirm = Do you really want to log out? +my_avatar = My profile picture \ No newline at end of file diff --git a/frontend/widgets/Presence/presence.css b/frontend/widgets/Presence/presence.css new file mode 100644 index 0000000..ca1a29c --- /dev/null +++ b/frontend/widgets/Presence/presence.css @@ -0,0 +1,56 @@ +@media screen and (min-width: 1025px) { + ul#presence_widget { + margin-bottom: 1rem; + } +} + + +/*ul#presence_widget li span.primary { + opacity: 1; +} + +@media screen and (min-width: 1025px) { + ul#presence_widget li span.control { + display: none; + } + + ul#presence_widget_menu { + max-height: 0.5rem; + overflow: hidden; + transition: max-height 1.5s cubic-bezier(1, 0, .45, 1); + + position: relative; + margin-bottom: 0.25rem; + } + + ul#presence_widget_menu li:last-of-type { + margin-bottom: 0.25rem; + } + + ul#presence_widget_menu::after { + content: ''; + display: block; + width: 2rem; + height: 0.35rem; + border-radius: 1rem; + background-color: rgba(var(--movim-font), 0.12); + position: absolute; + bottom: 0; + left: calc(50% - 1rem); + transition: width 1.25s cubic-bezier(1, 0, .45, 1), height 1.25s cubic-bezier(1, 0, .45, 1), left 1.25s cubic-bezier(1, 0, .45, 1); + } + + ul#presence_widget_menu:hover, + ul#presence_widget:hover + ul#presence_widget_menu { + max-height: 100%; + transition: max-height 0.5s ease-in-out; + } + + ul#presence_widget:hover + ul#presence_widget_menu::after, + ul#presence_widget_menu:hover::after { + width: 100%; + height: 0.1rem; + left: 0; + transition: width 0.25s cubic-bezier(1, 0, .45, 1), height 0.25s cubic-bezier(1, 0, .45, 1), left 0.25s cubic-bezier(1, 0, .45, 1); + } +}*/ diff --git a/frontend/widgets/Presence/presence.js b/frontend/widgets/Presence/presence.js new file mode 100644 index 0000000..785150f --- /dev/null +++ b/frontend/widgets/Presence/presence.js @@ -0,0 +1,14 @@ +var Presence = { + clearQuick: function () { + localStorage.removeItem('quickDeviceId'); + localStorage.removeItem('quickLogin'); + localStorage.removeItem('quickHost'); + localStorage.removeItem('quickKey'); + } +} + +MovimWebsocket.initiate(() => { + if (!MovimUtils.isMobile()) { + Presence_ajaxHttpGetPresence(); + } +}); diff --git a/frontend/widgets/Preview/locales.ini b/frontend/widgets/Preview/locales.ini new file mode 100644 index 0000000..2cef945 --- /dev/null +++ b/frontend/widgets/Preview/locales.ini @@ -0,0 +1,2 @@ +[preview] +link_copied = Link copied to clipboard diff --git a/frontend/widgets/Preview/preview.css b/frontend/widgets/Preview/preview.css new file mode 100644 index 0000000..cc214ff --- /dev/null +++ b/frontend/widgets/Preview/preview.css @@ -0,0 +1,179 @@ +#preview { + position: fixed; + width: 100%; + justify-content: center; + display: flex; + opacity: 0; + pointer-events: none; + z-index: 3; + + backdrop-filter: blur(1rem); +} + +#preview ul.list.controls { + z-index: 2; +} + +#preview ul.list.controls li span.primary { + margin-left: 0; +} + +#preview:before { + content: ''; + display: block; + width: 100%; + height: 100%; + position: fixed; + top: 0; + left: 0; + opacity: 0; + background-color: rgb(var(--movim-gray)); +} + +#preview:not(:empty) { + opacity: 1; + pointer-events: initial; +} + +#preview:not(:empty):before { + opacity: 0.75; +} + +#preview img { + max-height: calc(100% - 7rem); + max-width: calc(100% - 2rem); + align-self: center; + border-radius: 0.75rem; + position: relative; +} + +#preview .pinfo, +#preview .buttons { + transition: opacity .3s cubic-bezier(.4,0,.2,1); + position: absolute; +} + +#preview .pinfo { + color: white; + bottom: 10rem; + font-size: 1.75rem; + line-height: 3.5rem; + padding: 0 2rem; + border-radius: 2rem; + user-select: none; +} + +#preview .buttons { + bottom: 2rem; + text-align: center; + border-radius: 1rem; + padding: 0 0.5rem; +} + + +#preview img:hover ~ .pinfo, +#preview img:hover ~ .buttons { + opacity: 0.25; +} + +#preview .prevnext { + font-size: 5rem; + background-color: rgba(0, 0, 0, 0.5); + box-shadow: var(--elevation-1); + line-height: 7rem; + width: 7rem; + border-radius: 100%; + color: white; + height: 7rem; + text-align: center; + + position: absolute; + top: calc(50% - 3.5rem); + + display: none; +} + +#preview .prevnext:hover { + cursor: pointer; + background-color: rgba(0, 0, 0, 0.2); +} + +#preview .prevnext.enabled { + display: inline-block; +} + +#preview .prevnext.prev { + left: 1.5rem; +} + +#preview .prevnext.next { + right: 1.5rem; +} + +#preview .counter { + color: white; + font-size: 1.75rem; + line-height: 6rem; + display: block; + text-align: center; + position: absolute; +} + +/* Previewable */ +.previewable { + display: inline-block; + position: relative; + overflow: hidden; +} + +.previewable img { + transition: opacity 0.1s ease-in-out; + border-radius: 0.25rem; + overflow: hidden; +} + +.previewable:hover img { + opacity: 0.6; +} + +.previewable:active img { + opacity: 0.8; +} + +.previewable:after, +.previewable[data-type="image/gif"]:before { + color: white; + font-family: 'Material Symbols'; + content: "\e8ff"; + text-shadow: 0 0 1rem rgba(0, 0, 0, 0.5); + position: absolute; + display: block; + pointer-events: none; +} + +.previewable:after { + content: "\e8ff"; + font-size: 3rem; + right: 0.75rem; + top: 0.75rem; +} + +.previewable[data-type="image/gif"]:before { + content: "\e908"; + font-size: 5rem; + right: 0.5rem; + bottom: 0rem; + z-index: 1; +} + +/** Chat bubble **/ + +li:not(.oppose) .bubble .previewable:after { + right: auto; + left: 0.75rem; +} + +li:not(.oppose) .bubble .previewable[data-type="image/gif"]:before { + left: 0.5rem; + right: auto; +} diff --git a/frontend/widgets/Preview/preview.js b/frontend/widgets/Preview/preview.js new file mode 100644 index 0000000..1f750eb --- /dev/null +++ b/frontend/widgets/Preview/preview.js @@ -0,0 +1,27 @@ +var Preview = { + fill: function (html) { + MovimTpl.fill('#preview', html); + MovimTpl.pushAnchorState('preview', function () { Preview_ajaxHttpHide() }); + }, + copyToClipboard: function (text) { + MovimUtils.copyToClipboard(text); + Preview_ajaxCopyNotify(); + } +} + +MovimEvents.registerBody('click', 'preview', (e) => { + if (document.querySelector('#preview').innerHTML == '') return; + + if (!document.querySelector('#preview img').contains(e.target) + && !document.querySelector('#preview .prevnext.prev').contains(e.target) + && !document.querySelector('#preview .prevnext.next').contains(e.target) + && !document.querySelector('#preview .buttons').contains(e.target)) { + history.back() + } +}); + +MovimEvents.registerBody('keydown', 'preview', (e) => { + if (document.querySelector('#preview').innerHTML != '' && e.key == 'Escape') { + history.back() + } +}); \ No newline at end of file diff --git a/frontend/widgets/PublicNavigation/publicnavigation.css b/frontend/widgets/PublicNavigation/publicnavigation.css new file mode 100644 index 0000000..a04aaf8 --- /dev/null +++ b/frontend/widgets/PublicNavigation/publicnavigation.css @@ -0,0 +1,3 @@ +#publicnavigation a.button { + margin: 0; +} \ No newline at end of file diff --git a/frontend/widgets/Publish/locales.ini b/frontend/widgets/Publish/locales.ini new file mode 100644 index 0000000..a3ef746 --- /dev/null +++ b/frontend/widgets/Publish/locales.ini @@ -0,0 +1,30 @@ +[publish] +placeholder = "What’s new?" +brief_title = Brief +post_title = Post +post = Write a post +add_link = Add a link +add_snap = Take a picture +no_title = Please provide a title +no_picture = At least one picture is required +preview = Preview +attach = Add a file or a picture +no_publication = You cannot publish a post here +#no_content_preview = No content to preview +new = New post +title = Post title +content = Markdown content +valid_url = Please enter a valid URL +content_text= You can format your content using Markdown +draft_saved = Draft saved +rich_editor = Rich text editor +help_hashtag = "Add #hashtags in your title or content to allow your post to be discovered" +publish_error_forbidden = You are not authorized to publish there +publish_error_payload_to_big = Your post is too big to be published +too_long = Your text is too long, %s characters max + +blog_presence = "Your blog is only accessible to your subscribers. You can make it accessible to anyone in the settings page." +embedded_link = The media will be embedded + +web_title = Create a public HTTP URL from this publication +web_text = This will allow anyone outside Movim to have access to your publication \ No newline at end of file diff --git a/frontend/widgets/Publish/publish.css b/frontend/widgets/Publish/publish.css new file mode 100644 index 0000000..045cbb3 --- /dev/null +++ b/frontend/widgets/Publish/publish.css @@ -0,0 +1,89 @@ +#publishembeds li { + border: 1px solid rgba(var(--movim-font), 0.12); + border-radius: 0.5rem; +} + +#publishembeds li { + padding-right: 0; +} + +#publishpreview h3:first-child { + margin: 1rem 2rem 0; +} + +#publish label span.save { + display: none; +} + +#publish>div.block { + margin: 0 0.75rem; + padding-bottom: 1rem; +} + +#publish label span.save.saved { + display: initial; +} + +#publish textarea[name=content] { + min-height: 25rem; +} + +#publish span.privacy form>div .checkbox>input[type="checkbox"]+label, +#publish span.comments_disabled form>div .checkbox>input[type="checkbox"]+label { + top: 0.5rem; + left: 0.5rem; + height: 3rem; + width: 3rem; +} + +section#sidebar:has(+#publish) { + opacity: 0; + transition: opacity 0.3s ease-in-out; +} + +section#sidebar:has(+#publish div[data-type="article"] textarea[name="content"]:focus), +section#sidebar:has(+#publish div[data-type="article"]):hover { + opacity: 1; +} + +#publish span.privacy form>div .checkbox>input[type="checkbox"]:checked+label, +#publish span.comments_disabled form>div .checkbox>input[type="checkbox"]:checked+label { + left: 2.5rem; +} + +#publish span.privacy form>div .checkbox>input[type="checkbox"]+label i:before { + content: 'lock'; +} + +#publish span.privacy form>div .checkbox>input[type="checkbox"]:checked+label i:before { + content: 'wifi_tethering'; +} + +#publish span.comments_disabled form>div .checkbox>input[type="checkbox"]+label i:before { + content: 'insert_comment'; +} + +#publish span.comments_disabled form>div .checkbox>input[type="checkbox"]:checked+label i:before { + content: 'comments_disabled'; +} + +#publishreply { + margin-bottom: -1rem; +} + +#publish form[data-type="brief"] div#title textarea { + min-height: 10rem; + padding-top: 1rem; + margin-bottom: 2rem; +} + +#publish form[data-type="brief"] div#title label { + top: initial; + bottom: -3rem; + right: 0; +} + +#publish #publish_open_link_preview:empty, +#publish form[data-type="brief"] div#content { + display: none; +} \ No newline at end of file diff --git a/frontend/widgets/Publish/publish.js b/frontend/widgets/Publish/publish.js new file mode 100644 index 0000000..96e2b9a --- /dev/null +++ b/frontend/widgets/Publish/publish.js @@ -0,0 +1,118 @@ +var Publish = { + titleTimeout: null, + contentTimeout: null, + + get: function(type) { + let parts = MovimUtils.urlParts(); + + Publish_ajaxHttpGet( + type ?? null, + parts.params[0], + parts.params[1], + parts.params[2], + parts.params[3], + parts.params[4], + parts.params[5], + ) + }, + + init: function () { + let id = document.querySelector('#publish input[name=id]').value; + + Publish_ajaxTryResolveShareUrl(id); + + document.querySelector('#publish textarea[name=title]').addEventListener('keyup', function (event) { + if (Publish.titleTimeout) clearTimeout(Publish.titleTimeout); + document.querySelector('#publish textarea[name=title] + label span.save').classList.remove('saved'); + + Publish.titleTimeout = setTimeout(function () { + Publish.saveTitle(); + Publish_ajaxOpenlinkPreview(id); + }, 1000); + }); + + document.querySelector('#publish textarea[name=content]').addEventListener('keyup', function (event) { + if (Publish.contentTimeout) clearTimeout(Publish.contentTimeout); + document.querySelector('#publish textarea[name=content] + label span.save').classList.remove('saved'); + + Publish.contentTimeout = setTimeout(function () { + Publish.saveContent(); + }, 1000); + }); + + Publish_ajaxOpenlinkPreview(id); + Publish_ajaxCheckPrivacy(id); + }, + + saveTitle: function () { + let id = document.querySelector('#publish input[name=id]').value; + return Publish_ajaxHttpSaveTitle(id, document.querySelector('#publish textarea[name=title]').value); + }, + + saveContent: function () { + let id = document.querySelector('#publish input[name=id]').value; + return Publish_ajaxHttpSaveContent(id, document.querySelector('#publish textarea[name=content]').value); + }, + + enableSend: function () { + document.querySelector('.button.send').classList.remove('disabled'); + document.querySelector('.button.send i').classList.remove('spin'); + document.querySelector('.button.send i').innerText = 'send'; + }, + + disableSend: function () { + document.querySelector('.button.send').classList.add('disabled'); + document.querySelector('.button.send i').classList.add('spin'); + document.querySelector('.button.send i').innerText = 'autorenew'; + }, + + preview: function () { + Publish.saveTitle().then(e => { + Publish.saveContent().then(e => { + let id = document.querySelector('#publish input[name=id]').value; + Publish_ajaxPreview(id); + }); + }); + }, + + publish: function () { + Publish.saveTitle().then(e => { + Publish.saveContent().then(e => { + let id = document.querySelector('#publish input[name=id]').value; + Publish_ajaxPublish(id); + }); + }); + }, + + clearReply: function () { + let id = document.querySelector('#publish input[name=id]').value; + Publish_ajaxClearReply(id); + }, + + addUrl: function () { + let id = document.querySelector('#publish input[name=id]').value; + var url = document.querySelector('#url').value; + + Publish_ajaxAddUrl(id, url); + } +} + +MovimWebsocket.attach(() => { + Publish.get('brief'); +}); + +MovimEvents.registerWindow('loaded', 'publish', () => { + if (typeof Upload != 'undefined') { + Upload.attach((file) => { + if (MovimUtils.urlParts().page == 'publish') { + Publish_ajaxAddUpload(document.querySelector('#publish input[name=id]').value, file.id); + } + }); + + Upload.initiate((file) => { + if (MovimUtils.urlParts().page == 'publish') { + Upload.prependName = 'post'; + } + }); + } +}); diff --git a/frontend/widgets/PublishHelp/locales.ini b/frontend/widgets/PublishHelp/locales.ini new file mode 100644 index 0000000..7db4981 --- /dev/null +++ b/frontend/widgets/PublishHelp/locales.ini @@ -0,0 +1,4 @@ +[publishhelp] +title = Help +more = More help +manual = Markdown syntax manual diff --git a/frontend/widgets/PublishStories/locales.ini b/frontend/widgets/PublishStories/locales.ini new file mode 100644 index 0000000..4037136 --- /dev/null +++ b/frontend/widgets/PublishStories/locales.ini @@ -0,0 +1,9 @@ +[story] +new = New story +new_edit = Edit your story +new_publish = Publish your story +to_roster = Publish to my contacts +uploading = Uploading the story +publishing = Publishing the story +publishing_text = Almost there… +published = Story published \ No newline at end of file diff --git a/frontend/widgets/PublishStories/publishstories.css b/frontend/widgets/PublishStories/publishstories.css new file mode 100644 index 0000000..17bb9e4 --- /dev/null +++ b/frontend/widgets/PublishStories/publishstories.css @@ -0,0 +1,180 @@ +#publishstories { + top: 0; + left: 0; + background-color: rgb(var(--movim-background-main)); + width: 100%; + height: 100%; + z-index: 2; + position: absolute; + transform: translateX(-100%); +} + +#publishstories #publishstoriesswitch, +#publishstories #publishstoriesgallery { + width: 5.5rem; + height: 5.5rem; + line-height: 5.5rem; + margin-top: 0.75rem; + font-size: 2.5rem; +} + +#publishstories.show, +#publishstories.shoot, +#publishstories.edit { + transform: translateX(0); + transition: transform 0.4s var(--decelerate-easing); +} + +#publishstories #publishstoriesbackedit, +#publishstories #publishstoriesback { + margin-left: 0; + padding: 1rem 0; +} + +#publishstories #publishstoriesshoot, +#publishstories #publishstoriesgallery, +#publishstories #publishstoriesswitch, +#publishstories #publishstoriessource, +#publishstories #publishstoriesnext, +#publishstories #publishactions, +#publishstories #publishstoriesbackedit, +#publishstories #publishstoriespreview, +#publishstories.edit.publish #publishstoriesback, +#publishstories.edit.publish #publishstoriesnext, +#publishstories.shoot #publishstoriesheadedit, +#publishstories.edit #publishstorieshead, +#publishstories.edit.publish #publishstorieshead, +#publishstories.edit.publish #publishstoriesheadedit, +#publishstories.shoot.error video, +#publishstories form { + display: none; +} + +#publishstories.shoot.error:before { + font-family: 'Material Symbols'; + content: '\e04c'; + color: var(--movim-font); + font-size: 7rem; + opacity: 0.5; + display: block; + position: absolute; + left: calc(50% - 3.5rem); + top: calc(50% - 3.5rem); +} + +#publishstories.shoot:not(.error) #publishstoriesshoot, +#publishstories.shoot #publishstoriesgallery, +#publishstories.shoot:not(.error) #publishstoriesswitch.enabled, +#publishstories.edit form, +#publishstories.edit #publishstoriesnext, +#publishstories.edit.publish #publishactions, +#publishstories.edit.publish #publishstoriespreview, +#publishstories.edit.publish #publishstoriesbackedit { + display: initial; +} + +#publishstories input[type=file] { + display: none; +} + +#publishstories #publishactions, +#publishstories form { + position: absolute; + width: 100%; + bottom: 3rem; + left: 50%; + translate: -50%; + max-width: calc(56.25vh - 8.25rem); + /* 16:9 */ +} + +#publishstories form { + background-image: linear-gradient(to bottom, transparent, rgba(var(--movim-background-main), 1) 100%); + padding: 1.5rem 2rem; + box-sizing: border-box; + bottom: 7.25rem; + border-radius: 2rem; + animation: fadeIn 0.5s; + transition: bottom 0.3s, max-width 0.3s; +} + +#publishstories canvas, +#publishstories video { + aspect-ratio: 9 / 16; + height: 100%; + position: absolute; + left: 50%; + top: 50%; + translate: -50% -50%; + animation: zoom 0.3s; + transition: top 0.3s, height 0.3s; +} + +#publishstories .bottom_center { + width: 100%; + position: absolute; + bottom: 2rem; + display: flex; + justify-content: center; +} + +#publishstories .bottom_center>button { + position: relative; + margin-left: 1rem; + margin-right: 1rem; + right: 0; +} + +#publishstories video { + background-image: url(../theme/img/cloud_spinner.svg); + background-repeat: no-repeat; + background-position: center center; + background-size: 9rem; + object-fit: cover; +} + +#publishstories.shoot canvas, +#publishstories.edit video { + display: none; +} + +#publishstories.edit canvas { + animation: zoomOut 0.3s; + border-radius: 2rem; + height: calc(100% - 15rem); + box-shadow: var(--elevation-5); +} + +#publishstories #publishactions { + animation: fadeIn 0.5s; + max-height: 7rem; + overflow: hidden; +} + +#publishstories #publishactions ul { + transition: transform 0.3s; +} + +#publishstories #publishactions.uploading ul { + transform: translateY(-7rem); +} + +#publishstories #publishactions.publishing ul { + transform: translateY(-14rem); +} + +#publishstories.edit.publish canvas { + top: calc(50% - 2rem); + height: calc(100% - 21rem); + pointer-events: none; +} + +#publishstories.edit.publish form { + bottom: 12.5rem; + max-width: calc(56.25vh - 11.5rem); +} + +#publishstories.edit.publish form textarea { + pointer-events: none; + box-shadow: none; +} \ No newline at end of file diff --git a/frontend/widgets/PublishStories/publishstories.js b/frontend/widgets/PublishStories/publishstories.js new file mode 100644 index 0000000..f558ca9 --- /dev/null +++ b/frontend/widgets/PublishStories/publishstories.js @@ -0,0 +1,401 @@ +MAX_ZOOM = 5; +MIN_ZOOM = 0.1; +SCROLL_SENSITIVITY = 0.0005; + +var PublishStories = { + main: undefined, + back: undefined, + video: undefined, + videoSelect: undefined, + canvas: undefined, + imageCanvas: undefined, + + canvasMinWidth: 1080, + canvasMinHeight: 1920, + + cameraOffset: { x: 0, y: 0 }, + cameraZoom: 1, + isDragging: false, + dragStart: { x: 0, y: 0 }, + initialPinchDistance: null, + lastZoom: 1, + + init: function () { + PublishStories_ajaxGetContactsCount(); + + MovimTpl.loadingPage(); + + MovimTpl.pushAnchorState('story', function () { + document.querySelector('#publishstories').classList = ''; + PublishStories.close(); + }); + + PublishStories.main = document.querySelector('#publishstories'); + PublishStories.back = document.querySelector("#publishstories #publishstoriesback"); + PublishStories.video = document.querySelector("#publishstories video"); + PublishStories.videoSelect = document.querySelector("#publishstories select#publishstoriessource"); + PublishStories.canvas = document.querySelector('#publishstories canvas'); + + PublishStories.main.addEventListener('mousemove', PublishStories.onMainPointerMove); + + PublishStories.canvas.addEventListener('mousedown', PublishStories.onPointerDown); + PublishStories.canvas.addEventListener('touchstart', (e) => PublishStories.handleTouch(e, PublishStories.onPointerDown)); + PublishStories.canvas.addEventListener('mouseup', PublishStories.onPointerUp); + PublishStories.canvas.addEventListener('touchend', (e) => PublishStories.handleTouch(e, PublishStories.onPointerUp)); + PublishStories.canvas.addEventListener('mousemove', PublishStories.onPointerMove); + PublishStories.canvas.addEventListener('touchmove', (e) => PublishStories.handleTouch(e, PublishStories.onPointerMove)); + PublishStories.canvas.addEventListener('wheel', (e) => PublishStories.adjustZoom(e.deltaY * SCROLL_SENSITIVITY)); + + PublishStories.main.querySelector('#publishstoriesswitch').onclick = () => { + PublishStories.videoSelect.selectedIndex++; + if (PublishStories.videoSelect.selectedIndex == -1) { + PublishStories.videoSelect.selectedIndex = 0; + } + + Toast.send(PublishStories.videoSelect.options[PublishStories.videoSelect.selectedIndex].label); + PublishStories.getStream(); + }; + + PublishStories.main.classList = 'show'; + PublishStories.back.onclick = () => { history.back(); }; + + PublishStories.close(); + PublishStories.getStream(true); + }, + + draw: function () { + if (PublishStories.imageCanvas == undefined) return; + + PublishStories.canvas.width = PublishStories.canvasMinWidth; + PublishStories.canvas.height = PublishStories.canvasMinHeight; + + let context = PublishStories.canvas.getContext('2d'); + ctx.clearRect(0, 0, PublishStories.canvas.width, PublishStories.canvas.height) + context.fillStyle = MovimUtils.imageToHex(PublishStories.imageCanvas); + context.fillRect(0, 0, PublishStories.canvas.width, PublishStories.canvas.height); + + // Let's move! + context.translate(PublishStories.canvas.width / 2, PublishStories.canvas.height / 2); + context.scale(PublishStories.cameraZoom, PublishStories.cameraZoom); + context.translate( + -PublishStories.canvas.width / 2 + PublishStories.cameraOffset.x, + -PublishStories.canvas.height / 2 + PublishStories.cameraOffset.y + ); + + let adjustedHeight = PublishStories.canvas.height > PublishStories.imageCanvas.height + ? PublishStories.imageCanvas.height + : PublishStories.canvas.height; + + let ratio = adjustedHeight / PublishStories.imageCanvas.height; + + context.drawImage( + PublishStories.imageCanvas, + PublishStories.canvas.width / 2 - PublishStories.imageCanvas.width * ratio / 2, + PublishStories.canvas.height / 2 - adjustedHeight / 2, + PublishStories.imageCanvas.width * ratio, + adjustedHeight + ); + + requestAnimationFrame(PublishStories.draw); + }, + + goToPublish: function () { + let title = PublishStories.main.querySelector('form textarea[name=title]'); + + if (title.value == '') { + PublishStories_ajaxNoTitle(); + return; + } + + PublishStories.main.classList.add('publish'); + }, + + goToEdit: function () { + PublishStories.main.classList.remove('publish'); + }, + + publish: function () { + PublishStories.main.querySelector('#publishactions').classList.add('uploading'); + + PublishStories.canvas.toBlob( + function (blob) { + Upload.prepare(blob); + Upload.name = 'story.jpg'; + Upload.init(true); + }, + 'image/jpeg', + 0.85 + ); + }, + + close: function () { + if (!PublishStories.video) return; + + let stream = PublishStories.video.srcObject; + + if (stream) { + stream.getTracks().forEach(track => track.stop()); + } + + PublishStories.video.srcObject = null; + PublishStories.imageCanvas = undefined; + PublishStories.main.querySelector('form').reset(); + PublishStories.main.querySelector('#publishactions').classList = ''; + + PublishStories.reset(); + PublishStories.main.classList = ''; + PublishStories.main == undefined; + }, + + openImage: function () { + PublishStories.main.querySelector('input[type=file]').click(); + }, + + applyImage: function () { + file = PublishStories.main.querySelector('input[type=file]').files[0]; + + if (!file.type.match(/image.*/)) { + console.log("Not a picture !"); + PublishStories.reset(); + } else { + var reader = new FileReader(); + reader.readAsDataURL(file); + reader.addEventListener('load', function (ev) { + var image = new Image(); + image.src = reader.result; + image.onload = function () { + PublishStories.drawMediaToImageCanvas(image, image.width, image.height, 1); + PublishStories.draw(); + PublishStories.main.classList = 'edit'; + } + }); + }; + }, + + shoot: function () { + if (PublishStories.imageCapture) { + PublishStories.imageCapture.grabFrame() + .then(image => { + PublishStories.drawMediaToImageCanvas( + image, + image.width, + image.height, + PublishStories.getRatioFromHeight(image.height) + ); + + PublishStories.draw(); + }) + .catch(error => console.log(error)); + + } else { + PublishStories.drawMediaToImageCanvas( + PublishStories.video, + PublishStories.video.videoWidth, + PublishStories.video.videoHeight, + PublishStories.getRatioFromHeight(PublishStories.video.videoHeight) + ); + + PublishStories.video.pause(); + PublishStories.draw(); + } + + PublishStories.main.classList = 'edit'; + }, + + getRatioFromHeight: function (height) { + let ratio = PublishStories.canvasMinHeight / height; + if (ratio < 1) ratio = 1; + + return ratio; + }, + + drawMediaToImageCanvas: function (media, width, height, ratio) { + PublishStories.imageCanvas = document.createElement('canvas'); + PublishStories.imageCanvas.width = width * ratio; + PublishStories.imageCanvas.height = height * ratio; + + var context = PublishStories.imageCanvas.getContext('2d'); + context.drawImage(media, 0, 0, PublishStories.imageCanvas.width, PublishStories.imageCanvas.height); + }, + + reset: function () { + if (PublishStories.videoSelect.options.length > 0) { + PublishStories.main.classList = 'shoot'; + PublishStories.video.play(); + } else { + PublishStories.main.classList = 'shoot error'; + } + + PublishStories.cameraOffset = { x: 0, y: 0 }; + PublishStories.cameraZoom = PublishStories.lastZoom = 1; + }, + + getStream: function (init) { + PublishStories.main.classList = 'wait'; + + if (PublishStories.video.srcObject) { + PublishStories.video.srcObject.getTracks().forEach(track => track.stop()); + } + + const videoSource = PublishStories.videoSelect.value; + const constraints = { + video: { + deviceId: videoSource ? { exact: videoSource } : undefined, + width: { ideal: 1920 }, + height: { ideal: 1920 } + } + }; + + navigator.mediaDevices.getUserMedia(constraints) + .then(stream => { + MovimTpl.finishedPage(); + PublishStories.gotStream(stream); + + if (init) { + navigator.mediaDevices.enumerateDevices().then(PublishStories.gotDevices); + } + }) + .catch(e => { + MovimTpl.finishedPage(); + PublishStories.noStream() + }); + }, + + noStream: function (stream) { + PublishStories.main.classList = 'shoot error'; + }, + + gotStream: function (stream) { + PublishStories.main.classList = 'shoot'; + + PublishStories.videoSelect.selectedIndex = [...PublishStories.videoSelect.options]. + findIndex(option => option.text === stream.getVideoTracks()[0].label); + PublishStories.video.srcObject = stream; + PublishStories.video.play(); + + // We try to use ImageCapture + if (typeof (ImageCapture) != 'undefined') { + const track = stream.getVideoTracks()[0]; + PublishStories.imageCapture = new ImageCapture(track); + } + + // If we cancel after the authorization was given + if (PublishStories.main.classList == '') { + PublishStories.close(); + }; + }, + + gotDevices: function (devicesInfo) { + PublishStories.videoSelect.innerHTML = ''; + + for (const deviceInfo of devicesInfo) { + if (deviceInfo.kind === 'videoinput') { + const option = document.createElement('option'); + option.value = deviceInfo.deviceId; + option.text = deviceInfo.label || `Camera ${PublishStories.videoSelect.length + 1}`; + + if (!PublishStories.videoSelect.querySelector('option[value="' + deviceInfo.deviceId + '"]')) { + PublishStories.videoSelect.appendChild(option); + } + } + } + + if (PublishStories.videoSelect.options.length >= 2) { + document.querySelector("#publishstories #publishstoriesswitch").classList.add('enabled'); + } + }, + + onPointerDown: function (e) { + PublishStories.isDragging = true + PublishStories.dragStart.x = MovimUtils.getEventLocation(e).x / PublishStories.cameraZoom - PublishStories.cameraOffset.x + PublishStories.dragStart.y = MovimUtils.getEventLocation(e).y / PublishStories.cameraZoom - PublishStories.cameraOffset.y + }, + + onPointerUp: function (e) { + PublishStories.isDragging = false + PublishStories.initialPinchDistance = null + PublishStories.lastZoom = PublishStories.cameraZoom + }, + + onMainPointerMove: function (e) { + if (!PublishStories.main.classList.contains('edit') || !MovimUtils.getEventLocation(e)) return; + + let borders = PublishStories.canvas.getBoundingClientRect(); + + if (MovimUtils.getEventLocation(e).x < borders.left + || MovimUtils.getEventLocation(e).x > borders.right + || MovimUtils.getEventLocation(e).y < borders.top + || MovimUtils.getEventLocation(e).y > borders.bottom) { + PublishStories.onPointerUp(e); + } + }, + + onPointerMove: function (e) { + if (PublishStories.isDragging) { + PublishStories.cameraOffset.x = MovimUtils.getEventLocation(e).x / PublishStories.cameraZoom - PublishStories.dragStart.x + PublishStories.cameraOffset.y = MovimUtils.getEventLocation(e).y / PublishStories.cameraZoom - PublishStories.dragStart.y + } + }, + + handleTouch: function (e, singleTouchHandler) { + if (e.touches.length == 1) { + singleTouchHandler(e) + } + else if (e.type == "touchmove" && e.touches.length == 2) { + PublishStories.isDragging = false + PublishStories.handlePinch(e) + } + }, + + handlePinch: function (e) { + e.preventDefault() + + let touch1 = { x: e.touches[0].clientX, y: e.touches[0].clientY } + let touch2 = { x: e.touches[1].clientX, y: e.touches[1].clientY } + + // This is distance squared, but no need for an expensive sqrt as it's only used in ratio + let currentDistance = (touch1.x - touch2.x) ** 2 + (touch1.y - touch2.y) ** 2 + + if (PublishStories.initialPinchDistance == null) { + PublishStories.initialPinchDistance = currentDistance + } + else { + PublishStories.adjustZoom(null, currentDistance / PublishStories.initialPinchDistance) + } + }, + + adjustZoom: function (zoomAmount, zoomFactor) { + if (!PublishStories.isDragging) { + if (zoomAmount) { + PublishStories.cameraZoom += zoomAmount + } + else if (zoomFactor) { + PublishStories.cameraZoom = zoomFactor * PublishStories.lastZoom + } + + PublishStories.cameraZoom = Math.min(PublishStories.cameraZoom, MAX_ZOOM) + PublishStories.cameraZoom = Math.max(PublishStories.cameraZoom, MIN_ZOOM) + } + } +} + +MovimEvents.registerWindow('loaded', 'publishstories', () => { + Upload.attach((file) => { + if (PublishStories.main && PublishStories.main.classList.contains('publish')) { + PublishStories.main.querySelector('#publishactions').classList.remove('uploading'); + PublishStories.main.querySelector('#publishactions').classList.add('publishing'); + PublishStories_ajaxPublish(MovimUtils.formToJson('metadata'), file.id); + } + }); + + Upload.fail(() => { + PublishStories.main.querySelector('#publishactions').classList.remove('uploading'); + }); + + Upload.progress((percent) => { + if (PublishStories.main != undefined && PublishStories.main.classList.contains('publish')) { + PublishStories.main.querySelector('#publishactionsprogress').innerHTML = + percent + '%'; + } + }); +}); \ No newline at end of file diff --git a/frontend/widgets/Register/locales.ini b/frontend/widgets/Register/locales.ini new file mode 100644 index 0000000..8b7f8c4 --- /dev/null +++ b/frontend/widgets/Register/locales.ini @@ -0,0 +1,13 @@ +[create] +title = Create a new account +notfound = No account creation form found on the server +server_on = on +successfull = Your account has been successfully registered +loading = Loading +placeholder = …and start playing + +[error] +not_acceptable = Not Acceptable +service_unavailable = The registration system of this server is currently unavailable +forbidden = Registration forbidden + diff --git a/frontend/widgets/Register/register.css b/frontend/widgets/Register/register.css new file mode 100644 index 0000000..dc4c349 --- /dev/null +++ b/frontend/widgets/Register/register.css @@ -0,0 +1,7 @@ +#subscription_form form { + padding: 1rem; +} + +#subscription_form ul#obb { + padding-top: 10rem; +} \ No newline at end of file diff --git a/frontend/widgets/Register/register.js b/frontend/widgets/Register/register.js new file mode 100644 index 0000000..a45320b --- /dev/null +++ b/frontend/widgets/Register/register.js @@ -0,0 +1,11 @@ +MovimWebsocket.register(function() +{ + Register_ajaxGetForm(MovimUtils.urlParts().params[0]); +}); + +MovimWebsocket.start(function() { + Notif.current('register'); + + var domain = MovimUtils.urlParts().params[0]; + MovimWebsocket.connection.register(domain); +}); diff --git a/frontend/widgets/Rooms/locales.ini b/frontend/widgets/Rooms/locales.ini new file mode 100644 index 0000000..52a5e46 --- /dev/null +++ b/frontend/widgets/Rooms/locales.ini @@ -0,0 +1,114 @@ +[chatrooms] +autojoin = Join this chatroom on login +avatar = Change the chatroom avatar +bad_id = Bad Chatroom Address +bad_nickname = Please enter a valid nickname (2 to 40 characters) +banned = Banned + +conference_call = Conference call +conference_call_edit = Edit the conference call +conference_call_text = Call your contacts and share your webcam or screen + +config = Configuration +config_saved = Configuration saved +configure = Configure the chatroom + +conflict = Nickname already taken +connected = Joined the chatroom +create = Create a chatroom +created = Chatroom created +default_room = Standard chatroom +destroy_text = Are you sure you want to permanently destroy the following chatroom? +destroy_title = Destroy the chatroom +destroyed = Chatroom destroyed + +disco_error = Movim was not able to find a valid chatroom. Try maybe with another identifier. +disco_maybe_space = This chatroom seems to be part of a Space, we are not able to find which one but we strongly advise you to join the Space instead +disco_not_muc = You are trying to add something that is not a chatroom +disco_registration_required = A registration is required before using the service + +disconnected = Left the chatroom +discover = Discover a chatroom +edit = Edit the chatroom +empty_name = Empty name +empty_text1 = You don’t have any chatroom yet. +empty_text2 = Add one by clicking on the add button. +explore_placeholder = Name or description +filter_all = All +filter_connected = Connected +first_room_placeholder = Press the %s button to add a first chatroom +forbidden = You are not allowed to join this chatroom +gateway_room = Gateway chatroom +hide_disconnected = Hide disconnected chatrooms +id = Chatroom Address +itemnotfound = The chatroom doesn’t exist +jidmalformed = Your nickname is not valid +join = Join a chatroom +join_custom = Join a custom chatroom +members = Members +name_placeholder = My Favorite Chatroom +notacceptable = Not acceptable +notallowed = You are not allowed to create a chatroom there +notauthorized = A password is required +pinned = Pin this chatroom +registrationrequired = Chatroom cannot be joined, registration required +remoteservernotfound = The remote server for this chatroom doesn’t exist +remoteservertimeout = Connection to remote server timed out +remove_text = You are going to permanently leave the following chatroom. Please confirm your action. +remove_title = Permanently leave a chatroom +serviceunavailable = The chatroom participant limit has been reached +show_all = Show all chatrooms +subject = Subject +title = Chatrooms +type_room = Type of chatroom +users = Users + +[bookmarks] +updated = Bookmarks updated + +[room] +anonymous_title = Public Channel +anonymous_text1 = You are currently logged as an anonymous user. +anonymous_text2 = You can join using your own account or create one on the login page by logging out using the cross in the top-right corner. +anonymous_login = Login on %s +invite = Invite a contact +invited = Invitation sent +invite_code = Send this link to your contacts +public_muc = Public +public_muc_text = This chatroom is publicly discoverable +nonanonymous_muc = Public profiles +nonanonymous_muc_text = "The participants of this chatroom can see each other's XMPP Addresses" +archived = Archived +archived_text = The chatroom messages are archived + +group_chat = Group Chat +group_chat_text = Private group chat with invited members +group_chat_add = Add a new member +group_chat_remove = Remove a member +group_chat_remove_text = You will remove the following member, are you sure? +banned_add = Ban someone +banned_remove = Unban +configure_user = Configure the user + +change_affiliation_unauthorized = You are not authorized to change this affiliation + +affiliation = Affiliation +role = Role +reason = Reason +channel = Channel +channel_text = Public channel that can be publicly discoverable and joinable + +notify_title = Notifications +notify_never = Never notify +notify_mentioned = Notify when mentioned +notify_always = Always notify + +pinned = Pinned + +affiliation_owners = Owners +affiliation_admins = Admins + +visitor = Visitor + +allowed_send_messages = Is the user allowed to send messages? +role_changed = Role changed diff --git a/frontend/widgets/Rooms/rooms.css b/frontend/widgets/Rooms/rooms.css new file mode 100644 index 0000000..6ac76c9 --- /dev/null +++ b/frontend/widgets/Rooms/rooms.css @@ -0,0 +1,124 @@ +#rooms { + animation: fadeIn 0.5s; + display: flex; + flex-direction: column; +} + +#rooms[data-scroll] li.subheader:first-child { + animation: backgroundBlink 1s; +} + +#rooms>ul.list>li i.call { + margin-right: 0.75rem; +} + +#rooms>ul.list { + order: 1; +} + +#rooms>ul.list.head { + order: 0; +} + +#rooms ul li.room { + white-space: nowrap; + overflow-x: hidden; +} + +#gateway_rooms:empty { + min-height: 0; +} + +#gateway_rooms:not(:empty)+div { + display: none; +} + +#rooms ul.list.rooms li:not(.connecting) li span.control.connecting { + display: none; +} + +#rooms ul.list.rooms li span.control.edition { + position: absolute; + display: block; + right: -7rem; + margin: 0; + width: 5.5rem; + background-color: rgb(var(--movim-background)); + top: 0; + height: 5.25rem; + line-height: 5.25rem; + box-shadow: var(--elevation-1); + transition: right 0.2s var(--accelerate-easing); +} + +#rooms ul.list.rooms li:hover span.control.edition { + right: 0; + transition: right 0.2s var(--decelerate-easing) 0.75s; +} + +#rooms ul.list.rooms { + display: flex; + flex-direction: column; +} + +#rooms ul.list.rooms>li:not(.connected) span.primary { + opacity: 0.25; + filter: grayscale(0.5); +} + +#rooms ul.toggle_show li div>p:first-child { + line-height: initial; +} + +#rooms ul.toggle_show li div>p { + line-height: 2.5rem; + font-size: 1.75rem; + color: rgba(var(--movim-font), 0.6); +} + +#rooms ul.list.rooms:empty~ul.toggle_show, +#rooms ul.list.rooms:not(:empty):not(.all)~ul.toggle_show>li span.primary i:first-child, +#rooms ul.list.rooms:not(:empty).all~ul.toggle_show>li span.primary i:last-child, +#rooms ul.list.rooms:not(:empty):not(.all)~ul.list.head>li span.control.toggle_show i:first-child, +#rooms ul.list.rooms:not(:empty).all~ul.list.head>li span.control.toggle_show i:last-child, +#rooms ul.list.rooms:not(:empty):not(.all)~ul.toggle_show>li div>p:first-child, +#rooms ul.list.rooms:not(:empty).all~ul.toggle_show>li div>p:last-child, +#rooms ul.list.rooms:not(:empty)~ul.empty, +#rooms ul.list.rooms:not(.different_states)~ul.toggle_show, +#rooms ul.list.rooms:not(.all)>li:not(.connected) { + display: none; +} + +/* Rooms order */ + +#rooms>ul.list.rooms>li { + order: 4; +} + +#rooms>ul.list.rooms>li.groupchat { + order: 3; +} + +#rooms>ul.list.rooms>li.pinned { + order: 2; +} + +#rooms>ul.list.rooms>li.unread { + order: 1; +} + +#rooms>ul.list.rooms>li.connected { + order: 0; +} + +#rooms>ul.list.rooms>li.connected.groupchat { + order: -1; +} + +#rooms>ul.list.rooms>li.connected.pinned { + order: -2; +} + +#rooms>ul.list.rooms>li.connected.unread { + order: -3; +} \ No newline at end of file diff --git a/frontend/widgets/Rooms/rooms.js b/frontend/widgets/Rooms/rooms.js new file mode 100644 index 0000000..5249b5b --- /dev/null +++ b/frontend/widgets/Rooms/rooms.js @@ -0,0 +1,262 @@ +var Rooms = { + default_services: [], + refreshMujisInterval: null, + + cleanId: function (input) { + if (input.value) { + if (input.value.substring(0, 5) == 'xmpp:') { + input.value = input.value.substring(5); + } + + if (input.value.slice(-5) == '?join') { + input.value = input.value.slice(0, -5); + } + } + }, + + setDefaultServices: function (services) { + Rooms.default_services = services; + }, + + toggleScroll: function () { + var chats = document.querySelector('#chats_widget_header'); + var rooms = document.querySelector('#rooms'); + + if (rooms.dataset.scroll) { + chats.scrollIntoView(); + } else { + rooms.scrollIntoView(); + } + }, + + scrollToChats: function () { + var chats = document.querySelector('#chats_widget_header'); + var rooms = document.querySelector('#rooms'); + + var chatcounter = document.querySelector('#chatcounter i'); + var bottomchatcounter = document.querySelector('#bottomchatcounter i'); + + chats.dataset.scroll = true; + delete rooms.dataset.scroll; + + chatcounter.innerHTML = bottomchatcounter.innerHTML = 'chat_bubble'; + }, + + scrollToRooms: function () { + var chats = document.querySelector('#chats_widget_header'); + var rooms = document.querySelector('#rooms'); + + var chatcounter = document.querySelector('#chatcounter i'); + var bottomchatcounter = document.querySelector('#bottomchatcounter i'); + + delete chats.dataset.scroll; + rooms.dataset.scroll = true; + + chatcounter.innerHTML = bottomchatcounter.innerHTML = 'forum'; + }, + + checkNoConnected: function () { + if ( + !document.querySelector('#rooms ul.list.rooms li.connected') + && localStorage.getItem('rooms_all') == 'true' + && document.querySelector('#rooms ul.list.rooms') + ) { + document.querySelector('#rooms ul.list.rooms').classList.add('all'); + } + }, + + toggleShowAll: function () { + document.querySelector('#rooms ul.list.rooms').classList.toggle('all'); + localStorage.setItem('rooms_all', document.querySelector('#rooms ul.list.rooms').classList.contains('all')); + + Rooms.displayToggleButton(); + }, + + displayToggleButton: function () { + document.querySelectorAll('#rooms span.chip').forEach(chip => { + chip.classList.remove('enabled'); + }); + + if (localStorage.getItem('rooms_all') == 'true') { + document.querySelector('#rooms span.chip[data-filter=all]')?.classList.add('enabled'); + } else { + document.querySelector('#rooms span.chip[data-filter=connected]')?.classList.add('enabled'); + } + }, + + selectGatewayRoom: function (room) { + document.querySelector('form[name="rooms_discover"] input[name=jid]').value = room; + RoomsUtils_ajaxDiscoRoom(room); + MovimUtils.addClass('#rooms_discover_add', 'disabled'); + }, + + setJid: function (slugifiedJid) { + let input = document.querySelector('form[name=bookmarkmucadd] input[name=jid]'); + + if (input && input.value === '') { + input.value = slugifiedJid; + } + }, + + suggest: function () { + let input = document.querySelector('form[name=bookmarkmucadd] input[name=jid]'); + + if (input && input.value != '' && !input.value.includes('@')) { + let suggestions = document.querySelector('datalist#suggestions'); + if (suggestions) { + suggestions.textContent = ''; + + Rooms.default_services.forEach(function (item) { + var option = document.createElement('option'); + option.value = input.value + '@' + item.server; + suggestions.appendChild(option); + }); + } + } + }, + + refresh: function () { + Rooms.displayToggleButton(); + + var parent = document.querySelector('#rooms').parentElement; + + parent.onscroll = e => { + if ((e.target.scrollHeight <= e.target.scrollTop + e.target.offsetHeight + 1) + || (e.target.scrollTop + 5 >= document.querySelector('#rooms').offsetTop)) { + Rooms.scrollToRooms(); + } else { + Rooms.scrollToChats(); + } + }; + + var list = document.querySelector('#rooms ul.list.rooms'); + var items = document.querySelectorAll('#rooms ul.list.rooms li:not(.subheader)'); + var i = 0; + + var differentStates = false; + list.classList.remove('different_states'); + + while (i < items.length) { + if (items[i].dataset.jid != null) { + items[i].onclick = function (e) { + Chat.getRoom(this.dataset.jid); + } + + if (MovimUtils.isMobile()) { + let touchTimer; + let moveX = 0; + let moveY = 0; + + items[i].ontouchstart = function (event) { + touchTimer = setTimeout(() => { + touchTimer = null; + + if (moveX == 0 && moveY == 0) { + RoomsUtils_ajaxAdd(this.dataset.jid); + } + }, 500); + } + + items[i].ontouchmove = function (event) { + moveX += Math.abs(event.targetTouches[0].pageX); + moveY += Math.abs(event.targetTouches[0].pageY); + } + + items[i].ontouchend = function (event) { + clearTimeout(touchTimer); + moveX = moveY = 0; + } + } + } + + if ( + i >= 1 + && !differentStates + && items[i - 1].classList.contains('connected') != items[i].classList.contains('connected') + ) { + differentStates = true; + } + + items[i].classList.remove('active'); + + i++; + } + + if (differentStates) { + list.classList.add('different_states'); + } else { + Rooms.checkNoConnected(); + } + }, + + clearRooms: function () { + if (rooms = document.querySelector('#rooms ul.list.rooms')) { + rooms.innerHTML = ''; + } + }, + + setRoom: function (id, html) { + var listSelector = '#rooms ul.list.rooms '; + var list = document.querySelector(listSelector); + + if (list) { + var element = list.querySelector('#' + id); + + if (element) element.remove(); + + var rooms = document.querySelectorAll(listSelector + '> li'); + var i = 0; + + while (i < rooms.length) { + if (rooms[i].id > id) { + MovimTpl.prependBefore(listSelector + '#' + rooms[i].id, html); + break; + } + + i++; + } + + if (i == rooms.length) { + MovimTpl.append(listSelector, html); + } + } + }, + + clearAllActives: function () { + document.querySelectorAll('#rooms ul.list.rooms li:not(.subheader)') + .forEach(item => item.classList.remove('active')); + }, + + setActive: function (jid) { + Chats.clearAllActives(); + Rooms.clearAllActives(); + MovimUtils.addClass('#rooms ul.list.rooms li[data-jid="' + jid + '"]', 'active'); + }, + + setUnread: function (id, unread) { + var element = document.querySelector('#rooms ul.list.rooms #' + id); + + if (element) { + if (unread) { + element.classList.add('unread'); + } else { + element.classList.remove('unread'); + } + } + }, + + refreshMujis: function () { + // Doesn't refresh the list while we're on it + document.querySelectorAll('#rooms li.muji:not(.active)').forEach(room => { + Rooms_ajaxRefresh(room.dataset.jid); + }); + } +} + +MovimWebsocket.initiate(() => { + clearInterval(Rooms.refreshMujisInterval); + Rooms.refreshMujisInterval = setInterval(Rooms.refreshMujis, 15 * 1000); + + Rooms_ajaxHttpGet(); + Rooms.checkNoConnected(); +}); diff --git a/frontend/widgets/RoomsExplore/locales.ini b/frontend/widgets/RoomsExplore/locales.ini new file mode 100644 index 0000000..b5260bf --- /dev/null +++ b/frontend/widgets/RoomsExplore/locales.ini @@ -0,0 +1,6 @@ +[roomsexplore] +no_local = No chatrooms found locally +global_title = Channels +no_global = No chatrooms found globally +find_more = Find more channels +find_more_text = "%s in total" diff --git a/frontend/widgets/RoomsExplore/roomsexplore.js b/frontend/widgets/RoomsExplore/roomsexplore.js new file mode 100644 index 0000000..58bed1d --- /dev/null +++ b/frontend/widgets/RoomsExplore/roomsexplore.js @@ -0,0 +1,29 @@ +var RoomsExplore = { + timer: null, + + init: function () { + if (window.matchMedia("(min-width: 1025px)").matches) { + document.querySelector('#roomsexplore_bar input[name=keyword]').focus(); + } + }, + + setKeyword: function (keyword) { + document.querySelector('#roomsexplore_bar input[name=keyword]').value = keyword; + }, + + searchSomething: function (value) { + clearTimeout(RoomsExplore.timer); + + if (value !== '') { + document.querySelector('#roomsexplore_bar li.search').classList.add('searching'); + } + + RoomsExplore.timer = setTimeout(() => { + RoomsExplore_ajaxSearchRooms(value); + }, 700); + }, + + searchClear: function () { + document.querySelector('#roomsexplore_bar li.search').classList.remove('searching'); + } +} diff --git a/frontend/widgets/RoomsUtils/roomsutils.css b/frontend/widgets/RoomsUtils/roomsutils.css new file mode 100644 index 0000000..e615255 --- /dev/null +++ b/frontend/widgets/RoomsUtils/roomsutils.css @@ -0,0 +1,3 @@ +#gateway_rooms:not(:empty) ~ #bookmarkmucadd_jid { + display: none; +} diff --git a/frontend/widgets/RoomsUtils/roomsutils.js b/frontend/widgets/RoomsUtils/roomsutils.js new file mode 100644 index 0000000..990825c --- /dev/null +++ b/frontend/widgets/RoomsUtils/roomsutils.js @@ -0,0 +1,40 @@ +var RoomsUtils = { + getDrawerFingerprints: function (room, members) { + let resolved = []; + + members.forEach(member => { + resolved.push(ChatOmemo.resolveContactFingerprints(member)); + }); + + Promise.all(resolved).then(fingerprints => { + RoomsUtils_ajaxGetDrawerFingerprints(room, fingerprints); + }); + + }, + morePictures(button, room, page) { + button.remove(); + RoomsUtils_ajaxHttpGetPictures(room, page); + }, + moreLinks(button, room, page) { + button.remove(); + RoomsUtils_ajaxHttpGetLinks(room, page); + }, + configureCreatedRoom() { + if (MovimUtils.formToJson('bookmarkmucadd') != false) { + RoomsUtils_ajaxConfigureCreated(MovimUtils.formToJson('bookmarkmucadd')); + } + }, + configureDisconnect(room) { + setTimeout(e => { + Rooms_ajaxExit(room); + }, 2000) + }, + resolveRoomEncryptionState(room) { + var store = new ChatOmemoStorage(); + store.getContactState(room).then(enabled => { + if (!enabled) { + document.querySelector('#room_omemo_fingerprints ul.list').classList.add('disabled'); + } + }); + } +} diff --git a/frontend/widgets/Search/locales.ini b/frontend/widgets/Search/locales.ini new file mode 100644 index 0000000..a23212f --- /dev/null +++ b/frontend/widgets/Search/locales.ini @@ -0,0 +1,7 @@ +[search] +keyword = What are you looking for? +placeholder = "#cats, username@server.com, John…" +no_contacts_title = No contacts yet? +no_contacts_text = Find one by searching for their name or address +tags = Tags +show_complete_roster = Show all the contacts diff --git a/frontend/widgets/Search/search.css b/frontend/widgets/Search/search.css new file mode 100644 index 0000000..0d6a2de --- /dev/null +++ b/frontend/widgets/Search/search.css @@ -0,0 +1,16 @@ +#search form > div > input:not([type="submit"]) { + padding-top: 3.7rem; + margin-bottom: 0; +} + +#search form > div:not(.control) { + top: -1rem; +} + +#search ul#roster li:not(.found) { + display: none; +} + +#search ul#roster li.showall { + margin-top: 1rem; +} diff --git a/frontend/widgets/Search/search.js b/frontend/widgets/Search/search.js new file mode 100644 index 0000000..72773fb --- /dev/null +++ b/frontend/widgets/Search/search.js @@ -0,0 +1,103 @@ +var Search = { + timer : null, + rosterLimit: false, + + init : function(articlesOnly) { + if (window.matchMedia("(min-width: 1025px)").matches) { + document.querySelector('input[name=keyword]').focus(); + } + + if (articlesOnly == false || articlesOnly == null) { + Search.rosterLimit = 10; + Search_ajaxHttpInitRoster(); + } + }, + + roster : function(key) { + var selector = '#search > #roster > li'; + var subheader = document.querySelector(selector + '.subheader'); + var showall = document.querySelector(selector + '.showall'); + + document.querySelectorAll(selector) + .forEach(item => item.classList.remove('found')); + + if (key == '') { + document.querySelectorAll(selector + ':nth-child(-n+' + (Search.rosterLimit+1) + ')').forEach(item => item.classList.add('found')); + if (document.querySelector(selector + ':last-child')) { + document.querySelector(selector + ':last-child').classList.add('found'); + } + }; + + var founds = document.querySelectorAll( + selector + '[name*="' + MovimUtils.cleanupId(key).slice(3) + '"]' + ); + + founds = [].slice.call(founds).slice(0, Search.rosterLimit); + + if (founds.length > 0) { + if (subheader) { + subheader.classList.add('found'); + } + + showall.classList.add('found'); + founds.forEach(item => item.classList.add('found')); + } else if (key != '') { + if (subheader) { + subheader.classList.remove('found'); + } + + if (showall) { + showall.classList.remove('found'); + } + } + }, + + showCompleteRoster : function(li) + { + li.style.display = 'none'; + Search.rosterLimit = document.querySelectorAll('#search > #roster > li:not(.showall)').length; + Search.searchCurrent(); + }, + + chat : function(jid, muc) { + if (MovimUtils.urlParts().page === 'chat' && muc == false) { + Chats_ajaxOpen(jid, true); + Drawer.clear(); + } else { + Search_ajaxChat(jid, muc); + } + }, + + searchCurrent() { + Search.searchSomething(document.querySelector('#searchbar input[name=keyword').value); + }, + + searchSomething : function(value) { + value = value.trim(); + + clearTimeout(Search.timer); + + if (value !== '') { + document.querySelector('#searchbar li.search').classList.add('searching'); + } + + Search.timer = setTimeout(() => { + Search_ajaxSearch(value); + }, 700); + + Search.roster(value); + }, + + searchClear : function() { + if (document.querySelector('#searchbar')) { + document.querySelector('#searchbar li.search').classList.remove('searching'); + } + } +} + +MovimEvents.registerWindow('keydown', 'search', (e) => { + if (e.key == 'm' && e.ctrlKey) { + e.preventDefault(); + Search_ajaxRequest(); + } +}); diff --git a/frontend/widgets/SendTo/locales.ini b/frontend/widgets/SendTo/locales.ini new file mode 100644 index 0000000..75a0e83 --- /dev/null +++ b/frontend/widgets/SendTo/locales.ini @@ -0,0 +1,11 @@ +[sendto] +attach = Attach to a blog publication +share = Share in a new publication +selected = contacts selected +pick = Pick the contacts you want to share this content with +shared_with = Post shared +shared_contacts = Post shared with %s contacts +more_contacts = More contacts +os_share = Share outside Movim +sharing_post = Post shared using Movim +sharing_story = Story shared using Movim \ No newline at end of file diff --git a/frontend/widgets/SendTo/sendto.css b/frontend/widgets/SendTo/sendto.css new file mode 100644 index 0000000..3b6f76f --- /dev/null +++ b/frontend/widgets/SendTo/sendto.css @@ -0,0 +1,19 @@ +#sendto ul.list:first-child li.block:not(.story) { + margin: 0 1rem; +} + +#sendto ul.list.flex.fourth.gallery:first-child { + grid-template-columns: 1fr auto; +} + +#sendto ul.list.flex.fourth.gallery:first-child li:not(.subheader):not(.story) { + padding: 0; +} + +#sendto ul.list span.share i::before { + content: 'add'; +} + +#sendto ul.list span.share.sharing i::before { + content: 'remove'; +} \ No newline at end of file diff --git a/frontend/widgets/SendTo/sendto.js b/frontend/widgets/SendTo/sendto.js new file mode 100644 index 0000000..f039a7f --- /dev/null +++ b/frontend/widgets/SendTo/sendto.js @@ -0,0 +1,46 @@ +var SendTo = { + contacts: {}, + init: function () { + SendTo.contacts = {}; + + document.querySelectorAll('#sendto_share_contacts > li[data-jid]').forEach(li => { + var store = new ChatOmemoStorage(); + + store.getContactState(li.dataset.jid).then(enabled => { + if (enabled) li.classList.add('disabled'); + }); + }); + }, + + shareArticle: function (link) { + SendTo_ajaxShareArticle(link, typeof navigator.share == 'function'); + }, + + toggleSend: function (contact) { + if (contact.classList.contains('sharing')) { + contact.classList.remove('sharing'); + delete SendTo.contacts[contact.dataset.jid]; + } else { + contact.classList.add('sharing'); + SendTo.contacts[contact.dataset.jid] = Boolean(contact.dataset.muc); + } + + var button = document.getElementById('sendto_button'); + var contactsCount = Object.keys(SendTo.contacts).length; + + document.getElementById('sendto_counter').innerText = contactsCount; + button.classList.remove('disabled'); + if (contactsCount == 0) { + button.classList.add('disabled'); + } + }, + + sendToContacts: function(uri) { + SendTo_ajaxSend(SendTo.contacts, uri); + SendTo.contacts = {}; + }, + + shareOs(object) { + navigator.share(object); + }, +} diff --git a/frontend/widgets/Share/share.js b/frontend/widgets/Share/share.js new file mode 100644 index 0000000..9ec3607 --- /dev/null +++ b/frontend/widgets/Share/share.js @@ -0,0 +1,22 @@ +var Share = { + get: function () { + var parts = MovimUtils.urlParts(); + + if (parts.params[0]) { + uri = parts.params[0].substr(0, 5) == 'xmpp:' + ? parts.params[0] + : atob(parts.params[0]); + + Share.openUri(uri); + } + }, + + openUri: function (uri) { + document.querySelector('h4').innerHTML = uri; + Share_ajaxGet(uri); + } +}; + +MovimWebsocket.attach(function () { + Share.get(); +}); diff --git a/frontend/widgets/Shortcuts/shortcuts.css b/frontend/widgets/Shortcuts/shortcuts.css new file mode 100644 index 0000000..1a31761 --- /dev/null +++ b/frontend/widgets/Shortcuts/shortcuts.css @@ -0,0 +1,51 @@ +#shortcuts_widget { + transition: height .1s; +} + +#shortcuts_widget + ul li:not(.active):first-child:before { + display: block; + content: ''; + width: 5.5rem; + height: 5.5rem; + background-color: rgba(var(--movim-font), 0.04); + position: absolute; + top: 0.5rem; + left: 0.5rem; + border-radius: 2rem; + z-index: -1; + transition: background-color 0.15s ease; +} + +@media screen and (max-width: 1024px) { + #shortcuts_widget { + margin-top: 1rem; + } +} + +#shortcuts_widget hr { + transition: opacity .2s; + margin-top: 0; +} + +#shortcuts_widget:empty+hr { + opacity: 0; +} + +#shortcuts_widget li { + transition: transform .2s, opacity .2s, height .2s, margin-bottom .2s; + opacity: 1; + height: 7rem; +} + +#shortcuts_widget li:last-child { + border-radius: 0; + border-bottom: 1px solid rgba(var(--movim-font), 0.12); + margin-bottom: 0.5rem; +} + +#shortcuts_widget li.disappear { + transform: scale(0.5); + opacity: 0; + height: 0; + margin-bottom: 0; +} \ No newline at end of file diff --git a/frontend/widgets/Shortcuts/shortcuts.js b/frontend/widgets/Shortcuts/shortcuts.js new file mode 100644 index 0000000..c5bba1e --- /dev/null +++ b/frontend/widgets/Shortcuts/shortcuts.js @@ -0,0 +1,20 @@ +var Shortcuts = { + clear: function (jid) { + li = document.querySelector('#shortcuts_widget li[data-jid="' + jid + '"]'); + + if (li) { + li.classList.add('disappear'); + setTimeout(e => { + parent = li.parentNode; + li.remove(); + if (parent) { + parent.innerHTML = parent.innerHTML.trim(); + } + }, 200) + } + } +} + +MovimWebsocket.attach(() => { + Shortcuts_ajaxGet(); +}); \ No newline at end of file diff --git a/frontend/widgets/Snap/snap.css b/frontend/widgets/Snap/snap.css new file mode 100644 index 0000000..345ea83 --- /dev/null +++ b/frontend/widgets/Snap/snap.css @@ -0,0 +1,114 @@ +#snap { + top: 0; + left: 0; + background-color: rgb(var(--movim-background)); + width: 100%; + height: 100%; + z-index: 2; + display: none; + animation: fadeIn 0.3s; +} + +#snapclose, +#snapswitch, +#snapdraw { + width: 5.5rem; + height: 5.5rem; + line-height: 5.5rem; + margin-top: 0.75rem; + font-size: 2.5rem; + backdrop-filter: blur(1rem); + background-color: rgba(0, 0, 0, 0.25); +} + +#snap canvas, +#snap video { + position: absolute; + top: 50%; + left: 50%; + translate: -50% -50%; + max-width: calc(100% - 8rem); + max-height: calc(100% - 8rem); + border-radius: 2rem; + box-shadow: var(--elevation-3); + object-fit: cover; +} + +#snap.upload canvas { + animation: zoomOut 0.3s; + max-height: calc(100% - 15rem); + box-shadow: var(--elevation-5); +} + +#snap.draw canvas { + background-color: white; +} + +#snap video { + background-image: url(../theme/img/cloud_spinner.svg); + background-repeat: no-repeat; + background-position: center center; + animation: zoom 0.3s; +} + +#snap .bottom_center { + width: 100%; + position: absolute; + bottom: 2rem; + display: flex; + justify-content: center; +} + +#snap .bottom_center > button { + position: relative; + margin-left: 1rem; + margin-right: 1rem; + right: 0; +} + +/* States */ +#snap.shoot, +#snap.upload, +#snap.wait, +#snap.draw, +#snap.init { + display: block; +} + +#snap select#snapsource, + +#snap.shoot #snapupload, +#snap.shoot #snapdraw, +#snap.shoot #snapclose, +#snap.shoot #snapwait, +#snap.shoot #snapswitch:not(.enabled), +#snap.shoot canvas, + +#snap.upload #snapshoot, +#snap.upload #snapwait, +#snap.upload #snapswitch, +#snap.upload video, + +#snap.wait #snapshoot, +#snap.wait #snapupload, +#snap.wait #snapdraw, +#snap.wait #snapback, +#snap.wait #snapclose, +#snap.wait #snapswitch, +#snap.wait video, + +#snap.draw #snapshoot, +#snap.draw #snapwait, +#snap.draw #snapclose, +#snap.draw #snapswitch, +#snap.draw video, + +#snap.init #snapshoot, +#snap.init #snapupload, +#snap.init #snapdraw, +#snap.init #snapclose, +#snap.init #snapswitch, +#snap.init canvas, +#snap.init video { + display: none; +} diff --git a/frontend/widgets/Snap/snap.js b/frontend/widgets/Snap/snap.js new file mode 100644 index 0000000..1666a61 --- /dev/null +++ b/frontend/widgets/Snap/snap.js @@ -0,0 +1,206 @@ +var Snap = { + snap: undefined, + video: undefined, + videoSelect: undefined, + canvas: undefined, + wait: undefined, + imageCapture: null, + + init: function () { + MovimTpl.pushAnchorState('snap', function () { + Snap.snap.classList = ''; + Snap.close(); + }); + + Snap.snap = document.querySelector('#snap'); + Snap.canvas = document.querySelector('#snap canvas'); + Snap.wait = document.querySelector("#snap #snapwait"); + + Snap.video = document.querySelector('#snap video'); + Snap.videoSelect = document.querySelector('#snap select#snapsource'); + + Snap.close(); + + Snap.getStream().then(Snap.getDevices).then(Snap.gotDevices); + + document.querySelector("#snap #snapshoot").onclick = () => Snap.shoot(); + + document.querySelector("#snap #snapswitch").onclick = () => { + Snap.snap.classList = 'init'; + + Snap.videoSelect.selectedIndex++; + + // No empty selection + if (Snap.videoSelect.selectedIndex == -1) { + Snap.videoSelect.selectedIndex++; + } + + Toast.send(Snap.videoSelect.options[Snap.videoSelect.selectedIndex].label); + Snap.getStream(); + }; + + Snap.snap.classList = 'init'; + + document.querySelector("#snap #snapupload").onclick = () => { + Snap.snap.classList = 'wait'; + Upload.init(); + }; + + document.querySelector("#snap #snapdraw").onclick = () => { + Snap.snap.classList = ''; + Snap.close(); + Draw.initCanvas = Snap.canvas; + Draw_ajaxHttpGet(); + }; + + document.querySelector("#snap #snapback").onclick = () => { + history.back(); + }; + + document.querySelector("#snap #snapclose").onclick = () => { + Snap.snap.classList = 'shoot'; + Snap.video.play(); + Upload.abort(); + }; + }, + + close: function () { + if (!Snap.video) return; + + let stream = Snap.video.srcObject; + + if (stream) { + stream.getTracks().forEach(track => track.stop()); + } + + Snap.video.srcObject = null; + }, + + getStream: function () { + Snap.snap.classList = 'wait'; + + if (Snap.video.srcObject) { + Snap.video.srcObject.getTracks().forEach(track => track.stop()); + } + + const videoSource = Snap.videoSelect.value; + const constraints = { + video: { + deviceId: videoSource ? { exact: videoSource } : undefined, + width: { ideal: 1920 }, + height: { ideal: 1920 } + } + }; + + return navigator.mediaDevices.getUserMedia(constraints) + .then(Snap.gotStream); + }, + + gotStream: function (stream) { + Snap.snap.classList = 'shoot'; + + Snap.videoSelect.selectedIndex = [...Snap.videoSelect.options]. + findIndex(option => option.text === stream.getVideoTracks()[0].label); + Snap.video.srcObject = stream; + + // We try to use ImageCapture + if (typeof (ImageCapture) != 'undefined') { + const track = stream.getVideoTracks()[0]; + Snap.imageCapture = new ImageCapture(track); + } + + // If we cancel after the authorization was given + if (Snap.snap.classList == '') { + Snap.close(); + }; + }, + + getDevices: function () { + return navigator.mediaDevices.enumerateDevices(); + }, + + gotDevices: function (devicesInfo) { + Snap.videoSelect.innerHTML = ''; + + for (const deviceInfo of devicesInfo) { + if (deviceInfo.kind === 'videoinput') { + const option = document.createElement('option'); + option.value = deviceInfo.deviceId; + option.text = deviceInfo.label || `Camera ${videoSelect.length + 1}`; + + if (!Snap.videoSelect.querySelector('option[value="' + deviceInfo.deviceId + '"]')) { + Snap.videoSelect.appendChild(option); + } + } + } + + if (Snap.videoSelect.options.length >= 2) { + document.querySelector("#snap #snapswitch").classList.add('enabled'); + } + }, + + shoot: function () { + if (Snap.imageCapture) { + Snap.imageCapture.takePhoto() + .then(blob => createImageBitmap(blob)) + .then(image => { + Snap.canvas.width = image.width; + Snap.canvas.height = image.height; + var context = Snap.canvas.getContext('2d'); + context.drawImage(image, 0, 0, image.width, image.height); + + Snap.compress(); + }) + .catch(error => console.log(error)); + + } else { + Snap.canvas.width = Snap.video.videoWidth; + Snap.canvas.height = Snap.video.videoHeight; + var context = Snap.canvas.getContext('2d'); + context.drawImage(Snap.video, 0, 0, Snap.video.videoWidth, Snap.video.videoHeight); + Snap.video.pause(); + + Snap.compress(); + } + }, + compress: function () { + Snap.canvas.toBlob( + function (blob) { + Upload.prepare(blob); + }, + 'image/jpeg', + 0.85 + ); + + Upload.name = 'snapshot.jpg'; + Snap.snap.classList = 'upload'; + }, + clear: function () { + Snap.video.play(); + var context = Snap.canvas.getContext('2d'); + context.clearRect(0, 0, Snap.canvas.width, Snap.canvas.height); + }, + end: function () { + Snap.snap.classList = ''; + Snap.wait.style.backgroundImage = ''; + Snap.close(); + } +} + +MovimEvents.registerWindow('loaded', 'snap', () => { + Upload.attach((file) => { + if (Snap.snap) Snap.end(); + }); + + Upload.progress((percent) => { + if (Snap.wait) { + Snap.wait.style.backgroundImage = 'linear-gradient(to top, rgba(0, 0, 0, 0.5) ' + percent + '%, transparent ' + percent + '%)'; + } + }); + + Upload.fail(() => { + if (Snap.snap) { + Snap.snap.classList = 'upload'; Snap.wait.style.backgroundImage = ''; + } + }); +}); \ No newline at end of file diff --git a/frontend/widgets/SpaceInfo/locales.ini b/frontend/widgets/SpaceInfo/locales.ini new file mode 100644 index 0000000..c22b615 --- /dev/null +++ b/frontend/widgets/SpaceInfo/locales.ini @@ -0,0 +1,25 @@ +[spaceinfo] +config_title = Space configuration +config_saved = Space configuration saved +config_error = Space configuration error +admin_title = Space administration +destroy_title = Destroy the space +destroy_text = You are going to destroy the following Space, all the chatrooms within it will also be destroyed +invite_title = Invite new contacts +invite_text = A moderator will have to approve the join request +invite_uri_title = Send an invitation key to your contacts +leave_title = Leave the space +add_room_title = Add a room +add_directory_title = Add a directory +edit_directory_title = Edit a directory +remove_directory_title = Remove a directory +remove_directory_confirm = Do you really want to remove this directory? +remove_directory_text = The %s rooms will be preserved +edited_directories = Edited directories +edited_room = Edited room +pending_approvals = %s subscriptions requests are waiting for your approval +pending_request = %s is waiting for your approval to join the space +pending_action = Manage the request +pinned = Pin this space in the bar +owner_cannot_leave = An owner cannot leave his own Space +affiliation_none = Remove from the space \ No newline at end of file diff --git a/frontend/widgets/SpaceInfo/spaceinfo.css b/frontend/widgets/SpaceInfo/spaceinfo.css new file mode 100644 index 0000000..897e2fa --- /dev/null +++ b/frontend/widgets/SpaceInfo/spaceinfo.css @@ -0,0 +1,16 @@ +#spaceinfo_affiliations ul.list.flex { + grid-template-columns: 50% 50%; +} + +#spaceinfo_affiliations ul.list.flex form > div { + min-height: 0; +} + +#spaceinfo_affiliations ul.list.flex form > div .select, +#spaceinfo_affiliations ul.list.flex form > div input { + margin-bottom: 0; +} + +#spaceinfo_widget li.subheader span.second.notify { + font-weight: normal; +} \ No newline at end of file diff --git a/frontend/widgets/SpaceInfo/spaceinfo.js b/frontend/widgets/SpaceInfo/spaceinfo.js new file mode 100644 index 0000000..6f4c1cc --- /dev/null +++ b/frontend/widgets/SpaceInfo/spaceinfo.js @@ -0,0 +1,8 @@ +MovimWebsocket.attach(function () { + if (MovimUtils.urlParts().page == 'space') { + SpaceInfo_ajaxHttpGet( + MovimUtils.urlParts().params[0], + MovimUtils.urlParts().params[1] + ); + } +}); diff --git a/frontend/widgets/SpaceRooms/spacerooms.css b/frontend/widgets/SpaceRooms/spacerooms.css new file mode 100644 index 0000000..a6f77df --- /dev/null +++ b/frontend/widgets/SpaceRooms/spacerooms.css @@ -0,0 +1,70 @@ +ul#spacerooms_widget { + overflow: hidden; +} + +ul#spacerooms_widget>li { + user-select: none; +} + +ul#spacerooms_widget li div.controls { + position: absolute; + right: 0; + top: 0; + transform: translateX(100%); + background-color: rgb(var(--movim-background)); + transition: transform 0.2s var(--accelerate-easing); + box-shadow: var(--elevation-1); + height: 5.25rem; +} + +ul#spacerooms_widget li div.controls span { + padding: 0 1rem; + line-height: 5.25rem; + height: 5.25rem; + display: inline-block; +} + +ul#spacerooms_widget li div.controls span:hover { + cursor: pointer; + user-select: none; + background-color: rgba(var(--movim-element-action), 0.1); + font-variation-settings: 'FILL' 1; +} + +ul#spacerooms_widget li:hover div.controls { + transform: translateX(0); + transition: transform 0.2s var(--decelerate-easing) 0.75s; +} + +ul#spacerooms_widget li.dragging:active { + cursor: grabbing; +} + +ul#spacerooms_widget:has(li.subheader.dragging) li:not(.dragging):not(.subheader) div { + opacity: 0.15; +} + +ul#spacerooms_widget li.dragging { + opacity: 0.5; +} + +ul#spacerooms_widget li { + transition: padding-bottom 0.1s ease; +} + +ul#spacerooms_widget li.dropping { + padding-bottom: 2rem; +} + +ul#spacerooms_widget li.dropping:before { + animation: fadeIn 0.3s; + content: ''; + display: block; + width: calc(100% - 3rem); + height: 0.5rem; + background-color: var(--movim-accent); + border-radius: 1rem; + position: absolute; + top: 6rem; + left: 1.5rem; +} \ No newline at end of file diff --git a/frontend/widgets/SpaceRooms/spacerooms.js b/frontend/widgets/SpaceRooms/spacerooms.js new file mode 100644 index 0000000..06073b5 --- /dev/null +++ b/frontend/widgets/SpaceRooms/spacerooms.js @@ -0,0 +1,126 @@ +var SpaceRooms = { + draggingDirectory: false, + + init: function () { + document.querySelectorAll('ul#spacerooms_widget > li > ul.list > li:not(.subheader)[data-jid]').forEach(li => { + const jid = li.dataset.jid; + + li.onclick = () => Chat.getRoom(jid); + + if (MovimUtils.isMobile()) { + let touchTimer; + let isMoving = false; + + li.ontouchstart = () => { + isMoving = false; + touchTimer = setTimeout(() => { + if (!isMoving) SpaceRooms_ajaxAskEdit(jid); + }, 500); + }; + + li.ontouchmove = () => { isMoving = true; }; + li.ontouchend = () => clearTimeout(touchTimer); + } + }); + }, + editable: function () { + var items = document.querySelectorAll('ul#spacerooms_widget > li'); + + items.forEach(item => { + item.addEventListener('dragstart', () => item.classList.add('dragging')); + item.addEventListener("dragend", () => { + let dropped = document.querySelector('li.dropping'); + + item.classList.remove("dragging"); + items.forEach(subheader => subheader.classList.remove('dropping')); + + if (dropped) { + dropped.after(item); + + const [server, node] = MovimUtils.urlParts().params; + + if (SpaceRooms.draggingDirectory == true) { + if (dropped.classList.contains('subheader')) { + SpaceRooms_ajaxSortDirectories( + server, + node, + Array.from( + document.querySelectorAll('ul#spacerooms_widget > li.subheader'), + node => node.dataset.id + ) + ); + } + } else { + let firstItem = item; + let directoryId = null; + + // Find the first item and see if its a directory + + while (firstItem.previousElementSibling && !firstItem.previousElementSibling.classList.contains('subheader')) { + firstItem = firstItem.previousElementSibling; + } + + if (firstItem.previousElementSibling?.classList.contains('subheader')) { + directoryId = firstItem.previousElementSibling.dataset.id; + } + + // Then we iterate on the items of the directory + if (firstItem) { + let currentItem = firstItem; + let weight = 0; + + // Extract URL parameters once to avoid repeating the function calls inside a loop + while (currentItem && !currentItem.classList.contains('subheader')) { + SpaceRooms_ajaxSetHierarchy( + server, + node, + currentItem.dataset.jid, + weight++, + directoryId + ); + + currentItem = currentItem.nextElementSibling; + } + } + } + } + + SpaceRooms.draggingDirectory = false; + }); + item.addEventListener('dragover', (event) => { + event.preventDefault(); + let elements = document.querySelectorAll('ul#spacerooms_widget > li:not(.dragging)'); + + let siblings = [...elements]; + + let nextSibling = siblings.reduce((closest, child) => { + const box = child.getBoundingClientRect(); + const offset = event.clientY - box.top - box.height / 2; + if (offset < 0 && offset > closest.offset) { + return { offset: offset, element: child }; + } else { + return closest; + } + }, { offset: Number.NEGATIVE_INFINITY }).element; + elements.forEach(subheader => { + if (!subheader.isSameNode(nextSibling)) { + subheader.classList.remove('dropping') + } + }); + + if (nextSibling) { + if ((SpaceRooms.draggingDirectory && nextSibling.classList.contains('subheader')) + || (SpaceRooms.draggingDirectory == false)) { + nextSibling.classList.add('dropping'); + } + } + }) + }); + + var directories = document.querySelectorAll('ul#spacerooms_widget > li.subheader'); + + directories.forEach(directory => { + directory.addEventListener('dragstart', () => SpaceRooms.draggingDirectory = true); + }); + } +} \ No newline at end of file diff --git a/frontend/widgets/SpacesMenu/locales.ini b/frontend/widgets/SpacesMenu/locales.ini new file mode 100644 index 0000000..b87f71f --- /dev/null +++ b/frontend/widgets/SpacesMenu/locales.ini @@ -0,0 +1,23 @@ +[spacesmenu] +create_space_title = Create a space +add_space_title = Add a new space +join_space_title = Join a space +invite_space_title = You got an invite? +space_title = Space title +space_title_empty = Your Space title is empty +space_created = Space created +loading_space_info = Loading the space +subscribed = Subscribed to the space +invitation_key = Use an invitation key +key_required = A valid key is required +locked_title = Locked space +locked_text = You are not authorized to join the space at the moment +locked_try_again = Try again +leave_title = Leave the space +leave_text = Are you sure that you want to leave the space? +pending_subscription_title = A request has been send to a moderator. +pending_subscription_text = You will be able to join the space once its accepted. +pending_subscription_add_title = Add %s to the space +pending_subscription_refuse_title = Deny the access +contact_added = Contact added in the space +contact_denied = Contact denied in the space \ No newline at end of file diff --git a/frontend/widgets/SpacesMenu/spacesmenu.css b/frontend/widgets/SpacesMenu/spacesmenu.css new file mode 100644 index 0000000..2a3680f --- /dev/null +++ b/frontend/widgets/SpacesMenu/spacesmenu.css @@ -0,0 +1,67 @@ +ul#spacesmenu_widget { + overflow: auto; + min-height: 18rem; + flex-shrink: initial; + padding-bottom: 1rem; +} + +ul#spacesmenu_widget li span.primary.space_add:before { + content: ''; + display: block; + width: 5.5rem; + height: 5.5rem; + background-color: rgba(var(--movim-font), 0.04); + position: absolute; + top: -0.25rem; + left: -0.25rem; + border-radius: 2rem; +} + +ul#spacesmenu_widget li.enabled span.primary img { + outline: 2px solid rgba(var(--movim-font), 0.3); + outline-offset: 2px; + box-shadow: var(--elevation-3); +} + +ul#spacesmenu_widget li.pinned span:not(.locked).primary::before { + display: inline-block; + position: absolute; + bottom: 0; + left: -0.5rem; + font-family: 'Material Symbols'; + color: rgb(var(--movim-font)); + font-variation-settings: 'FILL' 1; + content: '\e6aa'; + font-size: 1.25rem; + border-radius: 1rem; + line-height: 2rem; + width: 2rem; + height: auto; + background-color: rgb(var(--movim-background-main), 0.7); + backdrop-filter: blur(1rem); + box-shadow: var(--elevation-1); +} + +ul#spacesmenu_widget li span.primary[data-counter]:after { + content: '\e0ca'; +} + +/* If we have messages _and_ quote notifications, we prioritize the second one */ +ul#spacesmenu_widget li span.primary[data-counter]:has(span.counter:not(:empty)):after { + display: none; +} + +ul#spacesmenu_widget li span.primary.locked::before { + display: inline-block; + position: absolute; + width: 5rem; + height: 5rem; + font-family: 'Material Symbols'; + color: rgb(var(--movim-font)); + font-variation-settings: 'FILL' 1; + content: '\e897'; + background-color: rgb(var(--movim-background-main), 0.2); + backdrop-filter: blur(0.2rem) brightness(80%); + border-radius: 2rem; + left: 0; +} \ No newline at end of file diff --git a/frontend/widgets/SpacesMenu/spacesmenu.js b/frontend/widgets/SpacesMenu/spacesmenu.js new file mode 100644 index 0000000..e6a7192 --- /dev/null +++ b/frontend/widgets/SpacesMenu/spacesmenu.js @@ -0,0 +1,21 @@ +var SpacesMenu = { + get: function (server, node, route) { + if (MovimUtils.urlParts().page == 'space') { + SpacesMenu_ajaxHttpGet(server, node, null, MovimUtils.isMobile()); + } else { + MovimUtils.reload(route); + } + } +} + +MovimWebsocket.attach(() => { + if (MovimUtils.urlParts().page == 'space') { + SpacesMenu_ajaxHttpGet( + MovimUtils.urlParts().params[0], + MovimUtils.urlParts().params[1], + MovimUtils.urlParts().params[2], + MovimUtils.isMobile()); + }; + + Notif.current('space'); +}); \ No newline at end of file diff --git a/frontend/widgets/Stickers/locales.ini b/frontend/widgets/Stickers/locales.ini new file mode 100644 index 0000000..4da564f --- /dev/null +++ b/frontend/widgets/Stickers/locales.ini @@ -0,0 +1,6 @@ +[sticker] +title = Stickers +sent = A sticker has been sent using Movim +keyword = Type a keyword +gif_title = Find a GIF +gif_text = Powered by Tenor diff --git a/frontend/widgets/Stickers/stickers.css b/frontend/widgets/Stickers/stickers.css new file mode 100644 index 0000000..b54001f --- /dev/null +++ b/frontend/widgets/Stickers/stickers.css @@ -0,0 +1,77 @@ +#stickers ul.list > li > img.sticker { + padding: 0.25rem; + width: 100%; + box-sizing: border-box; +} + +#stickers { + padding: 1rem; +} + +#stickers ul.list > li:hover { + cursor: pointer; +} + +#stickers ul.list > li.block:not(.large) { + transition: all 100ms ease-in; + transform: scale(1); + padding: 0; +} + +#stickers ul.list > li.block.zoomed { + transform: scale(1.3); + z-index: 2; +} + +#gifs + div ul.tabs, +#stickers + div ul.tabs { + height: 6rem; + border-bottom: none; +} + +#gifs { + height: calc(100% - 7.5rem); + overflow-x: hidden; +} + +#gifs .masonry { + width: calc(50% - 1.75rem); + float: left; + margin-top: 1rem; +} + +#gifs .masonry.first { + margin-left: 1rem; + margin-right: 0.75rem; +} + +#gifs .masonry.second { + margin-right: 1rem; + margin-left: 0.75rem; +} + +#gifs .masonry.first:not(:empty) + .masonry.second:not(:empty) + .placeholder { + display: none; +} + +#gifs .masonry .brick { + width: 100%; + max-height: 40rem; + display: inline-block; + object-fit: cover; + border-radius: 1rem; + margin-bottom: 1rem; + background-color: rgb(var(--movim-background)); + transition: box-shadow 0.3s ease-in-out; +} + +#gifs .masonry .brick.clicked { + opacity: 0.5; + pointer-events: none; + box-shadow: var(--elevation-0); +} + +#gifs .masonry .brick:hover { + cursor: pointer; + box-shadow: var(--elevation-1); +} diff --git a/frontend/widgets/Stickers/stickers.js b/frontend/widgets/Stickers/stickers.js new file mode 100644 index 0000000..a87f31b --- /dev/null +++ b/frontend/widgets/Stickers/stickers.js @@ -0,0 +1,98 @@ +var Stickers = { + timer : null, + stickersPage : 0, + file : null, + + addSmiley: function(element) { + Chat.insertAtCursor(element.dataset.emoji + ' '); + Drawer.clear(); + }, + zoom: function(element, jid, id) { + var zoomed = document.querySelectorAll('.zoomed'); + + if (element.classList.contains('zoomed')) { + Drawer.clear(); + + var textarea = Chat.getTextarea(); + Stickers_ajaxSend(jid, id, Boolean(textarea.dataset.muc)); + } + + var i = 0; + while(i < zoomed.length) { + zoomed[i].classList.remove('zoomed'); + i++; + } + + element.classList.add('zoomed'); + }, + setEmojisEvent(mid) { + const emojis = document.querySelectorAll('.emojis_grid img'); + let i = 0; + + while (i < emojis.length) { + emojis[i].onclick = function() { + if (mid) { + Chat_ajaxHttpDaemonSendReaction(mid, this.dataset.emoji); + } else { + Stickers.addSmiley(this); + } + + Drawer_ajaxClear(); + } + + i++; + } + + document.querySelector('form[name=search] input').focus(); + }, + setGifsSearchEvent() { + const search = document.querySelector('#gifssearchbar input'); + search.focus(); + + search.addEventListener('input', e => { + clearTimeout(Stickers.timer); + + Stickers.timer = setTimeout(() => { + const gifsF = document.querySelector('#gifs .masonry.first'); + gifsF.innerHTML = ''; + const gifsS = document.querySelector('#gifs .masonry.second'); + gifsS.innerHTML = ''; + Stickers.stickersPage = 0; + + if (search.value !== '') { + document.querySelector('#gifssearchbar li.search').classList.add('searching'); + Stickers_ajaxSearchGifs(search.value, Stickers.stickersPage); + } + }, 400); + }); + }, + setGifsEvents() { + if (search.value !== '') { + document.querySelector('#gifssearchbar li.search').classList.remove('searching'); + } + + const gifs = document.querySelectorAll('#gifs video'); + + let i = 0; + + while (i < gifs.length) { + gifs[i].addEventListener('mouseover', e => { + e.target.play(); + }); + gifs[i].addEventListener('mouseout', e => { + e.target.pause(); + }); + gifs[i].addEventListener('click', e => { + e.target.classList.add('clicked'); + Drawer.clear(); + Stickers_ajaxSendGif( + Chat.getTextarea().dataset.jid, + e.target.dataset.id, + Boolean(Chat.getTextarea().dataset.muc) + ); + }, {once:true}); + + i++; + } + } +} diff --git a/frontend/widgets/Stories/locales.ini b/frontend/widgets/Stories/locales.ini new file mode 100644 index 0000000..bcf766b --- /dev/null +++ b/frontend/widgets/Stories/locales.ini @@ -0,0 +1,11 @@ +[stories] +publish = New Story +title = Stories +new_story = New Story from %s +forbidden = "You don't have access to this story, send an invitation to the author to access it" +share_title = Some of your contacts might not have access to this story +share_text = They might have to subscribe to the publisher account +comment = Send a comment to %s +delete_title= Story deletion +delete_text = Are you sure that you want to delete this story? +deleted = Story deleted \ No newline at end of file diff --git a/frontend/widgets/Stories/stories.css b/frontend/widgets/Stories/stories.css new file mode 100644 index 0000000..964c87d --- /dev/null +++ b/frontend/widgets/Stories/stories.css @@ -0,0 +1,61 @@ +#stories { + min-height: 17.5rem; +} + +#stories div.lists { + display: flex; + max-width: 100%; + overflow-x: auto; +} + +#stories div.lists ul.list { + grid-template-columns: repeat(1, 1fr); + padding-bottom: 0.5rem; + height: 14.5rem; +} + +#stories div.lists ul.list:first-child { + padding-inline-end: 0; +} + +#stories ul.list.flex li.block { + grid-row: 1; + grid-column: auto; + order: 0; + margin-bottom: 0.25rem; + animation: none; +} + +#stories ul.list.flex li.block.add { + display: flex; + align-items: center; + flex-direction: row; + background-color: rgba(var(--movim-element-action), 0.2); + width: 7rem; + transition: transform .3s; +} + +#stories ul.list.flex li.block.add i { + font-size: 2.5rem; +} + +#stories ul.list.flex li.block.add:hover { + background-color: rgba(var(--movim-element-action), 0.1); + transform: scale(0.975); +} + +#stories ul.list.flex li.block.add:active { + background-color: rgba(var(--movim-element-action), 0.2); + transform: scale(0.95); +} + +#stories ul.list.flex li.block.add>div { + margin-top: 0; + display: block; + text-align: center; +} + +#stories ul.list.flex li.block.seen { + order: 1; + filter: grayscale(0.5); +} \ No newline at end of file diff --git a/frontend/widgets/Stories/stories.js b/frontend/widgets/Stories/stories.js new file mode 100644 index 0000000..ed940b5 --- /dev/null +++ b/frontend/widgets/Stories/stories.js @@ -0,0 +1,3 @@ +MovimWebsocket.attach(() => { + Stories_ajaxHttpGet(); +}); \ No newline at end of file diff --git a/frontend/widgets/StoriesViewer/storiesviewer.css b/frontend/widgets/StoriesViewer/storiesviewer.css new file mode 100644 index 0000000..a1c63af --- /dev/null +++ b/frontend/widgets/StoriesViewer/storiesviewer.css @@ -0,0 +1,174 @@ +#storiesviewer { + position: fixed; + width: 100%; + justify-content: center; + display: flex; + opacity: 0; + pointer-events: none; + z-index: 3; + backdrop-filter: blur(1rem); + color: white; +} + +#dialog:not(:empty) ~ #storiesviewer { + filter: blur(1rem); +} + +#storiesviewer a:link, +#storiesviewer a:visited { + color: #EEE; +} + +#storiesviewer p { + text-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1), 0 0 2rem rgba(0, 0, 0, 0.3); +} + +#storiesviewer p.title { + font-size: 2.5rem; + line-height: 3.5rem; +} + +#storiesviewer:empty { + display: none; +} + +#storiesviewer ul.list.controls { + z-index: 2; +} + +#storiesviewer ul.list li > div > p:not(:first-of-type):not(.main) { + color: white; +} + +#storiesviewer ul.list.controls li span.primary { + margin-left: 0; +} + +#storiesviewer:before { + content: ''; + display: block; + width: 100%; + height: 100%; + position: fixed; + top: 0; + left: 0; + opacity: 0; + background-color: #111; +} + +#storiesviewer:not(:empty) { + opacity: 1; + pointer-events: initial; +} + +#storiesviewer article.story { + height: calc(100% - 14rem); + margin: 1rem; + margin-top: 7rem; + margin-bottom: 0; + border-radius: 2rem; + box-shadow: var(--elevation-4); + background-color: rgb(var(--movim-gray)); + position: relative; +} + +#storiesviewer article.story:before, +#storiesviewer article.story:after { + content: ''; + display: block; + width: calc(100% - 3rem); + height: 0.4rem; + background-color: white; + position: absolute; + top: 2rem; + left: 1.5rem; + z-index: 1; + opacity: 0.25; + border-radius: 1rem; +} + +#storiesviewer article.story:after { + opacity: 1; + animation: widthProgress linear 6s; +} + +#storiesviewer article.story.paused:after { + animation-play-state: paused; +} + +#storiesviewer article.story div.next { + position: absolute; + top: 10rem; + right: 0; + height: calc(100% - 20rem); + width: 7rem; + font-size: 5rem; + display: flex; + align-items: center; +} + +#storiesviewer article.story div.next:hover { + cursor: pointer; +} + +#storiesviewer article.story div.next i { + text-align: center; + width: 100%; +} + +#storiesviewer article.story > img { + height: 100%; + mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.25), black 12rem, black calc(100% - 20rem), rgba(0, 0, 0, 0.25)); + user-select: none; + object-fit: cover; +} + +#storiesviewer article.story ul.list { + position: absolute; + bottom: 0.5rem; + width: 100%; +} + +#storiesviewer article.story ul.list.head { + bottom: unset; + top: 3rem; + width: calc(100% - 1rem) +} + +#storiesviewer article.story ul.list.head li span.icon.small { + margin-right: 0.5rem; +} + +#storiesviewer article.story ul.list.head li { + padding: 0 0.5rem; +} + +#storiesviewer article.story.paused ul.list.head li span.control:hover { + cursor: pointer; +} + +#storiesviewer article.story:not(.paused) ul.list.head li span.control.pause, +#storiesviewer article.story.paused ul.list.head li span.control.play { + display: none; +} + +@keyframes widthProgress { + from { + width: 0; + } + + to { + width: calc(100% - 3rem); + } +} + +#storiesviewer form[name=storycomment] input { + margin-bottom: 0; + color: white; + z-index: 1; + position: relative; +} + +#storiesviewer form[name=storycomment] div:after { + backdrop-filter: blur(0.5rem); +} diff --git a/frontend/widgets/StoriesViewer/storiesviewer.js b/frontend/widgets/StoriesViewer/storiesviewer.js new file mode 100644 index 0000000..f983899 --- /dev/null +++ b/frontend/widgets/StoriesViewer/storiesviewer.js @@ -0,0 +1,84 @@ +var StoriesViewer = { + story: undefined, + timer: undefined, + + timeout: 6000, + startDate: undefined, + consumed: 0, + + before: undefined, + + launch: function (before) { + MovimTpl.pushAnchorState('stories', function () { + StoriesViewer.close(); + }); + + StoriesViewer.story = document.querySelector('article.story'); + StoriesViewer.before = before; + + let image = StoriesViewer.story.querySelector('img'); + image.addEventListener('mousedown', e => { e.preventDefault(); StoriesViewer.pause() }); + image.addEventListener('touchstart', e => { e.preventDefault(); StoriesViewer.pause() }); + image.addEventListener('mouseup', e => { e.preventDefault(), StoriesViewer.start() }); + image.addEventListener('touchend', e => { e.preventDefault(), StoriesViewer.start() }); + + let next = StoriesViewer.story.querySelector('div.next'); + next.addEventListener('click', e => StoriesViewer_ajaxHttpGetNext(StoriesViewer.before)); + + StoriesViewer.reset(); + StoriesViewer.start(); + }, + + reset: function () { + clearTimeout(StoriesViewer.timer); + StoriesViewer.consumed = 0; + }, + + close: function () { + StoriesViewer.reset(); + StoriesViewer_ajaxClose(); + Stories_ajaxHttpGet(); + }, + + start: function () { + if (!StoriesViewer.story) return; + + StoriesViewer.story.classList.remove('paused'); + StoriesViewer.startDate = new Date(); + + StoriesViewer.timer = setTimeout(function () { + StoriesViewer_ajaxHttpGetNext(StoriesViewer.before); + }, StoriesViewer.timeout - StoriesViewer.consumed); + }, + + pause: function () { + if (!StoriesViewer.story) return; + + StoriesViewer.story.classList.add('paused'); + StoriesViewer.consumed += new Date() - StoriesViewer.startDate; + + clearTimeout(StoriesViewer.timer); + }, + + sendComment: function (storyId) { + StoriesViewer_ajaxSendComment(storyId, document.querySelector('form[name=storycomment] input[name=comment]').value); + document.querySelector('form[name=storycomment]').reset(); + } +} + +MovimEvents.registerBody('click', 'storiesviewer', (e) => { + if (document.querySelector('#storiesviewer') == null + || document.querySelector('#storiesviewer').innerHTML == '') return; + + if (!document.querySelector('#storiesviewer article').contains(e.target)) { + history.back() + } +}); + +MovimEvents.registerBody('keydown', 'storiesviewer', (e) => { + if (document.querySelector('#storiesviewer') + && document.querySelector('#storiesviewer').innerHTML != '' + && e.key == 'Escape') { + history.back() + } +}); \ No newline at end of file diff --git a/frontend/widgets/Subscribe/locales.ini b/frontend/widgets/Subscribe/locales.ini new file mode 100644 index 0000000..0bea59a --- /dev/null +++ b/frontend/widgets/Subscribe/locales.ini @@ -0,0 +1,3 @@ +[subscribe] +title = Create a new account +info = Movim is a decentralized social network, you are invited to register on the following XMPP server(s) diff --git a/frontend/widgets/Syndication/locales.ini b/frontend/widgets/Syndication/locales.ini new file mode 100644 index 0000000..eea13c9 --- /dev/null +++ b/frontend/widgets/Syndication/locales.ini @@ -0,0 +1,4 @@ +[feed] +title = "%s’s feed" +nope = No public feed for this contact +nope_contact = No contact specified diff --git a/frontend/widgets/Tabs/tabs.js b/frontend/widgets/Tabs/tabs.js new file mode 100644 index 0000000..472c3c0 --- /dev/null +++ b/frontend/widgets/Tabs/tabs.js @@ -0,0 +1,110 @@ +var Tabs = { + create: function () { + // We search all the div with "tab" class + var tabs = document.querySelectorAll('.tabelem'); + + if (tabs.length == 0) return; + + // We keep the current state + var current = document.querySelector('#navtabs .active') + ? document.querySelector('#navtabs .active').classList[0] + : null; + + document.querySelector('#navtabs').innerHTML = ''; + + // We create the list + for (var i = 0; i < tabs.length; i++) { + if (window.location.hash == '#' + tabs[i].id) { + current = tabs[i].id; + } + + var li = document.createElement('li'); + li.setAttribute('class', tabs[i].id); + li.onclick = function () { Tabs.change(this) }; + li.setAttribute('title', tabs[i].title); + + var a = document.createElement('a'); + a.href = '#'; + a.onclick = function (e) { + e.preventDefault(); + return false; + }; + + if (tabs[i].dataset.mobileicon) { + aMobile = a.cloneNode(true); + a.classList.add('on_desktop'); + aMobile.classList.add('on_mobile'); + + var icon = document.createElement('i'); + icon.classList.add('material-symbols'); + icon.innerText = tabs[i].dataset.mobileicon; + aMobile.appendChild(icon); + + li.appendChild(aMobile); + } + + a.appendChild(document.createTextNode(tabs[i].title)); + li.appendChild(a); + + document.querySelector('#navtabs').appendChild(li); + } + + // We show the first tab + tabs[0].classList.remove('hide'); + + if (tabs.length == 3) { + document.querySelector('#navtabs').classList.add('wide'); + } + + if (current != null) { + tab = current; + menuTab = document.querySelector('li.' + current); + } + + //if no tab is active, activate the first one + else { + tab = document.querySelector('.tabelem').id; + menuTab = document.querySelector('li.' + tab); + } + + Tabs.change(menuTab); + }, + + change: function (current) { + // We grab the tabs list + var navtabs = document.querySelectorAll('#navtabs li'); + // We clean the class of the li + for (var j = 0; j < navtabs.length; j++) { + navtabs[j].classList.remove('active'); + } + + // We add the "on" class to the selected li + var selected = current.className; + current.classList.add('active'); + + // We hide all the div + var tabs = document.querySelectorAll('.tabelem'); + for (var i = 0; i < tabs.length; i++) { + tabs[i].classList.add('hide'); + } + + // We show the selected div + var tabOn = document.getElementById(selected); + tabOn.classList.remove('hide'); + + // Only push state for tabs not in drawers + /*if (!Drawer.hasTabs()) { + window.history.pushState(null, null, '#' + selected + '_tab'); + }*/ + + // We try to call ajaxDisplay + if (typeof window[tabOn.title + '_ajaxDisplay'] == 'function') { + window[tabOn.title + '_ajaxDisplay'].apply(); + } + + // We reset the scroll + document.querySelector('#navtabs').parentNode.scrollTop = 0; + } +}; + +MovimWebsocket.initiate(() => Tabs.create()); diff --git a/frontend/widgets/Toast/toast.js b/frontend/widgets/Toast/toast.js new file mode 100644 index 0000000..d96659d --- /dev/null +++ b/frontend/widgets/Toast/toast.js @@ -0,0 +1,14 @@ +var Toast = { + send : function(title, timeout) { + target = document.getElementById('toast'); + + if (target) { + target.innerHTML = title; + } + + setTimeout(function() { + target = document.getElementById('toast'); + target.innerHTML = ''; + }, timeout ?? 3000); + } +} diff --git a/frontend/widgets/Upload/locales.ini b/frontend/widgets/Upload/locales.ini new file mode 100644 index 0000000..7a43b1a --- /dev/null +++ b/frontend/widgets/Upload/locales.ini @@ -0,0 +1,12 @@ +[upload] +title = Upload +choose = Choose a file to upload +info = Large pictures will be resized and compressed +error_filesize = File too large +error_failed = Upload failed +error_not_allowed = You are not allowed to upload a file +error_resource_constraint = You exceeded the quota +drag_drop = Drag and drop your file in this area +max_size = "Max file size %s" +upload_xmpp = Uploading to your account +encrypted_warning = You will send an unencrypted file in an encrypted discussion. Are you sure about it? \ No newline at end of file diff --git a/frontend/widgets/Upload/upload.css b/frontend/widgets/Upload/upload.css new file mode 100644 index 0000000..d2f7f2d --- /dev/null +++ b/frontend/widgets/Upload/upload.css @@ -0,0 +1,111 @@ +#upload img.preview_picture { + max-height: 35rem; + max-width: calc(100% - 2rem); + margin: 0 auto; + display: block; +} + +#upload img.preview_picture[src] { + margin: 1rem auto; + border-radius: 0.5rem; + margin-top: 0; +} + +#upload img.preview_picture[src] ~ li:not(.file) { + display: none; +} + +#upload:not(.encrypted) #encrypted_warning { + display: none; +} + +#upload div.drop { + width: auto; + margin: 0.25rem 1rem; + display: block; + box-sizing: border-box; + border-radius: 1.5rem; + min-height: 30rem; + background-color: rgba(0, 0, 0, 0.15); + border: 0.5rem solid transparent; + border-style: dashed; + padding: 1rem; + + display: flex; + flex-direction: column; + justify-content: center; +} + +#upload input[type=file] { + display: none; +} + +#upload div.drop.dropped { + border-color: gray; +} + +#upload li.file { + padding: 0; +} + +#upload li.file span.primary { + margin-right: 1.5rem; +} + +#upload li.file:not(.preview) span.primary { + display: none; +} + +#upload + footer { + display: flex; +} + +#upload_progress { + float: left; + text-align: left; + width: 100%; + flex: 1; + margin-top: 0.25rem; +} + +#upload_progress li span:has(i:empty) { + display: none; +} + +#upload_progress li { + padding: 0; +} + +#upload_progress div { + margin-left: 0; +} + +#upload_progress span.primary { + opacity: 0.5; +} + +#upload_progress p { + font-size: 1.75rem; + opacity: 0.75; +} + +body.dropped:after { + content: ''; + width: 100%; + height: 100%; + display: block; + position: absolute; + z-index: 3; + + box-sizing: border-box; + font-family: 'Material Symbols'; + content: "\e2c6"; + font-size: 10rem; + text-align: center; + color: white; + display: flex; + justify-content: center; + align-items: center; + backdrop-filter: blur(1rem); + background-color: rgba(17, 17, 17, 0.75); +} diff --git a/frontend/widgets/Upload/upload.js b/frontend/widgets/Upload/upload.js new file mode 100644 index 0000000..fb04b66 --- /dev/null +++ b/frontend/widgets/Upload/upload.js @@ -0,0 +1,453 @@ +var Upload = { + xhr: null, + initiated: [], + attached: [], + failed: [], + progressed: [], + get: null, + prependName: null, + name: null, + file: null, + canvas: null, + thumbhash: null, + uploadButton: null, + + init: function (appendDate) { + Upload.launchInitiated(); + + if (Upload.file) { + let splited = Upload.name.split('.'); + let extension = splited.pop(); + let name = splited.join('.'); + + if (Upload.prependName) { + name = Upload.prependName + '_' + name; + } + + if (name.length > 128) { + name = name.substring(0, 32) + '_' + MovimUtils.hash(name); + } + + if (appendDate) { + let now = new Date(); + now = now.toISOString().replace(/[-:]/g, '_').replaceAll('_', ''); + now = now.substring(0, now.length - 5); + + name += '_' + now; + } + + Upload.name = name + '.' + extension; + + Upload_ajaxPrepare({ + name: Upload.name, + size: Upload.file.size, + type: Upload.file.type + }); + } + }, + + openFile: function () { + Upload.clear(); + document.querySelector('input#file').click(); + }, + + openImage: function () { + Upload.clear(); + document.querySelector('input#image').click(); + }, + + attach: function (func) { + if (typeof (func) === "function") { + this.attached.push(func); + } + }, + + initiate: function (func) { + if (typeof (func) === "function") { + this.initiated.push(func); + } + }, + + fail: function (func) { + if (typeof (func) === "function") { + this.failed.push(func); + } + }, + + progress: function (func) { + if (typeof (func) === "function") { + this.progressed.push(func); + } + }, + + launchInitiated: function () { + for (var i = 0; i < Upload.initiated.length; i++) { + Upload.initiated[i](); + } + }, + + launchAttached: function () { + for (var i = 0; i < Upload.attached.length; i++) { + Upload.attached[i]({ + id: Upload.id, + thumbhash: Upload.thumbhash ?? null, + thumbhashWidth: Upload.canvas ? Upload.canvas.width : null, + thumbhashHeight: Upload.canvas ? Upload.canvas.height : null + }); + } + }, + + launchFailed: function () { + for (var i = 0; i < Upload.failed.length; i++) { + Upload.failed[i](); + } + }, + + launchProgressed: function (percent) { + for (var i = 0; i < Upload.progressed.length; i++) { + Upload.progressed[i](percent); + } + }, + + preview: function (file) { + Upload.canvas = null; + Upload.uploadButton = document.querySelector('#upload_button'); + + var resolvedFile = file ? file : document.getElementById('file').files[0]; + var resolvedFile = resolvedFile ? resolvedFile : document.getElementById('image').files[0]; + + Upload.name = resolvedFile.name; + Upload.check(resolvedFile); + }, + + check: function (file) { + if (!file.type.match(/image.*/)) { + console.log("Not a picture !"); + Upload.prepare(file); + } else { + var reader = new FileReader(); + reader.readAsDataURL(file); + + reader.addEventListener('load', function (ev) { + MovimUtils.getOrientation(file, function (orientation) { + Upload.compress(ev.target.result, file, orientation); + }); + }); + }; + }, + + compress: function (src, file, orientation) { + Upload.setCompress(null); + + var image = new Image(); + image.addEventListener('load', function () { + if (file.size > SMALL_PICTURE_LIMIT) { + var limit = 1920; + var width = image.naturalWidth; + var height = image.naturalHeight; + + var ratio = Math.min(limit / width, limit / height); + + if (ratio < 1) { + width = Math.round(width * ratio); + height = Math.round(height * ratio); + } + + Upload.canvas = document.createElement('canvas'); + + if (orientation > 4 && orientation < 9) { + Upload.canvas.width = height; + Upload.canvas.height = width; + } else { + Upload.canvas.width = width; + Upload.canvas.height = height; + } + + ctx = Upload.canvas.getContext("2d"); + + MovimUtils.applyOrientation(ctx, orientation, width, height); + + ctx.drawImage(image, 0, 0, width, height); + + if (typeof Upload.canvas.toBlob == 'function') { + if (file.type != 'image/jpeg') { + Upload.name += '.jpg'; + } + + Upload.setCompress('photo_size_select_small'); + + Upload.canvas.toBlob( + function (blob) { + Upload.prepare(blob); + }, + 'image/jpeg', + 0.85 + ); + } else { + Upload.prepare(file); + } + } else { + // Also create the canvas for other usages like drawing + Upload.canvas = document.createElement('canvas'); + Upload.canvas.width = image.naturalWidth; + Upload.canvas.height = image.naturalHeight; + ctx = Upload.canvas.getContext("2d"); + ctx.drawImage(image, 0, 0, image.naturalWidth, image.naturalHeight); + + // Always create a fresh Blob from the canvas for iOS Safari. + // The original File reference becomes invalid after async gaps, + // producing Content-Length: 0 uploads on Safari. + if (typeof Upload.canvas.toBlob == 'function') { + Upload.canvas.toBlob( + function (blob) { + Upload.prepare(blob); + }, + file.type, + 1.0 + ); + } else { + Upload.prepare(file); + } + } + }); + image.src = src; + }, + + prepare: function (file) { + Upload.file = file; + + var preview = document.querySelector('#upload img.preview_picture'); + var fileInfo = document.querySelector('#upload li.file'); + + // If the preview system is there + if (preview) { + var toDraw = fileInfo.querySelector('span.primary'); + fileInfo.classList.remove('preview'); + fileInfo.querySelector('p.name').innerText = Upload.name; + var type = file.type ? file.type + ' · ' : ''; + fileInfo.querySelector('p.desc').innerText = type + MovimUtils.humanFileSize(file.size); + + if (Upload.file.type.match(/image.*/)) { + preview.src = URL.createObjectURL(Upload.file); + + // Thumbhash + preview.addEventListener('load', e => { + const canvas = document.createElement('canvas'); + const context = canvas.getContext('2d'); + const scale = 100 / Math.max(Upload.canvas.width, Upload.canvas.height); + + canvas.width = Math.round(Upload.canvas.width * scale); + canvas.height = Math.round(Upload.canvas.height * scale); + + context.drawImage(preview, 0, 0, canvas.width, canvas.height); + const pixels = context.getImageData(0, 0, canvas.width, canvas.height); + + Upload.thumbhash = MovimUtils.arrayBufferToBase64(rgbaToThumbHash(pixels.width, pixels.height, pixels.data)); + }); + + toDraw.addEventListener('click', e => { + Draw.initCanvas = Upload.canvas ?? preview; + Draw_ajaxHttpGet(); + + Dialog_ajaxClear(); + Upload.abort(); + }); + fileInfo.classList.add('preview'); + } else { + preview.src = ''; + } + } + + if (Upload.uploadButton) { + if (!document.querySelector('#upload p.limit') || document.querySelector('#upload p.limit').dataset.limit >= file.size) { + Upload.uploadButton.classList.remove('disabled'); + } else { + Upload.uploadButton.classList.add('disabled'); + } + } + }, + + request: function (route, id) { + Upload.xhr = new XMLHttpRequest(); + Upload.id = id; + + if (Upload.uploadButton) { + Upload.uploadButton.classList.add('disabled'); + } + + Upload.xhr.upload.addEventListener('progress', function (evt) { + var percent = Math.floor(evt.loaded / evt.total * 100); + + Upload.launchProgressed(percent); + Upload.setProgress('arrow_upload_progress', percent == 100 ? '' : percent + '%'); + }, false); + + Upload.xhr.onreadystatechange = function () { + if (Upload.xhr.readyState == 4 + && (Upload.xhr.status >= 200 && Upload.xhr.status < 400)) { + Dialog.clear(); + Upload.launchAttached(); + Upload.clear(); + + if (Upload.uploadButton) { + Upload.uploadButton.classList.remove('disabled'); + } + } else if (Upload.xhr.readyState == 4 + && (Upload.xhr.status >= 400 || Upload.xhr.status == 0) + && Upload.file != null) { + Upload.launchFailed(); + Upload_ajaxFailed(); + + Upload.setProgress('error', ''); + + if (Upload.uploadButton) { + Upload.uploadButton.classList.remove('disabled'); + } + } + } + + Upload.xhr.open("POST", route, true); + + if (Upload.file != null) { + const formData = new FormData(); + formData.append(Upload.id, Upload.file, Upload.name); + Upload.xhr.send(formData); + + Upload.setProgress('arrow_upload_ready', ''); + } + }, + + setCompress: function (icon) { + if (document.querySelector('#upload_progress')) { + document.querySelector('#upload_progress span.primary.compress i').innerText = icon; + } + }, + + setProgress: function (icon, text) { + if (document.querySelector('#upload_progress')) { + document.querySelector('#upload_progress span.primary.upload i').innerText = icon; + document.querySelector('#upload_progress li p').innerText = text; + } + }, + + abort: function () { + if (Upload.xhr) Upload.xhr.abort(); + Upload.clear(); + }, + + clear: function () { + if (document.getElementById('file')) { + document.getElementById('file').value = null; + } + + if (document.getElementById('image')) { + document.getElementById('image').value = null; + } + + Upload.name = null; + Upload.prependName = null; + Upload.file = null; + }, + + attachEvents: function () { + if (Upload.file) { + Upload.preview(Upload.file); + } + + if (typeof Chat != 'undefined' && Chat.isEncrypted()) { + document.querySelector('#upload').classList.add('encrypted'); + } + + document.querySelector('#upload div.drop').addEventListener('drop', ev => { + ev.preventDefault(); + + if (ev.dataTransfer.items) { + for (var i = 0; i < ev.dataTransfer.items.length; i++) { + if (ev.dataTransfer.items[i].kind === 'file') { + var file = ev.dataTransfer.items[i].getAsFile(); + Upload.preview(file); + } + } + } + }); + + var dropArea = document.querySelector('#upload div.drop'); + + dropArea.querySelector('img.preview_picture') + .addEventListener('drop', ev => ev.preventDefault()); + + dropArea.addEventListener('dragover', ev => { + ev.preventDefault(); + dropArea.classList.add('dropped'); + }, false); + + dropArea.addEventListener('drop', ev => { + ev.preventDefault(); + dropArea.classList.remove('dropped'); + }, false); + + dropArea.addEventListener('dragleave', ev => { + ev.preventDefault(); + dropArea.classList.remove('dropped'); + }, false); + } +} + +/** + * Handle the paste event + */ + +MovimEvents.registerWindow('paste', 'upload', (e) => { + if (Upload.file != null) return; + + const clipboardItems = e.clipboardData.items; + const items = [].slice + .call(clipboardItems) + .filter(function (item) { + return item.type.indexOf('image') !== -1; + }); + + if (items.length === 0) { + return; + } + + const item = items[0]; + Upload.file = item.getAsFile(); + Upload_ajaxGetPanel(); +}); + +/** + * Handle the global drop event + */ + +MovimEvents.registerBody('dragover', 'upload', (ev) => { + if (document.getElementById('upload')) return; + ev.preventDefault(); + + if (ev.dataTransfer.items[0] && ev.dataTransfer.items[0].kind == 'file') { + document.body.classList.add('dropped'); + } +}); + +MovimEvents.registerBody('drop', 'upload', (ev) => { + if (document.getElementById('upload')) return; + ev.preventDefault(); + + if (ev.dataTransfer.items.length > 0 + && ev.dataTransfer.items[0].kind === 'file') { + var file = ev.dataTransfer.items[0].getAsFile(); + + Upload.file = file; + Upload.name = file.name; + + Upload_ajaxGetPanel(); + } + + document.body.classList.remove('dropped'); +}); + +MovimEvents.registerBody('dragleave', 'upload', (ev) => { + if (document.getElementById('upload')) return; + ev.preventDefault(); + document.body.classList.remove('dropped'); +}); diff --git a/frontend/widgets/Vcard4/locales.ini b/frontend/widgets/Vcard4/locales.ini new file mode 100644 index 0000000..26a641c --- /dev/null +++ b/frontend/widgets/Vcard4/locales.ini @@ -0,0 +1,27 @@ +[vcard] +title = Profile +updated = Profile Updated +not_updated = Profile Not Updated +nickname_info = This will also be used as your default nickname when joining a chatroom + +[profile] +public = Your profile is now public +restricted = Your profile is now restricted +info = Configure your instance nickname +privacy_question = Is this account public on this Movim instance? +privacy_info = Movim will create a public page to host your blog and your account will be searchable by the other Movim users. +nickname_info = Set a local nickname to allow the other users of the instance to find you easily. +nickname_set = Your nickname is %s. +nickname_placeholder = John_Bob96 +nickname_error = Your nickname should only contain letters, numbers, - and _ +nickname_conflict = The nickname is already registered +nickname_saved = Nickname saved + +[save] +submit = Submit +reset = Reset + +[degraded] +title = Movim is currently working in degraded mode +text_1 = Your server doesn’t support XMPP Pubsub persistence or the social features (communities, news feed, and profile) are disabled by the administrator. +text_2 = Please contact your server administrator to see if this feature can be enabled. diff --git a/frontend/widgets/Visio/locales.ini b/frontend/widgets/Visio/locales.ini new file mode 100644 index 0000000..4b2f478 --- /dev/null +++ b/frontend/widgets/Visio/locales.ini @@ -0,0 +1,31 @@ +[visio] +calling = …is calling you +video_call = Incoming video call +audio_call = Incoming audio call +ringing = …ringing +declined = Declined +in_call = Ongoing call +joined_call = Joined call +failed = Failed +connecting = …connecting +ended = End of call +waiting_participants = Waiting for incoming participants +no_participants_left = All participants have left the call +hang_up = Hang up the call +hang_up_text= You are going to hang up the current call, are you sure? +pinned = "%s pinned" +unpinned = Unpinned + +[visiolobby] +called = "%s is calling you" +calling = "Calling %s" +muji_create = "Creating a conference call in %s" +muji_join = "Joining the conference call" +setup = "Setting up your camera and microphone" +devices_disco = "Please allow your browser to share your devices to configure them" +microphone_label= Default microphone +camera_label = Default camera +default_microphone_changed = Default microphone changed +default_camera_changed = Default camera changed +no_mic_sound = "No sound detected from your microphone" +no_mic_sound2 = "Try make some noise, select another source or check your system settings" diff --git a/frontend/widgets/Visio/visio.css b/frontend/widgets/Visio/visio.css new file mode 100644 index 0000000..310ca4c --- /dev/null +++ b/frontend/widgets/Visio/visio.css @@ -0,0 +1,544 @@ +#visio { + display: block; + position: fixed; + transition: opacity 0.3s ease-in-out, + bottom 0.3s ease-in-out, + right 0.3s ease-in-out, + width 0.3s ease-in-out, + height 0.3s ease-in-out, + transform 0.3s ease-in-out; + background-color: #111; +} + +#dialog:not(:empty)~#visio, +#drawer:not(:empty)~#visio { + transform: translateX(110%); +} + +#chat_widget #visio { + position: relative; + bottom: 0; + right: 0; + border-radius: 0; + height: 100%; + z-index: 0; + overflow: hidden; + + grid-column: start / end; + grid-row: header / visio; +} + +#chat_widget.call #visio { + grid-row: header / end; +} + +body>#visio:not(:fullscreen) #toggle_dtmf, + +#chat_widget #visio #switch_chat, +#visio:not([data-jid]), +#visio:not([data-jid]) #toggle_audio, +#visio #dtmf:not(.hide)~#participants, + +body>#visio:not(:fullscreen) #toggle_mode, +#visio:not([data-muji=true]) #toggle_mode { + display: none; +} + +#visio #visio_source { + display: none; +} + +#visio #switch_camera:not(.enabled) { + display: none; +} + +#visio #dtmf { + top: calc(50% - 15rem); + position: absolute; + width: 100%; + text-align: center; +} + +#visio #dtmf p.dtmf { + width: 16rem; + margin: 0 auto; + margin-top: 2rem; + text-align: center; + position: relative; + mask-image: linear-gradient(to left, black calc(100% - 2rem), transparent); + height: 2.5rem; +} + +#visio #dtmf p.dtmf span { + position: absolute; + right: 0; + height: 2rem; + text-align: center; + min-width: 100%; +} + +#visio .infos { + color: white; + position: absolute; + top: calc(50% - 15rem); + width: 100%; + z-index: -1; + text-align: center; + transition: opacity 0.5s ease-in-out; +} + +#visio[data-muji='false'] #participants:has(.participant:not(.video_off))~.infos, +#visio[data-muji='true'] #participants:not(:empty)~.infos, +#visio #dtmf:not(.hide)~.infos { + opacity: 0; +} + +#visio .infos #remote_level { + overflow: hidden; + border-radius: 100%; + width: 15rem; + height: 15rem; + margin: 0 auto; + margin-bottom: 2rem; + font-size: 6rem; + line-height: 15rem; + border: 0.5rem solid transparent; +} + +#visio .infos #remote_level div.avatar img { + width: 100%; +} + +#visio .infos p.state { + margin: 0; + font-size: 1.8rem; +} + +#visio video#local_video, +#visio video#screen_sharing_video.sharing { + position: absolute; + right: 0.5rem; + bottom: 0.5rem; + width: 20rem; + max-width: 40%; + height: auto; + border-radius: 0.5rem; + box-shadow: var(--elevation-4); + + background-image: url('../theme/img/cloud_spinner.svg'); + background-position: center; + background-repeat: no-repeat; + background-size: 25%; + + transition: width 0.2s ease-in-out; + + z-index: 1; +} + +#visio video#local_video:hover, +#visio video#screen_sharing_video.sharing:hover { + width: 40%; +} + +/* Minimized */ + +body>#visio:not(:fullscreen) { + bottom: 7rem; + right: 1rem; + width: 40rem; + height: 25rem; + border-radius: 1rem; + z-index: 3; +} + +body>#visio:not(:fullscreen) #participants:has(.participant:nth-child(2)) .participant, +body>#visio:not(:fullscreen) #participants:has(.participant:nth-child(5)) .participant, +body>#visio:not(:fullscreen) #participants .participant.active { + height: 92%; + flex-basis: 100%; +} + +body>#visio:not(:fullscreen) .participant span.pin, +body>#visio[data-muji='true']:not(:fullscreen) #participants .participant:not(.active) { + display: none; +} + + +body>#visio:not(:fullscreen) video#local_video, +body>#visio:not(:fullscreen) video#screen_sharing_video.sharing { + width: 10rem; + right: 0; + bottom: 0; +} + +body>#visio:not(:fullscreen) #visio_contact, +body>#visio:not(:fullscreen) .participant img.avatar { + transform: scale(0.7); +} + +@media screen and (max-width: 800px) { + + #chat_widget #visio:not(:fullscreen) #visio_contact, + body>#visio:not(:fullscreen) .participant img.avatar { + transform: scale(0.7); + } + + body>#visio:not(:fullscreen) #visio { + width: 30rem; + height: 20rem; + } +} + +#visio video#screen_sharing_video:not(.sharing), +#visio video#screen_sharing_video.sharing+video#local_video { + display: none; +} + +@media screen and (max-width: 800px) { + + #visio video#local_video, + #visio video#screen_sharing_video.sharing { + width: 15rem; + } +} + +#visio header { + position: absolute; + width: 100%; + z-index: 1; +} + +#visio header::before { + content: ''; + display: block; + width: 100%; + height: 115%; + background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent); + position: absolute; + opacity: 0; + transition: opacity 0.3s ease-in-out; +} + +#visio header span.control { + transition: opacity 0.3s ease-in-out; + opacity: 0; + pointer-events: none; +} + +#visio.movements header span.control, +#visio.movements header::before, +#visio header:hover span.control, +#visio header:hover::before { + opacity: 1; + pointer-events: initial; +} + +#visio header ul.list li { + justify-content: space-between; + padding-right: 0; +} + +#visio header ul.list li span#switch_chat { + flex: 0 0 5rem; +} + +#visio header i { + text-shadow: 0 0 3rem #333, 0 0 0.5rem #777; +} + +#visio header i#network_condition:before { + font-family: 'Material Symbols'; + color: var(--movim-font); + vertical-align: middle; +} + +#visio header i#network_condition.excellent:before { + content: '\e202'; + color: var(--p-green); +} + +#visio header i#network_condition.good:before { + content: '\ebe3'; + color: var(--p-orange); +} + +#visio header i#network_condition.bad:before { + content: '\ebdf'; + color: var(--p-red); +} + +#visio header #no_mic_sound.disabled { + display: none; +} + +#visio header span#toggle_audio::after { + content: ''; + display: inline-block; + width: 0.3rem; + height: 2rem; + min-height: 0.3rem; + background-color: white; + position: relative; + border-radius: 1rem; + transition: height .1s; + height: calc(var(--level) * 2.5rem); + opacity: 0.75; + margin-top: -1rem; + margin-left: -0.4rem; + margin-right: 0; + box-shadow: var(--elevation-4); + vertical-align: middle; +} + +#visio header #no_mic_sound { + animation: fadeIn 0.3s; + font-size: 1.5rem; + line-height: 2.5rem; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + color: white; + pointer-events: none; + opacity: 0.6; +} + +#visio .button.action { + right: calc(50% - 3.5rem); + position: absolute; +} + +#visio #participants { + display: flex; + height: 100%; + justify-content: center; + align-content: center; + padding: 0 1rem; + gap: 1.5rem; + flex-wrap: wrap; +} + +#visio .participant { + position: relative; + aspect-ratio: 4/3; + background-color: #222; + border-radius: 1rem; + overflow: hidden; + flex: 1; + display: flex; + align-items: center; + max-height: calc(100% - 2rem); + transition: outline 0.3s; + outline: 0.25rem solid rgb(255, 255, 255, calc(var(--level) * 0.75)); + justify-content: center; + order: 2; +} + +#visio #participants .participant:only-child { + max-height: 96%; +} + +#visio #participants:has(.participant:nth-child(2)) .participant { + flex-basis: 48%; + flex-grow: 0; +} + +#visio #participants:has(.participant:nth-child(3)):not(.active) .participant { + max-height: calc(50% - 2rem); +} + +#visio #participants:has(.participant:nth-child(5)) .participant { + flex-basis: 32%; +} + +#visio #participants:has(.participant:nth-child(7)):not(.active) .participant { + max-height: calc(33% - 2rem); +} + +@media screen and (max-width: 800px) { + #visio #participants:has(.participant:nth-child(5)) .participant { + flex-basis: 48%; + } + + #visio #participants:has(.participant:nth-child(5)):not(.active) .participant { + max-height: calc(25% - 2rem); + } +} + +/* Video elements */ + +#visio .participant video { + height: 100%; + max-height: 100%; + width: auto; + object-fit: cover; + position: absolute; +} + +#visio .participant video.screen { + height: auto; +} + +#visio .participant.screen_off video.screen { + opacity: 0; +} + +#visio .participant:not(.screen_off) video:not(.screen) { + height: 10%; + border-radius: 0.5rem; + bottom: 1rem; + left: 1rem; +} + +#visio .participant:not(.screen_off) video:not(.screen):hover { + height: 30%; +} + +#visio #local_video, +#visio .participant video { + transition: opacity 0.5s ease-in-out, outline 0.4s ease 0s, height 0.3s; +} + +#visio #local_video.video_off, +#visio .participant.video_off video:not(.screen) { + opacity: 0; + pointer-events: none; +} + +/* Avatar */ + +#visio .participant img.avatar { + position: absolute; + width: auto; + height: 15rem; + max-height: 50%; + transition: opacity 0.5s ease-in-out; + opacity: 0; + display: block; + align-self: center; + border-radius: 100%; +} + +#visio .participant.video_off.screen_off img.avatar { + opacity: 1; +} + +/* Status box */ + +#visio .participant div.status { + display: block; + background-color: rgba(0, 0, 0, 0.3); + bottom: 1rem; + position: absolute; + line-height: 3.5rem; + font-size: 1.75rem; + font-weight: bold; + padding: 0 1.25rem; + border-radius: 1rem; + color: white; + box-shadow: var(--elevation-1); + transition: background-color 0.3s ease-in-out; + white-space: nowrap; + z-index: 1; +} + +#visio .participant:not(.screen_off) div.status { + background-color: var(--p-red); +} + +#visio .participant div.status[data-name]::before { + content: attr(data-name); + margin-right: 1rem; + vertical-align: center; +} + +#visio .participant:not(.audio_off):not(.video_off).screen_off div.status[data-name]::before { + margin-right: 0; +} + +#visio .participant div.status span::before { + font-family: 'Material Symbols'; + font-variation-settings: 'FILL' 1; + vertical-align: center; + margin: 0.5rem; +} + +#visio .participant div.status span.video_off::before { + content: '\e04c'; +} + +#visio .participant:not(.audio_off) div.status span.audio_off, +#visio .participant:not(.video_off) div.status span.video_off, +#visio .participant:not(.pinned) div.status span.pin, +#visio .participant.screen_off div.status span.screen { + display: none; +} + +#visio .participant div.status span.audio_off::before { + content: '\e02b'; +} + +#visio .participant div.status span.screen::before { + font-family: 'sans-serif'; + content: 'LIVE'; +} + +/* Pin button */ + +#visio .participant span.pin { + display: block; + background-color: rgba(0, 0, 0, 0.3); + font-size: 2rem; + line-height: 3.5rem; + padding: 0 1rem; + border-radius: 0.5rem; + box-shadow: var(--elevation-1); + bottom: 1rem; + left: 1rem; + position: absolute; + transition: opacity 0.2s ease-in-out; + opacity: 0; +} + +#visio:not([data-muji=true]) .participant span.pin { + display: none; +} + +#visio .participant.pinned span.pin, +#visio .participant:not(.pinned):hover span.pin { + opacity: 1; +} + +#visio .participant span.pin:hover { + cursor: pointer; +} + +#visio .participant span.pin::before { + font-family: 'Material Symbols'; + content: '\e6aa'; +} + +#visio .participant span.pin:hover::before, +#visio .participant.pinned span.pin::before { + font-variation-settings: 'FILL' 1; +} + +/* Active speaker */ + +#visio #participants.active:has(.participant:nth-child(2)) .participant.active { + height: 80%; + width: 100%; + order: 1; + flex: 1 0 auto; +} + +#visio #participants.active:has(.participant:nth-child(2)) .participant:not(.active) { + height: 15%; + max-width: 25rem; + flex: 1; +} + +/* Temporary CSS */ +/* +#visio[data-sfu="true"] #screen_sharing { + display: none; +}*/ \ No newline at end of file diff --git a/frontend/widgets/Visio/visio_dtmf.js b/frontend/widgets/Visio/visio_dtmf.js new file mode 100644 index 0000000..5f89b4c --- /dev/null +++ b/frontend/widgets/Visio/visio_dtmf.js @@ -0,0 +1,69 @@ +var VisioDTMF = { + context: null, + osc1: null, + osc2: null, + started: false, + + setup: function () { + this.context = new window.AudioContext; + this.osc1 = this.context.createOscillator(); + this.osc2 = this.context.createOscillator(); + + this.gainNode = this.context.createGain(); + this.gainNode.gain.value = 0.25; + + this.filter = this.context.createBiquadFilter(); + this.filter.type = "lowpass"; + this.filter.frequency = 8000; + + this.osc1.connect(this.gainNode); + this.osc2.connect(this.gainNode); + + this.gainNode.connect(this.filter); + this.filter.connect(this.context.destination); + }, + + pressButton(number) { + var dtmfFrequencies = { + "1": { f1: 697, f2: 1209 }, + "2": { f1: 697, f2: 1336 }, + "3": { f1: 697, f2: 1477 }, + "4": { f1: 770, f2: 1209 }, + "5": { f1: 770, f2: 1336 }, + "6": { f1: 770, f2: 1477 }, + "7": { f1: 852, f2: 1209 }, + "8": { f1: 852, f2: 1336 }, + "9": { f1: 852, f2: 1477 }, + "*": { f1: 941, f2: 1209 }, + "0": { f1: 941, f2: 1336 }, + "#": { f1: 941, f2: 1477 } + } + + let frequencies = dtmfFrequencies[number]; + + this.tone(frequencies.f1, frequencies.f2); + }, + + tone: function (freq1, freq2) { + if (this.started) this.stop(); + + this.setup(); + + this.osc1.frequency.value = freq1; + this.osc2.frequency.value = freq2; + + this.osc1.start(0); + this.osc2.start(0); + + this.started = true; + }, + + stop: function () { + this.osc1.stop(0); + this.osc2.stop(0); + + this.started = false; + } +} + +VisioDTMF.setup(); diff --git a/frontend/widgets/Visio/visio_lobby.css b/frontend/widgets/Visio/visio_lobby.css new file mode 100644 index 0000000..71d6a68 --- /dev/null +++ b/frontend/widgets/Visio/visio_lobby.css @@ -0,0 +1,69 @@ +#visio_lobby:not(.configure) form, +#visio_lobby.configure .placeholder { + display: none; +} + +#visio_lobby .placeholder { + margin: 4rem auto; +} + +#visio_lobby { + margin-bottom: 0.5rem; +} + +#visio_lobby form { + padding: 0; +} + +#visio_lobby #mic_preview { + height: 2rem; + margin-left: 7rem; +} + +#visio_lobby #mic_preview .level { + display: block; + margin-top: 0.5rem; + text-align: center; +} + +#visio_lobby #mic_preview .level span { + display: inline-block; + width: calc(10% - 0.75rem); + margin: 0.25rem; + height: 1rem; + border-radius: 0.25rem; + opacity: 1; +} + +#visio_lobby #mic_preview .level span.disabled { + opacity: 0.1; + transition: opacity 0.5s ease-out; +} + +#visio_lobby #default_microphone.muted span.primary i.enabled, +#visio_lobby #default_microphone:not(.muted) span.primary i.disabled, +#visio_lobby #default_microphone:not(.muted) .supporting { + display: none; +} + +#visio_lobby #camera_preview { + border-radius: 0.5rem; + max-height: 30rem; + width: 100%; + + background-image: url('../theme/img/cloud_spinner.svg'); + background-position: center; + background-repeat: no-repeat; + background-size: 15%; +} + +#visio_lobby + footer { + display: flex; + padding: 0 1rem; + gap: 1rem; + margin-bottom: 1rem; +} + +#visio_lobby + footer > .button { + flex: 1 0 0; +} \ No newline at end of file diff --git a/frontend/widgets/Visio/visio_tones.js b/frontend/widgets/Visio/visio_tones.js new file mode 100644 index 0000000..39f3c80 --- /dev/null +++ b/frontend/widgets/Visio/visio_tones.js @@ -0,0 +1,19 @@ +var VisioTones = { + context: null, + o: null, + g: null, + init: function() { + this.context = new AudioContext(); + this.o = this.context.createOscillator(); + this.g = this.context.createGain(); + this.o.connect(this.g); + this.g.connect(this.context.destination); + }, + + ringingTone: function() { + this.o.frequency.value = 1440.0; + this.o.start(0); + }, +} + +VisioTones.init(); diff --git a/frontend/widgets/Visio/visio_utils.js b/frontend/widgets/Visio/visio_utils.js new file mode 100644 index 0000000..52c6d13 --- /dev/null +++ b/frontend/widgets/Visio/visio_utils.js @@ -0,0 +1,419 @@ +var VisioUtils = { + microphone: null, + maxLevel: 0, + remoteMaxLevel: 0, + audioContext: null, + meter: null, + rafId: null, + + handleAudio: function () { + if (VisioUtils.audioContext) { + VisioUtils.audioContext.close(); + VisioUtils.audioContext = null; + } + + VisioUtils.audioContext = new AudioContext(); + + try { + VisioUtils.microphone = VisioUtils.audioContext.createMediaStreamSource( + MovimVisio.localAudio.srcObject + ); + } catch (error) { + MovimUtils.logError(error); + return; + } + + let javascriptNode = VisioUtils.audioContext.createScriptProcessor(128 * 64, 1, 1); + let icon = document.querySelector('#toggle_audio i'); + let toggleAudio = document.getElementById('toggle_audio'); + icon.innerText = 'mic'; + let isMuteStep = 251; + let noMicSound = document.querySelector('#no_mic_sound'); + let defaultMicrophone = document.querySelector('#default_microphone'); + + if (defaultMicrophone) { + defaultMicrophone.classList.add('muted'); + } + + VisioUtils.meter = VisioUtils.audioContext.createAnalyser(); + VisioUtils.meter.fftSize = 256; + VisioUtils.microphone.connect(VisioUtils.meter); + + function startAnalyzer() { + if (!VisioUtils.meter) return; + + const dataArray = new Uint8Array(VisioUtils.meter.frequencyBinCount); + + function update() { + if (!VisioUtils.meter) return; + + VisioUtils.meter.getByteFrequencyData(dataArray); + + let sum = 0; + for (let i = 0; i < dataArray.length; i++) { + sum += dataArray[i]; + } + + const avg = sum / dataArray.length; + const level = Math.min(1, (avg / 255) ** .3); + VisioUtils.rafId = requestAnimationFrame(update); + + let step = 0; + + if (level == 0) { + isMuteStep++; + } else { + isMuteStep = 0; + } + + if (isMuteStep > 32) { + if (noMicSound) { + noMicSound.classList.remove('disabled'); + } + + if (defaultMicrophone) { + defaultMicrophone.classList.add('muted'); + } + } else { + if (noMicSound) { + noMicSound.classList.add('disabled'); + } + + if (defaultMicrophone) { + defaultMicrophone.classList.remove('muted'); + } + + // Lobby level + if (isMuteStep <= 5) { + document.querySelectorAll('.level span').forEach(span => { + if (step < Math.floor(level * 10)) { + span.classList.remove('disabled'); + } else { + span.classList.add('disabled'); + } + + step++; + }); + + toggleAudio.style.setProperty('--level', level.toFixed(2)); + } + } + } + update(); + } + + startAnalyzer(); + }, + + stopAudio: function () { + if (VisioUtils.rafId) { + cancelAnimationFrame(VisioUtils.rafId); + VisioUtils.rafId = null; + } + + if (VisioUtils.microphone) { + VisioUtils.microphone.disconnect(); + VisioUtils.microphone = null; + } + + if (VisioUtils.audioContext) { + VisioUtils.audioContext.close(); + VisioUtils.audioContext = null; + } + }, + + toggleFullScreen: function () { + let button = document.querySelector('#toggle_fullscreen i'); + + if (!document.fullscreenElement) { + if (document.querySelector('#visio').requestFullscreen) { + document.querySelector('#visio').requestFullscreen(); + } + + button.innerText = 'fullscreen_exit'; + } else { + if (document.exitFullscreen) { + document.exitFullscreen(); + } + + button.innerText = 'fullscreen'; + } + }, + + toggleMode: function (active) { + let button = document.querySelector('#toggle_mode i'); + let participants = document.querySelector('#participants'); + + if (button.innerText == 'tile_small' || active) { + participants.classList.add('active'); + button.innerHTML = 'tile_large'; + } else { + participants.classList.remove('active'); + button.innerHTML = 'tile_small'; + } + }, + + toggleAudio: function () { + let button = document.querySelector('#toggle_audio i'); + + if (button.innerText == 'mic_off') { + MovimJingles.enableAudio(true); + button.innerText = 'mic'; + } else { + MovimJingles.enableAudio(false); + button.innerText = 'mic_off'; + } + }, + + toggleVideo: async function () { + let button = document.querySelector('#toggle_video i'); + + if (MovimVisio.localVideo.srcObject == null) { + MovimVisio.getUserMedia(true).then(e => { + MovimJingles.enableVideo(true); + MovimVisio.localVideo.classList.remove('video_off'); + button.innerText = 'videocam'; + }); + } else { + if (button.innerText == 'videocam_off') { + MovimJingles.enableVideo(true); + MovimVisio.localVideo.classList.remove('video_off'); + button.innerText = 'videocam'; + } else { + MovimJingles.enableVideo(false); + MovimVisio.localVideo.classList.add('video_off'); + button.innerText = 'videocam_off'; + } + } + }, + + toggleScreenSharing: async function () { + MovimVisio.switchCamera = document.querySelector("#visio #switch_camera"); + let button = document.querySelector('#screen_sharing i'); + + if (MovimVisio.screenSharing.srcObject == null) { + try { + MovimVisio.screenSharing.srcObject = await navigator.mediaDevices.getDisplayMedia({ + video: { cursor: "always" }, + audio: true + }); + + MovimVisio.screenSharing.classList.add('sharing'); + VisioUtils.disableSwitchCameraButton(); + button.innerText = 'stop_screen_share'; + + if (MovimVisio.sfu) { + MovimVisio.startScreenshareSFU(); + } else { + MovimJingles.enableScreenSharing(); + MovimVisio.mujiPublish(); + } + } catch (err) { + console.error("Error: " + err); + } + return; + } else { + if (MovimVisio.sfu) { + MovimVisio.stopScreenshareSFU(); + VisioUtils.disableScreenSharing(); + } else { + VisioUtils.disableScreenSharing(); + MovimVisio.mujiPublish(); + } + } + }, + + disableScreenSharing: function () { + MovimJingles.disableScreenSharing(); + + if (MovimVisio.screenSharing && MovimVisio.screenSharing.srcObject) { + MovimVisio.screenSharing.srcObject.getTracks().forEach(track => track.stop()); + MovimVisio.screenSharing.srcObject = null; + + MovimVisio.screenSharing.classList.remove('sharing'); + MovimVisio.switchCamera.classList.remove('disabled'); + } + + if (button = document.querySelector('#screen_sharing i')) { + button.innerText = 'screen_share'; + } + }, + + switchChat: function () { + let visio = document.querySelector('#visio'); + + if (visio.dataset.jid) { + Search.chat(visio.dataset.jid, (visio.dataset.muji == 'true')); + } + }, + + toggleDtmf: function () { + document.querySelector('#visio #dtmf').classList.toggle('hide'); + }, + + insertDtmf: function (s) { + VisioDTMF.pressButton(s); + setTimeout(() => VisioDTMF.stop(), 100); + + let insert = (s == '*') ? '🞳' : s; + document.querySelector('#dtmf p.dtmf span').innerText += insert; + + MovimJingles.insertDtmf(s); + }, + + clearDtMf: function () { + document.querySelector('#dtmf p.dtmf span').innerText = ''; + }, + + disableSwitchCameraButton: function () { + MovimVisio.switchCamera.classList.add('disabled'); + }, + + enableLobbyCallButton: function () { + if (document.querySelector('#lobby_start')) { + document.querySelector('#lobby_start').classList.remove('disabled'); + } + }, + + disableLobbyCallButton: function () { + if (document.querySelector('#lobby_start')) { + document.querySelector('#lobby_start').classList.add('disabled'); + } + }, + + getConstraints: function (withVideo) { + const cpuCores = navigator.hardwareConcurrency || 2; + let constraints = { + audio: true, + video: false, + }; + + if (withVideo) { + if (cpuCores <= 2) { + constraints.video = { + width: { ideal: 640 }, + height: { ideal: 480 }, + frameRate: { max: 15, ideal: 15 } + }; + } else if (cpuCores <= 4) { + constraints.video = { + width: { ideal: 1280 }, + height: { ideal: 720 }, + frameRate: { max: 30, ideal: 24 } + }; + } else { + constraints.video = { + width: { ideal: 1920 }, + height: { ideal: 1080 }, + frameRate: { max: 30, ideal: 30 } + }; + } + + constraints.video.facingMode = 'user'; + + if (localStorage.defaultCamera) { + constraints.video.deviceId = localStorage.defaultCamera + } + } + + if (localStorage.defaultMicrophone) { + constraints.audio = { + deviceId: localStorage.defaultMicrophone + } + } + + return constraints; + }, + + setVideoCodecPreferences: function (transceiver) { + let codecs = RTCRtpReceiver.getCapabilities('video').codecs; + + if (transceiver.setCodecPreferences != undefined) { + let preferredOrder = [/*'video/AV1',*/ 'video/H264', 'video/VP8', 'video/VP9']; + codecs.sort((a, b) => { + const indexA = preferredOrder.indexOf(a.mimeType); + const indexB = preferredOrder.indexOf(b.mimeType); + const orderA = indexA >= 0 ? indexA : Number.MAX_VALUE; + const orderB = indexB >= 0 ? indexB : Number.MAX_VALUE; + return orderA - orderB; + }); + transceiver.setCodecPreferences(codecs); + } + }, + + adaptToNetworkCondition: async function (peerConnection) { + const stats = await peerConnection.getStats(); + let packetLossRate = 0; + let rtt = 0; + + stats.forEach(stat => { + if (stat.type === 'outbound-rtp' && stat.kind === 'video') { + if (stat.packetsSent && stat.packetsLost) { + packetLossRate = stat.packetsLost / stat.packetsSent; + } + } + + if (stat.type === 'remote-inbound-rtp') { + rtt = stat.roundTripTime; + } + }); + + let networkIcon = document.querySelector('#network_condition'); + networkIcon.classList.remove('excellent', 'good', 'bad'); + + peerConnection.getSenders().filter(s => + s.track && s.track.kind === 'video' + ).forEach(sender => { + const parameters = sender.getParameters(); + + // Don't exceed original encoding + if (!parameters.encodings || parameters.encodings.length === 0) { + parameters.encodings = [{}]; + } + + if (packetLossRate > 0.1 || rtt > 0.6) { + networkIcon.classList.add('bad'); + parameters.encodings[0].maxBitrate = 250000; // 250 kbps + parameters.encodings[0].scaleResolutionDownBy = 4; // 1/4 resolution + } else if (packetLossRate > 0.05 || rtt > 0.3) { + networkIcon.classList.add('good'); + parameters.encodings[0].maxBitrate = 500000; // 500 kbps + parameters.encodings[0].scaleResolutionDownBy = 2; // 1/2 resolution + } else { + networkIcon.classList.add('excellent'); + parameters.encodings[0].maxBitrate = 1500000; // 1.5 Mbps + parameters.encodings[0].scaleResolutionDownBy = 1; // Full resolution + } + + sender.setParameters(parameters); + }); + }, + + cancelLobby: function (fullJid, id) { + if (fullJid && id) { + Visio_ajaxReject(fullJid, id); + } + + Visio_ajaxClear(); Dialog_ajaxClear(); Notif.snackbarClear(); + }, + + updateStartedAtCounters: function (startedAt) { + document.querySelectorAll('span[data-started-at]').forEach(span => { + var dateStartedAt = Date.parse(span.dataset.startedAt); + var dateNow = new Date(); + + var seconds = Math.floor((dateNow - (dateStartedAt)) / 1000); + var minutes = Math.floor(seconds / 60); + var hours = Math.floor(minutes / 60); + var days = Math.floor(hours / 24); + + hours = hours - (days * 24); + minutes = minutes - (days * 24 * 60) - (hours * 60); + seconds = seconds - (days * 24 * 60 * 60) - (hours * 60 * 60) - (minutes * 60); + + span.innerHTML = hours > 0 + ? hours + ':' + String(minutes).padStart(2, '0') + ':' + String(seconds).padStart(2, '0') + : String(minutes).padStart(2, '0') + ':' + String(seconds).padStart(2, '0'); + }); + } +} diff --git a/src/app.rs b/src/app.rs new file mode 100644 index 0000000..1535961 --- /dev/null +++ b/src/app.rs @@ -0,0 +1,245 @@ +//! Shared application state and the per-call context given to the widgets. + +use minijinja::{context, Environment, Value as JValue}; +use serde::Serialize; +use serde_json::{json, Value}; +use std::sync::{Arc, Mutex, RwLock}; + +use crate::{ + config::Config, + db::{self, Db}, + i18n, + session::{Hub, Session, State}, + utils, + xmpp::XmppHandle, +}; + +pub struct App { + pub cfg: Config, + pub db: Db, + pub tpl: Environment<'static>, + pub hub: Hub, + pub http: reqwest::Client, + base_uri: RwLock, + /// Used to bust the browser cache of the generated JS/CSS, like `socketAPITime()` + pub boot_time: i64, +} + +impl App { + pub fn new(cfg: Config, db: Db) -> Arc { + let tpl = crate::tpl::environment(&cfg.templates); + let http = reqwest::Client::builder() + .user_agent("Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0 Movim") + .redirect(reqwest::redirect::Policy::limited(3)) + .timeout(std::time::Duration::from_secs(10)) + .build() + .expect("http client"); + + Arc::new(App { + cfg, + db, + tpl, + hub: Hub::default(), + http, + base_uri: RwLock::new("/".into()), + boot_time: chrono::Utc::now().timestamp(), + }) + } + + pub fn base_uri(&self) -> String { + self.base_uri.read().unwrap().clone() + } + + /// Movim uses protocol relative base URIs: `//host/` + pub fn set_base_from_host(&self, host: &str) { + let uri = format!("//{}/", host.trim_end_matches('/')); + if *self.base_uri.read().unwrap() != uri { + *self.base_uri.write().unwrap() = uri; + } + } + + pub fn route(&self, page: &str, params: &[&str]) -> String { + let params: Vec = params.iter().map(|s| s.to_string()).collect(); + route_with_base(&self.base_uri(), page, ¶ms) + } +} + +pub fn route_with_base(base: &str, page: &str, params: &[String]) -> String { + let mut uri = format!("{base}{page}"); + for p in params { + uri.push('/'); + uri.push_str(&percent_encoding::utf8_percent_encode(p, percent_encoding::NON_ALPHANUMERIC).to_string()); + } + uri +} + +enum Out { + Buffer(Mutex>), + Ws, +} + +/// Execution context of a widget call: where the RPC calls go (HTTP response or +/// the session websockets), the session and the app. +#[derive(Clone)] +pub struct Ctx { + pub app: Arc, + pub session: Option>, + out: Arc, +} + +#[macro_export] +macro_rules! rpc { + ($ctx:expr, $func:expr) => { + $ctx.rpc($func, vec![]) + }; + ($ctx:expr, $func:expr, $($arg:expr),+ $(,)?) => { + $ctx.rpc($func, vec![$(serde_json::json!($arg)),+]) + }; +} + +impl Ctx { + pub fn ws(app: Arc, session: Arc) -> Self { + Ctx { app, session: Some(session), out: Arc::new(Out::Ws) } + } + + pub fn buffer(app: Arc, session: Option>) -> Self { + Ctx { app, session, out: Arc::new(Out::Buffer(Mutex::new(vec![]))) } + } + + /// Same session, but the calls are pushed to the websockets + pub fn to_ws(&self) -> Self { + Ctx { app: self.app.clone(), session: self.session.clone(), out: Arc::new(Out::Ws) } + } + + pub fn take_buffer(&self) -> Vec { + match &*self.out { + Out::Buffer(b) => std::mem::take(&mut *b.lock().unwrap()), + Out::Ws => vec![], + } + } + + pub fn rpc(&self, func: &str, args: Vec) { + let mut payload = json!({ "func": func }); + if !args.is_empty() { + payload["p"] = Value::Array(args); + } + match &*self.out { + Out::Buffer(b) => b.lock().unwrap().push(payload), + Out::Ws => { + if let Some(s) = &self.session { + s.send_ws(&payload); + } + } + } + } + + pub fn db(&self) -> &Db { + &self.app.db + } + + pub fn st(&self, f: impl FnOnce(&mut State) -> R) -> Option { + self.session.as_ref().map(|s| f(&mut s.st.lock().unwrap())) + } + + pub fn lang(&self) -> String { + self.session + .as_ref() + .map(|s| s.lang()) + .unwrap_or_else(|| self.app.cfg.default_locale.clone()) + } + + pub fn t(&self, key: &str, args: &[&str]) -> String { + let args: Vec = args.iter().map(|s| s.to_string()).collect(); + i18n::get().translate(&self.lang(), key, &args) + } + + pub fn me(&self) -> Option { + self.st(|st| st.user.clone()).flatten() + } + + /// The bare JID of the logged user + pub fn jid(&self) -> String { + self.st(|st| st.jid()).flatten().unwrap_or_default() + } + + pub fn is_logged(&self) -> bool { + self.session.as_ref().is_some_and(|s| s.is_logged()) + } + + pub fn xmpp(&self) -> Option { + self.session.as_ref().and_then(|s| s.xmpp()) + } + + pub fn send(&self, el: minidom::Element) { + if let Some(x) = self.xmpp() { + x.send(el); + } + } + + pub fn base_uri(&self) -> String { + self.app.base_uri() + } + + pub fn route(&self, page: &str, params: &[&str]) -> String { + self.app.route(page, params) + } + + /// Render a template with the common variables (`lang`, `base_uri`, `me`) + pub fn render(&self, name: &str, data: S) -> String { + let tpl = match self.app.tpl.get_template(name) { + Ok(t) => t, + Err(e) => { + tracing::error!("template {name}: {e:#}"); + return String::new(); + } + }; + let ctx = context! { + lang => self.lang(), + base_uri => self.base_uri(), + me => self.jid(), + ..JValue::from_serialize(&data) + }; + match tpl.render(ctx) { + Ok(s) => s.trim().to_string(), + Err(e) => { + tracing::error!("template {name}: {e:#}"); + String::new() + } + } + } + + pub fn toast(&self, text: &str) { + rpc!(self, "Toast.send", text, 3000); + } + + pub fn avatar_url(&self, hash: Option<&str>, placeholder: &str) -> String { + match hash { + Some(h) if !h.is_empty() => format!("{}avatar/{}", self.base_uri(), h), + _ => self.placeholder_url(placeholder), + } + } + + pub fn placeholder_url(&self, id: &str) -> String { + format!( + "{}picture?type=avatar&id={}", + self.base_uri(), + percent_encoding::utf8_percent_encode(id, percent_encoding::NON_ALPHANUMERIC) + ) + } + + pub fn prepare_time(&self, published: &str) -> String { + crate::dates::prepare_time(published, &self.timezone()) + } + + pub fn prepare_date(&self, published: &str, compact: bool, hours: bool) -> String { + crate::dates::prepare_date(self, published, compact, hours) + } + + pub fn timezone(&self) -> String { + self.st(|st| st.timezone.clone()).unwrap_or_else(|| "UTC".into()) + } + + pub fn emoji(&self, text_escaped: &str) -> utils::EmojiResult { + utils::replace_emojis(text_escaped, &self.base_uri(), false) + } +} diff --git a/src/config.rs b/src/config.rs new file mode 100644 index 0000000..de9a3b4 --- /dev/null +++ b/src/config.rs @@ -0,0 +1,73 @@ +use std::{net::SocketAddr, path::PathBuf}; + +/// Runtime configuration, read from the environment (see `.env.example`). +#[derive(Debug, Clone)] +pub struct Config { + pub bind: SocketAddr, + pub frontend: PathBuf, + pub templates: PathBuf, + pub data_dir: PathBuf, + pub database_url: String, + pub default_domain: String, + pub xmpp_whitelist: Vec, + pub max_sessions: usize, + pub disable_registration: bool, + pub default_locale: String, + pub banner: Option, + pub info: Option, + pub debug_xmpp: bool, + /// Development only: connect without TLS to this host:port + pub xmpp_plaintext: Option, + /// Disconnect the XMPP sessions without any browser activity for this long + pub session_timeout_hours: u64, + /// Allow the picture proxy and link previews to reach private networks (development) + pub allow_private_urls: bool, +} + +fn env(key: &str) -> Option { + std::env::var(key).ok().filter(|v| !v.is_empty()) +} + +impl Config { + pub fn from_env() -> Self { + let root = env("MOVIM_ROOT") + .map(PathBuf::from) + .unwrap_or_else(|| PathBuf::from(env!("CARGO_MANIFEST_DIR"))); + let data_dir = env("MOVIM_DATA_DIR") + .map(PathBuf::from) + .unwrap_or_else(|| root.join("data")); + + Config { + bind: env("MOVIM_BIND") + .unwrap_or_else(|| "127.0.0.1:8080".into()) + .parse() + .expect("invalid MOVIM_BIND"), + frontend: root.join("frontend"), + templates: root.join("templates"), + database_url: env("MOVIM_DATABASE_URL").unwrap_or_else(|| { + format!("sqlite://{}?mode=rwc", data_dir.join("movim.sqlite").display()) + }), + data_dir, + default_domain: env("MOVIM_DOMAIN").unwrap_or_else(|| "movim.eu".into()), + xmpp_whitelist: env("MOVIM_XMPP_WHITELIST") + .map(|s| { + s.split(',') + .map(|d| d.trim().to_string()) + .filter(|d| !d.is_empty()) + .collect() + }) + .unwrap_or_default(), + max_sessions: env("MOVIM_MAX_SESSIONS") + .and_then(|s| s.parse().ok()) + .unwrap_or(0), + disable_registration: env("MOVIM_DISABLE_REGISTRATION").is_some_and(|v| v == "1" || v == "true"), + default_locale: env("MOVIM_LOCALE").unwrap_or_else(|| "en".into()), + banner: env("MOVIM_BANNER"), + info: env("MOVIM_INFO"), + debug_xmpp: env("MOVIM_DEBUG_XMPP").is_some_and(|v| v == "1" || v == "true"), + xmpp_plaintext: env("MOVIM_XMPP_PLAINTEXT"), + session_timeout_hours: env("MOVIM_SESSION_TIMEOUT_HOURS").and_then(|s| s.parse().ok()).unwrap_or(24 * 7), + allow_private_urls: env("MOVIM_ALLOW_PRIVATE_URLS").is_some_and(|v| v == "1" || v == "true"), + } + } +} diff --git a/src/dates.rs b/src/dates.rs new file mode 100644 index 0000000..7ecfbca --- /dev/null +++ b/src/dates.rs @@ -0,0 +1,100 @@ +//! Human readable dates, see `Widget\Base::prepareDate` and `prepareTime`. + +use chrono::{DateTime, Datelike, Locale, NaiveDateTime, TimeZone, Utc}; +use chrono_tz::Tz; + +use crate::app::Ctx; + +pub fn parse(s: &str) -> Option> { + let s = s.trim(); + if let Ok(dt) = DateTime::parse_from_rfc3339(s) { + return Some(dt.with_timezone(&Utc)); + } + for fmt in ["%Y-%m-%d %H:%M:%S%.f", "%Y-%m-%d %H:%M:%S", "%Y-%m-%dT%H:%M:%S%.f", "%Y-%m-%dT%H:%M:%S"] { + if let Ok(n) = NaiveDateTime::parse_from_str(s, fmt) { + return Some(Utc.from_utc_datetime(&n)); + } + } + None +} + +/// XEP-0082 timestamps to the SQL format used in the database +pub fn to_sql(stamp: &str) -> Option { + parse(stamp).map(|d| d.format("%Y-%m-%d %H:%M:%S").to_string()) +} + +fn tz(name: &str) -> Tz { + name.parse().unwrap_or(chrono_tz::UTC) +} + +fn locale(lang: &str) -> Locale { + let tag = lang.replace('-', "_"); + let candidates = [ + tag.clone(), + format!("{}_{}", tag, tag.to_uppercase()), + match tag.as_str() { + "en" => "en_US".into(), + "pt" => "pt_PT".into(), + "zh" => "zh_CN".into(), + "ar" => "ar_SA".into(), + "ja" => "ja_JP".into(), + "ko" => "ko_KR".into(), + "sv" => "sv_SE".into(), + "uk" => "uk_UA".into(), + "el" => "el_GR".into(), + "da" => "da_DK".into(), + "cs" => "cs_CZ".into(), + "fa" => "fa_IR".into(), + "he" => "he_IL".into(), + "vi" => "vi_VN".into(), + other => other.to_string(), + }, + ]; + for c in candidates { + if let Ok(l) = Locale::try_from(c.as_str()) { + return l; + } + } + Locale::en_US +} + +pub fn prepare_time(published: &str, timezone: &str) -> String { + match parse(published) { + Some(d) => d.with_timezone(&tz(timezone)).format("%H:%M").to_string(), + None => String::new(), + } +} + +pub fn prepare_date(ctx: &Ctx, published: &str, compact: bool, hours: bool) -> String { + let Some(d) = parse(published) else { return String::new() }; + let zone = tz(&ctx.timezone()); + let local = d.with_timezone(&zone); + let loc = locale(&ctx.lang()); + + if !compact { + return local.format_localized("%-d %B %Y %-H:%M", loc).to_string(); + } + + let now = Utc::now().with_timezone(&zone); + let today = now.date_naive(); + let date = local.date_naive(); + + if date == today { + return if hours { local.format("%-H:%M").to_string() } else { ctx.t("date.today", &[]) }; + } + if Some(date) == today.pred_opt() { + return ctx.t("date.yesterday", &[]); + } + if (today - date).num_days() < 7 && date < today { + let s = local.format_localized("%A", loc).to_string(); + let mut c = s.chars(); + return match c.next() { + Some(f) => f.to_uppercase().collect::() + c.as_str(), + None => s, + }; + } + if date.year() == today.year() { + return local.format_localized("%-d %B", loc).to_string(); + } + local.format_localized("%-d %B %Y", loc).to_string() +} diff --git a/src/db.rs b/src/db.rs new file mode 100644 index 0000000..7273706 --- /dev/null +++ b/src/db.rs @@ -0,0 +1,1072 @@ +//! SQLite persistence: users, quick-login passwords, contacts (vCards/avatars), +//! messages, files, reactions and MAM state. + +use anyhow::Result; +use serde::Serialize; +use sqlx::{sqlite::SqlitePoolOptions, AssertSqlSafe, FromRow, SqlitePool}; + +pub type Db = SqlitePool; + +const SCHEMA: &str = r#" +CREATE TABLE IF NOT EXISTS users ( + id TEXT PRIMARY KEY, + nickname TEXT, + language TEXT, + nightmode INTEGER NOT NULL DEFAULT 0, + chatmain INTEGER NOT NULL DEFAULT 1, + notificationchat INTEGER NOT NULL DEFAULT 1, + notificationcall INTEGER NOT NULL DEFAULT 1, + omemoenabled INTEGER NOT NULL DEFAULT 1, + accentcolor TEXT, + admin INTEGER NOT NULL DEFAULT 0, + chats TEXT NOT NULL DEFAULT '{}', + created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE TABLE IF NOT EXISTS encrypted_passwords ( + id TEXT NOT NULL, + user_id TEXT NOT NULL, + data TEXT NOT NULL, + updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (user_id, id) +); + +CREATE TABLE IF NOT EXISTS contacts ( + id TEXT PRIMARY KEY, + fn TEXT, + name TEXT, + nickname TEXT, + email TEXT, + url TEXT, + description TEXT, + avatarhash TEXT, + avatartype TEXT, + updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE TABLE IF NOT EXISTS avatars ( + hash TEXT PRIMARY KEY, + mime TEXT NOT NULL, + data BLOB NOT NULL +); + +CREATE TABLE IF NOT EXISTS messages ( + mid INTEGER PRIMARY KEY AUTOINCREMENT, + user_id TEXT NOT NULL, + id TEXT NOT NULL, + messageid TEXT, + originid TEXT, + stanzaid TEXT, + replaceid TEXT, + jidto TEXT NOT NULL, + jidfrom TEXT NOT NULL, + resource TEXT, + type TEXT NOT NULL DEFAULT 'chat', + subject TEXT, + thread TEXT, + body TEXT, + html TEXT, + quoted INTEGER NOT NULL DEFAULT 0, + markable INTEGER NOT NULL DEFAULT 0, + seen INTEGER NOT NULL DEFAULT 0, + delivered TEXT, + displayed TEXT, + retracted INTEGER NOT NULL DEFAULT 0, + encrypted INTEGER NOT NULL DEFAULT 0, + omemoheader TEXT, + bundleid INTEGER, + parentmid INTEGER, + resolved INTEGER NOT NULL DEFAULT 0, + published TEXT NOT NULL, + created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, + UNIQUE (user_id, jidfrom, id) +); +CREATE INDEX IF NOT EXISTS messages_user_jidfrom ON messages (user_id, jidfrom); +CREATE INDEX IF NOT EXISTS messages_user_jidto ON messages (user_id, jidto); +CREATE INDEX IF NOT EXISTS messages_user_published ON messages (user_id, published); +CREATE INDEX IF NOT EXISTS messages_user_stanzaid ON messages (user_id, stanzaid); +CREATE INDEX IF NOT EXISTS messages_user_originid ON messages (user_id, originid); +CREATE INDEX IF NOT EXISTS messages_user_messageid ON messages (user_id, messageid); + +CREATE TABLE IF NOT EXISTS message_files ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + message_mid INTEGER NOT NULL, + name TEXT, + type TEXT, + size INTEGER, + url TEXT NOT NULL, + disposition TEXT, + thumbnail_url TEXT, + thumbnail_type TEXT, + thumbnail_width INTEGER, + thumbnail_height INTEGER +); +CREATE INDEX IF NOT EXISTS message_files_mid ON message_files (message_mid); + +CREATE TABLE IF NOT EXISTS reactions ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + message_mid INTEGER NOT NULL, + jidfrom TEXT NOT NULL, + emoji TEXT NOT NULL, + created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, + UNIQUE (message_mid, jidfrom, emoji) +); + +CREATE TABLE IF NOT EXISTS mam_earliests ( + user_id TEXT NOT NULL, + jid TEXT NOT NULL, + earliest TEXT, + PRIMARY KEY (user_id, jid) +); + +CREATE TABLE IF NOT EXISTS omemo_states ( + user_id TEXT NOT NULL, + jid TEXT NOT NULL, + enabled INTEGER NOT NULL, + PRIMARY KEY (user_id, jid) +); + +CREATE TABLE IF NOT EXISTS open_chats ( + user_id TEXT NOT NULL, + jid TEXT NOT NULL, + updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (user_id, jid) +); + +CREATE TABLE IF NOT EXISTS urls ( + hash TEXT PRIMARY KEY, + url TEXT NOT NULL, + data TEXT NOT NULL, + created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE TABLE IF NOT EXISTS push_subscriptions ( + endpoint TEXT PRIMARY KEY, + user_id TEXT NOT NULL, + p256dh TEXT, + auth TEXT, + enabled INTEGER NOT NULL DEFAULT 1, + activity_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP +); +"#; + +pub async fn connect(url: &str) -> Result { + let pool = SqlitePoolOptions::new().max_connections(8).connect(url).await?; + sqlx::query("PRAGMA journal_mode=WAL").execute(&pool).await?; + for statement in SCHEMA.split(';') { + let statement = statement.trim(); + if !statement.is_empty() { + sqlx::query(statement).execute(&pool).await?; + } + } + Ok(pool) +} + +// ---------------------------------------------------------------- Users + +#[derive(Debug, Clone, FromRow, Serialize, Default)] +pub struct User { + pub id: String, + pub nickname: Option, + pub language: Option, + pub nightmode: bool, + pub chatmain: bool, + pub notificationchat: bool, + pub notificationcall: bool, + pub omemoenabled: bool, + pub accentcolor: Option, + pub admin: bool, + pub chats: String, +} + +impl User { +} + +pub async fn user_get(db: &Db, id: &str) -> Result> { + Ok(sqlx::query_as::<_, User>( + "SELECT id, nickname, language, nightmode, chatmain, notificationchat, notificationcall, omemoenabled, accentcolor, admin, chats FROM users WHERE id = ?", + ) + .bind(id) + .fetch_optional(db) + .await?) +} + +pub async fn user_get_or_create(db: &Db, id: &str) -> Result { + sqlx::query("INSERT OR IGNORE INTO users (id) VALUES (?)").bind(id).execute(db).await?; + Ok(user_get(db, id).await?.unwrap_or_default()) +} + +pub async fn user_count(db: &Db) -> Result { + Ok(sqlx::query_scalar("SELECT COUNT(*) FROM users").fetch_one(db).await?) +} + +pub async fn user_set(db: &Db, id: &str, field: &str, value: &serde_json::Value) -> Result<()> { + const ALLOWED: &[&str] = &[ + "nickname", + "language", + "nightmode", + "chatmain", + "notificationchat", + "notificationcall", + "omemoenabled", + "accentcolor", + "chats", + ]; + anyhow::ensure!(ALLOWED.contains(&field), "field not allowed"); + let sql = format!("UPDATE users SET {field} = ?, updated_at = CURRENT_TIMESTAMP WHERE id = ?"); + let q = sqlx::query(AssertSqlSafe(sql)); + let q = match value { + serde_json::Value::Bool(b) => q.bind(*b), + serde_json::Value::Null => q.bind(None::), + serde_json::Value::String(s) => q.bind(s.clone()), + other => q.bind(other.to_string()), + }; + q.bind(id).execute(db).await?; + Ok(()) +} + +// ---------------------------------------------------------------- Quick login + +pub async fn encrypted_password_set(db: &Db, user_id: &str, id: &str, data: &str) -> Result<()> { + sqlx::query("INSERT OR REPLACE INTO encrypted_passwords (id, user_id, data, updated_at) VALUES (?, ?, ?, CURRENT_TIMESTAMP)") + .bind(id) + .bind(user_id) + .bind(data) + .execute(db) + .await?; + Ok(()) +} + +pub async fn encrypted_password_get(db: &Db, user_id: &str, id: &str) -> Result> { + let data = sqlx::query_scalar("SELECT data FROM encrypted_passwords WHERE user_id = ? AND id = ?") + .bind(user_id) + .bind(id) + .fetch_optional(db) + .await?; + if data.is_some() { + sqlx::query("UPDATE encrypted_passwords SET updated_at = CURRENT_TIMESTAMP WHERE user_id = ? AND id = ?") + .bind(user_id) + .bind(id) + .execute(db) + .await?; + } + Ok(data) +} + +pub async fn encrypted_passwords_clear(db: &Db, user_id: &str) -> Result<()> { + sqlx::query("DELETE FROM encrypted_passwords WHERE user_id = ?").bind(user_id).execute(db).await?; + Ok(()) +} + +pub async fn cleanup(db: &Db) -> Result<()> { + sqlx::query("DELETE FROM encrypted_passwords WHERE updated_at < datetime('now', '-7 days')") + .execute(db) + .await?; + sqlx::query("DELETE FROM push_subscriptions WHERE activity_at < datetime('now', '-30 days')") + .execute(db) + .await?; + Ok(()) +} + +// ---------------------------------------------------------------- Contacts + +#[derive(Debug, Clone, FromRow, Serialize, Default)] +pub struct Contact { + pub id: String, + #[sqlx(rename = "fn")] + #[serde(rename = "fn")] + pub fn_: Option, + pub name: Option, + pub nickname: Option, + pub email: Option, + pub url: Option, + pub description: Option, + pub avatarhash: Option, + pub avatartype: Option, +} + +impl Contact { + pub fn new(id: &str) -> Self { + Contact { id: id.to_string(), ..Default::default() } + } + + /// Same priority as Movim's `Contact::truename` + pub fn truename(&self) -> String { + for v in [&self.fn_, &self.nickname, &self.name] { + if let Some(v) = v { + if !v.trim().is_empty() { + return v.trim().to_string(); + } + } + } + self.id.split('@').next().unwrap_or(&self.id).to_string() + } +} + +pub async fn contact_get(db: &Db, id: &str) -> Result> { + Ok(sqlx::query_as::<_, Contact>("SELECT id, fn, name, nickname, email, url, description, avatarhash, avatartype FROM contacts WHERE id = ?") + .bind(id) + .fetch_optional(db) + .await?) +} + +pub async fn contact_get_or_new(db: &Db, id: &str) -> Contact { + contact_get(db, id).await.ok().flatten().unwrap_or_else(|| Contact::new(id)) +} + +pub async fn contacts_get(db: &Db, ids: &[String]) -> Result> { + if ids.is_empty() { + return Ok(vec![]); + } + let placeholders = vec!["?"; ids.len()].join(","); + let sql = format!("SELECT id, fn, name, nickname, email, url, description, avatarhash, avatartype FROM contacts WHERE id IN ({placeholders})"); + let mut q = sqlx::query_as::<_, Contact>(AssertSqlSafe(sql)); + for id in ids { + q = q.bind(id); + } + Ok(q.fetch_all(db).await?) +} + +pub async fn contact_save(db: &Db, c: &Contact) -> Result<()> { + sqlx::query( + "INSERT INTO contacts (id, fn, name, nickname, email, url, description, avatarhash, avatartype, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, CURRENT_TIMESTAMP) + ON CONFLICT(id) DO UPDATE SET fn = excluded.fn, name = excluded.name, nickname = excluded.nickname, + email = excluded.email, url = excluded.url, description = excluded.description, + avatarhash = excluded.avatarhash, avatartype = excluded.avatartype, updated_at = CURRENT_TIMESTAMP", + ) + .bind(&c.id) + .bind(&c.fn_) + .bind(&c.name) + .bind(&c.nickname) + .bind(&c.email) + .bind(&c.url) + .bind(&c.description) + .bind(&c.avatarhash) + .bind(&c.avatartype) + .execute(db) + .await?; + Ok(()) +} + +pub async fn contact_set_avatar(db: &Db, id: &str, hash: Option<&str>, kind: &str) -> Result<()> { + sqlx::query( + "INSERT INTO contacts (id, avatarhash, avatartype) VALUES (?, ?, ?) + ON CONFLICT(id) DO UPDATE SET avatarhash = excluded.avatarhash, avatartype = excluded.avatartype, updated_at = CURRENT_TIMESTAMP", + ) + .bind(id) + .bind(hash) + .bind(kind) + .execute(db) + .await?; + Ok(()) +} + +pub async fn contact_set_nickname(db: &Db, id: &str, nickname: Option<&str>) -> Result<()> { + sqlx::query( + "INSERT INTO contacts (id, nickname) VALUES (?, ?) + ON CONFLICT(id) DO UPDATE SET nickname = excluded.nickname, updated_at = CURRENT_TIMESTAMP", + ) + .bind(id) + .bind(nickname) + .execute(db) + .await?; + Ok(()) +} + +pub async fn avatar_exists(db: &Db, hash: &str) -> Result { + let n: i64 = sqlx::query_scalar("SELECT COUNT(*) FROM avatars WHERE hash = ?").bind(hash).fetch_one(db).await?; + Ok(n > 0) +} + +pub async fn avatar_save(db: &Db, hash: &str, mime: &str, data: &[u8]) -> Result<()> { + sqlx::query("INSERT OR REPLACE INTO avatars (hash, mime, data) VALUES (?, ?, ?)") + .bind(hash) + .bind(mime) + .bind(data) + .execute(db) + .await?; + Ok(()) +} + +pub async fn avatar_get(db: &Db, hash: &str) -> Result)>> { + Ok(sqlx::query_as::<_, (String, Vec)>("SELECT mime, data FROM avatars WHERE hash = ?") + .bind(hash) + .fetch_optional(db) + .await?) +} + +// ---------------------------------------------------------------- Messages + +pub const MESSAGE_TYPE: &[&str] = &[ + "chat", + "headline", + "invitation", + "jingle_end", + "jingle_finish", + "jingle_incoming", + "jingle_outgoing", + "jingle_reject", + "jingle_retract", +]; + +pub const MESSAGE_TYPE_MUC: &[&str] = &["groupchat", "muc_admin", "muc_member", "muc_outcast", "muc_owner"]; + +#[derive(Debug, Clone, FromRow, Serialize, Default)] +pub struct Message { + pub mid: i64, + pub user_id: String, + pub id: String, + pub messageid: Option, + pub originid: Option, + pub stanzaid: Option, + pub replaceid: Option, + pub jidto: String, + pub jidfrom: String, + pub resource: Option, + #[sqlx(rename = "type")] + #[serde(rename = "type")] + pub type_: String, + pub subject: Option, + pub thread: Option, + pub body: Option, + pub html: Option, + pub quoted: bool, + pub markable: bool, + pub seen: bool, + pub delivered: Option, + pub displayed: Option, + pub retracted: bool, + pub encrypted: bool, + pub omemoheader: Option, + pub bundleid: Option, + pub parentmid: Option, + pub resolved: bool, + pub published: String, + pub created_at: String, +} + +const MESSAGE_COLUMNS: &str = "mid, user_id, id, messageid, originid, stanzaid, replaceid, jidto, jidfrom, resource, type, subject, thread, body, html, quoted, markable, seen, delivered, displayed, retracted, encrypted, omemoheader, bundleid, parentmid, resolved, published, created_at"; + +impl Message { + pub fn is_muc(&self) -> bool { + MESSAGE_TYPE_MUC.contains(&self.type_.as_str()) + } + + pub fn is_classic(&self) -> bool { + self.type_ == "chat" || self.type_ == "groupchat" + } + + pub fn is_empty(&self) -> bool { + self.body.as_deref().unwrap_or("").is_empty() + && self.subject.as_deref().unwrap_or("").is_empty() + && self.omemoheader.is_none() + } + + /// The contact/room this message belongs to + pub fn jid(&self) -> &str { + if self.jidfrom == self.user_id { &self.jidto } else { &self.jidfrom } + } + + pub fn color(&self) -> &'static str { + crate::utils::string_to_color(self.resource.as_deref().unwrap_or(&self.jidfrom)) + } +} + +#[derive(Debug, Clone, FromRow, Serialize, Default)] +pub struct MessageFile { + pub id: i64, + pub message_mid: i64, + pub name: Option, + #[sqlx(rename = "type")] + #[serde(rename = "type")] + pub type_: Option, + pub size: Option, + pub url: String, + pub disposition: Option, + pub thumbnail_url: Option, + pub thumbnail_type: Option, + pub thumbnail_width: Option, + pub thumbnail_height: Option, +} + +#[derive(Debug, Clone, FromRow, Serialize)] +pub struct Reaction { + pub message_mid: i64, + pub jidfrom: String, + pub emoji: String, + pub created_at: String, +} + +/// Find the stored version of an incoming message, see `Message::findByStanza` +pub async fn message_find_by_stanzaid(db: &Db, user: &str, jidfrom: &str, stanzaid: &str) -> Result> { + Ok(sqlx::query_as::<_, Message>(AssertSqlSafe(format!( + "SELECT {MESSAGE_COLUMNS} FROM messages WHERE user_id = ? AND jidfrom = ? AND stanzaid = ? LIMIT 1" + ))) + .bind(user) + .bind(jidfrom) + .bind(stanzaid) + .fetch_optional(db) + .await?) +} + +pub async fn message_find_by_originid(db: &Db, user: &str, jidfrom: &str, originid: &str) -> Result> { + Ok(sqlx::query_as::<_, Message>(AssertSqlSafe(format!( + "SELECT {MESSAGE_COLUMNS} FROM messages WHERE user_id = ? AND jidfrom = ? AND (originid = ? OR id = ?) LIMIT 1" + ))) + .bind(user) + .bind(jidfrom) + .bind(originid) + .bind(originid) + .fetch_optional(db) + .await?) +} + +pub async fn message_by_mid(db: &Db, user: &str, mid: i64) -> Result> { + Ok(sqlx::query_as::<_, Message>(AssertSqlSafe(format!("SELECT {MESSAGE_COLUMNS} FROM messages WHERE user_id = ? AND mid = ?"))) + .bind(user) + .bind(mid) + .fetch_optional(db) + .await?) +} + +pub async fn message_by_id(db: &Db, user: &str, id: &str) -> Result> { + Ok(sqlx::query_as::<_, Message>(AssertSqlSafe(format!("SELECT {MESSAGE_COLUMNS} FROM messages WHERE user_id = ? AND id = ? LIMIT 1"))) + .bind(user) + .bind(id) + .fetch_optional(db) + .await?) +} + +/// Resolve a message referenced by another one (reply, reaction, retraction, receipt) +/// from the conversation `jid`, by its message id, origin id or stanza id. +pub async fn message_resolve_reference(db: &Db, user: &str, jid: &str, reference: &str) -> Result> { + Ok(sqlx::query_as::<_, Message>(AssertSqlSafe(format!( + "SELECT {MESSAGE_COLUMNS} FROM messages WHERE user_id = ? AND (jidfrom = ? OR jidto = ?) + AND (messageid = ? OR originid = ? OR stanzaid = ? OR id = ?) ORDER BY mid DESC LIMIT 1" + ))) + .bind(user) + .bind(jid) + .bind(jid) + .bind(reference) + .bind(reference) + .bind(reference) + .bind(reference) + .fetch_optional(db) + .await?) +} + +/// Insert or update a message, returns its mid +pub async fn message_save(db: &Db, m: &Message) -> Result { + if m.mid > 0 { + sqlx::query( + "UPDATE messages SET id = ?, messageid = ?, originid = ?, stanzaid = ?, replaceid = ?, jidto = ?, jidfrom = ?, resource = ?, + type = ?, subject = ?, thread = ?, body = ?, html = ?, quoted = ?, markable = ?, seen = ?, delivered = ?, displayed = ?, + retracted = ?, encrypted = ?, omemoheader = ?, bundleid = ?, parentmid = ?, resolved = ?, published = ?, updated_at = CURRENT_TIMESTAMP + WHERE mid = ?", + ) + .bind(&m.id) + .bind(&m.messageid) + .bind(&m.originid) + .bind(&m.stanzaid) + .bind(&m.replaceid) + .bind(&m.jidto) + .bind(&m.jidfrom) + .bind(&m.resource) + .bind(&m.type_) + .bind(&m.subject) + .bind(&m.thread) + .bind(&m.body) + .bind(&m.html) + .bind(m.quoted) + .bind(m.markable) + .bind(m.seen) + .bind(&m.delivered) + .bind(&m.displayed) + .bind(m.retracted) + .bind(m.encrypted) + .bind(&m.omemoheader) + .bind(m.bundleid) + .bind(m.parentmid) + .bind(m.resolved) + .bind(&m.published) + .bind(m.mid) + .execute(db) + .await?; + return Ok(m.mid); + } + + let res = sqlx::query( + "INSERT INTO messages (user_id, id, messageid, originid, stanzaid, replaceid, jidto, jidfrom, resource, type, subject, thread, + body, html, quoted, markable, seen, delivered, displayed, retracted, encrypted, omemoheader, bundleid, parentmid, resolved, published) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + ON CONFLICT(user_id, jidfrom, id) DO UPDATE SET body = excluded.body, stanzaid = COALESCE(excluded.stanzaid, stanzaid), + seen = MAX(seen, excluded.seen), updated_at = CURRENT_TIMESTAMP + RETURNING mid", + ) + .bind(&m.user_id) + .bind(&m.id) + .bind(&m.messageid) + .bind(&m.originid) + .bind(&m.stanzaid) + .bind(&m.replaceid) + .bind(&m.jidto) + .bind(&m.jidfrom) + .bind(&m.resource) + .bind(&m.type_) + .bind(&m.subject) + .bind(&m.thread) + .bind(&m.body) + .bind(&m.html) + .bind(m.quoted) + .bind(m.markable) + .bind(m.seen) + .bind(&m.delivered) + .bind(&m.displayed) + .bind(m.retracted) + .bind(m.encrypted) + .bind(&m.omemoheader) + .bind(m.bundleid) + .bind(m.parentmid) + .bind(m.resolved) + .bind(&m.published) + .fetch_one(db) + .await?; + + use sqlx::Row; + Ok(res.get::(0)) +} + +/// Messages of a conversation, newest first +pub async fn messages_for( + db: &Db, + user: &str, + jid: &str, + muc: bool, + before: Option<&str>, + after: Option<&str>, + limit: i64, +) -> Result> { + let types = if muc { MESSAGE_TYPE_MUC } else { MESSAGE_TYPE }; + let types_sql = types.iter().map(|t| format!("'{t}'")).collect::>().join(","); + let mut sql = format!( + "SELECT {MESSAGE_COLUMNS} FROM messages WHERE user_id = ? AND (jidfrom = ? OR jidto = ?) AND type IN ({types_sql})" + ); + if muc { + sql.push_str(" AND subject IS NULL"); + } + if before.is_some() { + sql.push_str(" AND published < ?"); + } + if after.is_some() { + sql.push_str(" AND published >= ?"); + } + sql.push_str(if after.is_some() { " ORDER BY published ASC, mid ASC" } else { " ORDER BY published DESC, mid DESC" }); + sql.push_str(" LIMIT ?"); + + let mut q = sqlx::query_as::<_, Message>(AssertSqlSafe(sql)).bind(user).bind(jid).bind(jid); + if let Some(b) = before { + q = q.bind(b); + } + if let Some(a) = after { + q = q.bind(a); + } + Ok(q.bind(limit).fetch_all(db).await?) +} + +pub async fn messages_count(db: &Db, user: &str, jid: &str) -> Result { + Ok(sqlx::query_scalar("SELECT COUNT(*) FROM messages WHERE user_id = ? AND (jidfrom = ? OR jidto = ?)") + .bind(user) + .bind(jid) + .bind(jid) + .fetch_one(db) + .await?) +} + +pub async fn messages_clear(db: &Db, user: &str, jid: &str) -> Result<()> { + sqlx::query("DELETE FROM messages WHERE user_id = ? AND (jidfrom = ? OR jidto = ?)") + .bind(user) + .bind(jid) + .bind(jid) + .execute(db) + .await?; + sqlx::query("DELETE FROM mam_earliests WHERE user_id = ? AND jid = ?").bind(user).bind(jid).execute(db).await?; + Ok(()) +} + +pub async fn unreads_count(db: &Db, user: &str, jid: &str, muc: bool) -> Result { + let types = if muc { MESSAGE_TYPE_MUC } else { MESSAGE_TYPE }; + let types_sql = types.iter().map(|t| format!("'{t}'")).collect::>().join(","); + Ok(sqlx::query_scalar(AssertSqlSafe(format!( + "SELECT COUNT(*) FROM messages WHERE user_id = ? AND jidfrom = ? AND seen = 0 AND type IN ({types_sql})" + ))) + .bind(user) + .bind(jid) + .fetch_one(db) + .await?) +} + +/// Number of conversations (1:1 and rooms in `rooms`) with unread messages +pub async fn unreads_total(db: &Db, user: &str, rooms: &[String]) -> Result { + let rows: Vec<(String, String)> = sqlx::query_as( + "SELECT DISTINCT jidfrom, type FROM messages WHERE user_id = ? AND seen = 0 AND jidfrom != user_id", + ) + .bind(user) + .fetch_all(db) + .await?; + Ok(rows + .iter() + .filter(|(jid, t)| if t == "groupchat" { rooms.contains(jid) } else { MESSAGE_TYPE.contains(&t.as_str()) }) + .count() as i64) +} + +pub async fn messages_mark_seen(db: &Db, user: &str, jid: &str) -> Result { + Ok(sqlx::query("UPDATE messages SET seen = 1 WHERE user_id = ? AND jidfrom = ? AND seen = 0") + .bind(user) + .bind(jid) + .execute(db) + .await? + .rows_affected()) +} + +pub async fn message_set_field(db: &Db, mid: i64, field: &str, value: Option<&str>) -> Result<()> { + anyhow::ensure!(matches!(field, "delivered" | "displayed" | "body"), "field not allowed"); + sqlx::query(AssertSqlSafe(format!("UPDATE messages SET {field} = ?, updated_at = CURRENT_TIMESTAMP WHERE mid = ?"))) + .bind(value) + .bind(mid) + .execute(db) + .await?; + Ok(()) +} + +pub async fn message_retract(db: &Db, mid: i64) -> Result<()> { + sqlx::query("UPDATE messages SET retracted = 1, body = NULL, html = NULL, updated_at = CURRENT_TIMESTAMP WHERE mid = ?") + .bind(mid) + .execute(db) + .await?; + sqlx::query("DELETE FROM message_files WHERE message_mid = ?").bind(mid).execute(db).await?; + Ok(()) +} + +pub async fn message_set_resolved(db: &Db, mid: i64) -> Result<()> { + sqlx::query("UPDATE messages SET resolved = 1 WHERE mid = ?").bind(mid).execute(db).await?; + Ok(()) +} + +/// Last message of each conversation, used by the Chats list +pub async fn last_message(db: &Db, user: &str, jid: &str, muc: bool) -> Result> { + Ok(messages_for(db, user, jid, muc, None, None, 1).await?.into_iter().next()) +} + +/// Contacts the user talked with recently +pub async fn top_contacts(db: &Db, user: &str, limit: i64) -> Result> { + Ok(sqlx::query_scalar( + "SELECT CASE WHEN jidfrom = user_id THEN jidto ELSE jidfrom END AS jid FROM messages + WHERE user_id = ? AND type = 'chat' GROUP BY jid ORDER BY MAX(published) DESC LIMIT ?", + ) + .bind(user) + .bind(limit) + .fetch_all(db) + .await?) +} + +// Resolved URLs (link previews) + +pub async fn url_get(db: &Db, hash: &str) -> Result> { + Ok(sqlx::query_scalar("SELECT data FROM urls WHERE hash = ?").bind(hash).fetch_optional(db).await?) +} + +pub async fn url_save(db: &Db, hash: &str, url: &str, data: &str) -> Result<()> { + sqlx::query("INSERT OR REPLACE INTO urls (hash, url, data) VALUES (?, ?, ?)").bind(hash).bind(url).bind(data).execute(db).await?; + Ok(()) +} + +/// Forget the previews older than a month, the pages may have changed +pub async fn urls_cleanup(db: &Db) -> Result<()> { + sqlx::query("DELETE FROM urls WHERE created_at < datetime('now', '-30 days')").execute(db).await?; + Ok(()) +} + +// Files + +pub async fn message_file_save(db: &Db, f: &MessageFile) -> Result<()> { + sqlx::query("DELETE FROM message_files WHERE message_mid = ?").bind(f.message_mid).execute(db).await?; + sqlx::query( + "INSERT INTO message_files (message_mid, name, type, size, url, disposition, thumbnail_url, thumbnail_type, thumbnail_width, thumbnail_height) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", + ) + .bind(f.message_mid) + .bind(&f.name) + .bind(&f.type_) + .bind(f.size) + .bind(&f.url) + .bind(&f.disposition) + .bind(&f.thumbnail_url) + .bind(&f.thumbnail_type) + .bind(f.thumbnail_width) + .bind(f.thumbnail_height) + .execute(db) + .await?; + Ok(()) +} + +pub async fn message_file(db: &Db, mid: i64) -> Result> { + Ok(sqlx::query_as::<_, MessageFile>( + "SELECT id, message_mid, name, type, size, url, disposition, thumbnail_url, thumbnail_type, thumbnail_width, thumbnail_height + FROM message_files WHERE message_mid = ? LIMIT 1", + ) + .bind(mid) + .fetch_optional(db) + .await?) +} + +// Reactions + +pub async fn reactions_for(db: &Db, mids: &[i64]) -> Result> { + if mids.is_empty() { + return Ok(vec![]); + } + let placeholders = vec!["?"; mids.len()].join(","); + let sql = format!( + "SELECT message_mid, jidfrom, emoji, created_at FROM reactions WHERE message_mid IN ({placeholders}) ORDER BY created_at, id" + ); + let mut q = sqlx::query_as::<_, Reaction>(AssertSqlSafe(sql)); + for mid in mids { + q = q.bind(mid); + } + Ok(q.fetch_all(db).await?) +} + +pub async fn reactions_replace(db: &Db, mid: i64, jidfrom: &str, emojis: &[String]) -> Result<()> { + sqlx::query("DELETE FROM reactions WHERE message_mid = ? AND jidfrom = ?").bind(mid).bind(jidfrom).execute(db).await?; + for emoji in emojis { + sqlx::query("INSERT OR IGNORE INTO reactions (message_mid, jidfrom, emoji) VALUES (?, ?, ?)") + .bind(mid) + .bind(jidfrom) + .bind(emoji) + .execute(db) + .await?; + } + Ok(()) +} + +// MAM + +pub async fn mam_earliest_exists(db: &Db, user: &str, jid: &str) -> Result { + let n: i64 = sqlx::query_scalar("SELECT COUNT(*) FROM mam_earliests WHERE user_id = ? AND jid = ?") + .bind(user) + .bind(jid) + .fetch_one(db) + .await?; + Ok(n > 0) +} + +pub async fn mam_earliest_set(db: &Db, user: &str, jid: &str, earliest: Option<&str>) -> Result<()> { + sqlx::query("INSERT OR REPLACE INTO mam_earliests (user_id, jid, earliest) VALUES (?, ?, ?)") + .bind(user) + .bind(jid) + .bind(earliest) + .execute(db) + .await?; + Ok(()) +} + +pub async fn earliest_message_date(db: &Db, user: &str, jid: &str) -> Result> { + Ok(sqlx::query_scalar("SELECT MIN(published) FROM messages WHERE user_id = ? AND (jidfrom = ? OR jidto = ?)") + .bind(user) + .bind(jid) + .bind(jid) + .fetch_one(db) + .await?) +} + +pub async fn latest_message_date(db: &Db, user: &str) -> Result> { + Ok(sqlx::query_scalar("SELECT MAX(published) FROM messages WHERE user_id = ? AND type = 'chat'") + .bind(user) + .fetch_one(db) + .await?) +} + +pub async fn latest_muc_message_date(db: &Db, user: &str, room: &str) -> Result> { + Ok(sqlx::query_scalar("SELECT MAX(published) FROM messages WHERE user_id = ? AND jidfrom = ? AND type = 'groupchat'") + .bind(user) + .bind(room) + .fetch_one(db) + .await?) +} + +// OMEMO per-conversation state + +pub async fn omemo_state(db: &Db, user: &str, jid: &str) -> Result> { + Ok(sqlx::query_scalar("SELECT enabled FROM omemo_states WHERE user_id = ? AND jid = ?") + .bind(user) + .bind(jid) + .fetch_optional(db) + .await?) +} + +pub async fn omemo_state_set(db: &Db, user: &str, jid: &str, enabled: bool) -> Result<()> { + sqlx::query("INSERT OR REPLACE INTO omemo_states (user_id, jid, enabled) VALUES (?, ?, ?)") + .bind(user) + .bind(jid) + .bind(enabled) + .execute(db) + .await?; + Ok(()) +} + +// Push subscriptions + +pub async fn push_subscription_save(db: &Db, user: &str, endpoint: &str, p256dh: &str, auth: &str) -> Result<()> { + sqlx::query( + "INSERT INTO push_subscriptions (endpoint, user_id, p256dh, auth, activity_at) VALUES (?, ?, ?, ?, CURRENT_TIMESTAMP) + ON CONFLICT(endpoint) DO UPDATE SET user_id = excluded.user_id, p256dh = excluded.p256dh, auth = excluded.auth, activity_at = CURRENT_TIMESTAMP", + ) + .bind(endpoint) + .bind(user) + .bind(p256dh) + .bind(auth) + .execute(db) + .await?; + Ok(()) +} + +pub async fn push_subscription_touch(db: &Db, endpoint: &str) -> Result<()> { + sqlx::query("UPDATE push_subscriptions SET activity_at = CURRENT_TIMESTAMP WHERE endpoint = ?") + .bind(endpoint) + .execute(db) + .await?; + Ok(()) +} + +// Open chats (the Chats list) + +pub async fn open_chat_touch(db: &Db, user: &str, jid: &str, at: Option<&str>) -> Result<()> { + let at = at.map(String::from).unwrap_or_else(crate::utils::now_sql_micro); + sqlx::query( + "INSERT INTO open_chats (user_id, jid, updated_at) VALUES (?, ?, ?) + ON CONFLICT(user_id, jid) DO UPDATE SET updated_at = MAX(updated_at, excluded.updated_at)", + ) + .bind(user) + .bind(jid) + .bind(at) + .execute(db) + .await?; + Ok(()) +} + +pub async fn open_chat_exists(db: &Db, user: &str, jid: &str) -> Result { + let n: i64 = sqlx::query_scalar("SELECT COUNT(*) FROM open_chats WHERE user_id = ? AND jid = ?") + .bind(user) + .bind(jid) + .fetch_one(db) + .await?; + Ok(n > 0) +} + +pub async fn open_chat_close(db: &Db, user: &str, jid: &str) -> Result<()> { + sqlx::query("DELETE FROM open_chats WHERE user_id = ? AND jid = ?").bind(user).bind(jid).execute(db).await?; + Ok(()) +} + +/// Open chats, oldest first. Conversations with unread messages are opened automatically. +pub async fn open_chats(db: &Db, user: &str) -> Result> { + let types_sql = MESSAGE_TYPE.iter().map(|t| format!("'{t}'")).collect::>().join(","); + let unread: Vec<(String, String)> = sqlx::query_as(AssertSqlSafe(format!( + "SELECT jidfrom, MAX(published) FROM messages WHERE user_id = ? AND seen = 0 AND jidfrom != user_id + AND type IN ({types_sql}) GROUP BY jidfrom" + ))) + .bind(user) + .fetch_all(db) + .await?; + for (jid, published) in unread { + if !open_chat_exists(db, user, &jid).await? { + open_chat_touch(db, user, &jid, Some(&published)).await?; + } + } + Ok(sqlx::query_scalar("SELECT jid FROM open_chats WHERE user_id = ? ORDER BY updated_at ASC") + .bind(user) + .fetch_all(db) + .await?) +} + +/// Plain text search in a discussion +pub async fn messages_search(db: &Db, user: &str, jid: &str, muc: bool, keywords: &str, limit: i64) -> Result> { + let types = if muc { MESSAGE_TYPE_MUC } else { MESSAGE_TYPE }; + let types_sql = types.iter().map(|t| format!("'{t}'")).collect::>().join(","); + let mut sql = format!( + "SELECT {MESSAGE_COLUMNS} FROM messages WHERE user_id = ? AND (jidfrom = ? OR jidto = ?) AND type IN ({types_sql}) + AND encrypted = 0 AND retracted = 0" + ); + let words: Vec = keywords.split_whitespace().take(8).map(|w| format!("%{}%", w.replace('%', "\\%").replace('_', "\\_"))).collect(); + for _ in &words { + sql.push_str(" AND lower(body) LIKE ? ESCAPE '\\'"); + } + sql.push_str(" ORDER BY published DESC LIMIT ?"); + let mut q = sqlx::query_as::<_, Message>(AssertSqlSafe(sql)).bind(user).bind(jid).bind(jid); + for w in &words { + q = q.bind(w); + } + Ok(q.bind(limit).fetch_all(db).await?) +} + +/// Forget everything stored for an account +pub async fn user_delete_data(db: &Db, user: &str) -> Result<()> { + for sql in [ + "DELETE FROM reactions WHERE message_mid IN (SELECT mid FROM messages WHERE user_id = ?)", + "DELETE FROM message_files WHERE message_mid IN (SELECT mid FROM messages WHERE user_id = ?)", + "DELETE FROM messages WHERE user_id = ?", + "DELETE FROM open_chats WHERE user_id = ?", + "DELETE FROM mam_earliests WHERE user_id = ?", + "DELETE FROM omemo_states WHERE user_id = ?", + "DELETE FROM encrypted_passwords WHERE user_id = ?", + "DELETE FROM push_subscriptions WHERE user_id = ?", + "DELETE FROM users WHERE id = ?", + ] { + sqlx::query(sql).bind(user).execute(db).await?; + } + Ok(()) +} + +pub async fn push_subscriptions(db: &Db, user: &str) -> Result> { + Ok(sqlx::query_as( + "SELECT endpoint, COALESCE(p256dh, ''), COALESCE(auth, '') FROM push_subscriptions WHERE user_id = ? AND enabled = 1", + ) + .bind(user) + .fetch_all(db) + .await?) +} + +pub async fn push_subscription_delete(db: &Db, endpoint: &str) -> Result<()> { + sqlx::query("DELETE FROM push_subscriptions WHERE endpoint = ?").bind(endpoint).execute(db).await?; + Ok(()) +} + +#[derive(Debug, Clone, FromRow, Serialize)] +pub struct PushSubscription { + pub id: i64, + pub endpoint: String, + pub enabled: bool, + pub activity_at: String, +} + +pub async fn push_subscriptions_list(db: &Db, user: &str) -> Result> { + Ok(sqlx::query_as::<_, PushSubscription>( + "SELECT rowid AS id, endpoint, enabled, activity_at FROM push_subscriptions WHERE user_id = ? ORDER BY activity_at DESC", + ) + .bind(user) + .fetch_all(db) + .await?) +} + +pub async fn push_subscription_toggle(db: &Db, user: &str, id: i64, enabled: bool) -> Result<()> { + sqlx::query("UPDATE push_subscriptions SET enabled = ? WHERE rowid = ? AND user_id = ?") + .bind(enabled) + .bind(id) + .bind(user) + .execute(db) + .await?; + Ok(()) +} diff --git a/src/forms.rs b/src/forms.rs new file mode 100644 index 0000000..0bb3be2 --- /dev/null +++ b/src/forms.rs @@ -0,0 +1,136 @@ +//! XEP-0004 Data Forms: render them with Movim's form styles and convert the +//! values posted by `MovimUtils.formToJson` back to a submit form. + +use minidom::Element; +use serde_json::Value; + +use crate::{ + proto::ns, + utils::html_escape, + xmpp::{child_text, el, BuilderExt}, +}; + +fn values(field: &Element) -> Vec { + field.children().filter(|c| c.name() == "value").map(|v| v.text()).collect() +} + +/// HTML form fields for a `` +pub fn to_html(x: &Element) -> String { + let mut html = String::new(); + + if let Some(title) = child_text(x, "title") { + html.push_str(&format!("

{}

", html_escape(&title))); + } + for i in x.children().filter(|c| c.name() == "instructions") { + html.push_str(&format!("

{}

", html_escape(&i.text()))); + } + + for field in x.children().filter(|c| c.name() == "field") { + let var = field.attr("var").unwrap_or(""); + let type_ = field.attr("type").unwrap_or("text-single"); + let label = field.attr("label").unwrap_or(var); + let vals = values(field); + let id = format!("f_{}", var.replace(|c: char| !c.is_ascii_alphanumeric(), "_")); + let name = html_escape(var); + let label_html = html_escape(label); + let desc = child_text(field, "desc").map(|d| format!("

{}

", html_escape(&d))).unwrap_or_default(); + + match type_ { + "hidden" => { + html.push_str(&format!( + "", + html_escape(vals.first().map(String::as_str).unwrap_or("")) + )); + } + "fixed" => { + for v in vals { + html.push_str(&format!("
  • {}

", html_escape(&v))); + } + } + "boolean" => { + let checked = vals.first().is_some_and(|v| v == "1" || v == "true"); + html.push_str(&format!( + "
  • {label_html}

    {desc}
", + if checked { "checked" } else { "" } + )); + } + "list-single" | "list-multi" => { + let multiple = type_ == "list-multi"; + let mut options = String::new(); + for o in field.children().filter(|c| c.name() == "option") { + let value = child_text(o, "value").unwrap_or_default(); + let olabel = o.attr("label").unwrap_or(&value).to_string(); + let selected = vals.contains(&value); + options.push_str(&format!( + "", + html_escape(&value), + if selected { "selected" } else { "" }, + html_escape(&olabel) + )); + } + html.push_str(&format!( + "
", + if multiple { "multiple" } else { "" } + )); + } + "text-multi" | "jid-multi" => { + html.push_str(&format!( + "
", + html_escape(&vals.join("\n")) + )); + } + "text-private" => { + html.push_str(&format!( + "
", + html_escape(vals.first().map(String::as_str).unwrap_or("")) + )); + } + _ => { + html.push_str(&format!( + "
", + html_escape(vals.first().map(String::as_str).unwrap_or("")) + )); + } + } + } + html +} + +/// Build a `type="submit"` form from the posted values, following the field +/// types of the original form when available. +pub fn submit_from_json(data: &Value, original: Option<&Element>) -> Element { + let mut x = el("x", ns::DATA).a("type", "submit"); + let Some(obj) = data.as_object() else { return x.build() }; + + for (var, field) in obj { + if var == "isDirty" { + continue; + } + let value = field.get("value").cloned().unwrap_or(Value::Null); + let attr_type = field.get("attributes").and_then(|a| a.get("type")).and_then(|t| t.as_str()).unwrap_or(""); + let original_type = original + .and_then(|o| o.children().find(|f| f.name() == "field" && f.attr("var") == Some(var.as_str()))) + .and_then(|f| f.attr("type")) + .unwrap_or(""); + + let mut f = el("field", ns::DATA).a("var", var.as_str()); + let vals: Vec = match &value { + Value::Bool(b) => vec![if *b { "1".into() } else { "0".into() }], + Value::String(s) if original_type == "text-multi" || original_type == "jid-multi" || attr_type == "text-multi" => { + s.lines().map(String::from).filter(|l| !l.is_empty()).collect() + } + Value::String(s) => vec![s.clone()], + Value::Array(a) => a.iter().filter_map(|v| v.as_str().map(String::from)).collect(), + Value::Null => vec![], + other => vec![other.to_string()], + }; + if var == "FORM_TYPE" { + f = f.a("type", "hidden"); + } + for v in vals { + f = f.append(el("value", ns::DATA).append(v).build()); + } + x = x.append(f.build()); + } + x.build() +} diff --git a/src/handler.rs b/src/handler.rs new file mode 100644 index 0000000..e0bd8f4 --- /dev/null +++ b/src/handler.rs @@ -0,0 +1,912 @@ +//! Incoming XMPP stanzas (Movim's `Moxl\Xec\Payload` handlers), dispatched to +//! the widgets. + +use minidom::Element; +use serde_json::json; +use std::{sync::Arc, time::Instant}; +use tokio::sync::mpsc; + +use crate::{ + app::{App, Ctx}, + dates, db, + proto::{self, ns}, + rpc, + session::{MucPresence, Presence, RosterItem, Session}, + utils, + widgets::{self, chat, chats, notif, rooms}, + xmpp::{self, child_text, NS_CLIENT}, +}; + +/// Run the incoming stanzas loop of a session +pub fn spawn(app: Arc, session: Arc, mut incoming: mpsc::UnboundedReceiver) { + tokio::spawn(async move { + let ctx = Ctx::ws(app.clone(), session.clone()); + while let Some(el) = incoming.recv().await { + if el.ns() == xmpp::NS_INTERNAL { + if el.name() == "closed" { + break; + } + if let Some(x) = session.xmpp() { + x.release_barrier(&el); + } + continue; + } + handle(&ctx, el).await; + } + + tracing::info!("xmpp connection closed for session {}", session.sid); + let can_reconnect = { + let st = session.st.lock().unwrap(); + st.logged && !st.logging_out && st.password.is_some() + }; + if can_reconnect && reconnect(&app, &session).await { + return; + } + disconnected(&app, &session).await; + }); +} + +/// The connection was lost (network, server restart): connect again with the +/// same resource and restore the session, like a mobile client would +async fn reconnect(app: &Arc, session: &Arc) -> bool { + let ctx = Ctx::ws(app.clone(), session.clone()); + session.set_xmpp(None); + rpc!(ctx, "MovimUtils.removeClass", "#status_websocket", "hide"); + rpc!(ctx, "MovimUtils.addClass", "#status_websocket", "connect"); + + // Rooms to join again once connected + let rooms: Vec<(String, Option)> = { + let mut st = session.st.lock().unwrap(); + let rooms = st + .conferences + .values() + .filter(|c| c.connected || c.joining) + .map(|c| (c.jid.clone(), c.nick.clone())) + .collect(); + for c in st.conferences.values_mut() { + c.connected = false; + c.joining = false; + } + st.muc_presences.clear(); + st.presences.clear(); + st.call = None; + rooms + }; + + let mut delay = 2; + let deadline = Instant::now() + std::time::Duration::from_secs(30 * 60); + while Instant::now() < deadline { + tokio::time::sleep(std::time::Duration::from_secs(delay)).await; + delay = (delay * 2).min(60); + + let (jid, password, resource, stop) = { + let st = session.st.lock().unwrap(); + (st.jid(), st.password.clone(), st.resource.clone(), st.logging_out || !st.logged) + }; + if stop || app.hub.get(&session.sid).is_none() { + return false; + } + let (Some(jid), Some(password)) = (jid, password) else { return false }; + let Ok(bare) = jid.parse::() else { return false }; + + match xmpp::connect(bare, password, &resource, app.cfg.debug_xmpp, app.cfg.xmpp_plaintext.as_deref()).await { + Ok(conn) => { + tracing::info!("session {} reconnected", session.sid); + widgets::presence::start_session(&ctx, conn).await; + for (room, nick) in rooms { + let joined = session.st.lock().unwrap().conferences.get(&room).is_some_and(|c| c.connected || c.joining); + if !joined { + rooms::join(&ctx, &room, nick.as_deref()).await; + } + } + rpc!(ctx, "MovimUtils.addClass", "#status_websocket", "hide"); + rpc!(ctx, "Chats_ajaxHttpGet"); + rpc!(ctx, "Rooms_ajaxHttpGet"); + return true; + } + // Wrong credentials now (password changed): give up + Err(xmpp::LoginError::Auth(_)) => return false, + Err(e) => tracing::info!("reconnection of {} failed: {e}", session.sid), + } + } + false +} + +pub async fn disconnected(app: &Arc, session: &Arc) { + let was_logged = { + let mut st = session.st.lock().unwrap(); + let was = st.logged; + st.logged = false; + was + }; + session.set_xmpp(None); + widgets::login::forget_session(&session.sid); + if was_logged { + widgets::visio::on_disconnect(&Ctx::ws(app.clone(), session.clone())).await; + session.close_clients(); + } + app.hub.remove(&session.sid); +} + +pub async fn handle(ctx: &Ctx, el: Element) { + match el.name() { + "message" => message(ctx, &el).await, + "presence" => presence(ctx, &el).await, + "iq" => iq(ctx, &el).await, + _ => {} + } +} + +// ---------------------------------------------------------------- IQ + +async fn iq(ctx: &Ctx, el: &Element) { + let type_ = el.attr("type").unwrap_or(""); + if type_ != "get" && type_ != "set" { + return; + } + let me = ctx.jid(); + let from = el.attr("from").unwrap_or(""); + let from_bare = utils::bare_jid(from); + let from_server_or_me = from.is_empty() || from_bare == me; + + let Some(payload) = el.children().next() else { + ctx.send(xmpp::error_for(el, "cancel", "bad-request")); + return; + }; + + match (type_, payload.name(), payload.ns().as_str()) { + ("get", "query", ns::DISCO_INFO) => { + ctx.send(proto::disco_info_result(el, payload.attr("node"))); + } + ("get", "ping", ns::PING) => ctx.send(xmpp::result_for(el, None)), + ("get", "query", ns::VERSION) => ctx.send(proto::version_result(el)), + ("get", "query", ns::LAST) => { + let idle = ctx + .session + .as_ref() + .map(|s| s.st.lock().unwrap().last_activity.elapsed().as_secs()) + .unwrap_or(0); + ctx.send(xmpp::result_for( + el, + Some(xmpp::el("query", ns::LAST).a_attr("seconds", idle.to_string()).build()), + )); + } + ("set", "query", ns::ROSTER) if from_server_or_me => { + for item in payload.children().filter(|c| c.name() == "item") { + roster_item(ctx, item).await; + } + ctx.send(xmpp::result_for(el, None)); + widgets::search::on_roster_changed(ctx).await; + widgets::notifications::refresh_counter(ctx).await; + } + ("set", "block", ns::BLOCKING) | ("set", "unblock", ns::BLOCKING) if from_server_or_me => { + let block = payload.name() == "block"; + let items: Vec = payload + .children() + .filter(|c| c.name() == "item") + .filter_map(|c| c.attr("jid").map(String::from)) + .collect(); + ctx.st(|st| { + if !block && items.is_empty() { + st.blocked.clear(); + } + for j in &items { + if block { + st.blocked.insert(j.clone()); + } else { + st.blocked.remove(j); + } + } + }); + ctx.send(xmpp::result_for(el, None)); + widgets::account::on_blocklist_changed(ctx).await; + } + ("set", "jingle", ns::JINGLE) => { + widgets::visio::on_jingle_iq(ctx, el, payload).await; + } + ("set", "confirm", ns::HTTP_AUTH) => { + widgets::contactactions::on_confirm(ctx, el, payload).await; + } + _ => ctx.send(xmpp::error_for(el, "cancel", "service-unavailable")), + } +} + +trait AttrExt { + fn a_attr(self, k: &str, v: String) -> Self; +} + +impl AttrExt for minidom::element::ElementBuilder { + fn a_attr(self, k: &str, v: String) -> Self { + use crate::xmpp::BuilderExt; + self.a(k, v) + } +} + +pub async fn roster_item(ctx: &Ctx, item: &Element) { + let Some(jid) = item.attr("jid").map(String::from) else { return }; + let subscription = item.attr("subscription").unwrap_or("none").to_string(); + if subscription == "remove" { + ctx.st(|st| st.roster.remove(&jid)); + return; + } + let r = RosterItem { + jid: jid.clone(), + name: item.attr("name").map(String::from).filter(|n| !n.is_empty()), + groups: item.children().filter(|c| c.name() == "group").map(|g| g.text()).collect(), + subscription, + ask: item.attr("ask").map(String::from), + }; + ctx.st(|st| st.roster.insert(jid, r)); +} + +// ---------------------------------------------------------------- Presence + +fn show_to_value(show: Option<&str>) -> u8 { + match show { + Some("away") => 2, + Some("dnd") => 3, + Some("xa") => 4, + _ => 1, + } +} + +async fn presence(ctx: &Ctx, el: &Element) { + let me = ctx.jid(); + let Some(from) = el.attr("from") else { return }; + let bare = utils::bare_jid(from).to_string(); + let resource = from.split_once('/').map(|(_, r)| r.to_string()).unwrap_or_default(); + let type_ = el.attr("type").unwrap_or("available"); + + // MUC presence + if let Some(x) = el.get_child("x", ns::MUC_USER) { + rooms::on_muc_presence(ctx, el, x, &bare, &resource, type_).await; + return; + } + if ctx.st(|st| st.conferences.contains_key(&bare)).unwrap_or(false) && type_ == "error" { + rooms::on_muc_error(ctx, el, &bare).await; + return; + } + + match type_ { + "subscribe" => { + widgets::notifications::on_subscribe_request(ctx, &bare).await; + return; + } + "subscribed" | "unsubscribe" | "unsubscribed" => { + widgets::notifications::refresh_counter(ctx).await; + return; + } + "error" | "probe" => return, + _ => {} + } + + // vCard avatar update (XEP-0153) + if let Some(update) = el.get_child("x", ns::VCARD_UPDATE) { + if let Some(photo) = update.get_child("photo", ns::VCARD_UPDATE).map(|p| p.text()) { + crate::pep::check_vcard_avatar(ctx, &bare, &photo).await; + } + } + + let caps = el.get_child("c", ns::CAPS); + let p = Presence { + resource: resource.clone(), + value: if type_ == "unavailable" { 5 } else { show_to_value(child_text(el, "show").as_deref()) }, + status: child_text(el, "status").filter(|s| !s.is_empty()), + priority: child_text(el, "priority").and_then(|p| p.parse().ok()).unwrap_or(0), + node: caps.and_then(|c| c.attr("node")).map(String::from), + ver: caps.and_then(|c| c.attr("ver")).map(String::from), + idle: el.get_child("idle", ns::IDLE).and_then(|i| i.attr("since")).map(String::from), + }; + + if let (Some(ver), Some(node)) = (p.ver.clone(), p.node.clone()) { + widgets::visio::resolve_caps(ctx, from, &node, &ver).await; + } + + let mine = bare == me; + ctx.st(|st| { + let entry = st.presences.entry(bare.clone()).or_default(); + if type_ == "unavailable" { + entry.remove(&resource); + } else { + entry.insert(resource.clone(), p); + } + }); + + if mine { + return; + } + + chats::on_presence(ctx, &bare).await; + chat::on_presence(ctx, &bare).await; +} + +// ---------------------------------------------------------------- Messages + +#[derive(Clone, Debug)] +pub enum Origin { + Live, + Carbon { sent: bool }, + Mam { result_id: String }, +} + +async fn message(ctx: &Ctx, el: &Element) { + let me = ctx.jid(); + let from = el.attr("from").unwrap_or(""); + let from_bare = utils::bare_jid(from).to_string(); + + // XEP-0280 Carbons, only from our own account + for (name, sent) in [("sent", true), ("received", false)] { + if let Some(c) = el.get_child(name, ns::CARBONS) { + if from_bare != me { + return; + } + if let Some(inner) = c.get_child("forwarded", ns::FORWARD).and_then(|f| f.get_child("message", NS_CLIENT)) { + let stamp = c + .get_child("forwarded", ns::FORWARD) + .and_then(|f| f.get_child("delay", ns::DELAY)) + .and_then(|d| d.attr("stamp")) + .map(String::from); + handle_message(ctx, inner, Origin::Carbon { sent }, stamp).await; + } + return; + } + } + + // XEP-0313 MAM results + if let Some(result) = el.get_child("result", ns::MAM) { + let trusted = from.is_empty() + || from_bare == me + || ctx.st(|st| st.conferences.contains_key(&from_bare)).unwrap_or(false); + if !trusted { + return; + } + if let Some(queryid) = result.attr("queryid") { + ctx.st(|st| { + if let Some(c) = st.mam_counters.get_mut(queryid) { + *c += 1; + } + }); + } + let forwarded = result.get_child("forwarded", ns::FORWARD); + let stamp = forwarded + .and_then(|f| f.get_child("delay", ns::DELAY)) + .and_then(|d| d.attr("stamp")) + .map(String::from); + if let Some(inner) = forwarded.and_then(|f| f.get_child("message", NS_CLIENT)) { + let origin = Origin::Mam { result_id: result.attr("id").unwrap_or("").to_string() }; + handle_message(ctx, inner, origin, stamp).await; + } + return; + } + + // PubSub events (PEP) + if let Some(event) = el.get_child("event", ns::PUBSUB_EVENT) { + let source = if from.is_empty() { me.clone() } else { from_bare.clone() }; + crate::pep::on_event(ctx, &source, event).await; + return; + } + + handle_message(ctx, el, Origin::Live, None).await; +} + +fn stamp_of(el: &Element) -> Option { + el.get_child("delay", ns::DELAY).and_then(|d| d.attr("stamp")).map(String::from) +} + +/// Parse and handle a `` (direct, carbon or archived) +pub async fn handle_message(ctx: &Ctx, m: &Element, origin: Origin, outer_stamp: Option) { + let me = ctx.jid(); + let type_ = m.attr("type").unwrap_or("normal").to_string(); + let from = m.attr("from").unwrap_or("").to_string(); + let to = m.attr("to").unwrap_or("").to_string(); + let from_bare = if from.is_empty() { me.clone() } else { utils::bare_jid(&from).to_string() }; + let to_bare = if to.is_empty() { me.clone() } else { utils::bare_jid(&to).to_string() }; + let resource = from.split_once('/').map(|(_, r)| r.to_string()); + let is_live = matches!(origin, Origin::Live); + let is_mam = matches!(origin, Origin::Mam { .. }); + + if type_ == "error" { + if is_live { + if let Some(id) = m.attr("id") { + chat::on_publish_error(ctx, &from_bare, id, m).await; + } + } + return; + } + + let groupchat = type_ == "groupchat"; + let muc_pm = !groupchat && m.get_child("x", ns::MUC_USER).is_some() && m.get_child("x", ns::MUC_USER).unwrap().children().next().is_none(); + let (jidfrom, jidto) = if muc_pm { + // Private message from or to a MUC occupant: the conversation is the full JID + if from_bare == me { (me.clone(), to.clone()) } else { (from.clone(), me.clone()) } + } else { + (from_bare.clone(), to_bare.clone()) + }; + + // Blocked contacts + if !groupchat && ctx.st(|st| st.blocked.contains(&from_bare)).unwrap_or(false) { + return; + } + + // Chat states (live only) + if is_live || matches!(origin, Origin::Carbon { .. }) { + let state = ["composing", "paused", "active", "inactive", "gone"] + .into_iter() + .find(|s| m.get_child(s, ns::CHATSTATES).is_some()); + if let Some(state) = state { + if from_bare != me || groupchat { + let who = if groupchat { resource.clone().unwrap_or_default() } else { jidfrom.clone() }; + let conversation = if groupchat { from_bare.clone() } else { jidfrom.clone() }; + let my_nick = if groupchat { rooms::my_nick(ctx, &from_bare) } else { None }; + if my_nick.as_deref() != Some(who.as_str()) { + ctx.st(|st| { + let entry = st.chat_states.entry(conversation.clone()).or_default(); + if state == "composing" { + entry.insert(who.clone(), Instant::now()); + } else { + entry.remove(&who); + } + }); + chat::on_chat_state(ctx, &conversation).await; + chats::on_chat_state(ctx, &conversation).await; + } + } + } + } + + // XEP-0184 receipts + if let Some(received) = m.get_child("received", ns::RECEIPTS) { + if let Some(id) = received.attr("id") { + on_receipt(ctx, &jidto, &jidfrom, id, groupchat, "delivered").await; + } + } + + // XEP-0333 markers + if let Some(displayed) = m.get_child("displayed", ns::MARKERS) { + if let Some(id) = displayed.attr("id") { + if from_bare == me && !groupchat { + // Another of our clients displayed the conversation + let _ = db::messages_mark_seen(ctx.db(), &me, &jidto).await; + notif::clear(ctx, &format!("chat|{jidto}")).await; + chats::refresh_item(ctx, &jidto).await; + } else { + on_receipt(ctx, &jidto, &jidfrom, id, groupchat, "displayed").await; + } + } + } + + // XEP-0490 Message Displayed Synchronization is handled by PEP events + + // XEP-0424 retraction / XEP-0425 moderation + if let Some(retract) = m.get_child("retract", ns::RETRACT) { + if let Some(id) = retract.attr("id") { + let moderated = retract.children().any(|c| c.name() == "moderated") + || m.get_child("moderated", ns::MODERATE).is_some(); + on_retract(ctx, &from_bare, &jidfrom, id, groupchat || moderated, resource.as_deref(), moderated).await; + } + return; + } + + // XEP-0444 reactions + if let Some(reactions) = m.get_child("reactions", ns::REACTIONS) { + if let Some(id) = reactions.attr("id") { + let conversation = if groupchat { from_bare.clone() } else if from_bare == me { jidto.clone() } else { jidfrom.clone() }; + let reactor = if groupchat { resource.clone().unwrap_or_default() } else { from_bare.clone() }; + let emojis: Vec = reactions + .children() + .filter(|c| c.name() == "reaction") + .map(|c| c.text()) + .filter(|e| !e.is_empty() && e.chars().count() <= 16) + .collect(); + if let Ok(Some(parent)) = db::message_resolve_reference(ctx.db(), &me, &conversation, id).await { + let _ = db::reactions_replace(ctx.db(), parent.mid, &reactor, &emojis).await; + chat::refresh_message(ctx, parent.mid).await; + } + } + return; + } + + // MUC invitations + let direct_invite = m.get_child("x", ns::CONFERENCE); + let mediated_invite = m.get_child("x", ns::MUC_USER).and_then(|x| x.get_child("invite", ns::MUC_USER)); + + // XEP-0353 Jingle Message Initiation + if let Some(jm) = m.children().find(|c| c.ns() == ns::JINGLE_MESSAGE) { + widgets::visio::on_jingle_message(ctx, m, jm, &origin).await; + return; + } + + // Subject change + if groupchat && m.get_child("subject", NS_CLIENT).is_some() && m.get_child("body", NS_CLIENT).is_none() { + rooms::on_subject(ctx, &from_bare, &child_text(m, "subject").unwrap_or_default()).await; + return; + } + + // HTTP auth confirmation (XEP-0070) + if m.get_child("confirm", ns::HTTP_AUTH).is_some() { + return; + } + + let mut body = m.get_child("body", NS_CLIENT).map(|b| b.text()); + let encrypted_el = m.get_child("encrypted", ns::OMEMO); + + if body.is_none() && encrypted_el.is_none() && direct_invite.is_none() && mediated_invite.is_none() { + // Nothing to store + if is_live && !groupchat && m.get_child("request", ns::RECEIPTS).is_some() { + // A receipt request without body is invalid, ignore it + } + return; + } + + // Answer receipts (XEP-0184) for live messages from others + if is_live && !groupchat && from_bare != me { + if let (Some(_), Some(id)) = (m.get_child("request", ns::RECEIPTS), m.attr("id")) { + ctx.send(proto::receipt(&from, id)); + } + } + + let stanza_id = m + .children() + .filter(|c| c.name() == "stanza-id" && c.ns() == ns::SID) + .find(|c| { + let by = c.attr("by").unwrap_or(""); + (groupchat && by == from_bare) || (!groupchat && by == me) + }) + .and_then(|c| c.attr("id")) + .map(String::from); + let stanza_id = match &origin { + Origin::Mam { result_id, .. } => Some(result_id.clone()), + _ => stanza_id, + }; + let origin_id = m.get_child("origin-id", ns::SID).and_then(|o| o.attr("id")).map(String::from); + let message_id = m.attr("id").map(String::from); + + let stamp = stamp_of(m).or(outer_stamp).and_then(|s| dates::to_sql(&s)); + let published = stamp.unwrap_or_else(utils::now_sql); + + // Find an already stored version (MAM resync, carbons, reflected MUC messages) + let mut existing = None; + if let Some(sid) = &stanza_id { + existing = db::message_find_by_stanzaid(ctx.db(), &me, &jidfrom, sid).await.ok().flatten(); + } + if existing.is_none() { + if let Some(oid) = origin_id.as_ref().or(message_id.as_ref()) { + existing = db::message_find_by_originid(ctx.db(), &me, &jidfrom, oid).await.ok().flatten(); + } + } + + let is_new = existing.is_none(); + let mut msg = existing.unwrap_or_else(|| db::Message { + user_id: me.clone(), + id: format!("m_{}", utils::generate_uuid()), + ..Default::default() + }); + + // A message we sent and already displayed locally (MUC reflection or MAM sync) + if !is_new && !msg.body.as_deref().unwrap_or("").is_empty() && msg.stanzaid.is_some() && is_mam { + return; + } + + msg.messageid = message_id.clone().or(msg.messageid); + msg.originid = origin_id.clone().or(msg.originid); + if stanza_id.is_some() { + msg.stanzaid = stanza_id.clone(); + } + msg.jidfrom = jidfrom.clone(); + msg.jidto = jidto.clone(); + msg.resource = if groupchat || !muc_pm { resource.clone() } else { None }; + msg.type_ = match type_.as_str() { + "groupchat" => "groupchat".into(), + "headline" => "headline".into(), + _ => "chat".into(), + }; + if is_new { + msg.published = published.clone(); + } + msg.thread = child_text(m, "thread"); + msg.markable = m.get_child("markable", ns::MARKERS).is_some(); + msg.subject = if groupchat { None } else { child_text(m, "subject") }; + + if groupchat { + msg.delivered = Some(msg.published.clone()); + } + + // Invitations: mediated ones (from the room) first, some servers also add a direct one + if let Some(invite) = mediated_invite { + msg.type_ = "invitation".into(); + msg.subject = Some(from_bare.clone()); + msg.jidfrom = invite.attr("from").map(|f| utils::bare_jid(f).to_string()).unwrap_or(from_bare.clone()); + body = Some(child_text(invite, "reason").unwrap_or_default()); + } else if let Some(x) = direct_invite { + msg.type_ = "invitation".into(); + msg.subject = x.attr("jid").map(String::from); + body = Some(x.attr("reason").unwrap_or("").to_string()); + } + + // XEP-0308 corrections + if let Some(replace) = m.get_child("replace", ns::CORRECT) { + msg.replaceid = replace.attr("id").map(String::from); + } + + // XEP-0461 replies + let conversation = if groupchat { from_bare.clone() } else if from_bare == me { jidto.clone() } else { jidfrom.clone() }; + if let Some(reply) = m.get_child("reply", ns::REPLY) { + if let Some(id) = reply.attr("id") { + if let Ok(Some(parent)) = db::message_resolve_reference(ctx.db(), &me, &conversation, id).await { + if parent.mid != msg.mid { + msg.parentmid = Some(parent.mid); + } + } + } + // Strip the quoted fallback + if let Some(fb) = m.children().find(|c| c.name() == "fallback" && c.ns() == ns::FALLBACK && c.attr("for") == Some(ns::REPLY)) { + if let Some(range) = fb.children().find(|c| c.name() == "body") { + let start: usize = range.attr("start").and_then(|s| s.parse().ok()).unwrap_or(0); + let end: usize = range.attr("end").and_then(|s| s.parse().ok()).unwrap_or(0); + if let Some(b) = &body { + let chars: Vec = b.chars().collect(); + if start <= end && end <= chars.len() { + let mut s: String = chars[..start].iter().collect(); + s.extend(chars[end..].iter()); + body = Some(s); + } + } + } + } + } + + // XEP-0384 OMEMO + if let Some(enc) = encrypted_el { + if let Some(header) = enc.get_child("header", ns::OMEMO) { + let mut keys = serde_json::Map::new(); + for k in header.children().filter(|c| c.name() == "key") { + if let Some(rid) = k.attr("rid") { + keys.insert( + rid.to_string(), + json!({ "payload": k.text(), "prekey": matches!(k.attr("prekey"), Some("true") | Some("1")) }), + ); + } + } + let sid: i64 = header.attr("sid").and_then(|s| s.parse().ok()).unwrap_or(0); + let omemo = json!({ + "sid": sid, + "iv": child_text(header, "iv").unwrap_or_default(), + "keys": keys, + "payload": child_text(enc, "payload").unwrap_or_default(), + }); + if enc.get_child("payload", ns::OMEMO).is_some() { + msg.omemoheader = Some(omemo.to_string()); + msg.bundleid = Some(sid); + msg.encrypted = true; + body = Some("Encrypted OMEMO message".into()); + } else { + // Key transport element, no content + return; + } + } + } else if m.get_child("encryption", ns::EME).is_some() { + msg.encrypted = true; + } + + msg.body = body; + + // MUC: highlighted when our nick is quoted + if groupchat { + if let Some(nick) = rooms::my_nick(ctx, &from_bare) { + msg.quoted = resource.as_deref() != Some(nick.as_str()) + && msg.body.as_deref().is_some_and(|b| b.contains(&nick)); + } + } + + // Seen state + let mine_muc = groupchat && rooms::my_nick(ctx, &from_bare).as_deref() == resource.as_deref() && resource.is_some(); + if from_bare == me || mine_muc { + msg.seen = true; + } else if is_new { + msg.seen = false; + // Old archived messages are considered as read + if is_mam { + if let Some(d) = dates::parse(&msg.published) { + if d < chrono::Utc::now() - chrono::Duration::days(7) { + msg.seen = true; + } + } + } + } + + if msg.is_empty() && msg.type_ != "invitation" { + return; + } + + let mid = match db::message_save(ctx.db(), &msg).await { + Ok(mid) => mid, + Err(e) => { + tracing::warn!("message save failed: {e}"); + return; + } + }; + msg.mid = mid; + + // Files: SIMS (XEP-0385) or OOB (XEP-0066) + if let Some(file) = parse_file(m, msg.body.as_deref()) { + let mut file = file; + file.message_mid = mid; + let _ = db::message_file_save(ctx.db(), &file).await; + } + + // Chat state reset when a message arrives + if !mine_muc && from_bare != me { + let who = if groupchat { resource.clone().unwrap_or_default() } else { jidfrom.clone() }; + ctx.st(|st| { + if let Some(s) = st.chat_states.get_mut(&conversation) { + s.remove(&who); + } + }); + } + + let fresh = db::message_by_mid(ctx.db(), &me, mid).await.ok().flatten().unwrap_or(msg); + + if !is_mam || fresh.mid > 0 { + chat::on_message(ctx, &fresh, &origin).await; + } + if !groupchat { + chats::on_message(ctx, &fresh, &origin).await; + } else { + rooms::on_message(ctx, &fresh).await; + } +} + +/// Delivery receipts and displayed markers for messages we sent +async fn on_receipt(ctx: &Ctx, jidto: &str, jidfrom: &str, id: &str, groupchat: bool, field: &str) { + let me = ctx.jid(); + // For 1:1 the receipt comes from the contact about one of our messages + let (conversation, author) = if groupchat { (utils::bare_jid(jidfrom).to_string(), me.clone()) } else { (jidfrom.to_string(), me.clone()) }; + let _ = jidto; + + let found = db::message_resolve_reference(ctx.db(), &me, &conversation, id).await.ok().flatten(); + let Some(m) = found else { return }; + if !groupchat && m.jidfrom != author { + return; + } + + let current = if field == "delivered" { &m.delivered } else { &m.displayed }; + if current.is_some() { + return; + } + + let now = utils::now_sql(); + let _ = db::message_set_field(ctx.db(), m.mid, field, Some(&now)).await; + if field == "displayed" && m.delivered.is_none() { + let _ = db::message_set_field(ctx.db(), m.mid, "delivered", Some(&now)).await; + } + chat::refresh_message(ctx, m.mid).await; + if !groupchat { + chats::refresh_item(ctx, &conversation).await; + } +} + +async fn on_retract(ctx: &Ctx, room_or_from: &str, jidfrom: &str, id: &str, by_stanza_id: bool, resource: Option<&str>, moderated: bool) { + let me = ctx.jid(); + let conversation = jidfrom; + let found = db::message_resolve_reference(ctx.db(), &me, conversation, id).await.ok().flatten(); + let Some(m) = found else { return }; + + // Only the author (or a moderator) can retract + let allowed = if moderated { + true + } else if by_stanza_id { + m.resource.as_deref() == resource + } else { + m.jidfrom == utils::bare_jid(room_or_from) || m.jidfrom == jidfrom + }; + if !allowed { + return; + } + + let _ = db::message_retract(ctx.db(), m.mid).await; + chat::refresh_message(ctx, m.mid).await; + if !m.is_muc() { + chats::refresh_item(ctx, m.jid()).await; + } +} + +fn guess_mime(url: &str) -> Option<&'static str> { + let path = url.split(['?', '#']).next().unwrap_or(url).to_lowercase(); + let ext = path.rsplit('.').next().unwrap_or(""); + Some(match ext { + "jpg" | "jpeg" => "image/jpeg", + "png" => "image/png", + "gif" => "image/gif", + "webp" => "image/webp", + "mp4" | "m4v" => "video/mp4", + "webm" => "video/webm", + "ogg" | "oga" | "opus" => "audio/ogg", + "mp3" => "audio/mpeg", + "m4a" | "aac" => "audio/aac", + "pdf" => "application/pdf", + "zip" => "application/zip", + "txt" => "text/plain", + _ => return None, + }) +} + +fn parse_file(m: &Element, body: Option<&str>) -> Option { + // SIMS + for reference in m.children().filter(|c| c.name() == "reference" && c.ns() == ns::REFERENCE) { + let Some(sims) = reference.get_child("media-sharing", ns::SIMS) else { continue }; + let file = sims.children().find(|c| c.name() == "file"); + let url = sims + .get_child("sources", ns::SIMS) + .and_then(|s| s.children().find(|c| c.name() == "reference")) + .and_then(|r| r.attr("uri")) + .map(String::from)?; + if !(url.starts_with("https://") || url.starts_with("http://")) { + continue; + } + let mut f = db::MessageFile { url: url.clone(), ..Default::default() }; + if let Some(file) = file { + f.type_ = child_text(file, "media-type").filter(|t| t.contains('/')); + f.name = child_text(file, "name"); + f.size = child_text(file, "size").and_then(|s| s.parse().ok()); + if let Some(t) = file.children().find(|c| c.name() == "thumbnail") { + let uri = t.attr("uri").unwrap_or(""); + f.thumbnail_type = t.attr("media-type").map(String::from); + f.thumbnail_width = t.attr("width").and_then(|w| w.parse().ok()); + f.thumbnail_height = t.attr("height").and_then(|w| w.parse().ok()); + f.thumbnail_url = Some(uri.strip_prefix("data:image/thumbhash;base64,").unwrap_or(uri).to_string()); + } + } + if f.type_.is_none() { + f.type_ = guess_mime(&url).map(String::from); + } + if f.name.as_deref().unwrap_or("").is_empty() { + f.name = url.rsplit('/').next().map(|n| percent_encoding::percent_decode_str(n).decode_utf8_lossy().to_string()); + } + return Some(f); + } + + // OOB, used by Conversations: the body is the URL itself + if let Some(oob) = m.get_child("x", ns::OOB) { + let url = child_text(oob, "url")?; + if body.map(str::trim) == Some(url.as_str()) && (url.starts_with("https://") || url.starts_with("http://")) { + return Some(db::MessageFile { + name: url + .rsplit('/') + .next() + .map(|n| percent_encoding::percent_decode_str(n.split('#').next().unwrap_or(n)).decode_utf8_lossy().to_string()), + type_: guess_mime(&url).map(String::from), + url, + ..Default::default() + }); + } + } + + // aesgcm:// links shared by OMEMO clients are handled in the browser + None +} + +/// Last known presence value of a MUC occupant +pub fn muc_presence_from(el: &Element, x: &Element, nick: &str, type_: &str) -> MucPresence { + let item = x.get_child("item", ns::MUC_USER); + MucPresence { + nick: nick.to_string(), + jid: item.and_then(|i| i.attr("jid")).map(|j| utils::bare_jid(j).to_string()), + full_jid: item.and_then(|i| i.attr("jid")).filter(|j| j.contains('/')).map(String::from), + muji: el.get_child("muji", ns::MUJI).map(|m| String::from(m)), + muji_since: None, + role: item.and_then(|i| i.attr("role")).unwrap_or("none").to_string(), + affiliation: item.and_then(|i| i.attr("affiliation")).unwrap_or("none").to_string(), + value: if type_ == "unavailable" { 5 } else { show_to_value(child_text(el, "show").as_deref()) }, + status: child_text(el, "status"), + avatarhash: el + .get_child("x", ns::VCARD_UPDATE) + .and_then(|x| x.get_child("photo", ns::VCARD_UPDATE)) + .map(|p| p.text()) + .filter(|p| !p.is_empty()), + } +} + +#[allow(dead_code)] +pub fn debug_rpc(ctx: &Ctx, text: &str) { + rpc!(ctx, "console.log", text); +} diff --git a/src/i18n.rs b/src/i18n.rs new file mode 100644 index 0000000..7d5fc36 --- /dev/null +++ b/src/i18n.rs @@ -0,0 +1,265 @@ +//! Translations, compatible with Movim's `locales.ini` keys and gettext `.po` files. +//! +//! A key such as `chat.placeholder` is first resolved to its English text through +//! the ini files, then the English text is looked up in the `.po` catalog of the +//! requested language. + +use std::{collections::HashMap, fs, path::Path, sync::OnceLock}; + +pub const RTL_LANGUAGES: &[&str] = &["ar", "he", "fa", "ur", "ps", "syr", "dv"]; + +#[derive(Default)] +pub struct I18n { + keys: HashMap, + catalogs: HashMap>, +} + +static I18N: OnceLock = OnceLock::new(); + +pub fn init(frontend: &Path) { + let mut i18n = I18n::default(); + + i18n.load_ini(&frontend.join("locales/locales.ini")); + if let Ok(dir) = fs::read_dir(frontend.join("widgets")) { + let mut paths: Vec<_> = dir.flatten().map(|e| e.path().join("locales.ini")).collect(); + paths.sort(); + for path in paths { + i18n.load_ini(&path); + } + } + + i18n.load_ini(&frontend.join("locales/extra.ini")); + + if let Ok(dir) = fs::read_dir(frontend.join("locales")) { + for entry in dir.flatten() { + let path = entry.path(); + if path.extension().is_some_and(|e| e == "po") { + let lang = path.file_stem().unwrap().to_string_lossy().to_string(); + if let Ok(content) = fs::read_to_string(&path) { + i18n.catalogs.insert(lang, parse_po(&content)); + } + } + } + } + + let _ = I18N.set(i18n); +} + +pub fn get() -> &'static I18n { + I18N.get().expect("i18n not initialized") +} + +impl I18n { + fn load_ini(&mut self, path: &Path) { + let Ok(content) = fs::read_to_string(path) else { return }; + let mut section = String::new(); + + for line in content.lines() { + let line = line.trim(); + if line.is_empty() || line.starts_with(';') || line.starts_with('#') { + continue; + } + if line.starts_with('[') && line.ends_with(']') { + section = line[1..line.len() - 1].trim().to_string(); + continue; + } + if let Some((k, v)) = line.split_once('=') { + let mut v = v.trim(); + if v.len() >= 2 + && ((v.starts_with('"') && v.ends_with('"')) || (v.starts_with('\'') && v.ends_with('\''))) + { + v = &v[1..v.len() - 1]; + } + let key = format!("{}.{}", section, k.trim()); + self.keys.entry(key).or_insert_with(|| v.to_string()); + } + } + } + + pub fn has_language(&self, lang: &str) -> bool { + lang == "en" || self.catalogs.contains_key(lang) + } + + /// Translate a key, then replace `%s`/`%d`/`%1$s` placeholders with the arguments. + pub fn translate(&self, lang: &str, key: &str, args: &[String]) -> String { + let english = self.keys.get(key).map(String::as_str).unwrap_or(key); + + let text = self + .catalogs + .get(lang) + .or_else(|| lang.split(['_', '-']).next().and_then(|l| self.catalogs.get(l))) + .and_then(|c| c.get(english)) + .filter(|t| !t.is_empty()) + .map(String::as_str) + .unwrap_or(english); + + sprintf(text, args) + } + + /// Pick the best language from an `Accept-Language` header value. + pub fn detect(&self, accept_language: Option<&str>, default: &str) -> String { + if let Some(header) = accept_language { + for part in header.split(',') { + let tag = part.split(';').next().unwrap_or("").trim().replace('-', "_"); + if tag.is_empty() { + continue; + } + if self.has_language(&tag) { + return tag; + } + let short = tag.split('_').next().unwrap_or("").to_lowercase(); + if self.has_language(&short) { + return short; + } + } + } + default.to_string() + } +} + +pub fn direction(lang: &str) -> &'static str { + let short = lang.split(['_', '-']).next().unwrap_or(lang); + if RTL_LANGUAGES.contains(&short) { "rtl" } else { "ltr" } +} + +pub fn iso639(lang: &str) -> String { + lang.split(['_', '-']).next().unwrap_or(lang).to_string() +} + +fn sprintf(text: &str, args: &[String]) -> String { + if args.is_empty() || !text.contains('%') { + return text.replace("%%", "%"); + } + + let mut out = String::with_capacity(text.len()); + let mut chars = text.chars().peekable(); + let mut index = 0; + + while let Some(c) = chars.next() { + if c != '%' { + out.push(c); + continue; + } + match chars.peek().copied() { + Some('%') => { + chars.next(); + out.push('%'); + } + Some('s') | Some('d') => { + chars.next(); + out.push_str(args.get(index).map(String::as_str).unwrap_or("")); + index += 1; + } + Some(d) if d.is_ascii_digit() => { + // Positional %1$s + let mut num = String::new(); + while let Some(&d) = chars.peek() { + if d.is_ascii_digit() { + num.push(d); + chars.next(); + } else { + break; + } + } + if chars.peek() == Some(&'$') { + chars.next(); + chars.next(); // s or d + let n: usize = num.parse().unwrap_or(1); + out.push_str(args.get(n.saturating_sub(1)).map(String::as_str).unwrap_or("")); + } else { + out.push('%'); + out.push_str(&num); + } + } + _ => out.push('%'), + } + } + out +} + +fn unquote_po(s: &str) -> String { + let s = s.trim(); + let s = s.strip_prefix('"').unwrap_or(s); + let s = s.strip_suffix('"').unwrap_or(s); + let mut out = String::with_capacity(s.len()); + let mut chars = s.chars(); + while let Some(c) = chars.next() { + if c == '\\' { + match chars.next() { + Some('n') => out.push('\n'), + Some('t') => out.push('\t'), + Some('"') => out.push('"'), + Some('\\') => out.push('\\'), + Some(o) => { + out.push('\\'); + out.push(o) + } + None => {} + } + } else { + out.push(c); + } + } + out +} + +fn parse_po(content: &str) -> HashMap { + #[derive(PartialEq)] + enum Field { + None, + Id, + Str, + } + + let mut map = HashMap::new(); + let (mut id, mut text, mut field) = (String::new(), String::new(), Field::None); + + let mut flush = |id: &mut String, text: &mut String| { + if !id.is_empty() && !text.is_empty() { + map.insert(std::mem::take(id), std::mem::take(text)); + } + id.clear(); + text.clear(); + }; + + for line in content.lines() { + let line = line.trim(); + if let Some(rest) = line.strip_prefix("msgid ") { + flush(&mut id, &mut text); + id = unquote_po(rest); + field = Field::Id; + } else if let Some(rest) = line.strip_prefix("msgstr ") { + text = unquote_po(rest); + field = Field::Str; + } else if line.starts_with('"') { + match field { + Field::Id => id.push_str(&unquote_po(line)), + Field::Str => text.push_str(&unquote_po(line)), + Field::None => {} + } + } else if line.starts_with("msgctxt") || line.is_empty() { + field = Field::None; + } + } + flush(&mut id, &mut text); + map +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn printf() { + assert_eq!(sprintf("Hello %s!", &["you".into()]), "Hello you!"); + assert_eq!(sprintf("%2$s %1$s", &["a".into(), "b".into()]), "b a"); + assert_eq!(sprintf("100%%", &["x".into()]), "100%"); + } + + #[test] + fn po() { + let map = parse_po("msgid \"\"\nmsgstr \"\"\n\"Header\"\n\nmsgid \"Hello\"\nmsgstr \"Bonjour\"\n\nmsgid \"Long \"\n\"text\"\nmsgstr \"\"\n\"Long texte\"\n"); + assert_eq!(map.get("Hello").unwrap(), "Bonjour"); + assert_eq!(map.get("Long text").unwrap(), "Long texte"); + } +} diff --git a/src/jingle.rs b/src/jingle.rs new file mode 100644 index 0000000..0280811 --- /dev/null +++ b/src/jingle.rs @@ -0,0 +1,869 @@ +//! SDP ⇄ Jingle (XEP-0166/0167/0176/0320/0338/0339) conversion, ported from +//! Movim's `JingletoSDP` and `SDPtoJingle`. + +use minidom::Element; +use regex::Regex; +use sha2::{Digest, Sha256}; +use std::sync::LazyLock; + +use crate::xmpp::{el, BuilderExt}; + +pub const NS_JINGLE: &str = "urn:xmpp:jingle:1"; +pub const NS_RTP: &str = "urn:xmpp:jingle:apps:rtp:1"; +pub const NS_ICE: &str = "urn:xmpp:jingle:transports:ice-udp:1"; +pub const NS_DTLS: &str = "urn:xmpp:jingle:apps:dtls:0"; +pub const NS_RTCP_FB: &str = "urn:xmpp:jingle:apps:rtp:rtcp-fb:0"; +pub const NS_HDREXT: &str = "urn:xmpp:jingle:apps:rtp:rtp-hdrext:0"; +pub const NS_SSMA: &str = "urn:xmpp:jingle:apps:rtp:ssma:0"; +pub const NS_GROUPING: &str = "urn:xmpp:jingle:apps:grouping:0"; +pub const NS_SCTP: &str = "urn:xmpp:jingle:transports:dtls-sctp:1"; +pub const NS_INFO: &str = "urn:xmpp:jingle:apps:rtp:info:1"; +pub const NS_CATEGORY: &str = "urn:xmpp:jingle:apps:category:0"; +pub const NS_MUJI: &str = "urn:xmpp:jingle:muji:0"; + +fn sender_to_direction(s: &str) -> &'static str { + match s { + "none" => "inactive", + "initiator" => "sendonly", + "responder" => "recvonly", + _ => "sendrecv", + } +} + +fn direction_to_senders(d: &str) -> &'static str { + match d { + "inactive" => "none", + "sendonly" => "initiator", + "recvonly" => "responder", + _ => "both", + } +} + +fn first<'a>(el: &'a Element, name: &str) -> Option<&'a Element> { + el.children().find(|c| c.name() == name) +} + +pub struct Sdp { + pub sdp: String, + pub sid: Option, + /// Name of the last content (used for transport-info candidates) + pub name: Option, +} + +/// Jingle → SDP +pub fn jingle_to_sdp(jingle: &Element) -> Sdp { + let sid = jingle.attr("sid").map(String::from); + let action = jingle.attr("action").unwrap_or(""); + let username = jingle.attr("initiator").map(|i| i.split('@').next().unwrap_or("-").to_string()).unwrap_or_else(|| "-".into()); + + // Same numeric session id as Movim: first 6 digits of the hash + let hash = hex::encode(Sha256::digest(sid.clone().unwrap_or_default().as_bytes())); + let session_id: String = { + let n = u128::from_str_radix(&hash[..16], 16).unwrap_or(1); + n.to_string().chars().take(6).collect() + }; + + let mut group = None; + if let Some(g) = first(jingle, "group") { + let mut s = format!("a=group:{}", g.attr("semantics").unwrap_or("BUNDLE")); + for c in g.children().filter(|c| c.name() == "content") { + s.push(' '); + s.push_str(c.attr("name").unwrap_or("")); + } + group = Some(s); + } + + let mut medias = String::new(); + let mut last_name = None; + + for content in jingle.children().filter(|c| c.name() == "content") { + let mut header_ids: Vec = vec![]; + let mut first_port: Option = None; + let mut last_ip: Option = None; + let mut m = String::new(); + let mut categories: Vec = vec![]; + + let name = content.attr("name").map(String::from); + last_name = name.clone(); + let transport = first(content, "transport"); + let description = first(content, "description"); + + if let Some(t) = transport { + if let Some(pwd) = t.attr("pwd") { + m.push_str(&format!("\r\na=ice-pwd:{pwd}")); + } + if let (Some(ufrag), Some(_)) = (t.attr("ufrag"), t.attr("pwd")) { + m.push_str(&format!("\r\na=ice-ufrag:{ufrag}")); + } + } + + if let Some(d) = description { + for payload in d.children() { + match payload.name() { + "rtp-hdrext" => { + m.push_str(&format!("\r\na=extmap:{}", payload.attr("id").unwrap_or(""))); + if let Some(s) = payload.attr("senders") { + m.push('/'); + m.push_str(sender_to_direction(s)); + } + m.push_str(&format!(" {}", payload.attr("uri").unwrap_or(""))); + } + "rtcp-fb" => { + m.push_str(&format!("\r\na=rtcp-fb:* {}", payload.attr("type").unwrap_or(""))); + if let Some(s) = payload.attr("subtype") { + m.push_str(&format!(" {s}")); + } + } + "rtcp-mux" => m.push_str("\r\na=rtcp-mux"), + "payload-type" => { + let id = payload.attr("id").unwrap_or("").to_string(); + m.push_str(&format!("\r\na=rtpmap:{id}")); + header_ids.push(id.clone()); + if let Some(n) = payload.attr("name") { + m.push_str(&format!(" {n}")); + if let Some(c) = payload.attr("clockrate") { + m.push_str(&format!("/{c}")); + if let Some(ch) = payload.attr("channels") { + m.push_str(&format!("/{ch}")); + } + } + } + let mut first_fmtp = true; + for param in payload.children() { + match param.name() { + "rtcp-fb" => { + m.push_str(&format!("\r\na=rtcp-fb:{id} {}", param.attr("type").unwrap_or(""))); + if let Some(s) = param.attr("subtype") { + m.push_str(&format!(" {s}")); + } + } + "parameter" => { + if first_fmtp { + m.push_str(&format!("\r\na=fmtp:{id} ")); + } else { + m.push(';'); + } + if let Some(n) = param.attr("name") { + m.push_str(&format!("{n}=")); + } + m.push_str(param.attr("value").unwrap_or("")); + first_fmtp = false; + } + _ => {} + } + } + } + "source" => { + let ssrc = payload.attr("ssrc").unwrap_or(""); + for s in payload.children() { + m.push_str(&format!("\r\na=ssrc:{ssrc} {}:{}", s.attr("name").unwrap_or(""), s.attr("value").unwrap_or(""))); + } + } + "ssrc-group" => { + let sources: Vec<&str> = payload.children().filter_map(|s| s.attr("ssrc")).collect(); + m.push_str(&format!("\r\na=ssrc-group:{} {}", payload.attr("semantics").unwrap_or(""), sources.join(" "))); + } + "category" => categories.push(payload.attr("name").unwrap_or("").to_string()), + "encryption" => { + if let Some(c) = first(payload, "crypto") { + m.push_str(&format!( + "\r\na=crypto:{} {} {}", + c.attr("tag").unwrap_or(""), + c.attr("crypto-suite").unwrap_or(""), + c.attr("key-params").unwrap_or("") + )); + } + } + _ => {} + } + } + if let Some(p) = d.attr("ptime") { + m.push_str(&format!("\r\na=ptime:{p}")); + } + if let Some(p) = d.attr("maxptime") { + m.push_str(&format!("\r\na=maxptime:{p}")); + } + } + + if let Some(t) = transport { + for payload in t.children() { + match payload.name() { + "fingerprint" => { + if let Some(h) = payload.attr("hash") { + m.push_str(&format!("\r\na=fingerprint:{h} {}", payload.text().trim().to_uppercase())); + } + if let Some(s) = payload.attr("setup") { + m.push_str(&format!("\r\na=setup:{s}")); + } + } + "sctpmap" => { + let n = payload.attr("number").unwrap_or("").to_string(); + m.push_str(&format!( + "\r\na=sctpmap:{} {} {} ", + n, + payload.attr("protocol").unwrap_or(""), + payload.attr("streams").unwrap_or("") + )); + header_ids.push(n); + } + "candidate" => { + let a = |k: &str| payload.attr(k).unwrap_or("").to_string(); + m.push_str(&format!( + "\r\na=candidate:{} {} {} {} {} {} typ {}", + a("foundation"), + a("component"), + a("protocol"), + a("priority"), + a("ip"), + a("port"), + a("type") + )); + if let (Some(ra), Some(rp)) = (payload.attr("rel-addr"), payload.attr("rel-port")) { + m.push_str(&format!(" raddr {ra} rport {rp}")); + if first_port.is_none() { + first_port = Some(a("port")); + } + } + if let Some(v) = payload.attr("tcptype") { + m.push_str(&format!(" tcptype {v}")); + } + if let Some(v) = payload.attr("generation") { + m.push_str(&format!(" generation {v}")); + } + if let Some(v) = t.attr("ufrag") { + m.push_str(&format!(" ufrag {v}")); + } + if let Some(v) = payload.attr("network") { + m.push_str(&format!(" network {v}")); + } + if let Some(v) = payload.attr("id") { + m.push_str(&format!(" id {v}")); + } + if let Some(v) = payload.attr("network-id") { + m.push_str(&format!(" network-id {v}")); + } + last_ip = Some(a("ip")); + } + _ => {} + } + } + } + + let first_port = first_port.unwrap_or_else(|| "1".into()); + let last_ip = last_ip.unwrap_or_else(|| "0.0.0.0".into()); + let media = description.and_then(|d| d.attr("media")).unwrap_or("audio").to_string(); + + if action != "transport-info" { + let proto = if transport.is_some_and(|t| first(t, "sctpmap").is_some()) { + "DTLS/SCTP" + } else if transport.is_some_and(|t| first(t, "fingerprint").is_some()) { + "UDP/TLS/RTP/SAVPF" + } else { + "UDP/TLS/RTP/AVP" + }; + let ip_version = if last_ip.contains(':') { "IP6" } else { "IP4" }; + medias.push_str(&format!("\r\nm={media} {first_port} {proto} {}", header_ids.join(" "))); + medias.push_str(&format!("\r\nc=IN {ip_version} {last_ip}")); + medias.push_str(&m); + if let Some(n) = &name { + medias.push_str(&format!("\r\na=mid:{n}")); + } + if !categories.is_empty() { + medias.push_str(&format!("\r\na=content:{}", categories.join(","))); + } + if let Some(s) = content.attr("senders") { + medias.push_str(&format!("\r\na={}", sender_to_direction(s))); + } + } else { + medias = m; + } + } + + let mut sdp = String::new(); + if action != "transport-info" { + sdp.push_str("v=0"); + sdp.push_str(&format!("\r\no={username} {session_id} 0 IN IP4 0.0.0.0")); + sdp.push_str("\r\ns=-"); + sdp.push_str("\r\nt=0 0"); + if let Some(g) = group { + sdp.push_str("\r\n"); + sdp.push_str(&g); + } + } + sdp.push_str(&medias); + + Sdp { sdp: format!("{}\r\n", sdp.trim()).trim().to_string(), sid, name: last_name } +} + +// ---------------------------------------------------------------- SDP → Jingle + +/// A tiny mutable XML tree, converted to `minidom` at the end +#[derive(Default, Clone)] +struct Node { + name: String, + ns: Option<&'static str>, + attrs: Vec<(String, String)>, + text: Option, + children: Vec, +} + +impl Node { + fn new(name: &str, ns: Option<&'static str>) -> Self { + Node { name: name.into(), ns, ..Default::default() } + } + fn attr(&mut self, k: &str, v: &str) { + // Like SimpleXML: an existing attribute is not replaced + if !self.attrs.iter().any(|(a, _)| a == k) { + self.attrs.push((k.into(), v.into())); + } + } + fn get(&self, k: &str) -> Option<&str> { + self.attrs.iter().find(|(a, _)| a == k).map(|(_, v)| v.as_str()) + } + fn add(&mut self, n: Node) -> usize { + self.children.push(n); + self.children.len() - 1 + } + fn into_element(self, parent_ns: &str) -> Element { + let ns = self.ns.unwrap_or(parent_ns); + let mut b = el(&self.name, ns); + for (k, v) in &self.attrs { + b = b.a(k, v.as_str()); + } + if let Some(t) = &self.text { + b = b.append(t.as_str()); + } + for c in self.children { + b = b.append(c.into_element(ns)); + } + b.build() + } +} + +struct ContentState { + node: Node, + desc: Option, + transport: usize, + payload: Option, + fingerprint: Option, + encryption: Option, +} + +impl ContentState { + fn desc(&mut self) -> Option<&mut Node> { + self.desc.map(|i| &mut self.node.children[i]) + } + fn transport(&mut self) -> &mut Node { + &mut self.node.children[self.transport] + } + fn payload(&mut self) -> Option<&mut Node> { + let (d, p) = (self.desc?, self.payload?); + Some(&mut self.node.children[d].children[p]) + } +} + +static RE: LazyLock> = LazyLock::new(|| { + let r = |k: &'static str, re: &str| (k, Regex::new(re).unwrap()); + vec![ + r("bandwidth", r"(?i)^b=(\w+):(\d+)"), + r("candidate", r"(?i)^a=candidate:(\w{1,32}) (\d{1,5}) (udp|tcp) (\d{1,10}) ([a-zA-Z0-9:\.]{1,45}) (\d{1,5}) (typ) (host|srflx|prflx|relay|ufrag)\s?(.+)?"), + r("content", r"(?i)^a=content:(\S+)"), + r("crypto", r"(?i)^a=crypto:(\d{1,9}) (\w+) (\S+)( (\S+))?"), + r("extmap", r"(?i)^a=extmap:([^\s/]+)(/([^\s/]+))? (\S+)"), + r("fingerprint", r"(?i)^a=fingerprint:(\S+) (\S+)"), + r("fmtp", r"(?i)^a=fmtp:(\d+) (.+)"), + r("group", r"(?i)^a=group:(\S+) (.+)"), + r("maxptime", r"(?i)^a=maxptime:(\d+)"), + r("media", r"(?i)^m=(audio|video|application|data)"), + r("mid", r"(?i)^a=mid:(\S+)"), + r("msid", r"(?i)^a=msid:(.+)"), + r("ptime", r"(?i)^a=ptime:(\d+)"), + r("pwd", r"(?i)^a=ice-pwd:(\S+)"), + r("rtcp_fb_trr_int", r"(?i)^a=rtcp-fb:(\d+) trr-int (\d+)"), + r("rtcp_fb", r"(?i)^a=rtcp-fb:(\S+) (\S+)( (\S+))?"), + r("rtcp_mux", r"(?i)^a=rtcp-mux"), + r("rtpmap", r"(?i)^a=rtpmap:(\d+) (([^\s/]+)(/(\d+)(/([^\s/]+))?)?)?"), + r("sctpmap", r"(?i)^a=sctpmap:(\d+) (\S+) (\d+)"), + r("senders", r"(?i)^a=(sendrecv|sendonly|inactive|recvonly)"), + r("sess_id", r"(?i)^o=(\S+) (\d+)"), + r("setup", r"(?i)^a=setup:(\S+)"), + r("ssrc-group", r"(?i)^a=ssrc-group:(\S+) (.+)"), + r("ssrc", r"(?i)^a=ssrc:(\d+) (\w+)(:(\S+))?( (\w+))?"), + r("ufrag", r"(?i)^a=ice-ufrag:(\S+)"), + ] +}); + +pub struct SdpToJingle<'a> { + pub initiator: &'a str, + pub sdp: &'a str, + pub sid: &'a str, + pub responder: Option<&'a str>, + pub action: Option<&'a str>, + pub mid: Option<&'a str>, + pub ufrag: Option<&'a str>, + /// ICE password remembered from the last local SDP, for trickle candidates + pub ice_pwd: Option, +} + +fn fmtp_params(node: &mut Node, params: &[String]) { + for value in params { + let p: Vec<&str> = value.trim().splitn(2, '=').collect(); + if p.len() == 2 { + let mut param = Node::new("parameter", None); + param.attr("name", p[0]); + param.attr("value", p[1]); + node.add(param); + } + } +} + +fn rtcp_fb(node: &mut Node, type_: &str, subtype: Option<&str>) { + let mut fb = Node::new("rtcp-fb", Some(NS_RTCP_FB)); + fb.attr("type", type_); + if let Some(s) = subtype { + fb.attr("subtype", s); + } + node.add(fb); +} + +impl SdpToJingle<'_> { + /// Returns the jingle element and the ICE password found (to remember it) + pub fn generate(&self) -> (Element, Option) { + let mut jingle = Node::new("jingle", Some(NS_JINGLE)); + jingle.attr("initiator", self.initiator); + if let Some(a) = self.action { + jingle.attr("action", a); + } + if let Some(r) = self.responder { + jingle.attr("responder", r); + } + + let mut contents: Vec = vec![]; + let mut global_fp: Option<(String, String)> = None; + let mut fmtp_cache: std::collections::HashMap> = Default::default(); + let mut fb_cache: std::collections::HashMap)>> = Default::default(); + let mut msid: Option = None; + let mut ufrag = self.ufrag.map(String::from); + let mut found_pwd = None; + let transport_only = self.action == Some("transport-info"); + + let new_content = |contents: &mut Vec| { + let mut node = Node::new("content", None); + node.attr("creator", "initiator"); + let transport = node.add(Node::new("transport", Some(NS_ICE))); + contents.push(ContentState { node, desc: None, transport, payload: None, fingerprint: None, encryption: None }); + }; + + for line in self.sdp.split('\n') { + let line = line.trim_end_matches('\r'); + for (key, re) in RE.iter() { + let Some(m) = re.captures(line) else { continue }; + let g = |i: usize| m.get(i).map(|x| x.as_str()); + match *key { + "sess_id" => jingle.attr("sid", self.sid), + "media" => { + new_content(&mut contents); + msid = None; + let c = contents.last_mut().unwrap(); + if !transport_only { + let mut d = Node::new("description", Some(NS_RTP)); + d.attr("media", g(1).unwrap_or("audio")); + c.desc = Some(c.node.add(d)); + } + if let Some((hash, fp)) = &global_fp { + let mut f = Node::new("fingerprint", Some(NS_DTLS)); + f.text = Some(fp.clone()); + f.attr("hash", hash); + let t = c.transport(); + t.add(f); + c.fingerprint = Some(c.node.children[c.transport].children.len() - 1); + } + } + "mid" => { + if let Some(c) = contents.last_mut() { + c.node.attr("name", g(1).unwrap_or("")); + } + } + "msid" => msid = g(1).map(|s| s.trim().to_string()), + "bandwidth" => { + if let Some(d) = contents.last_mut().and_then(|c| c.desc()) { + let mut b = Node::new("bandwidth", None); + b.attr("type", g(1).unwrap_or("")); + b.attr("value", g(2).unwrap_or("")); + d.add(b); + } + } + "rtpmap" => { + let Some(c) = contents.last_mut() else { continue }; + let id = g(1).unwrap_or("").to_string(); + let mut pt = Node::new("payload-type", None); + pt.attr("id", &id); + pt.attr("name", g(3).unwrap_or("")); + if g(4).is_some() { + pt.attr("clockrate", g(5).unwrap_or("")); + } + if let Some(ch) = g(7) { + pt.attr("channels", ch); + } + if let Some(params) = fmtp_cache.remove(&id) { + fmtp_params(&mut pt, ¶ms); + } + if let Some(fbs) = fb_cache.remove(&id) { + for (t, s) in fbs { + rtcp_fb(&mut pt, &t, s.as_deref()); + } + } + if let Some(d) = c.desc() { + let idx = d.add(pt); + c.payload = Some(idx); + } + } + "fmtp" => { + let id = g(1).unwrap_or("").to_string(); + let params: Vec = g(2).unwrap_or("").trim().split(';').map(String::from).collect(); + let c = contents.last_mut(); + match c.and_then(|c| c.payload().filter(|p| p.get("id") == Some(id.as_str()))) { + Some(p) => fmtp_params(p, ¶ms), + None => { + fmtp_cache.insert(id, params); + } + } + } + "rtcp_fb" => { + let (id, t, s) = (g(1).unwrap_or(""), g(2).unwrap_or("").to_string(), g(4).map(String::from)); + let Some(c) = contents.last_mut() else { continue }; + if id == "*" { + if let Some(d) = c.desc() { + rtcp_fb(d, &t, s.as_deref()); + } + } else { + match c.payload().filter(|p| p.get("id") == Some(id)) { + Some(p) => rtcp_fb(p, &t, s.as_deref()), + None => fb_cache.entry(id.to_string()).or_default().push((t, s)), + } + } + } + "rtcp_fb_trr_int" => { + if let Some(p) = contents.last_mut().and_then(|c| c.payload()) { + let mut n = Node::new("rtcp-fb-trr-int", Some(NS_RTCP_FB)); + n.attr("id", g(1).unwrap_or("")); + n.attr("value", g(2).unwrap_or("")); + p.add(n); + } + } + "crypto" => { + if let Some(c) = contents.last_mut() { + if let Some(d) = c.desc() { + let mut enc = Node::new("encryption", None); + let mut crypto = Node::new("crypto", None); + crypto.attr("crypto-suite", g(2).unwrap_or("")); + crypto.attr("key-params", g(3).unwrap_or("")); + crypto.attr("tag", g(1).unwrap_or("")); + if let Some(sp) = g(5) { + crypto.attr("session-params", sp); + } + enc.add(crypto); + let i = d.add(enc); + c.encryption = Some(i); + } + } + } + "rtcp_mux" => { + if let Some(d) = contents.last_mut().and_then(|c| c.desc()) { + d.add(Node::new("rtcp-mux", None)); + } + } + "extmap" => { + if let Some(d) = contents.last_mut().and_then(|c| c.desc()) { + let mut h = Node::new("rtp-hdrext", Some(NS_HDREXT)); + h.attr("id", g(1).unwrap_or("")); + h.attr("uri", g(4).unwrap_or("")); + if let Some(dir) = g(3).filter(|s| !s.is_empty()) { + h.attr("senders", direction_to_senders(dir)); + } + d.add(h); + } + } + "senders" => { + if let Some(c) = contents.last_mut() { + c.node.attr("senders", direction_to_senders(g(1).unwrap_or("sendrecv"))); + } + } + "ssrc" => { + let ssrc = g(1).unwrap_or("").to_string(); + let msid_now = msid.clone(); + let Some(d) = contents.last_mut().and_then(|c| c.desc()) else { continue }; + let pos = d.children.iter().position(|c| c.name == "source" && c.get("ssrc") == Some(ssrc.as_str())); + let idx = match pos { + Some(i) => i, + None => { + let mut s = Node::new("source", Some(NS_SSMA)); + s.attr("ssrc", &ssrc); + d.add(s) + } + }; + let source = &mut d.children[idx]; + if let Some(ms) = msid_now { + if g(2) != Some("msid") { + let mut p = Node::new("parameter", None); + p.attr("name", "msid"); + p.attr("value", &ms); + source.add(p); + } + } + let mut p = Node::new("parameter", None); + p.attr("name", g(2).unwrap_or("")); + p.attr("value", g(4).unwrap_or("")); + source.add(p); + } + "ssrc-group" => { + if let Some(d) = contents.last_mut().and_then(|c| c.desc()) { + let mut sg = Node::new("ssrc-group", Some(NS_SSMA)); + sg.attr("semantics", g(1).unwrap_or("")); + for s in g(2).unwrap_or("").trim().split(' ') { + let mut n = Node::new("source", None); + n.attr("ssrc", s); + sg.add(n); + } + d.add(sg); + } + } + "ptime" => { + if let Some(d) = contents.last_mut().and_then(|c| c.desc()) { + d.attr("ptime", g(1).unwrap_or("")); + } + } + "maxptime" => { + if let Some(d) = contents.last_mut().and_then(|c| c.desc()) { + d.attr("maxptime", g(1).unwrap_or("")); + } + } + "content" => { + if let Some(d) = contents.last_mut().and_then(|c| c.desc()) { + for cat in g(1).unwrap_or("").split(',') { + let mut n = Node::new("category", Some(NS_CATEGORY)); + n.attr("name", cat.trim()); + d.add(n); + } + } + } + "group" => { + let mut gr = Node::new("group", Some(NS_GROUPING)); + gr.attr("semantics", g(1).unwrap_or("")); + for v in g(2).unwrap_or("").split(' ') { + let mut c = Node::new("content", None); + c.attr("name", v.trim()); + gr.add(c); + } + jingle.add(gr); + } + "fingerprint" => match contents.last_mut() { + None => global_fp = Some((g(1).unwrap_or("").to_string(), g(2).unwrap_or("").to_string())), + Some(c) => { + let mut f = Node::new("fingerprint", Some(NS_DTLS)); + f.text = Some(g(2).unwrap_or("").to_string()); + f.attr("hash", g(1).unwrap_or("")); + let t = c.transport(); + let i = t.add(f); + c.fingerprint = Some(i); + } + }, + "sctpmap" => { + if let Some(c) = contents.last_mut() { + let mut s = Node::new("sctpmap", Some(NS_SCTP)); + s.attr("number", g(1).unwrap_or("")); + s.attr("protocol", g(2).unwrap_or("")); + s.attr("streams", g(3).unwrap_or("")); + c.transport().add(s); + } + } + "setup" => { + if let Some(c) = contents.last_mut() { + if let Some(i) = c.fingerprint { + c.node.children[c.transport].children[i].attr("setup", g(1).unwrap_or("")); + } + } + } + "pwd" => { + found_pwd = g(1).map(String::from); + if let Some(c) = contents.last_mut() { + c.transport().attr("pwd", g(1).unwrap_or("")); + } + } + "ufrag" => { + if let Some(c) = contents.last_mut() { + c.transport().attr("ufrag", g(1).unwrap_or("")); + } + } + "candidate" => { + if contents.is_empty() { + new_content(&mut contents); + } + let c = contents.last_mut().unwrap(); + if c.node.get("name").is_none() { + if let Some(mid) = self.mid { + c.node.attr("name", mid); + } + } + if jingle.get("sid").is_none() { + jingle.attr("sid", self.sid); + } + let mut cand = Node::new("candidate", None); + cand.attr("foundation", g(1).unwrap_or("")); + cand.attr("component", g(2).unwrap_or("")); + cand.attr("protocol", &g(3).unwrap_or("").to_lowercase()); + cand.attr("priority", g(4).unwrap_or("")); + cand.attr("ip", g(5).unwrap_or("")); + cand.attr("port", g(6).unwrap_or("")); + cand.attr("type", g(8).unwrap_or("")); + + let mut args: std::collections::HashMap<&str, &str> = Default::default(); + if let Some(rest) = g(9) { + let kv: Vec<&str> = rest.trim().split(' ').collect(); + for pair in kv.chunks(2) { + if pair.len() == 2 { + args.insert(pair[0], pair[1]); + } + } + } + for (sdp_key, attr) in [ + ("generation", "generation"), + ("id", "id"), + ("network", "network"), + ("network-id", "network-id"), + ("network-cost", "network-cost"), + ("raddr", "rel-addr"), + ("rport", "rel-port"), + ("tcptype", "tcptype"), + ] { + if let Some(v) = args.get(sdp_key) { + cand.attr(attr, v); + } + } + if let Some(u) = args.get("ufrag") { + ufrag = Some(u.to_string()); + } + let t = c.transport(); + if let Some(u) = &ufrag { + t.attr("ufrag", u); + } + if ufrag.is_some() { + if let Some(pwd) = &self.ice_pwd { + t.attr("pwd", pwd); + } + } + t.add(cand); + } + _ => {} + } + } + } + + for c in contents { + jingle.add(c.node); + } + (jingle.into_element(NS_JINGLE), found_pwd) + } +} + +/// XEP-0272: the contents of a Jingle element, wrapped in a element for +/// our MUC presence. Contents keep the Jingle namespace (Dino expects it). +pub fn to_muji(jingle: &Element) -> Element { + let mut muji = el("muji", NS_MUJI); + for c in jingle.children().filter(|c| c.name() == "content") { + muji = muji.append(c.clone()); + } + muji.build() +} + +/// XEP-0272: tag a session-initiate with the room of the group call +pub fn with_muji_room(mut jingle: Element, room: &str) -> Element { + jingle.append_child(el("muji", NS_MUJI).a("room", room).build()); + jingle +} + +/// Keep only the medias of an SDP with the given mids (Movim's `filterSDPMedia`) +pub fn filter_sdp_media(sdp: &str, mids: &[String]) -> String { + let parts: Vec<&str> = sdp.split("m=").collect(); + let selected: Vec<&str> = parts[1..] + .iter() + .copied() + .filter(|m| mids.iter().any(|id| m.contains(&format!("a=mid:{id}")))) + .collect(); + format!("{}m={}", parts[0], selected.join("m=")) +} + +#[cfg(test)] +mod tests { + use super::*; + + const SDP: &str = "v=0\r\no=- 4611731400430051336 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:abcd\r\na=ice-pwd:efghijklmnopqrstuvwxyz12\r\na=fingerprint:sha-256 AA:BB:CC\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=sendrecv\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=ssrc:1234 cname:xyz\r\nm=video 9 UDP/TLS/RTP/SAVPF 96\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:abcd\r\na=ice-pwd:efghijklmnopqrstuvwxyz12\r\na=fingerprint:sha-256 AA:BB:CC\r\na=setup:actpass\r\na=mid:1\r\na=sendrecv\r\na=rtpmap:96 VP8/90000\r\n"; + + #[test] + fn roundtrip() { + let (jingle, pwd) = SdpToJingle { + initiator: "alice@localhost", + sdp: SDP, + sid: "abc", + responder: Some("bob@localhost/res"), + action: Some("session-initiate"), + mid: None, + ufrag: None, + ice_pwd: None, + } + .generate(); + assert_eq!(pwd.as_deref(), Some("efghijklmnopqrstuvwxyz12")); + let xml = String::from(&jingle); + assert!(xml.contains("payload-type"), "{xml}"); + assert!(xml.contains("name='0'") || xml.contains("name=\"0\""), "{xml}"); + + let back = jingle_to_sdp(&jingle); + assert!(back.sdp.contains("a=rtpmap:111 opus/48000/2"), "{}", back.sdp); + assert!(back.sdp.contains("a=fmtp:111 minptime=10;useinbandfec=1"), "{}", back.sdp); + assert!(back.sdp.contains("a=group:BUNDLE 0 1"), "{}", back.sdp); + assert!(back.sdp.contains("m=video"), "{}", back.sdp); + assert!(back.sdp.contains("a=fingerprint:sha-256 AA:BB:CC"), "{}", back.sdp); + assert_eq!(back.sid.as_deref(), Some("abc")); + } + + #[test] + fn candidate() { + let (jingle, _) = SdpToJingle { + initiator: "alice@localhost", + sdp: "a=candidate:842163049 1 udp 1677729535 1.2.3.4 50000 typ srflx raddr 10.0.0.1 rport 50000 generation 0 ufrag abcd network-cost 999", + sid: "abc", + responder: Some("bob@localhost/res"), + action: Some("transport-info"), + mid: Some("0"), + ufrag: None, + ice_pwd: Some("pwd".into()), + } + .generate(); + let xml = String::from(&jingle); + assert!(xml.contains("candidate"), "{xml}"); + let back = jingle_to_sdp(&jingle); + assert!(back.sdp.contains("a=candidate:842163049 1 udp 1677729535 1.2.3.4 50000 typ srflx raddr 10.0.0.1 rport 50000"), "{}", back.sdp); + assert_eq!(back.name.as_deref(), Some("0")); + } + + #[test] + fn muji() { + let (jingle, _) = SdpToJingle { + initiator: "alice@localhost", + sdp: SDP, + sid: "room@muc.localhost", + responder: None, + action: None, + mid: None, + ufrag: None, + ice_pwd: None, + } + .generate(); + let muji = to_muji(&jingle); + assert_eq!(muji.ns(), NS_MUJI); + assert_eq!(muji.children().filter(|c| c.name() == "content" && c.ns() == NS_JINGLE).count(), 2); + + let tagged = with_muji_room(jingle, "room@muc.localhost"); + assert_eq!(tagged.get_child("muji", NS_MUJI).and_then(|m| m.attr("room")), Some("room@muc.localhost")); + } +} diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..a9dd25d --- /dev/null +++ b/src/main.rs @@ -0,0 +1,96 @@ +//! Movim, rewritten in Rust: an XMPP web client keeping Movim's frontend. + +mod app; +mod config; +mod dates; +mod db; +mod forms; +mod handler; +mod i18n; +mod jingle; +mod mam; +mod page; +mod pep; +mod proto; +mod push; +mod session; +mod tpl; +mod utils; +mod web; +mod widgets; +mod widgets_registry; +mod xmpp; + +use std::time::Duration; + +pub const APP_TITLE: &str = "Movim"; +pub const SMALL_PICTURE_LIMIT: u64 = 768_000; + +#[tokio::main] +async fn main() -> anyhow::Result<()> { + tracing_subscriber::fmt() + .with_env_filter( + tracing_subscriber::EnvFilter::try_from_default_env() + .unwrap_or_else(|_| "movim=info,tower_http=warn".into()), + ) + .init(); + + let _ = tokio_xmpp::rustls::crypto::aws_lc_rs::default_provider().install_default(); + + let cfg = config::Config::from_env(); + std::fs::create_dir_all(&cfg.data_dir)?; + + i18n::init(&cfg.frontend); + utils::init_emojis(&cfg.frontend); + push::init(&cfg.data_dir); + widgets::preview::ALLOW_PRIVATE.store(cfg.allow_private_urls, std::sync::atomic::Ordering::Relaxed); + + let db = db::connect(&cfg.database_url).await?; + let bind = cfg.bind; + let app = app::App::new(cfg, db); + + // Periodic cleanup + { + let app = app.clone(); + tokio::spawn(async move { + loop { + let _ = db::cleanup(&app.db).await; + let _ = db::urls_cleanup(&app.db).await; + tokio::time::sleep(Duration::from_secs(3600)).await; + } + }); + } + + // Close the sessions without browser activity for a long time, and the + // sessions that never logged in + { + let app = app.clone(); + tokio::spawn(async move { + let timeout = Duration::from_secs(app.cfg.session_timeout_hours * 3600); + loop { + tokio::time::sleep(Duration::from_secs(60)).await; + for s in app.hub.all() { + let (logged, idle) = { + let st = s.st.lock().unwrap(); + (st.logged, st.last_activity.elapsed()) + }; + if s.clients_count() > 0 { + continue; + } + if logged && idle > timeout { + tracing::info!("closing idle session {}", s.sid); + widgets::presence::logout(&app::Ctx::ws(app.clone(), s.clone())).await; + } else if !logged && s.created.elapsed() > Duration::from_secs(600) { + app.hub.remove(&s.sid); + } + } + } + }); + } + + let router = web::router(app.clone()); + let listener = tokio::net::TcpListener::bind(bind).await?; + tracing::info!("Movim listening on http://{bind}"); + axum::serve(listener, router).await?; + Ok(()) +} diff --git a/src/mam.rs b/src/mam.rs new file mode 100644 index 0000000..6f59571 --- /dev/null +++ b/src/mam.rs @@ -0,0 +1,187 @@ +//! XEP-0313 Message Archive Management: catch up after login and load the +//! history of a discussion on demand. + +use crate::{ + app::Ctx, + dates, db, + proto::{self, ns, MamQuery}, + utils, +}; + +struct Page { + count: usize, + complete: bool, + first: Option, + last: Option, +} + +async fn query(ctx: &Ctx, q: MamQuery<'_>) -> Option { + let x = ctx.xmpp()?; + let queryid = q.queryid.to_string(); + ctx.st(|st| st.mam_counters.insert(queryid.clone(), 0)); + + let res = x.iq(proto::mam_query(&q)).await; + // Make sure all the results were handled before counting them + x.barrier().await; + let count = ctx.st(|st| st.mam_counters.remove(&queryid)).flatten().unwrap_or(0); + + let res = match res { + Ok(r) => r, + Err(e) => { + tracing::debug!("mam query failed: {e}"); + return None; + } + }; + let fin = res.get_child("fin", ns::MAM); + let set = fin.and_then(|f| f.get_child("set", ns::RSM)); + Some(Page { + count, + complete: fin.and_then(|f| f.attr("complete")).is_some_and(|c| c == "true"), + first: set.and_then(|s| s.get_child("first", ns::RSM)).map(|f| f.text()), + last: set.and_then(|s| s.get_child("last", ns::RSM)).map(|l| l.text()), + }) +} + +/// Fetch what happened since the last message we know about +pub async fn catch_up(ctx: &Ctx) { + let me = ctx.jid(); + let latest = db::latest_message_date(ctx.db(), &me).await.ok().flatten(); + + match latest { + Some(latest) => { + let start = dates::parse(&latest).map(|d| (d + chrono::Duration::seconds(1)).to_rfc3339_opts(chrono::SecondsFormat::Secs, true)); + let mut after: Option = None; + let mut total = 0; + loop { + let queryid = utils::generate_key(12); + let page = query( + ctx, + MamQuery { + to: None, + with: None, + start: start.clone(), + end: None, + limit: Some(100), + before: None, + after: after.as_deref(), + queryid: &queryid, + }, + ) + .await; + let Some(page) = page else { break }; + total += page.count; + if page.complete || page.last.is_none() || page.count == 0 || total >= 2000 || page.last == after { + break; + } + after = page.last; + } + } + None => { + // First login: the last 500 messages + let mut before = String::new(); + let mut total = 0; + loop { + let queryid = utils::generate_key(12); + let page = query( + ctx, + MamQuery { + to: None, + with: None, + start: None, + end: None, + limit: Some(100), + before: Some(&before), + after: None, + queryid: &queryid, + }, + ) + .await; + let Some(page) = page else { break }; + total += page.count; + match page.first { + Some(first) if !page.complete && page.count > 0 && total < 500 => before = first, + _ => break, + } + } + } + } + + super::widgets::notif::on_chat_counter(ctx).await; + crate::rpc!(ctx, "Chats_ajaxHttpGet"); +} + +/// Load older messages of a discussion, returns the number of messages received +pub async fn fetch_history(ctx: &Ctx, jid: &str, muc: bool) -> usize { + let me = ctx.jid(); + if !utils::validate_jid(jid) { + return 0; + } + if muc { + let has_mam = ctx.st(|st| st.conferences.get(jid).is_some_and(|c| c.has_mam())).unwrap_or(false); + if !has_mam { + return 0; + } + } + + let archive_key = if muc { format!("muc:{jid}") } else { jid.to_string() }; + let earliest = db::earliest_message_date(ctx.db(), &me, jid).await.ok().flatten(); + let end = earliest.as_deref().and_then(dates::parse).map(|d| d.to_rfc3339_opts(chrono::SecondsFormat::Secs, true)); + + let queryid = utils::generate_key(12); + let page = query( + ctx, + MamQuery { + to: if muc { Some(jid) } else { None }, + with: if muc { None } else { Some(jid) }, + start: None, + end, + limit: Some(50), + before: Some(""), + after: None, + queryid: &queryid, + }, + ) + .await; + + let Some(page) = page else { return 0 }; + if page.count == 0 || page.complete { + let _ = db::mam_earliest_set(ctx.db(), &me, &archive_key, earliest.as_deref()).await; + } + page.count +} + +/// MUC history after a (re)join +pub async fn catch_up_room(ctx: &Ctx, room: &str) { + let me = ctx.jid(); + let latest = db::latest_muc_message_date(ctx.db(), &me, room).await.ok().flatten(); + let Some(latest) = latest else { + fetch_history(ctx, room, true).await; + return; + }; + let start = dates::parse(&latest).map(|d| (d + chrono::Duration::seconds(1)).to_rfc3339_opts(chrono::SecondsFormat::Secs, true)); + let mut after: Option = None; + let mut total = 0; + loop { + let queryid = utils::generate_key(12); + let page = query( + ctx, + MamQuery { + to: Some(room), + with: None, + start: start.clone(), + end: None, + limit: Some(100), + before: None, + after: after.as_deref(), + queryid: &queryid, + }, + ) + .await; + let Some(page) = page else { break }; + total += page.count; + if page.complete || page.last.is_none() || page.count == 0 || total >= 1000 || page.last == after { + break; + } + after = page.last; + } +} diff --git a/src/page.rs b/src/page.rs new file mode 100644 index 0000000..8d41820 --- /dev/null +++ b/src/page.rs @@ -0,0 +1,288 @@ +//! Pages (Movim's controllers + views): each page is a list of widgets, rendered +//! server side, wrapped in `page.html` with the CSS/JS of the widgets. + +use serde_json::json; +use std::collections::HashMap; + +use crate::{app::Ctx, widgets, widgets_registry}; + +pub struct PageDef { + pub name: &'static str, + pub session_only: bool, + pub title: &'static str, + pub widgets: &'static [&'static str], +} + +pub const COMMON: &[&str] = &["Dialog", "Drawer", "Confirm", "Preview", "Notif", "Toast"]; + +/// Widgets of the main chat view, in the same order as Movim's `chat.tpl` +const CHAT_WIDGETS: &[&str] = &[ + "Search", + "Stickers", + "Notifications", + "SendTo", + "ContactActions", + "AdHoc", + "ChatOmemo", + "Presence", + "Shortcuts", + "Navigation", + "BottomNavigation", + "Upload", + "Chat", + "ChatActions", + "Chats", + "Rooms", + "RoomsUtils", + "Dictaphone", + "Snap", + "Draw", + "Tabs", + "RoomsExplore", +]; + +pub const PAGES: &[PageDef] = &[ + PageDef { name: "login", session_only: false, title: "page.login", widgets: &["Login"] }, + PageDef { name: "chat", session_only: true, title: "page.chats", widgets: CHAT_WIDGETS }, + PageDef { + name: "configuration", + session_only: true, + title: "page.configuration", + widgets: &[ + "Search", + "Notifications", + "Presence", + "Shortcuts", + "Navigation", + "BottomNavigation", + "Tabs", + "Vcard4", + "Avatar", + "Config", + "Account", + "NotificationConfig", + "Blocked", + "ContactActions", + "Upload", + "ChatOmemo", + ], + }, + PageDef { name: "account", session_only: false, title: "page.account_creation", widgets: &["Subscribe"] }, + PageDef { name: "register", session_only: false, title: "page.account_creation", widgets: &["Register"] }, + PageDef { name: "notfound", session_only: false, title: "page.not_found", widgets: &["NotFound"] }, +]; + +pub fn find(name: &str) -> Option<&'static PageDef> { + PAGES.iter().find(|p| p.name == name) +} + +/// Base CSS and scripts, see `Controller\Base::display` +const BASE_CSS: &[&str] = &[ + "style.css", + "notification.css", + "header.css", + "listn.css", + "grid.css", + "article.css", + "form.css", + "icon.css", + "dialog.css", + "card.css", + "chip.css", + "color.css", + "block.css", + "menu.css", + "fonts.css", + "title.css", + "typo.css", + "elevation.css", + "scrollbar.css", +]; + +const BASE_SCRIPTS: &[(&str, bool)] = &[ + ("movim_utils.js", false), + ("movim_events.js", false), + ("movim_jingles.js", false), + ("movim_e2ee.js", false), + ("movim_base.js", false), + ("movim_favicon.js", false), + ("movim_avatar.js", false), + ("movim_rpc.js", false), + ("movim_tpl.js", false), + ("movim_emojis_list.js", true), + ("libsignal_protocol.min.js", true), + ("thumbhash.js", true), +]; + +pub struct Built { + pub title: String, + pub css: Vec, + pub scripts: Vec, + pub inline_js: String, + pub content: String, + pub common: String, +} + +fn asset_url(ctx: &Ctx, path: &str, no_time: bool) -> String { + if no_time { + format!("{}{}", ctx.base_uri(), path) + } else { + format!("{}{}?t={}", ctx.base_uri(), path, ctx.app.boot_time) + } +} + +fn widget_assets(ctx: &Ctx, names: &[&str]) -> (Vec, Vec) { + let (mut css, mut js) = (vec![], vec![]); + for name in names { + if let Some(def) = widgets_registry::get(name) { + for f in def.css { + css.push(asset_url(ctx, &format!("cache/{}_{}", def.name, f), false)); + } + for f in def.js { + js.push(asset_url(ctx, &format!("cache/{}_{}", def.name, f), false)); + } + } + } + (css, js) +} + +/// The `Widget_ajaxFunction(params…)` JavaScript stubs, see `Controller\Ajax::genJsContent` +/// Calls added by this implementation, on top of Movim's ones +const EXTRA_FUNCS: &[(&str, &str, &[&str])] = &[ + ("Presence", "ajaxSetPresence", &["value"]), + ("Notifications", "ajaxEditContact", &["jid"]), + ("RoomsUtils", "ajaxKick", &["room", "nick"]), + ("RoomsUtils", "ajaxChangeAffiliation", &["room", "jid", "affiliation"]), +]; + +pub fn ajax_stubs(names: &[&str]) -> String { + let mut out = String::new(); + for name in names { + let Some(def) = widgets_registry::get(name) else { continue }; + let extras = EXTRA_FUNCS.iter().filter(|(w, _, _)| w == name).map(|(_, f, p)| (*f, *p)); + let funcs: Vec<(&str, &[&str])> = def + .funcs + .iter() + .map(|(f, p)| (*f, *p)) + .filter(|(f, _)| !EXTRA_FUNCS.iter().any(|(w, ef, _)| w == name && ef == f)) + .chain(extras) + .collect(); + for (func, params) in funcs { + let list = params.join(","); + let call = if func.starts_with("ajaxHttpDaemon") { + " return MWSad('" + } else if func.starts_with("ajaxHttp") { + " return MWSa('" + } else { + "MWSs('" + }; + out.push_str(&format!("function {name}_{func}({list}){{{call}{name}','{func}'")); + if !params.is_empty() { + out.push_str(&format!(",[{list}]")); + } + out.push_str(")}"); + } + } + out +} + +pub async fn build(ctx: &Ctx, page: &PageDef, params: &HashMap) -> Built { + let logged = ctx.is_logged(); + + let mut common_widgets: Vec<&str> = COMMON.to_vec(); + if logged { + common_widgets.push("Visio"); + } + + let mut page_widgets: Vec<&str> = page.widgets.to_vec(); + let has_omemo = ctx.me().is_some_and(|u| u.omemoenabled); + if !has_omemo { + page_widgets.retain(|w| *w != "ChatOmemo"); + } + + let mut rendered: HashMap<&str, String> = HashMap::new(); + for w in common_widgets.iter().chain(page_widgets.iter()) { + rendered.insert(w, widgets::build(ctx, w, page.name, params).await); + } + + let common = ctx.render( + "views/common.html", + json!({ "widgets": &rendered, "logged": logged, "js_check": true }), + ); + let content = ctx.render( + &format!("views/{}.html", page.name), + json!({ "widgets": &rendered, "params": params, "logged": logged }), + ); + + let all: Vec<&str> = common_widgets.iter().chain(page_widgets.iter()).copied().collect(); + let (css, scripts) = widget_assets(ctx, &all); + + let title = { + let base = ctx.t(page.title, &[]); + format!("{} • {}", crate::APP_TITLE, base) + }; + + Built { title, css, scripts, inline_js: ajax_stubs(&all), content, common } +} + +pub fn full_html(ctx: &Ctx, built: &Built) -> String { + let mut head = String::new(); + for css in BASE_CSS { + head.push_str(&format!( + "", + asset_url(ctx, &format!("theme/css/{css}"), false) + )); + } + for css in &built.css { + head.push_str(&format!("")); + } + + let mut scripts: Vec<(String, bool)> = BASE_SCRIPTS + .iter() + .map(|(s, no_time)| (asset_url(ctx, &format!("scripts/{s}"), *no_time), *no_time)) + .collect(); + if ctx.session.is_some() { + scripts.push((asset_url(ctx, "scripts/movim_websocket.js", false), false)); + } + scripts.push((asset_url(ctx, "scripts/movim_visio.js", false), false)); + + for (src, _) in &scripts { + let eager = src.contains("/movim_rpc") || src.contains("/movim_utils"); + head.push_str(&format!( + "", + if eager { "" } else { " defer" } + )); + } + for src in &built.scripts { + head.push_str(&format!("")); + } + head.push_str(&format!("\n", built.inline_js)); + + let lang = ctx.lang(); + let nightmode = ctx.me().is_some_and(|u| u.nightmode); + + ctx.render( + "views/page.html", + json!({ + "title": built.title, + "head": head, + "common": built.common, + "content": built.content, + "language": crate::i18n::iso639(&lang), + "dir": crate::i18n::direction(&lang), + "nightmode": nightmode, + "app_title": crate::APP_TITLE, + "boot_time": ctx.app.boot_time, + }), + ) +} + +pub fn soft_json(built: &Built) -> serde_json::Value { + json!({ + "title": built.title, + "widgetsCSS": built.css, + "widgetsScripts": built.scripts, + "inlineScripts": built.inline_js, + "content": built.content, + }) +} diff --git a/src/pep.rs b/src/pep.rs new file mode 100644 index 0000000..895763f --- /dev/null +++ b/src/pep.rs @@ -0,0 +1,332 @@ +//! Personal Eventing Protocol: avatars (XEP-0084, with the XEP-0153 vCard +//! fallback), nicknames (XEP-0172), bookmarks (XEP-0402), OMEMO device lists and +//! XEP-0490 displayed synchronization. + +use base64::{engine::general_purpose::STANDARD as B64, Engine}; +use minidom::Element; +use sha1::{Digest, Sha1}; +use std::{collections::HashSet, sync::Mutex}; + +use crate::{ + app::Ctx, + db, + proto::{self, ns}, + utils, widgets, + xmpp::child_text, +}; + +static FETCHING: std::sync::LazyLock>> = std::sync::LazyLock::new(Default::default); + +fn start_fetch(key: &str) -> bool { + FETCHING.lock().unwrap().insert(key.to_string()) +} + +fn end_fetch(key: &str) { + FETCHING.lock().unwrap().remove(key); +} + +pub async fn on_event(ctx: &Ctx, from: &str, event: &Element) { + for items in event.children().filter(|c| c.name() == "items") { + let node = items.attr("node").unwrap_or(""); + match node { + ns::AVATAR_METADATA => { + if let Some(item) = items.children().find(|c| c.name() == "item") { + on_avatar_metadata(ctx, from, item).await; + } + } + ns::NICK => { + let nick = items + .children() + .find(|c| c.name() == "item") + .and_then(|i| i.get_child("nick", ns::NICK)) + .map(|n| n.text()); + let _ = db::contact_set_nickname(ctx.db(), from, nick.as_deref()).await; + contact_updated(ctx, from).await; + } + ns::BOOKMARKS2 if from == ctx.jid() => { + for item in items.children() { + match item.name() { + "item" => widgets::rooms::on_bookmark(ctx, item).await, + "retract" => { + if let Some(id) = item.attr("id") { + widgets::rooms::on_bookmark_retract(ctx, id).await; + } + } + _ => {} + } + } + } + ns::OMEMO_DEVICELIST => { + let devices = parse_devicelist(items); + widgets::chatomemo::on_devicelist(ctx, from, devices).await; + } + ns::MDS if from == ctx.jid() => { + for item in items.children().filter(|c| c.name() == "item") { + let (Some(conversation), Some(sid)) = ( + item.attr("id"), + item.get_child("displayed", ns::MDS) + .and_then(|d| d.get_child("stanza-id", ns::SID)) + .and_then(|s| s.attr("id")), + ) else { + continue; + }; + on_displayed_sync(ctx, conversation, sid).await; + } + } + ns::VCARD4_NODE => { + if let Some(vcard) = items.children().find(|c| c.name() == "item").and_then(|i| i.get_child("vcard", ns::VCARD4)) { + apply_vcard4(ctx, from, vcard).await; + } + } + _ => {} + } + } +} + +pub fn parse_devicelist(items: &Element) -> Vec { + items + .children() + .find(|c| c.name() == "item") + .and_then(|i| i.get_child("list", ns::OMEMO)) + .map(|l| l.children().filter_map(|d| d.attr("id").and_then(|id| id.parse().ok())).collect()) + .unwrap_or_default() +} + +/// A conversation was read on another client +async fn on_displayed_sync(ctx: &Ctx, conversation: &str, stanza_id: &str) { + let me = ctx.jid(); + let found = db::message_resolve_reference(ctx.db(), &me, conversation, stanza_id).await.ok().flatten(); + if found.is_some() { + let _ = db::messages_mark_seen(ctx.db(), &me, conversation).await; + widgets::notif::clear(ctx, &format!("chat|{conversation}")).await; + widgets::notif::on_chat_counter(ctx).await; + if ctx.st(|st| st.conferences.contains_key(conversation)).unwrap_or(false) { + widgets::rooms::set_counter(ctx, conversation).await; + } else { + widgets::chats::refresh_item(ctx, conversation).await; + } + } +} + +async fn contact_updated(ctx: &Ctx, jid: &str) { + if jid == ctx.jid() { + widgets::presence::on_my_presence(ctx).await; + return; + } + widgets::chats::refresh_item(ctx, jid).await; + if widgets::notif::is_current(ctx, jid) { + widgets::chat::get_header(ctx, jid, false).await; + } +} + +async fn on_avatar_metadata(ctx: &Ctx, from: &str, item: &Element) { + let Some(metadata) = item.get_child("metadata", ns::AVATAR_METADATA) else { return }; + let info = metadata + .children() + .filter(|c| c.name() == "info") + .find(|i| i.attr("url").is_none()) + .or_else(|| metadata.children().find(|c| c.name() == "info")); + + let Some(info) = info else { + // Avatar disabled + let _ = db::contact_set_avatar(ctx.db(), from, None, "pep").await; + contact_updated(ctx, from).await; + return; + }; + let Some(hash) = info.attr("id").map(String::from) else { return }; + + let current = db::contact_get(ctx.db(), from).await.ok().flatten().and_then(|c| c.avatarhash); + if current.as_deref() == Some(hash.as_str()) && db::avatar_exists(ctx.db(), &hash).await.unwrap_or(false) { + return; + } + + if db::avatar_exists(ctx.db(), &hash).await.unwrap_or(false) { + let _ = db::contact_set_avatar(ctx.db(), from, Some(&hash), "pep").await; + contact_updated(ctx, from).await; + return; + } + + let ctx = ctx.clone(); + let from = from.to_string(); + let mime = info.attr("type").unwrap_or("image/png").to_string(); + tokio::spawn(async move { + fetch_pep_avatar(&ctx, &from, &hash, &mime).await; + }); +} + +async fn fetch_pep_avatar(ctx: &Ctx, from: &str, hash: &str, mime: &str) { + if !start_fetch(hash) { + return; + } + let res = async { + let x = ctx.xmpp()?; + let to = if from == ctx.jid() { None } else { Some(from) }; + let res = x.iq(proto::pubsub_items(to, ns::AVATAR_DATA, None, Some(hash))).await.ok()?; + let data = res + .get_child("pubsub", ns::PUBSUB)? + .get_child("items", ns::PUBSUB)? + .children() + .find(|c| c.name() == "item")? + .get_child("data", ns::AVATAR_DATA)? + .text(); + let bytes = B64.decode(data.split_whitespace().collect::()).ok()?; + let digest = hex::encode(Sha1::digest(&bytes)); + if digest != hash { + tracing::debug!("avatar hash mismatch for {from}"); + } + db::avatar_save(ctx.db(), hash, &sanitize_mime(mime), &bytes).await.ok()?; + db::contact_set_avatar(ctx.db(), from, Some(hash), "pep").await.ok()?; + Some(()) + } + .await; + end_fetch(hash); + if res.is_some() { + contact_updated(ctx, from).await; + } +} + +fn sanitize_mime(mime: &str) -> String { + match mime { + "image/png" | "image/jpeg" | "image/gif" | "image/webp" => mime.to_string(), + _ => "image/png".to_string(), + } +} + +/// XEP-0153: the presence announced a vCard photo hash +pub async fn check_vcard_avatar(ctx: &Ctx, jid: &str, photo: &str) { + let contact = db::contact_get(ctx.db(), jid).await.ok().flatten(); + // PEP avatars take precedence + if contact.as_ref().is_some_and(|c| c.avatartype.as_deref() == Some("pep") && c.avatarhash.is_some()) { + return; + } + if photo.is_empty() { + return; + } + if contact.as_ref().and_then(|c| c.avatarhash.as_deref()) == Some(photo) { + return; + } + if db::avatar_exists(ctx.db(), photo).await.unwrap_or(false) { + let _ = db::contact_set_avatar(ctx.db(), jid, Some(photo), "vcard").await; + contact_updated(ctx, jid).await; + return; + } + let ctx = ctx.clone(); + let jid = jid.to_string(); + tokio::spawn(async move { + fetch_vcard(&ctx, &jid).await; + }); +} + +pub async fn fetch_vcard(ctx: &Ctx, jid: &str) { + let key = format!("vcard:{jid}"); + if !start_fetch(&key) { + return; + } + let res = async { + let x = ctx.xmpp()?; + let to = if jid == ctx.jid() { None } else { Some(jid) }; + let res = x.iq(proto::vcard_get(to)).await.ok()?; + let vcard = res.get_child("vCard", ns::VCARD)?; + + let mut contact = db::contact_get_or_new(ctx.db(), jid).await; + if let Some(f) = child_text(vcard, "FN").filter(|f| !f.trim().is_empty()) { + contact.fn_ = Some(f); + } + if let Some(n) = child_text(vcard, "NICKNAME").filter(|f| !f.trim().is_empty()) { + if contact.nickname.is_none() { + contact.nickname = Some(n); + } + } + if let Some(u) = child_text(vcard, "URL").filter(|f| !f.trim().is_empty()) { + contact.url = Some(u); + } + if let Some(d) = child_text(vcard, "DESC").filter(|f| !f.trim().is_empty()) { + contact.description = Some(d); + } + if let Some(email) = vcard.children().find(|c| c.name() == "EMAIL").and_then(|e| child_text(e, "USERID")) { + contact.email = Some(email); + } + + if contact.avatartype.as_deref() != Some("pep") || contact.avatarhash.is_none() { + if let Some(photo) = vcard.children().find(|c| c.name() == "PHOTO") { + let data = child_text(photo, "BINVAL").unwrap_or_default(); + let mime = child_text(photo, "TYPE").unwrap_or_else(|| "image/png".into()); + if let Ok(bytes) = B64.decode(data.split_whitespace().collect::()) { + if !bytes.is_empty() { + let hash = hex::encode(Sha1::digest(&bytes)); + let _ = db::avatar_save(ctx.db(), &hash, &sanitize_mime(&mime), &bytes).await; + contact.avatarhash = Some(hash); + contact.avatartype = Some("vcard".into()); + } + } + } + } + db::contact_save(ctx.db(), &contact).await.ok()?; + Some(()) + } + .await; + end_fetch(&key); + if res.is_some() { + contact_updated(ctx, jid).await; + } +} + +async fn apply_vcard4(ctx: &Ctx, jid: &str, vcard: &Element) { + let text = |name: &str| -> Option { + vcard + .children() + .find(|c| c.name() == name) + .and_then(|c| c.children().next().map(|t| t.text())) + .filter(|t| !t.trim().is_empty()) + }; + let mut contact = db::contact_get_or_new(ctx.db(), jid).await; + if let Some(f) = text("fn") { + contact.fn_ = Some(f); + } + if let Some(n) = text("nickname") { + contact.nickname = Some(n); + } + if let Some(n) = text("note") { + contact.description = Some(n); + } + if let Some(u) = text("url") { + contact.url = Some(u); + } + let _ = db::contact_save(ctx.db(), &contact).await; + contact_updated(ctx, jid).await; +} + +/// Our own profile: avatar, nickname, vCard +pub async fn refresh_profile(ctx: &Ctx, jid: &str) { + let Some(x) = ctx.xmpp() else { return }; + let to = if jid == ctx.jid() { None } else { Some(jid) }; + + let mut has_pep_avatar = false; + if let Ok(res) = x.iq(proto::pubsub_items(to, ns::AVATAR_METADATA, Some(1), None)).await { + if let Some(item) = res + .get_child("pubsub", ns::PUBSUB) + .and_then(|p| p.get_child("items", ns::PUBSUB)) + .and_then(|i| i.children().find(|c| c.name() == "item")) + { + has_pep_avatar = true; + on_avatar_metadata(ctx, jid, item).await; + } + } + + if let Ok(res) = x.iq(proto::pubsub_items(to, ns::VCARD4_NODE, Some(1), None)).await { + if let Some(vcard) = res + .get_child("pubsub", ns::PUBSUB) + .and_then(|p| p.get_child("items", ns::PUBSUB)) + .and_then(|i| i.children().find(|c| c.name() == "item")) + .and_then(|i| i.get_child("vcard", ns::VCARD4)) + { + apply_vcard4(ctx, jid, vcard).await; + } + } + + if !has_pep_avatar { + fetch_vcard(ctx, jid).await; + } + widgets::presence::on_my_presence(ctx).await; + let _ = utils::bare_jid; +} diff --git a/src/proto.rs b/src/proto.rs new file mode 100644 index 0000000..33c10aa --- /dev/null +++ b/src/proto.rs @@ -0,0 +1,657 @@ +//! Namespaces and outgoing stanza builders (Movim's `Moxl\Stanza`). + +use minidom::Element; +use sha1::{Digest, Sha1}; +use base64::{engine::general_purpose::STANDARD as B64, Engine}; + +use crate::xmpp::{el, BuilderExt, NS_CLIENT}; + +pub mod ns { + pub const ROSTER: &str = "jabber:iq:roster"; + pub const CARBONS: &str = "urn:xmpp:carbons:2"; + pub const FORWARD: &str = "urn:xmpp:forward:0"; + pub const DELAY: &str = "urn:xmpp:delay"; + pub const MAM: &str = "urn:xmpp:mam:2"; + pub const RSM: &str = "http://jabber.org/protocol/rsm"; + pub const DATA: &str = "jabber:x:data"; + pub const DISCO_INFO: &str = "http://jabber.org/protocol/disco#info"; + pub const DISCO_ITEMS: &str = "http://jabber.org/protocol/disco#items"; + pub const CAPS: &str = "http://jabber.org/protocol/caps"; + pub const CHATSTATES: &str = "http://jabber.org/protocol/chatstates"; + pub const RECEIPTS: &str = "urn:xmpp:receipts"; + pub const MARKERS: &str = "urn:xmpp:chat-markers:0"; + pub const SID: &str = "urn:xmpp:sid:0"; + pub const CORRECT: &str = "urn:xmpp:message-correct:0"; + pub const RETRACT: &str = "urn:xmpp:message-retract:1"; + pub const MODERATE: &str = "urn:xmpp:message-moderate:1"; + pub const REACTIONS: &str = "urn:xmpp:reactions:0"; + pub const REPLY: &str = "urn:xmpp:reply:0"; + pub const FALLBACK: &str = "urn:xmpp:fallback:0"; + pub const HINTS: &str = "urn:xmpp:hints"; + pub const OOB: &str = "jabber:x:oob"; + pub const REFERENCE: &str = "urn:xmpp:reference:0"; + pub const SIMS: &str = "urn:xmpp:sims:1"; + pub const FILE_TRANSFER4: &str = "urn:xmpp:jingle:apps:file-transfer:4"; + pub const THUMBS: &str = "urn:xmpp:thumbs:1"; + pub const EME: &str = "urn:xmpp:eme:0"; + pub const OMEMO: &str = "eu.siacs.conversations.axolotl"; + pub const OMEMO_DEVICELIST: &str = "eu.siacs.conversations.axolotl.devicelist"; + pub const OMEMO_BUNDLES_PREFIX: &str = "eu.siacs.conversations.axolotl.bundles:"; + pub const XMPP_STANZAS_NS: &str = "urn:ietf:params:xml:ns:xmpp-stanzas"; + pub const MUC: &str = "http://jabber.org/protocol/muc"; + pub const MUC_USER: &str = "http://jabber.org/protocol/muc#user"; + pub const MUC_ADMIN: &str = "http://jabber.org/protocol/muc#admin"; + pub const MUC_OWNER: &str = "http://jabber.org/protocol/muc#owner"; + pub const CONFERENCE: &str = "jabber:x:conference"; + pub const PUBSUB: &str = "http://jabber.org/protocol/pubsub"; + pub const PUBSUB_EVENT: &str = "http://jabber.org/protocol/pubsub#event"; + pub const PUBSUB_OWNER: &str = "http://jabber.org/protocol/pubsub#owner"; + pub const BOOKMARKS2: &str = "urn:xmpp:bookmarks:1"; + pub const BOOKMARKS_LEGACY: &str = "storage:bookmarks"; + pub const PRIVATE: &str = "jabber:iq:private"; + pub const AVATAR_DATA: &str = "urn:xmpp:avatar:data"; + pub const AVATAR_METADATA: &str = "urn:xmpp:avatar:metadata"; + pub const VCARD: &str = "vcard-temp"; + pub const VCARD_UPDATE: &str = "vcard-temp:x:update"; + pub const VCARD4: &str = "urn:ietf:params:xml:ns:vcard-4.0"; + pub const VCARD4_NODE: &str = "urn:xmpp:vcard4"; + pub const NICK: &str = "http://jabber.org/protocol/nick"; + pub const BLOCKING: &str = "urn:xmpp:blocking"; + pub const PING: &str = "urn:xmpp:ping"; + pub const VERSION: &str = "jabber:iq:version"; + pub const LAST: &str = "jabber:iq:last"; + pub const IDLE: &str = "urn:xmpp:idle:1"; + pub const MUJI: &str = "urn:xmpp:jingle:muji:0"; + pub const UPLOAD: &str = "urn:xmpp:http:upload:0"; + pub const MDS: &str = "urn:xmpp:mds:displayed:0"; + pub const JINGLE: &str = "urn:xmpp:jingle:1"; + pub const JINGLE_MESSAGE: &str = "urn:xmpp:jingle-message:0"; + pub const EXTERNAL_SERVICES: &str = "urn:xmpp:extdisco:2"; + pub const REGISTER: &str = "jabber:iq:register"; + pub const HTTP_AUTH: &str = "http://jabber.org/protocol/http-auth"; + pub const MUC_ROOMCONFIG: &str = "http://jabber.org/protocol/muc#roomconfig"; +} + +pub const CAPS_NODE: &str = "https://movim.eu/"; + +/// Features announced through XEP-0115 +pub fn features() -> Vec<&'static str> { + let mut f = vec![ + "urn:xmpp:bookmarks:1+notify", + "eu.siacs.conversations.axolotl.devicelist+notify", + "urn:xmpp:sid:0", + "urn:xmpp:attention:0", + "urn:xmpp:avatar:data", + "urn:xmpp:avatar:metadata+notify", + "urn:xmpp:mds:displayed:0+notify", + "urn:xmpp:receipts", + "urn:xmpp:carbons:2", + "jabber:iq:version", + "jabber:iq:last", + "vcard-temp", + "jabber:x:data", + "jabber:x:oob", + "jabber:x:conference", + "urn:xmpp:ping", + "urn:xmpp:message-correct:0", + "urn:xmpp:message-retract:1", + "urn:xmpp:message-moderate:1", + "urn:xmpp:chat-markers:0", + "urn:xmpp:reference:0", + "urn:xmpp:reply:0", + "urn:xmpp:reactions:0", + "urn:xmpp:sims:1", + "http://jabber.org/protocol/jingle", + "urn:xmpp:jingle:1", + "urn:xmpp:jingle:apps:rtp:1", + "urn:xmpp:jingle:apps:rtp:audio", + "urn:xmpp:jingle:apps:rtp:video", + "urn:xmpp:jingle:apps:rtp:rtp-hdrext:0", + "urn:ietf:rfc:3264", + "urn:ietf:rfc:5888", + "urn:xmpp:jingle:apps:dtls:0", + "urn:ietf:rfc:5576", + "urn:xmpp:jingle:transports:ice-udp:1", + "urn:xmpp:jingle:apps:rtp:rtcp-fb:0", + "urn:xmpp:jingle-message:0", + "urn:xmpp:jingle:muji:0", + "http://jabber.org/protocol/muc", + "http://jabber.org/protocol/nick+notify", + "http://jabber.org/protocol/chatstates", + "http://jabber.org/protocol/caps", + "http://jabber.org/protocol/disco#info", + "http://jabber.org/protocol/disco#items", + ]; + f.sort(); + f +} + +pub const IDENTITY: (&str, &str, &str) = ("client", "web", "Movim"); + +/// XEP-0115 verification string +pub fn caps_ver() -> String { + let mut s = format!("{}/{}//{}<", IDENTITY.0, IDENTITY.1, IDENTITY.2); + for f in features() { + s.push_str(f); + s.push('<'); + } + B64.encode(Sha1::digest(s.as_bytes())) +} + +pub fn caps_element() -> Element { + el("c", ns::CAPS).a("hash", "sha-1").a("node", CAPS_NODE).a("ver", caps_ver()).build() +} + +pub fn disco_info_result(req: &Element, node: Option<&str>) -> Element { + let mut q = el("query", ns::DISCO_INFO); + if let Some(n) = node { + q = q.a("node", n); + } + q = q.append( + el("identity", ns::DISCO_INFO) + .a("category", IDENTITY.0) + .a("type", IDENTITY.1) + .a("name", IDENTITY.2) + .build(), + ); + for f in features() { + q = q.append(el("feature", ns::DISCO_INFO).a("var", f).build()); + } + crate::xmpp::result_for(req, Some(q.build())) +} + +// ---------------------------------------------------------------- Presence + +pub fn presence(show: Option<&str>, status: Option<&str>, priority: i8) -> Element { + let mut p = el("presence", NS_CLIENT); + if let Some(show) = show.filter(|s| !s.is_empty() && *s != "online") { + p = p.append(el("show", NS_CLIENT).append(show).build()); + } + if let Some(status) = status.filter(|s| !s.is_empty()) { + p = p.append(el("status", NS_CLIENT).append(status).build()); + } + p = p.append(el("priority", NS_CLIENT).append(priority.to_string()).build()); + p.append(caps_element()).build() +} + +pub fn presence_to(to: &str, type_: &str) -> Element { + el("presence", NS_CLIENT).a("to", to).a("type", type_).build() +} + +pub fn muc_join(room: &str, nick: &str, history_since: Option<&str>, history_max: Option) -> Element { + let mut x = el("x", ns::MUC); + let mut history = el("history", ns::MUC); + let mut add = false; + if let Some(since) = history_since { + history = history.a("since", since); + add = true; + } + if let Some(max) = history_max { + history = history.a("maxstanzas", max.to_string()); + add = true; + } + if add { + x = x.append(history.build()); + } + el("presence", NS_CLIENT) + .a("to", format!("{room}/{nick}")) + .append(x.build()) + .append(caps_element()) + .build() +} + +pub fn muc_leave(room: &str, nick: &str) -> Element { + el("presence", NS_CLIENT).a("to", format!("{room}/{nick}")).a("type", "unavailable").build() +} + +// ---------------------------------------------------------------- Messages + +pub struct OutgoingFile { + pub url: String, + pub name: Option, + pub type_: Option, + pub size: Option, + pub thumbnail_url: Option, + pub thumbnail_type: Option, + pub thumbnail_width: Option, + pub thumbnail_height: Option, +} + +#[derive(Default)] +pub struct OutgoingMessage<'a> { + pub to: &'a str, + pub id: &'a str, + pub groupchat: bool, + pub body: Option<&'a str>, + pub replace: Option<&'a str>, + pub reply_id: Option<&'a str>, + pub reply_to: Option<&'a str>, + pub reply_fallback_len: usize, + pub file: Option<&'a OutgoingFile>, + pub omemo: Option, + pub thread: Option<&'a str>, + pub html: Option, +} + +pub fn message(m: &OutgoingMessage) -> Element { + let type_ = if m.groupchat { "groupchat" } else { "chat" }; + let mut b = el("message", NS_CLIENT).a("to", m.to).a("type", type_).a("id", m.id); + + if !m.groupchat && m.to.contains('/') { + b = b.append(el("x", ns::MUC_USER).build()); + } + if let Some(t) = m.thread { + b = b.append(el("thread", NS_CLIENT).append(t).build()); + } + if let (Some(id), Some(to)) = (m.reply_id, m.reply_to) { + b = b.append(el("reply", ns::REPLY).a("id", id).a("to", to).build()); + if m.reply_fallback_len > 0 { + b = b.append( + el("fallback", ns::FALLBACK) + .a("for", ns::REPLY) + .append(el("body", ns::FALLBACK).a("start", "0").a("end", m.reply_fallback_len.to_string()).build()) + .build(), + ); + } + } + b = b.append(el("active", ns::CHATSTATES).build()); + if let Some(body) = m.body { + b = b.append(el("body", NS_CLIENT).append(body).build()); + } + if let Some(r) = m.replace { + b = b.append(el("replace", ns::CORRECT).a("id", r).build()); + } + if let Some(html) = &m.html { + b = b.append(html.clone()); + } + if !m.groupchat { + b = b.append(el("request", ns::RECEIPTS).build()); + } + b = b.append(el("markable", ns::MARKERS).build()); + b = b.append(el("origin-id", ns::SID).a("id", m.id).build()); + + if let Some(f) = m.file { + let mut file = el("file", ns::FILE_TRANSFER4); + if let Some(t) = &f.type_ { + file = file.append(el("media-type", ns::FILE_TRANSFER4).append(t.as_str()).build()); + } + if let Some(n) = f.name.as_ref().filter(|n| !n.is_empty()) { + file = file.append(el("name", ns::FILE_TRANSFER4).append(n.as_str()).build()); + } + if let Some(s) = f.size.filter(|s| *s > 0) { + file = file.append(el("size", ns::FILE_TRANSFER4).append(s.to_string()).build()); + } + if let Some(t) = &f.thumbnail_url { + let ttype = f.thumbnail_type.clone().unwrap_or_default(); + let uri = if ttype == "image/thumbhash" { format!("data:image/thumbhash;base64,{t}") } else { t.clone() }; + file = file.append( + el("thumbnail", ns::THUMBS) + .a("media-type", ttype) + .a("uri", uri) + .a("width", f.thumbnail_width.unwrap_or(0).to_string()) + .a("height", f.thumbnail_height.unwrap_or(0).to_string()) + .build(), + ); + } + let sims = el("media-sharing", ns::SIMS) + .append(file.build()) + .append( + el("sources", ns::SIMS) + .append(el("reference", ns::REFERENCE).a("type", "data").a("uri", f.url.as_str()).build()) + .build(), + ) + .build(); + b = b.append(el("reference", ns::REFERENCE).a("type", "data").append(sims).build()); + b = b.append(el("x", ns::OOB).append(el("url", ns::OOB).append(f.url.as_str()).build()).build()); + } + + if let Some(omemo) = &m.omemo { + b = b.append(omemo.clone()); + b = b.append(el("encryption", ns::EME).a("namespace", ns::OMEMO).a("name", "OMEMO").build()); + b = b.append(el("store", ns::HINTS).build()); + } + + b.build() +} + +pub fn chat_state(to: &str, state: &str, groupchat: bool) -> Element { + el("message", NS_CLIENT) + .a("to", to) + .a("type", if groupchat { "groupchat" } else { "chat" }) + .a("id", crate::utils::generate_uuid()) + .append(el(state, ns::CHATSTATES).build()) + .append(el("no-store", ns::HINTS).build()) + .build() +} + +pub fn receipt(to: &str, id: &str) -> Element { + el("message", NS_CLIENT) + .a("to", to) + .a("id", crate::utils::generate_uuid()) + .append(el("received", ns::RECEIPTS).a("id", id).build()) + .append(el("store", ns::HINTS).build()) + .build() +} + +pub fn displayed(to: &str, id: &str, type_: &str) -> Element { + el("message", NS_CLIENT) + .a("to", to) + .a("type", type_) + .a("id", crate::utils::generate_uuid()) + .append(el("displayed", ns::MARKERS).a("id", id).build()) + .append(el("store", ns::HINTS).build()) + .build() +} + +pub fn reactions(to: &str, groupchat: bool, parent_id: &str, emojis: &[String]) -> Element { + let mut r = el("reactions", ns::REACTIONS).a("id", parent_id); + for e in emojis { + r = r.append(el("reaction", ns::REACTIONS).append(e.as_str()).build()); + } + el("message", NS_CLIENT) + .a("to", to) + .a("type", if groupchat { "groupchat" } else { "chat" }) + .a("id", crate::utils::generate_uuid()) + .append(r.build()) + .append(el("store", ns::HINTS).build()) + .build() +} + +pub fn retract(to: &str, groupchat: bool, id: &str) -> Element { + el("message", NS_CLIENT) + .a("to", to) + .a("type", if groupchat { "groupchat" } else { "chat" }) + .a("id", crate::utils::generate_uuid()) + .append(el("retract", ns::RETRACT).a("id", id).build()) + .append(el("fallback", ns::FALLBACK).a("for", ns::RETRACT).build()) + .append(el("body", NS_CLIENT).append("This person attempted to retract a previous message, but it's unsupported by your client.").build()) + .append(el("store", ns::HINTS).build()) + .build() +} + +pub fn moderate(room: &str, stanza_id: &str, reason: Option<&str>) -> Element { + let mut m = el("moderate", ns::MODERATE).a("id", stanza_id).append(el("retract", ns::RETRACT).build()); + if let Some(r) = reason { + m = m.append(el("reason", ns::MODERATE).append(r).build()); + } + crate::xmpp::iq("set", Some(room), m.build()) +} + +pub fn invite_direct(to: &str, room: &str, reason: Option<&str>) -> Element { + let mut x = el("x", ns::CONFERENCE).a("jid", room); + if let Some(r) = reason { + x = x.a("reason", r); + } + el("message", NS_CLIENT).a("to", to).a("id", crate::utils::generate_uuid()).append(x.build()).build() +} + +pub fn invite_mediated(room: &str, to: &str) -> Element { + el("message", NS_CLIENT) + .a("to", room) + .a("id", crate::utils::generate_uuid()) + .append(el("x", ns::MUC_USER).append(el("invite", ns::MUC_USER).a("to", to).build()).build()) + .build() +} + +pub fn subject(room: &str, subject: &str) -> Element { + el("message", NS_CLIENT) + .a("to", room) + .a("type", "groupchat") + .a("id", crate::utils::generate_uuid()) + .append(el("subject", NS_CLIENT).append(subject).build()) + .build() +} + +// ---------------------------------------------------------------- IQs + +pub fn roster_get() -> Element { + crate::xmpp::iq("get", None, el("query", ns::ROSTER).build()) +} + +pub fn roster_set(jid: &str, name: Option<&str>, groups: &[String], remove: bool) -> Element { + let mut item = el("item", ns::ROSTER).a("jid", jid); + if remove { + item = item.a("subscription", "remove"); + } else { + if let Some(n) = name.filter(|n| !n.is_empty()) { + item = item.a("name", n); + } + for g in groups { + item = item.append(el("group", ns::ROSTER).append(g.as_str()).build()); + } + } + crate::xmpp::iq("set", None, el("query", ns::ROSTER).append(item.build()).build()) +} + +pub fn carbons_enable() -> Element { + crate::xmpp::iq("set", None, el("enable", ns::CARBONS).build()) +} + +pub fn disco_info(to: &str, node: Option<&str>) -> Element { + let mut q = el("query", ns::DISCO_INFO); + if let Some(n) = node { + q = q.a("node", n); + } + crate::xmpp::iq("get", Some(to), q.build()) +} + +pub fn disco_items(to: &str, node: Option<&str>) -> Element { + let mut q = el("query", ns::DISCO_ITEMS); + if let Some(n) = node { + q = q.a("node", n); + } + crate::xmpp::iq("get", Some(to), q.build()) +} + +pub fn blocklist_get() -> Element { + crate::xmpp::iq("get", None, el("blocklist", ns::BLOCKING).build()) +} + +pub fn block(jid: &str, unblock: bool) -> Element { + let name = if unblock { "unblock" } else { "block" }; + crate::xmpp::iq( + "set", + None, + el(name, ns::BLOCKING).append(el("item", ns::BLOCKING).a("jid", jid).build()).build(), + ) +} + +pub struct MamQuery<'a> { + pub to: Option<&'a str>, + pub with: Option<&'a str>, + pub start: Option, + pub end: Option, + pub limit: Option, + pub before: Option<&'a str>, + pub after: Option<&'a str>, + pub queryid: &'a str, +} + +pub fn mam_query(q: &MamQuery) -> Element { + let mut x = el("x", ns::DATA) + .a("type", "submit") + .append(field("FORM_TYPE", Some("hidden"), &[ns::MAM])); + if let Some(with) = q.with { + x = x.append(field("with", None, &[with])); + } + if let Some(start) = &q.start { + x = x.append(field("start", None, &[start.as_str()])); + } + if let Some(end) = &q.end { + x = x.append(field("end", None, &[end.as_str()])); + } + + let mut query = el("query", ns::MAM).a("queryid", q.queryid).append(x.build()); + + if q.limit.is_some() || q.before.is_some() || q.after.is_some() { + let mut set = el("set", ns::RSM); + if let Some(max) = q.limit { + set = set.append(el("max", ns::RSM).append(max.to_string()).build()); + } + if let Some(before) = q.before { + set = set.append(el("before", ns::RSM).append(before).build()); + } + if let Some(after) = q.after { + set = set.append(el("after", ns::RSM).append(after).build()); + } + query = query.append(set.build()); + } + + crate::xmpp::iq("set", q.to, query.build()) +} + +pub fn field(var: &str, type_: Option<&str>, values: &[&str]) -> Element { + let mut f = el("field", ns::DATA).a("var", var); + if let Some(t) = type_ { + f = f.a("type", t); + } + for v in values { + f = f.append(el("value", ns::DATA).append(*v).build()); + } + f.build() +} + +pub fn pubsub_items(to: Option<&str>, node: &str, max: Option, item_id: Option<&str>) -> Element { + let mut items = el("items", ns::PUBSUB).a("node", node); + if let Some(m) = max { + items = items.a("max_items", m.to_string()); + } + if let Some(id) = item_id { + items = items.append(el("item", ns::PUBSUB).a("id", id).build()); + } + crate::xmpp::iq("get", to, el("pubsub", ns::PUBSUB).append(items.build()).build()) +} + +pub fn publish_options(fields: &[(&str, &str)]) -> Element { + let mut x = el("x", ns::DATA) + .a("type", "submit") + .append(field("FORM_TYPE", Some("hidden"), &["http://jabber.org/protocol/pubsub#publish-options"])); + for (k, v) in fields { + x = x.append(field(k, None, &[v])); + } + el("publish-options", ns::PUBSUB).append(x.build()).build() +} + +pub fn pubsub_publish(to: Option<&str>, node: &str, item_id: Option<&str>, payload: Element, options: Option) -> Element { + let mut item = el("item", ns::PUBSUB); + if let Some(id) = item_id { + item = item.a("id", id); + } + let mut ps = el("pubsub", ns::PUBSUB).append(el("publish", ns::PUBSUB).a("node", node).append(item.append(payload).build()).build()); + if let Some(o) = options { + ps = ps.append(o); + } + crate::xmpp::iq("set", to, ps.build()) +} + +pub fn pubsub_retract(node: &str, item_id: &str) -> Element { + crate::xmpp::iq( + "set", + None, + el("pubsub", ns::PUBSUB) + .append( + el("retract", ns::PUBSUB) + .a("node", node) + .a("notify", "true") + .append(el("item", ns::PUBSUB).a("id", item_id).build()) + .build(), + ) + .build(), + ) +} + +/// XEP-0402 bookmark +pub const NS_NOTIFICATION_SETTINGS: &str = "urn:xmpp:notification-settings:0"; +pub const NS_PINNED: &str = "urn:xmpp:bookmarks-pinning:0"; + +pub fn bookmark_conference( + name: Option<&str>, + nick: Option<&str>, + autojoin: bool, + notify: u8, + pinned: bool, + other_extensions: &[Element], +) -> Element { + let mut c = el("conference", ns::BOOKMARKS2).a("autojoin", if autojoin { "true" } else { "false" }); + if let Some(n) = name.filter(|n| !n.is_empty()) { + c = c.a("name", n); + } + if let Some(n) = nick.filter(|n| !n.is_empty()) { + c = c.append(el("nick", ns::BOOKMARKS2).append(n).build()); + } + // Same extensions as Movim, so the settings are shared with it + let mut ext = el("extensions", ns::BOOKMARKS2); + for e in other_extensions { + ext = ext.append(e.clone()); + } + let key = match notify { + 0 => "never", + 2 => "always", + _ => "on-mention", + }; + ext = ext.append(el("notify", NS_NOTIFICATION_SETTINGS).append(el(key, NS_NOTIFICATION_SETTINGS).build()).build()); + if pinned { + ext = ext.append(el("pinned", NS_PINNED).build()); + } + c.append(ext.build()).build() +} + +pub fn bookmark_publish(room: &str, conference: Element) -> Element { + pubsub_publish( + None, + ns::BOOKMARKS2, + Some(room), + conference, + Some(publish_options(&[ + ("pubsub#persist_items", "true"), + ("pubsub#access_model", "whitelist"), + ("pubsub#send_last_published_item", "never"), + ("pubsub#max_items", "max"), + ("pubsub#notify_retract", "true"), + ])), + ) +} + +pub fn vcard_get(to: Option<&str>) -> Element { + crate::xmpp::iq("get", to, el("vCard", ns::VCARD).build()) +} + +pub fn version_result(req: &Element) -> Element { + crate::xmpp::result_for( + req, + Some( + el("query", ns::VERSION) + .append(el("name", ns::VERSION).append("Movim").build()) + .append(el("version", ns::VERSION).append(env!("CARGO_PKG_VERSION")).build()) + .append(el("os", ns::VERSION).append("Rust").build()) + .build(), + ), + ) +} + +pub fn upload_request(to: &str, name: &str, size: i64, mime: &str) -> Element { + crate::xmpp::iq( + "get", + Some(to), + el("request", ns::UPLOAD) + .a("filename", name) + .a("size", size.to_string()) + .a("content-type", mime) + .build(), + ) +} + +pub fn mds_displayed(room: &str, stanza_id: &str, by: &str) -> Element { + pubsub_publish( + None, + ns::MDS, + Some(room), + el("displayed", ns::MDS).append(el("stanza-id", ns::SID).a("id", stanza_id).a("by", by).build()).build(), + Some(publish_options(&[ + ("pubsub#persist_items", "true"), + ("pubsub#max_items", "max"), + ("pubsub#send_last_published_item", "never"), + ("pubsub#access_model", "whitelist"), + ])), + ) +} diff --git a/src/push.rs b/src/push.rs new file mode 100644 index 0000000..76bf564 --- /dev/null +++ b/src/push.rs @@ -0,0 +1,111 @@ +//! Web Push notifications (RFC 8030 + VAPID), sent to the browsers of the user +//! that are not currently connected, so they are notified while the tab is closed +//! (the XMPP session keeps running on the server). + +use base64ct::{Base64UrlUnpadded, Encoding}; +use serde_json::{json, Value}; +use std::{path::Path, sync::OnceLock}; +use web_push_native::{ + jwt_simple::algorithms::{ES256KeyPair, ECDSAP256PublicKeyLike}, + p256::PublicKey, + Auth, WebPushBuilder, +}; + +use crate::{app::Ctx, db}; + +static VAPID: OnceLock = OnceLock::new(); + +/// Load or create the VAPID key pair of this instance +pub fn init(data_dir: &Path) { + let path = data_dir.join("vapid.key"); + let key = std::fs::read_to_string(&path) + .ok() + .and_then(|s| Base64UrlUnpadded::decode_vec(s.trim()).ok()) + .and_then(|b| ES256KeyPair::from_bytes(&b).ok()) + .unwrap_or_else(|| { + let k = ES256KeyPair::generate(); + if let Err(e) = std::fs::write(&path, Base64UrlUnpadded::encode_string(&k.to_bytes())) { + tracing::warn!("cannot save the VAPID key: {e}"); + } + k + }); + let _ = VAPID.set(key); +} + +/// Public key given to `pushManager.subscribe` +pub fn public_key() -> String { + VAPID + .get() + .map(|k| Base64UrlUnpadded::encode_string(&k.public_key().public_key().to_bytes_uncompressed())) + .unwrap_or_default() +} + +pub async fn notify(ctx: &Ctx, tag: &str, title: &str, body: &str, picture: &str, data: &Value) { + let Some(vapid) = VAPID.get() else { return }; + let me = ctx.jid(); + + // The browsers with an open tab already got a desktop notification + let connected: Vec = ctx + .session + .as_ref() + .filter(|s| s.clients_count() > 0) + .map(|s| s.st.lock().unwrap().push_endpoints.clone()) + .unwrap_or_default(); + + let subscriptions = db::push_subscriptions(ctx.db(), &me).await.unwrap_or_default(); + if subscriptions.is_empty() { + return; + } + + let mut picture = picture.to_string(); + if picture.starts_with("//") { + picture = format!("https:{picture}"); + } + let payload = json!({ + "title": title, + "body": body, + "picture": picture, + "actions": [], + "data": data, + "tag": tag, + "timestamp": chrono::Utc::now().timestamp(), + }) + .to_string(); + + for (endpoint, p256dh, auth) in subscriptions { + if connected.contains(&endpoint) { + continue; + } + let built = (|| -> Result<_, Box> { + let builder = WebPushBuilder::new( + endpoint.parse()?, + PublicKey::from_sec1_bytes(&Base64UrlUnpadded::decode_vec(&p256dh)?)?, + Auth::clone_from_slice(&Base64UrlUnpadded::decode_vec(&auth)?), + ) + .with_vapid(vapid, "mailto:admin@movim.local"); + Ok(builder.build(payload.clone()).map_err(|e| e.to_string())?) + })() + .map_err(|e| e.to_string()); + let request = match built { + Ok(r) => r, + Err(e) => { + tracing::debug!("push request error: {e}"); + continue; + } + }; + + let (parts, body) = request.into_parts(); + let mut req = ctx.app.http.post(parts.uri.to_string()).body(body); + for (k, v) in parts.headers.iter() { + req = req.header(k.as_str(), v.as_bytes()); + } + match req.send().await { + Ok(res) if res.status().as_u16() == 404 || res.status().as_u16() == 410 => { + let _ = db::push_subscription_delete(ctx.db(), &endpoint).await; + } + Ok(res) if !res.status().is_success() => tracing::debug!("push refused: {}", res.status()), + Err(e) => tracing::debug!("push failed: {e}"), + _ => {} + } + } +} diff --git a/src/session.rs b/src/session.rs new file mode 100644 index 0000000..1934766 --- /dev/null +++ b/src/session.rs @@ -0,0 +1,384 @@ +//! Browser sessions (one per `MOVIM_SESSION_ID` cookie), each one owning at most +//! one XMPP connection, like Movim's daemon "linkers". + +use serde_json::Value; +use std::{ + collections::{BTreeMap, HashMap, HashSet}, + sync::{ + atomic::{AtomicU64, Ordering}, + Arc, Mutex, + }, + time::Instant, +}; +use tokio::sync::mpsc; + +use crate::{db, xmpp::XmppHandle}; + +#[derive(Debug, Clone, Default)] +pub struct RosterItem { + pub jid: String, + pub name: Option, + pub groups: Vec, + pub subscription: String, + pub ask: Option, +} + +#[derive(Debug, Clone, Default)] +pub struct Presence { + pub resource: String, + /// 1 online/chat, 2 away, 3 dnd, 4 xa, 5 offline, 6 error (Movim's scale) + pub value: u8, + pub status: Option, + pub priority: i8, + pub node: Option, + pub ver: Option, + pub idle: Option, +} + +impl Presence { + pub fn key(&self) -> &'static str { + match self.value { + 1 => "online", + 2 => "away", + 3 => "dnd", + 4 => "xa", + 6 => "server_error", + _ => "offline", + } + } +} + +#[derive(Debug, Clone, Default)] +pub struct MucPresence { + pub nick: String, + pub jid: Option, + pub role: String, + pub affiliation: String, + pub value: u8, + pub status: Option, + pub avatarhash: Option, + /// Real full JID, in non-anonymous rooms + pub full_jid: Option, + /// XEP-0272 element, serialized + pub muji: Option, + /// When the occupant joined the call + pub muji_since: Option, +} + +impl MucPresence { + pub fn has_muji(&self) -> bool { + self.muji.is_some() && self.value < 5 + } + + /// Video content, other than a screen sharing + pub fn has_video_muji(&self) -> bool { + self.muji.as_deref().is_some_and(|m| m.split(" bool { + self.muji.as_deref().is_some_and(|m| m.contains("name=\"slides\"")) + } +} + +#[derive(Debug, Clone, Default)] +pub struct Conference { + pub jid: String, + pub name: Option, + pub nick: Option, + pub autojoin: bool, + /// Movim notify settings: 0 never, 1 on mention, 2 always + pub notify: u8, + pub pinned: bool, + pub connected: bool, + pub joining: bool, + pub subject: Option, + pub info_name: Option, + pub features: Vec, + pub avatarhash: Option, + /// Other bookmark extensions, kept when the bookmark is published again + pub extensions: Vec, + pub description: Option, + pub occupants: Option, + /// Affiliated members (jid → affiliation), for group chats + pub members: BTreeMap, + /// We are creating this room (status 201 expected) + pub creating: Option, +} + +impl Conference { + pub fn title(&self) -> String { + self.name + .clone() + .filter(|n| !n.trim().is_empty()) + .or_else(|| self.info_name.clone().filter(|n| !n.trim().is_empty())) + .unwrap_or_else(|| self.jid.clone()) + } + + pub fn is_group_chat(&self) -> bool { + self.features.iter().any(|f| f == "muc_membersonly") && self.features.iter().any(|f| f == "muc_nonanonymous") + } + + pub fn has_mam(&self) -> bool { + self.features.iter().any(|f| f == "urn:xmpp:mam:2") + } + +} + +#[derive(Debug, Clone, Default)] +pub struct UploadService { + pub jid: String, + pub max_size: Option, +} + +#[derive(Debug, Clone, Default)] +pub struct Call { + pub jid: String, + pub id: String, + pub started: Option, + /// Muji (XEP-0272) group call in this room + pub muji: Option, + /// Waiting for our own "preparing" presence, with video or not + pub muji_preparing: Option, + /// Our published element, serialized + pub muji_xml: Option, +} + +pub struct State { + pub started: bool, + pub registered: bool, + pub host: Option, + pub logged: bool, + pub user: Option, + pub resource: String, + pub lang: String, + pub timezone: String, + /// The currently focused part of the UI (`chat|jid`, `chat`, `news`…) + pub notifs_key: Option, + pub roster: BTreeMap, + pub presences: HashMap>, + pub conferences: BTreeMap, + pub muc_presences: HashMap>, + /// Incoming chat states: conversation → (who → since) + pub chat_states: HashMap>, + /// Own chat states sent: jid → last composing sent + pub own_composing: HashMap, + pub own_show: Option, + pub own_status: Option, + pub server_features: HashSet, + pub account_features: HashSet, + pub upload: Option, + pub blocked: HashSet, + pub caps: HashMap, Vec)>, + pub push_endpoints: Vec, + pub call: Option, + pub chats_filter: String, + pub last_activity: Instant, + /// Notification counters by key (`chat`, `chat|jid`…), insertion ordered + pub notifs: indexmap::IndexMap, + /// Number of results received by the running MAM queries + pub mam_counters: HashMap, + pub session_down: bool, + /// Pending HTTP uploads: id → (put url, put headers, get url, name, size, type, uploaded) + pub uploads: HashMap, + pub omemo_devices: HashMap>, + /// Pending subscription requests (XEP-0379-like contact requests) + pub subscribe_requests: std::collections::BTreeSet, + /// Kept in memory only, to reconnect after a network failure + pub password: Option, + /// The user asked to log out: do not reconnect + pub logging_out: bool, +} + +#[derive(Debug, Clone, Default)] +pub struct Upload { + pub put: String, + pub headers: Vec<(String, String)>, + pub get: String, + pub name: String, + pub size: i64, + pub type_: String, + pub uploaded: bool, +} + +impl Default for State { + fn default() -> Self { + State { + started: false, + registered: false, + host: None, + logged: false, + user: None, + resource: String::new(), + lang: "en".into(), + timezone: "UTC".into(), + notifs_key: None, + roster: BTreeMap::new(), + presences: HashMap::new(), + conferences: BTreeMap::new(), + muc_presences: HashMap::new(), + chat_states: HashMap::new(), + own_composing: HashMap::new(), + own_show: None, + own_status: None, + server_features: HashSet::new(), + account_features: HashSet::new(), + upload: None, + blocked: HashSet::new(), + caps: HashMap::new(), + push_endpoints: vec![], + call: None, + chats_filter: "all".into(), + last_activity: Instant::now(), + notifs: Default::default(), + mam_counters: HashMap::new(), + session_down: false, + uploads: HashMap::new(), + omemo_devices: HashMap::new(), + subscribe_requests: Default::default(), + password: None, + logging_out: false, + } + } +} + +impl State { + /// Best presence of a contact (lowest value = most available) + pub fn best_presence(&self, jid: &str) -> Option<&Presence> { + self.presences + .get(jid) + .and_then(|p| p.values().filter(|p| p.value < 5).min_by_key(|p| (p.value, -(p.priority as i16)))) + } + + pub fn jid(&self) -> Option { + self.user.as_ref().map(|u| u.id.clone()) + } + + pub fn muc_self(&self, room: &str) -> Option<&MucPresence> { + let nick = self.conferences.get(room)?.nick.clone()?; + self.muc_presences.get(room)?.get(&nick) + } + + pub fn joined_rooms(&self) -> Vec { + self.conferences.values().filter(|c| c.connected).map(|c| c.jid.clone()).collect() + } +} + +static CLIENT_IDS: AtomicU64 = AtomicU64::new(1); + +pub struct Session { + pub sid: String, + clients: Mutex)>>, + pub st: Mutex, + xmpp: Mutex>, + pub created: Instant, +} + +impl Session { + pub fn new(sid: &str, lang: &str) -> Arc { + let st = State { lang: lang.to_string(), ..Default::default() }; + Arc::new(Session { + sid: sid.to_string(), + clients: Mutex::new(vec![]), + st: Mutex::new(st), + xmpp: Mutex::new(None), + created: Instant::now(), + }) + } + + pub fn attach(&self, tx: mpsc::UnboundedSender) -> u64 { + let id = CLIENT_IDS.fetch_add(1, Ordering::Relaxed); + self.clients.lock().unwrap().push((id, tx)); + id + } + + pub fn detach(&self, id: u64) -> usize { + let mut clients = self.clients.lock().unwrap(); + clients.retain(|(i, _)| *i != id); + clients.len() + } + + pub fn clients_count(&self) -> usize { + let mut clients = self.clients.lock().unwrap(); + clients.retain(|(_, tx)| !tx.is_closed()); + clients.len() + } + + pub fn close_clients(&self) { + // Sending a close marker, the websocket task closes with 1000 + for (_, tx) in self.clients.lock().unwrap().iter() { + let _ = tx.send("\u{0}close".into()); + } + } + + /// Push a JSON payload (`{func, p}`) to all the browser tabs of this session + pub fn send_ws(&self, payload: &Value) { + let text = payload.to_string(); + let clients = self.clients.lock().unwrap(); + for (_, tx) in clients.iter() { + let _ = tx.send(text.clone()); + } + } + + pub fn xmpp(&self) -> Option { + self.xmpp.lock().unwrap().clone().filter(|h| !h.is_closed()) + } + + pub fn set_xmpp(&self, handle: Option) { + *self.xmpp.lock().unwrap() = handle; + } + + pub fn user_jid(&self) -> Option { + self.st.lock().unwrap().jid() + } + + pub fn is_logged(&self) -> bool { + let st = self.st.lock().unwrap(); + st.logged && st.user.is_some() + } + + pub fn lang(&self) -> String { + self.st.lock().unwrap().lang.clone() + } + + pub fn touch(&self) { + self.st.lock().unwrap().last_activity = Instant::now(); + } +} + +#[derive(Default)] +pub struct Hub { + sessions: Mutex>>, +} + +impl Hub { + pub fn get(&self, sid: &str) -> Option> { + self.sessions.lock().unwrap().get(sid).cloned() + } + + pub fn get_or_create(&self, sid: &str, lang: &str) -> (Arc, bool) { + let mut sessions = self.sessions.lock().unwrap(); + if let Some(s) = sessions.get(sid) { + return (s.clone(), false); + } + let s = Session::new(sid, lang); + sessions.insert(sid.to_string(), s.clone()); + (s, true) + } + + pub fn remove(&self, sid: &str) -> Option> { + self.sessions.lock().unwrap().remove(sid) + } + + pub fn all(&self) -> Vec> { + self.sessions.lock().unwrap().values().cloned().collect() + } + + pub fn logged_count(&self) -> usize { + self.all().iter().filter(|s| s.is_logged()).count() + } + + /// Another logged session for this account, used to share an existing connection + pub fn find_by_user(&self, jid: &str) -> Option> { + self.all().into_iter().find(|s| s.is_logged() && s.user_jid().as_deref() == Some(jid)) + } +} diff --git a/src/tpl.rs b/src/tpl.rs new file mode 100644 index 0000000..238df5a --- /dev/null +++ b/src/tpl.rs @@ -0,0 +1,92 @@ +//! minijinja environment: the RainTPL templates of Movim were ported to Jinja +//! syntax under `templates/`. Helpers available in templates: +//! +//! * `__("key", args...)` translation (uses the `lang` variable of the context) +//! * `route("page", params...)` URL of a page +//! * filters: `cleanupId`, `echapJS`, `stringToColor`, `slugify`, `json`, +//! `addEmojis`, `implodeCsv`, `mimeToIcon`, `mimeToLabel`, `firstLetter` + +use minijinja::{value::Rest, Environment, State, Value}; +use std::path::Path; + +use crate::{i18n, utils}; + +pub fn environment(dir: &Path) -> Environment<'static> { + let mut env = Environment::new(); + env.set_loader(minijinja::path_loader(dir)); + env.set_auto_escape_callback(|name| { + if name.ends_with(".html") || name.ends_with(".tpl") { + minijinja::AutoEscape::Html + } else { + minijinja::AutoEscape::None + } + }); + env.set_trim_blocks(true); + env.set_lstrip_blocks(true); + // Like PHP's htmlspecialchars: '/' is not escaped, so URLs stay usable in scripts + env.set_formatter(|out, state, value| { + if state.auto_escape() == minijinja::AutoEscape::None || value.is_safe() { + return minijinja::escape_formatter(out, state, value); + } + if value.is_none() || value.is_undefined() { + return Ok(()); + } + let s = match value.as_str() { + Some(s) => std::borrow::Cow::Borrowed(s), + None => std::borrow::Cow::Owned(value.to_string()), + }; + out.write_str(&html_escape::encode_quoted_attribute(&s)) + .map_err(|_| minijinja::Error::new(minijinja::ErrorKind::WriteFailure, "write failed")) + }); + + env.add_function("__", translate); + env.add_function("route", route); + + env.add_filter("cleanupId", |s: String| utils::cleanup_id(&s)); + env.add_filter("cleanupIdHash", |s: String| utils::cleanup_id_hash(&s)); + env.add_filter("echapJS", |s: String| utils::echap_js(&s)); + env.add_filter("stringToColor", |s: Option| utils::string_to_color(s.as_deref().unwrap_or("")).to_string()); + env.add_filter("slugify", |s: String| utils::slugify(&s)); + env.add_filter("firstLetter", |s: String| utils::first_letter_capitalize(&s, false)); + env.add_filter("mimeToIcon", |s: Option| utils::mime_to_icon(s.as_deref().unwrap_or("")).to_string()); + env.add_filter("mimeToLabel", |s: Option| utils::mime_to_label(s.as_deref().unwrap_or(""))); + env.add_filter("implodeCsv", |v: Vec| v.join(", ")); + env.add_filter("json", |v: Value| serde_json::to_string(&v).unwrap_or_else(|_| "null".into())); + env.add_filter("addEmojis", add_emojis); + + env +} + +fn translate(state: &State, key: String, args: Rest) -> String { + let lang = state + .lookup("lang") + .and_then(|v| v.as_str().map(String::from)) + .unwrap_or_else(|| "en".into()); + let args: Vec = args + .iter() + .map(|a| a.as_str().map(String::from).unwrap_or_else(|| a.to_string())) + .collect(); + i18n::get().translate(&lang, &key, &args) +} + +fn route(state: &State, page: String, params: Rest) -> String { + let base = state + .lookup("base_uri") + .and_then(|v| v.as_str().map(String::from)) + .unwrap_or_else(|| "/".into()); + let params: Vec = params + .iter() + .filter(|v| !v.is_none() && !v.is_undefined()) + .map(|a| a.as_str().map(String::from).unwrap_or_else(|| a.to_string())) + .collect(); + crate::app::route_with_base(&base, &page, ¶ms) +} + +fn add_emojis(state: &State, s: String, no_title: Option) -> Value { + let base = state + .lookup("base_uri") + .and_then(|v| v.as_str().map(String::from)) + .unwrap_or_else(|| "/".into()); + let escaped = utils::html_escape(&s); + Value::from_safe_string(utils::replace_emojis(&escaped, &base, no_title.unwrap_or(false)).html) +} diff --git a/src/utils.rs b/src/utils.rs new file mode 100644 index 0000000..c4fa3e7 --- /dev/null +++ b/src/utils.rs @@ -0,0 +1,472 @@ +//! String helpers ported from Movim's `app/Helpers`. + +use rand::Rng; +use regex::Regex; +use sha1::{Digest, Sha1}; +use std::{collections::HashMap, path::Path, sync::LazyLock, sync::OnceLock}; + +pub const PALETTE: &[(&str, &str)] = &[ + ("dorange", "#FF5722"), + ("orange", "#FF9800"), + ("amber", "#FFC107"), + ("yellow", "#FFEB3B"), + ("lime", "#CDDC39"), + ("lgreen", "#8BC34A"), + ("green", "#4CAF50"), + ("teal", "#009688"), + ("cyan", "#00BCD4"), + ("lblue", "#03A9F4"), + ("blue", "#2196F3"), + ("indigo", "#3F51B5"), + ("dpurple", "#673AB7"), + ("purple", "#9C27B0"), + ("pink", "#E91E63"), + ("red", "#F44336"), +]; + +pub fn palette_hex(name: &str) -> &'static str { + PALETTE.iter().find(|(n, _)| *n == name).map(|(_, h)| *h).unwrap_or("#FF5722") +} + +/// XEP-0392 inspired color from a string, mapped on the Movim palette. +pub fn string_to_color(s: &str) -> &'static str { + if s.is_empty() { + return "dorange"; + } + let hash = Sha1::digest(s.as_bytes()); + let angle = ((hash[0] as f64 + hash[1] as f64 * 256.0) / 65536.0) * 360.0; + let mut index = (angle / (360.0 / PALETTE.len() as f64)).round() as usize; + if index >= PALETTE.len() { + index = PALETTE.len() - 1; + } + PALETTE[index].0 +} + +static NON_ALNUM: LazyLock = LazyLock::new(|| Regex::new(r"(?i)[^a-z0-9]+").unwrap()); + +pub fn cleanup_id(s: &str) -> String { + format!("id-{}", NON_ALNUM.replace_all(s, "-").to_lowercase()) +} + +pub fn cleanup_id_hash(s: &str) -> String { + let hash = hex::encode(sha2::Sha256::digest(s.as_bytes())); + format!("{}-{}", cleanup_id(s), &hash[..6]) +} + +pub fn echap_js(s: &str) -> String { + s.replace('\\', "\\\\").replace('\'', "\\'") +} + +pub fn slugify(s: &str) -> String { + let lower = s.to_lowercase(); + let mut out = String::new(); + let mut dash = false; + for c in lower.chars() { + if c.is_alphanumeric() { + out.push(c); + dash = false; + } else if !dash && !out.is_empty() { + out.push('-'); + dash = true; + } + } + out.trim_end_matches('-').to_string() +} + +pub fn first_letter_capitalize(s: &str, first_only: bool) -> String { + let s = if s.is_empty() { "M" } else { s }; + let size = if first_only { 1 } else { 2 }; + let part: String = s.chars().take(size).collect(); + let mut chars = part.chars(); + match chars.next() { + Some(f) => f.to_uppercase().collect::() + &chars.as_str().to_lowercase(), + None => String::new(), + } +} + +pub fn generate_key(size: usize) -> String { + const CHARS: &[u8] = b"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; + let mut rng = rand::rng(); + (0..size).map(|_| CHARS[rng.random_range(0..CHARS.len())] as char).collect() +} + +pub fn generate_uuid() -> String { + uuid::Uuid::new_v4().to_string() +} + +pub fn validate_cookie(s: &str) -> bool { + s.len() == 32 && s.chars().all(|c| c.is_ascii_alphanumeric()) +} + +pub fn validate_jid(jid: &str) -> bool { + if jid.len() < 3 || jid.len() > 255 { + return false; + } + xmpp_parsers::jid::Jid::new(jid).is_ok() +} + +pub fn validate_bare_jid(jid: &str) -> bool { + jid.len() >= 3 && jid.len() <= 255 && xmpp_parsers::jid::BareJid::new(jid).is_ok() +} + +pub fn validate_domain(domain: &str) -> bool { + !domain.is_empty() + && domain.len() <= 253 + && !domain.contains(['@', '/', ' ']) + && xmpp_parsers::jid::BareJid::new(domain).is_ok() +} + +pub fn bare_jid(jid: &str) -> &str { + jid.split('/').next().unwrap_or(jid) +} + +pub fn is_rtl(s: &str) -> bool { + static RTL: LazyLock = LazyLock::new(|| Regex::new(r"\p{Arabic}|\p{Hebrew}").unwrap()); + RTL.is_match(s) +} + +pub fn html_escape(s: &str) -> String { + html_escape::encode_quoted_attribute(s).to_string() +} + +/// Like PHP `htmlentities($s, ENT_XML1)`: escape &, <, >, " and ' +pub fn xml_escape(s: &str) -> String { + s.replace('&', "&") + .replace('<', "<") + .replace('>', ">") + .replace('"', """) + .replace('\'', "'") +} + +pub fn html_decode(s: &str) -> String { + html_escape::decode_html_entities(s).to_string() +} + +pub fn type_is_picture(t: &str) -> bool { + matches!(t, "image/jpeg" | "image/png" | "image/jpg" | "image/gif" | "image/webp") +} + +pub fn type_is_video(t: &str) -> bool { + matches!(t, "video/webm" | "video/mp4") +} + +pub fn type_is_audio(t: &str) -> bool { + matches!( + t, + "audio/aac" + | "audio/ogg" + | "video/ogg" + | "audio/opus" + | "audio/vorbis" + | "audio/speex" + | "audio/mpeg" + | "audio/webm" + | "audio/mp4" + ) +} + +pub fn mime_to_icon(t: &str) -> &'static str { + static ZIP: LazyLock = + LazyLock::new(|| Regex::new(r"^application/(zip|x-zip|x-tar|x-rar|x-7z|gzip|x-bzip)").unwrap()); + static DOC: LazyLock = LazyLock::new(|| { + Regex::new(r"^application/(msword|vnd\.oasis\.opendocument\.text|vnd\.openxmlformats-officedocument\.wordprocessingml)").unwrap() + }); + static SHEET: LazyLock = LazyLock::new(|| { + Regex::new(r"^application/(vnd\.ms-excel|vnd\.oasis\.opendocument\.spreadsheet|vnd\.openxmlformats-officedocument\.spreadsheetml)").unwrap() + }); + static SLIDE: LazyLock = LazyLock::new(|| { + Regex::new(r"^application/(vnd\.ms-powerpoint|vnd\.oasis\.opendocument\.presentation|vnd\.openxmlformats-officedocument\.presentationml)").unwrap() + }); + static CODE: LazyLock = LazyLock::new(|| { + Regex::new(r"^(text/(html|xml|css|javascript)|application/(json|xml|javascript))").unwrap() + }); + + if t == "application/pdf" { + "picture_as_pdf" + } else if ZIP.is_match(t) { + "folder_zip" + } else if DOC.is_match(t) { + "description" + } else if SHEET.is_match(t) { + "table_chart" + } else if SLIDE.is_match(t) { + "slideshow" + } else if CODE.is_match(t) { + "code" + } else if t.starts_with("text/") { + "article" + } else if type_is_audio(t) { + "audio_file" + } else if type_is_video(t) { + "video_file" + } else if type_is_picture(t) { + "image" + } else { + "insert_drive_file" + } +} + +pub fn mime_to_label(t: &str) -> String { + let sub = t.split('/').nth(1).unwrap_or(""); + let label = if t == "application/pdf" { + "pdf" + } else if sub.starts_with("vnd.openxmlformats-officedocument.wordprocessingml") { + "docx" + } else if sub.starts_with("vnd.openxmlformats-officedocument.spreadsheetml") { + "xlsx" + } else if sub.starts_with("vnd.openxmlformats-officedocument.presentationml") { + "pptx" + } else if sub.starts_with("vnd.oasis.opendocument.text") { + "odt" + } else if sub.starts_with("vnd.oasis.opendocument.spreadsheet") { + "ods" + } else if sub.starts_with("vnd.oasis.opendocument.presentation") { + "odp" + } else if sub.starts_with("vnd.ms-excel") { + "xls" + } else if sub.starts_with("vnd.ms-powerpoint") { + "ppt" + } else { + match sub { + "x-tar" => "tar", + "x-7z-compressed" => "7z", + "x-bzip2" => "bz2", + "x-rar" => "rar", + "x-zip" => "zip", + "msword" => "doc", + s => s, + } + }; + label.to_uppercase() +} + +/// Human readable file size, units are translated by the caller. +pub fn human_size(bytes: i64, units: &[String; 5]) -> String { + let bytes = bytes.max(0) as f64; + let pow = if bytes > 0.0 { (bytes.ln() / 1024f64.ln()).floor() as usize } else { 0 }; + let pow = pow.min(4); + let value = bytes / 1024f64.powi(pow as i32); + let rounded = (value * 100.0).round() / 100.0; + format!("{} {}", rounded, units[pow]) +} + +// ---- Emojis ---- + +struct EmojiTable { + names: HashMap, +} + +static EMOJIS: OnceLock = OnceLock::new(); + +pub fn init_emojis(frontend: &Path) { + let names = std::fs::read_to_string(frontend.join("emojis.json")) + .ok() + .and_then(|s| serde_json::from_str(&s).ok()) + .unwrap_or_default(); + let _ = EMOJIS.set(EmojiTable { names }); +} + +pub fn emoji_shortcut(name: &str) -> String { + name.chars() + .map(|c| match c { + '-' | ' ' => '_', + '0'..='9' => (b'a' + (c as u8 - b'0')) as char, + c => c, + }) + .collect::() + .to_lowercase() +} + +static EMOJI_RE: LazyLock = LazyLock::new(|| { + Regex::new(r"(?:\p{Extended_Pictographic}[\p{Emoji_Modifier}\p{M}]*(?:\p{Join_Control}\p{Extended_Pictographic}[\p{Emoji_Modifier}\p{M}]*)*|\p{Regional_Indicator}{2}|[0-9#*]\x{FE0F}?\x{20E3})\p{M}*").unwrap() +}); + +fn emoji_codepoints(s: &str) -> String { + s.chars().map(|c| format!("{:x}", c as u32)).collect::>().join("-") +} + +pub struct EmojiResult { + pub html: String, + /// Set when the whole (trimmed) string is a single emoji + pub single: Option<(String, String)>, +} + +/// Replace the emojis by their SVG pictures, like `Movim\Emoji::replace`. +/// The input must already be HTML escaped. +pub fn replace_emojis(s: &str, base_uri: &str, no_title: bool) -> EmojiResult { + let Some(table) = EMOJIS.get() else { + return EmojiResult { html: s.to_string(), single: None }; + }; + + let mut count = 0; + let mut last: Option<(String, String, String)> = None; + let html = EMOJI_RE.replace_all(s, |caps: ®ex::Captures| { + let m = &caps[0]; + let mut code = emoji_codepoints(m); + let mut name = table.names.get(&code); + if name.is_none() { + let stripped: String = m.chars().filter(|c| *c != '\u{fe0f}' && *c != '\u{fe0e}').collect(); + code = emoji_codepoints(&stripped); + name = table.names.get(&code); + } + let Some(name) = name else { return m.to_string() }; + count += 1; + let url = format!("{}theme/img/emojis/svg/{}.svg", base_uri, code); + let title = emoji_shortcut(name); + last = Some((m.to_string(), url.clone(), title.clone())); + if no_title { + format!("\"{}\"", html_escape(name), url) + } else { + format!( + "\"{}\"", + html_escape(name), + title, + url + ) + } + }); + + let single = match (&last, count) { + (Some((raw, url, title)), 1) if s.trim() == raw.as_str() => Some((url.clone(), title.clone())), + _ => None, + }; + + EmojiResult { html: html.to_string(), single } +} + +pub fn is_single_emoji(s: &str) -> bool { + let t = s.trim(); + !t.is_empty() && EMOJI_RE.find(t).is_some_and(|m| m.start() == 0 && m.end() == t.len()) +} + +// ---- Linkify & XEP-0393 ---- + +static URL_RE: LazyLock = LazyLock::new(|| { + Regex::new(r#"(?i)\b(?:https?://|xmpp:|www\d{0,3}[.])(?:[^\s()<>]+|\([^\s()<>]+\))+(?:\((?:[^\s()<>]+|(?:\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’])"#).unwrap() +}); + +/// Turn URLs into links. The input must already be HTML escaped. +pub fn linkify(escaped: &str) -> String { + URL_RE + .replace_all(escaped, |caps: ®ex::Captures| { + let url = &caps[0]; + // The text is escaped, & was turned into & which is fine in an href + if url.to_lowercase().starts_with("xmpp:") { + let target = url[5..].split('?').next().unwrap_or(""); + let is_join = url.contains("?join"); + let call = if is_join { + format!("Chat.getRoom('{}')", echap_js(&html_decode(target))) + } else { + format!("Search.chat('{}', false)", echap_js(&html_decode(target))) + }; + format!("{}", html_escape(&call), url) + } else if url.to_lowercase().starts_with("www") { + format!("{0}", url) + } else { + format!("{0}", url) + } + }) + .to_string() +} + +/// The first web link in a text, for its preview +pub fn find_url(s: &str) -> Option { + URL_RE.find_iter(s).map(|m| m.as_str()).find(|u| { + let l = u.to_lowercase(); + l.starts_with("http://") || l.starts_with("https://") + }).map(String::from) +} + +pub fn first_url(s: &str) -> Option { + let t = s.trim(); + if (t.starts_with("http://") || t.starts_with("https://")) && !t.contains(char::is_whitespace) { + Some(t.to_string()) + } else { + None + } +} + +/// XEP-0393 Message Styling, same regexes as Movim (applied on escaped HTML) +pub fn message_styling(body: &str) -> String { + use fancy::*; + let mut b = CODE_BLOCK.replace_all(body, "$2").to_string(); + b = apply(&CODE_INLINE, &b, "code"); + b = apply(&BOLD, &b, "b"); + b = apply(&ITALIC, &b, "em"); + b = apply(&STRIKE, &b, "s"); + b +} + +mod fancy { + use super::*; + + pub static CODE_BLOCK: LazyLock = + LazyLock::new(|| Regex::new(r"(?m)^```(\n*)([\s\S]*?)```([A-Za-z \t]*)*$").unwrap()); + pub static CODE_INLINE: LazyLock = LazyLock::new(|| Regex::new(r"`([^\s`](?:[^`\n]*?[^\s`])?)`").unwrap()); + pub static BOLD: LazyLock = LazyLock::new(|| Regex::new(r"\*([^\s*](?:[^*\n]*?[^\s*])?)\*").unwrap()); + pub static ITALIC: LazyLock = LazyLock::new(|| Regex::new(r"_([^\s_](?:[^_\n]*?[^\s_])?)_").unwrap()); + pub static STRIKE: LazyLock = LazyLock::new(|| Regex::new(r"~([^\s~](?:[^~\n]*?[^\s~])?)~").unwrap()); + + /// Rust regex has no look-behind: check the preceding char manually. + /// The markers are kept, like Movim does. + pub fn apply(re: &Regex, s: &str, tag: &str) -> String { + let mut out = String::with_capacity(s.len()); + let mut last = 0; + for m in re.find_iter(s) { + let before = s[..m.start()].chars().last(); + let ok_before = before.is_none_or(|c| c.is_whitespace() || ",*_`~>".contains(c)); + // Do not style inside HTML tags or URLs + let inside_tag = s[..m.start()].rfind('<') > s[..m.start()].rfind('>'); + if ok_before && !inside_tag { + out.push_str(&s[last..m.start()]); + out.push_str(&format!("<{tag}>{}", m.as_str())); + last = m.end(); + } + } + out.push_str(&s[last..]); + out + } +} + +/// Format a SQL-ish UTC datetime ("Y-m-d H:i:s") to ISO-8601 for the browser. +pub fn now_sql() -> String { + chrono::Utc::now().format("%Y-%m-%d %H:%M:%S").to_string() +} + +pub fn now_sql_micro() -> String { + chrono::Utc::now().format("%Y-%m-%d %H:%M:%S%.6f").to_string() +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn ids() { + assert_eq!(cleanup_id("foo@bar.com"), "id-foo-bar-com"); + assert_eq!(echap_js("it's"), "it\\'s"); + } + + #[test] + fn colors() { + assert!(PALETTE.iter().any(|(n, _)| *n == string_to_color("edhelas@movim.eu"))); + } + + #[test] + fn urls() { + assert_eq!(find_url("look at https://movim.eu/blog, nice").as_deref(), Some("https://movim.eu/blog")); + assert_eq!(find_url("join xmpp:room@muc.example?join then http://a.b/c").as_deref(), Some("http://a.b/c")); + assert_eq!(find_url("no link here, www.example.com"), None); + } + + #[test] + fn styling() { + assert_eq!(message_styling("hello *world*"), "hello *world*"); + assert_eq!(message_styling("a_b_c"), "a_b_c"); + } + + #[test] + fn links() { + assert!(linkify("see https://movim.eu/ now").contains("href=\"https://movim.eu/\"")); + } +} diff --git a/src/web.rs b/src/web.rs new file mode 100644 index 0000000..53f87bd --- /dev/null +++ b/src/web.rs @@ -0,0 +1,633 @@ +//! HTTP routes: pages, static assets, websocket and the `/ajax` RPC endpoints. + +use axum::{ + body::{Body, Bytes}, + extract::{ + ws::{CloseFrame, Message as WsMessage, WebSocket, WebSocketUpgrade}, + Path, Query, State, + }, + http::{header, HeaderMap, HeaderValue, StatusCode}, + response::{IntoResponse, Redirect, Response}, + routing::{any, get, post}, + Router, +}; +use futures::{SinkExt, StreamExt}; +use serde_json::{json, Value}; +use std::{collections::HashMap, sync::Arc}; +use tokio::sync::mpsc; +use tower_http::services::ServeDir; + +use crate::{ + app::{App, Ctx}, + db, i18n, page, + session::Session, + utils, widgets, +}; + +pub const COOKIE: &str = "MOVIM_SESSION_ID"; + +pub fn router(app: Arc) -> Router { + let front = app.cfg.frontend.clone(); + + Router::new() + .route("/", get(index)) + .route("/ws", any(ws_handler)) + .route("/ws/", any(ws_handler)) + .route("/ajax", post(ajax)) + .route("/ajaxd", post(ajaxd)) + .route("/cache/{file}", get(widget_asset)) + .route("/avatar/{hash}", get(avatar)) + .route("/picture", get(picture)) + .route("/system", get(system_js)) + .route("/colors", get(colors_css)) + .route("/manifest", get(manifest)) + .route("/upload/{id}", post(crate::widgets::upload::http_upload)) + .route("/{page}", get(page_handler)) + .route("/{page}/{*rest}", get(page_handler_rest)) + .nest_service("/theme", ServeDir::new(front.join("theme"))) + .nest_service("/scripts", ServeDir::new(front.join("scripts"))) + .nest_service("/stickers", ServeDir::new(front.join("stickers"))) + .route_service("/sw.js", tower_http::services::ServeFile::new(front.join("sw.js"))) + .route_service("/movim-sw.js", tower_http::services::ServeFile::new(front.join("movim-sw.js"))) + .with_state(app) +} + +pub fn cookie_sid(headers: &HeaderMap) -> Option { + for value in headers.get_all(header::COOKIE) { + let Ok(s) = value.to_str() else { continue }; + for part in s.split(';') { + if let Some((k, v)) = part.trim().split_once('=') { + if k == COOKIE && utils::validate_cookie(v.get(..32).unwrap_or(v)) { + return Some(v[..32].to_string()); + } + } + } + } + None +} + +fn is_https(headers: &HeaderMap) -> bool { + headers + .get("x-forwarded-proto") + .and_then(|v| v.to_str().ok()) + .is_some_and(|v| v.eq_ignore_ascii_case("https")) +} + +fn set_cookie(headers: &HeaderMap, sid: &str) -> HeaderValue { + let expires = chrono::Utc::now() + chrono::Duration::days(7); + let secure = if is_https(headers) { "; Secure" } else { "" }; + HeaderValue::from_str(&format!( + "{COOKIE}={sid}; Expires={}; Path=/; SameSite=Lax{secure}", + expires.format("%a, %d %b %Y %H:%M:%S GMT") + )) + .unwrap() +} + +fn remember_host(app: &App, headers: &HeaderMap) { + let host = headers + .get("x-forwarded-host") + .or_else(|| headers.get(header::HOST)) + .and_then(|h| h.to_str().ok()); + if let Some(host) = host { + app.set_base_from_host(host); + } +} + +fn accept_language(headers: &HeaderMap) -> Option<&str> { + headers.get(header::ACCEPT_LANGUAGE).and_then(|v| v.to_str().ok()) +} + +fn session_for(app: &App, headers: &HeaderMap) -> Option> { + cookie_sid(headers).and_then(|sid| app.hub.get(&sid)) +} + +async fn index(State(app): State>, headers: HeaderMap) -> Response { + remember_host(&app, &headers); + match session_for(&app, &headers) { + Some(s) if s.is_logged() => Redirect::to("/chat").into_response(), + _ => Redirect::to("/login").into_response(), + } +} + +async fn page_handler( + State(app): State>, + Path(page): Path, + Query(query): Query>, + headers: HeaderMap, +) -> Response { + render_page(app, page, vec![], query, headers).await +} + +async fn page_handler_rest( + State(app): State>, + Path((page, rest)): Path<(String, String)>, + Query(query): Query>, + headers: HeaderMap, +) -> Response { + let parts: Vec = rest + .split('/') + .map(|p| percent_encoding::percent_decode_str(p).decode_utf8_lossy().to_string()) + .collect(); + render_page(app, page, parts, query, headers).await +} + +/// URL parameters of each page, see `Movim\Route::$routes` +fn route_params(page: &str) -> &'static [&'static str] { + match page { + "chat" => &["f", "r"], + "login" => &["i"], + "disconnect" => &["err"], + "account" => &["s", "err"], + "register" => &["s", "err"], + "share" => &["url"], + "room" => &["r"], + "contact" => &["s"], + _ => &[], + } +} + +async fn render_page( + app: Arc, + page_name: String, + parts: Vec, + query: HashMap, + headers: HeaderMap, +) -> Response { + remember_host(&app, &headers); + let session = session_for(&app, &headers); + let logged = session.as_ref().is_some_and(|s| s.is_logged()); + + match page_name.as_str() { + "main" | "news" | "explore" | "feed" | "community" | "space" | "subscriptions" | "publish" | "blog" + | "post" | "tag" | "node" | "contact" => { + return Redirect::to(if logged { "/chat" } else { "/login" }).into_response(); + } + "room" => { + let room = parts.first().cloned().unwrap_or_default(); + return Redirect::to(&format!("/chat/{}/room", room)).into_response(); + } + "share" => { + // xmpp: URIs handler + let uri = parts.first().cloned().unwrap_or_default(); + let target = uri.trim_start_matches("xmpp:").split('?').next().unwrap_or("").to_string(); + if utils::validate_bare_jid(&target) { + let suffix = if uri.contains("?join") { "/room" } else { "" }; + return Redirect::to(&format!("/chat/{}{}", target, suffix)).into_response(); + } + return Redirect::to("/chat").into_response(); + } + "disconnect" => { + if let Some(s) = &session { + let ctx = Ctx::buffer(app.clone(), Some(s.clone())); + if let Some(jid) = s.user_jid() { + let _ = db::encrypted_passwords_clear(&app.db, &jid).await; + } + widgets::presence::logout(&ctx).await; + app.hub.remove(&s.sid); + } + let mut res = Redirect::to("/login").into_response(); + res.headers_mut().insert(header::SET_COOKIE, set_cookie(&headers, &utils::generate_key(32))); + return res; + } + _ => {} + } + + let Some(def) = page::find(&page_name) else { + return Redirect::to("/notfound").into_response(); + }; + + if def.session_only && !logged { + return Redirect::to("/login").into_response(); + } + if def.name == "login" && logged { + return Redirect::to("/chat").into_response(); + } + + let mut params: HashMap = query.clone(); + for (key, value) in route_params(def.name).iter().zip(parts.iter()) { + params.insert(key.to_string(), value.clone()); + } + + let ctx = match &session { + Some(s) => Ctx::buffer(app.clone(), Some(s.clone())), + None => { + let ctx = Ctx::buffer(app.clone(), None); + // Use the browser language on public pages + let lang = i18n::get().detect(accept_language(&headers), &app.cfg.default_locale); + return render_public(ctx, def, params, headers, lang).await; + } + }; + + finish_page(&ctx, def, ¶ms, &headers, session.as_ref().map(|s| s.sid.clone())).await +} + +async fn render_public( + _ctx: Ctx, + def: &'static page::PageDef, + params: HashMap, + headers: HeaderMap, + lang: String, +) -> Response { + // A temporary, unregistered session only used for the language + let app = _ctx.app.clone(); + let tmp = Session::new("public", &lang); + let ctx = Ctx::buffer(app, Some(tmp)); + finish_page(&ctx, def, ¶ms, &headers, None).await +} + +async fn finish_page( + ctx: &Ctx, + def: &'static page::PageDef, + params: &HashMap, + headers: &HeaderMap, + sid: Option, +) -> Response { + let built = page::build(ctx, def, params).await; + + let soft = params.get("soft").is_some() + && headers.get(header::ACCEPT).and_then(|v| v.to_str().ok()) == Some("application/json"); + + let mut res = if soft { + axum::Json(page::soft_json(&built)).into_response() + } else { + let html = page::full_html(ctx, &built); + let mut res = (StatusCode::OK, [(header::CONTENT_TYPE, "text/html; charset=utf-8")], html).into_response(); + let h = res.headers_mut(); + h.insert("X-Content-Type-Options", HeaderValue::from_static("nosniff")); + h.insert("X-Frame-Options", HeaderValue::from_static("SAMEORIGIN")); + h.insert("Referrer-Policy", HeaderValue::from_static("strict-origin-when-cross-origin")); + res + }; + + res.headers_mut().insert(header::CACHE_CONTROL, HeaderValue::from_static("no-cache")); + + // Keep or renew the session cookie + let current = cookie_sid(headers); + let sid = sid.or(current).unwrap_or_else(|| utils::generate_key(32)); + res.headers_mut().insert(header::SET_COOKIE, set_cookie(headers, &sid)); + res +} + +// ---------------------------------------------------------------- Assets + +async fn widget_asset(State(app): State>, Path(file): Path) -> Response { + let Some((widget, name)) = file.split_once('_') else { + return StatusCode::NOT_FOUND.into_response(); + }; + if !widget.chars().all(|c| c.is_ascii_alphanumeric()) + || name.contains("..") + || name.contains('/') + || !(name.ends_with(".js") || name.ends_with(".css")) + { + return StatusCode::NOT_FOUND.into_response(); + } + let path = app.cfg.frontend.join("widgets").join(widget).join(name); + match tokio::fs::read(&path).await { + Ok(data) => { + let mime = if name.ends_with(".js") { "application/javascript" } else { "text/css" }; + ( + [(header::CONTENT_TYPE, mime), (header::CACHE_CONTROL, "public, max-age=86400")], + data, + ) + .into_response() + } + Err(_) => StatusCode::NOT_FOUND.into_response(), + } +} + +async fn avatar(State(app): State>, Path(hash): Path) -> Response { + let hash = hash.split('.').next().unwrap_or("").to_string(); + match db::avatar_get(&app.db, &hash).await { + Ok(Some((mime, data))) => ( + [ + (header::CONTENT_TYPE, mime), + (header::CACHE_CONTROL, "public, max-age=604800, immutable".to_string()), + ], + data, + ) + .into_response(), + _ => Redirect::to("/picture?type=avatar&id=M").into_response(), + } +} + +async fn picture(State(app): State>, Query(q): Query>, headers: HeaderMap) -> Response { + if q.get("type").map(String::as_str) == Some("avatar") { + let id = q.get("id").cloned().unwrap_or_else(|| "M".into()); + let letters = utils::first_letter_capitalize(&utils::slugify(&id), false); + let color = utils::palette_hex(utils::string_to_color(&id)); + let svg = format!( + r##" +{}"##, + utils::xml_escape(&letters) + ); + return ( + [(header::CONTENT_TYPE, "image/svg+xml"), (header::CACHE_CONTROL, "max-age=86400")], + svg, + ) + .into_response(); + } + + // Picture proxy, only for logged users (prevents abuse) + if !session_for(&app, &headers).is_some_and(|s| s.is_logged()) { + return StatusCode::FORBIDDEN.into_response(); + } + let Some(url) = q.get("url") else { return StatusCode::NOT_FOUND.into_response() }; + match crate::widgets::preview::fetch_picture(&app, url).await { + Some((mime, data)) => ( + [(header::CONTENT_TYPE, mime), (header::CACHE_CONTROL, "max-age=86400".into())], + data, + ) + .into_response(), + None => Redirect::to("/theme/img/broken_image_filled.svg").into_response(), + } +} + +async fn system_js(State(app): State>, headers: HeaderMap) -> Response { + remember_host(&app, &headers); + let session = session_for(&app, &headers); + let user = session.as_ref().filter(|s| s.is_logged()).and_then(|s| s.st.lock().unwrap().user.clone()); + let base = app.base_uri(); + let base_host = base.trim_start_matches("//").trim_end_matches('/').to_string(); + + let js = format!( + "var BASE_HOST = '{}';\nvar BASE_URI = '{}';\nvar ERROR_URI = '{}';\nvar SW_URI = '{}';\nvar SMALL_PICTURE_LIMIT = {};\nvar NOTIFICATION_CHAT = {};\nvar NOTIFICATION_CALL = {};\nvar OMEMO_ENABLED = {};\nvar USER_JID = {};\nvar VAPID_PUBLIC_KEY = '{}';\n\nvar favoriteEmojis = {{}};", + utils::echap_js(&base_host), + utils::echap_js(&base), + utils::echap_js(&app.route("disconnect", &[])), + utils::echap_js(&format!("{base}movim-sw.js")), + crate::SMALL_PICTURE_LIMIT, + user.as_ref().is_some_and(|u| u.notificationchat), + user.as_ref().is_some_and(|u| u.notificationcall), + user.as_ref().is_some_and(|u| u.omemoenabled), + user.as_ref().map(|u| format!("'{}'", utils::echap_js(&u.id))).unwrap_or_else(|| "false".into()), + crate::push::public_key(), + ); + ([(header::CONTENT_TYPE, "application/javascript"), (header::CACHE_CONTROL, "no-cache")], js).into_response() +} + +async fn colors_css(State(app): State>, headers: HeaderMap) -> Response { + let session = session_for(&app, &headers); + let accent = session + .and_then(|s| s.st.lock().unwrap().user.as_ref().and_then(|u| u.accentcolor.clone())) + .unwrap_or_else(|| "dorange".into()); + let mut css = String::from("body {\n "); + for (k, v) in utils::PALETTE { + css.push_str(&format!("--p-{k}: {v};")); + } + css.push_str("--p-black: #000000;--p-gray: #9E9E9E;"); + css.push_str(&format!("\n --movim-accent: var(--p-{});\n}}\n", accent)); + ([(header::CONTENT_TYPE, "text/css"), (header::CACHE_CONTROL, "no-cache")], css).into_response() +} + +async fn manifest(State(app): State>) -> Response { + let base = app.base_uri(); + let icon = |size: u32| json!({ "src": format!("{base}theme/img/app/{size}.png"), "sizes": format!("{size}x{size}"), "type": "image/png" }); + let m = json!({ + "name": crate::APP_TITLE, + "short_name": crate::APP_TITLE, + "description": "Decentralized messaging platform based on XMPP", + "start_url": format!("{base}chat"), + "display": "standalone", + "background_color": "#10151A", + "theme_color": "#10151A", + "icons": [icon(48), icon(96), icon(128), icon(192), icon(512)], + "protocol_handlers": [{ "protocol": "xmpp", "url": format!("{base}share/%s") }] + }); + ([(header::CONTENT_TYPE, "application/manifest+json")], m.to_string()).into_response() +} + +// ---------------------------------------------------------------- RPC + +#[derive(serde::Deserialize)] +struct AjaxPayload { + b: Option, +} + +#[derive(serde::Deserialize, Clone)] +struct AjaxBody { + #[serde(default)] + c: Option, + w: String, + f: String, + #[serde(default)] + p: Option, +} + +fn params_vec(p: Option) -> Vec { + match p { + Some(Value::Array(a)) => a, + Some(Value::Object(o)) => o.into_iter().map(|(_, v)| v).collect(), + Some(v) => vec![v], + None => vec![], + } +} + +/// Is this widget allowed on that page (or without session)? +fn widget_allowed(page: Option<&str>, widget: &str, logged: bool) -> bool { + if logged { + return true; + } + let public: &[&str] = &["Login", "Dialog", "Drawer", "Toast", "Preview", "Subscribe", "Register", "Notif"]; + let _ = page; + public.contains(&widget) +} + +async fn ajax(State(app): State>, headers: HeaderMap, body: Bytes) -> Response { + let Ok(payload) = serde_json::from_slice::(&body) else { + return axum::Json(json!([])).into_response(); + }; + let Some(b) = payload.b else { return axum::Json(json!([])).into_response() }; + + let session = session_for(&app, &headers); + let logged = session.as_ref().is_some_and(|s| s.is_logged()); + if !widget_allowed(b.c.as_deref(), &b.w, logged) || !b.f.starts_with("ajax") { + return StatusCode::FORBIDDEN.into_response(); + } + + if let Some(s) = &session { + s.touch(); + } + let ctx = Ctx::buffer(app, session); + widgets::call(&ctx, &b.w, &b.f, params_vec(b.p)).await; + axum::Json(Value::Array(ctx.take_buffer())).into_response() +} + +/// Calls that run "in the daemon": the result is pushed through the websocket +async fn ajaxd(State(app): State>, headers: HeaderMap, body: Bytes) -> Response { + let Ok(payload) = serde_json::from_slice::(&body) else { + return StatusCode::BAD_REQUEST.into_response(); + }; + let Some(b) = payload.b else { return StatusCode::BAD_REQUEST.into_response() }; + + let Some(session) = session_for(&app, &headers).filter(|s| s.is_logged()) else { + return StatusCode::FORBIDDEN.into_response(); + }; + if !b.f.starts_with("ajax") { + return StatusCode::FORBIDDEN.into_response(); + } + + session.touch(); + let ctx = Ctx::ws(app, session); + widgets::call(&ctx, &b.w, &b.f, params_vec(b.p)).await; + (StatusCode::OK, [(header::CONTENT_TYPE, "application/json")], "[]").into_response() +} + +// ---------------------------------------------------------------- WebSocket + +fn same_origin(headers: &HeaderMap) -> bool { + if let Some(site) = headers.get("sec-fetch-site").and_then(|v| v.to_str().ok()) { + return site == "same-origin"; + } + let host = headers.get(header::HOST).and_then(|v| v.to_str().ok()).unwrap_or(""); + match headers.get(header::ORIGIN).and_then(|v| v.to_str().ok()) { + Some(origin) => origin.split("://").nth(1).unwrap_or("") == host, + None => true, + } +} + +async fn ws_handler( + State(app): State>, + Query(q): Query>, + headers: HeaderMap, + ws: WebSocketUpgrade, +) -> Response { + remember_host(&app, &headers); + let sid = cookie_sid(&headers); + let trusted = same_origin(&headers); + let lang = i18n::get().detect(accept_language(&headers), &app.cfg.default_locale); + let push = q.get("push").cloned(); + + ws.on_upgrade(move |socket| async move { + match (sid, trusted) { + (Some(sid), true) => handle_socket(app, socket, sid, lang, push).await, + _ => { + let (mut tx, _) = socket.split(); + let _ = tx + .send(WsMessage::Close(Some(CloseFrame { code: 1008, reason: "unauthorized".into() }))) + .await; + } + } + }) +} + +async fn handle_socket(app: Arc, socket: WebSocket, sid: String, lang: String, push: Option) { + let (session, created) = app.hub.get_or_create(&sid, &lang); + let (tx, mut rx) = mpsc::unbounded_channel::(); + let client_id = session.attach(tx); + session.touch(); + let (mut ws_tx, mut ws_rx) = socket.split(); + + if let Some(endpoint) = &push { + let mut st = session.st.lock().unwrap(); + if !st.push_endpoints.contains(endpoint) { + st.push_endpoints.push(endpoint.clone()); + } + } + + if created { + session.st.lock().unwrap().started = true; + session.send_ws(&json!({ "func": "started" })); + } else if session.is_logged() { + let only_client = session.clients_count() == 1; + widgets::session_up(&Ctx::ws(app.clone(), session.clone()), only_client).await; + } + + let writer = tokio::spawn(async move { + while let Some(text) = rx.recv().await { + if text == "\u{0}close" { + let _ = ws_tx.send(WsMessage::Close(Some(CloseFrame { code: 1000, reason: "".into() }))).await; + break; + } + if ws_tx.send(WsMessage::Text(text.into())).await.is_err() { + break; + } + } + }); + + // Call signaling (Jingle) must reach the XMPP server in the browser's order + let (visio_tx, mut visio_rx) = mpsc::unbounded_channel::(); + { + let (app, session) = (app.clone(), session.clone()); + tokio::spawn(async move { + while let Some(b) = visio_rx.recv().await { + let ctx = Ctx::ws(app.clone(), session.clone()); + widgets::call(&ctx, &b.w, &b.f, params_vec(b.p)).await; + } + }); + } + + while let Some(Ok(msg)) = ws_rx.next().await { + let text = match msg { + WsMessage::Text(t) => t.to_string(), + WsMessage::Close(_) => break, + _ => continue, + }; + session.touch(); + let Ok(json) = serde_json::from_str::(&text) else { continue }; + let ctx = Ctx::ws(app.clone(), session.clone()); + + match json.get("func").and_then(|f| f.as_str()) { + Some("ping") => session.send_ws(&json!({ "func": "pong" })), + Some("register") => { + let host = json.get("host").and_then(|h| h.as_str()).unwrap_or("").to_string(); + if utils::validate_domain(&host) { + { + let mut st = session.st.lock().unwrap(); + st.host = Some(host); + st.registered = true; + } + session.send_ws(&json!({ "func": "registered" })); + } + } + Some("unregister") => { + widgets::presence::logout(&ctx).await; + } + Some("message") => { + if let Some(b) = json.get("b").cloned().and_then(|b| serde_json::from_value::(b).ok()) { + if b.f.starts_with("ajax") && widget_allowed(None, &b.w, session.is_logged()) { + if b.w == "Visio" { + let _ = visio_tx.send(b); + continue; + } + let app = app.clone(); + let session = session.clone(); + // Each call runs in its own task, so slow XMPP queries do not block the socket + tokio::spawn(async move { + let ctx = Ctx::ws(app, session); + widgets::call(&ctx, &b.w, &b.f, params_vec(b.p)).await; + }); + } + } + } + _ => {} + } + } + + writer.abort(); + let remaining = session.detach(client_id); + if let Some(endpoint) = &push { + session.st.lock().unwrap().push_endpoints.retain(|e| e != endpoint); + } + + if remaining == 0 { + let registered = session.st.lock().unwrap().registered; + if !registered && !session.is_logged() { + app.hub.remove(&sid); + } else if session.is_logged() { + let app = app.clone(); + let session = session.clone(); + tokio::spawn(async move { + // Grace period like Movim's DOWN_TIMER before telling the server we are inactive + tokio::time::sleep(std::time::Duration::from_secs(10)).await; + if session.clients_count() == 0 && session.is_logged() { + widgets::session_down(&Ctx::ws(app, session)).await; + } + }); + } + } +} + +#[allow(dead_code)] +fn body_from(s: String) -> Body { + Body::from(s) +} diff --git a/src/widgets/account.rs b/src/widgets/account.rs new file mode 100644 index 0000000..0391186 --- /dev/null +++ b/src/widgets/account.rs @@ -0,0 +1,453 @@ +//! Configuration page widgets: profile (Vcard4, Avatar), Config, Account, +//! NotificationConfig and Blocked. The Subscribe page creates accounts (XEP-0077). + +use base64::{engine::general_purpose::STANDARD as B64, Engine}; +use serde_json::{json, Value}; +use sha1::{Digest, Sha1}; +use std::collections::BTreeMap; + +use super::{contact_view, P}; +use crate::{ + app::Ctx, + db, + proto::{self, ns}, + rpc, utils, + xmpp::{self, el, BuilderExt}, +}; + +const ACCENT_COLORS: &[&str] = &["red", "pink", "purple", "dpurple", "indigo", "blue", "cyan", "teal", "green", "lgreen", "orange", "dorange"]; + +fn languages(ctx: &Ctx) -> BTreeMap { + std::fs::read_to_string(ctx.app.cfg.frontend.join("languages.json")) + .ok() + .and_then(|s| serde_json::from_str(&s).ok()) + .unwrap_or_default() +} + +fn config_form(ctx: &Ctx) -> String { + let user = ctx.me().unwrap_or_default(); + let domain = ctx.base_uri().trim_matches('/').to_string(); + ctx.render( + "Config/_config_form.html", + json!({ "user": user, "languages": languages(ctx), "accent_colors": ACCENT_COLORS, "domain": domain }), + ) +} + +async fn vcard_form(ctx: &Ctx) -> String { + let contact = db::contact_get_or_new(ctx.db(), &ctx.jid()).await; + ctx.render("Vcard4/_vcard4_form.html", json!({ "contact": contact })) +} + +async fn avatar_header(ctx: &Ctx) -> String { + let me = contact_view(ctx, &ctx.jid()).await; + ctx.render("Avatar/_avatar.html", json!({ "me": me })) +} + +pub async fn build(ctx: &Ctx, name: &str) -> String { + match name { + "Config" => ctx.render( + "Config/config.html", + json!({ "form": config_form(ctx), "nickname": ctx.me().and_then(|u| u.nickname) }), + ), + "Vcard4" => ctx.render("Vcard4/vcard4.html", json!({ "form": vcard_form(ctx).await })), + "Account" => ctx.render("Account/account.html", json!({ "omemo": ctx.me().is_some_and(|u| u.omemoenabled) })), + "Blocked" => ctx.render("Blocked/blocked.html", json!({})), + "NotificationConfig" => ctx.render("NotificationConfig/notificationconfig.html", json!({})), + _ => String::new(), + } +} + +pub async fn on_blocklist_changed(ctx: &Ctx) { + let mut list: Vec = ctx.st(|st| st.blocked.iter().cloned().collect()).unwrap_or_default(); + list.sort(); + rpc!(ctx, "MovimTpl.fill", "#blocked_widget_list", ctx.render("Blocked/_blocked_list.html", json!({ "list": list }))); +} + +async fn reload_user(ctx: &Ctx) { + let jid = ctx.jid(); + if let Ok(Some(u)) = db::user_get(ctx.db(), &jid).await { + ctx.st(|st| { + if let Some(lang) = u.language.clone().filter(|l| crate::i18n::get().has_language(l)) { + st.lang = lang; + } else { + st.lang = "en".into(); + } + st.user = Some(u); + }); + } +} + +fn form_bool(p: &P<'_>, field: &str) -> Option { + p.v(0)?.get(field)?.get("value").map(|v| match v { + Value::Bool(b) => *b, + Value::String(s) => s == "true" || s == "on" || s == "1", + _ => false, + }) +} + +pub async fn call(ctx: &Ctx, widget: &str, func: &str, p: &P<'_>) -> bool { + let me = ctx.jid(); + match (widget, func) { + // ------------------------------------------------ Config + ("Config", "ajaxSubmit") => { + for field in ["notificationcall", "notificationchat", "omemoenabled", "nightmode"] { + if let Some(b) = form_bool(p, field) { + let _ = db::user_set(ctx.db(), &me, field, &json!(b)).await; + } + } + if let Some(lang) = p.form(0, "language") { + if lang == "en" || languages(ctx).contains_key(&lang) { + let _ = db::user_set(ctx.db(), &me, "language", &json!(lang)).await; + } + } + if let Some(color) = p.form(0, "accentcolor").filter(|c| ACCENT_COLORS.contains(&c.as_str())) { + let _ = db::user_set(ctx.db(), &me, "accentcolor", &json!(color)).await; + } + reload_user(ctx).await; + if let Some(u) = ctx.me() { + rpc!(ctx, "Config.updateSystemVariable", "NOTIFICATION_CALL", u.notificationcall); + rpc!(ctx, "Config.updateSystemVariable", "NOTIFICATION_CHAT", u.notificationchat); + } + rpc!(ctx, "MovimTpl.fill", "#config_widget_form", config_form(ctx)); + ctx.toast(&ctx.t("config.updated", &[])); + } + ("Config", "ajaxMAMGetConfig") => { + let Some(x) = ctx.xmpp() else { return true }; + if let Ok(res) = x.iq(xmpp::iq("get", None, el("prefs", ns::MAM).build())).await { + let default = res.get_child("prefs", ns::MAM).and_then(|p| p.attr("default")).unwrap_or("always").to_string(); + rpc!(ctx, "MovimTpl.fill", "#config_widget_mam", ctx.render("Config/_config_mam.html", json!({ "default": default }))); + } + } + ("Config", "ajaxMAMSetConfig") => { + let value = p.str(0); + if !["never", "roster", "always"].contains(&value.as_str()) { + return true; + } + let Some(x) = ctx.xmpp() else { return true }; + let prefs = el("prefs", ns::MAM).a("default", value).build(); + match x.iq(xmpp::iq("set", None, prefs)).await { + Ok(_) => ctx.toast(&ctx.t("config.mam_saved", &[])), + Err(e) => ctx.toast(&e.to_string()), + } + } + ("Config", "ajaxEditNickname") => { + let nickname = ctx.me().and_then(|u| u.nickname).unwrap_or_default(); + super::dialog(ctx, &ctx.render("Config/_config_nickname.html", json!({ "nickname": nickname })), false, false); + } + ("Config", "ajaxSaveNickname") => { + let nick = p.str(0).trim().to_string(); + if nick.is_empty() || nick.chars().count() > 64 { + ctx.toast(&ctx.t("profile.nickname_error", &[])); + return true; + } + let _ = db::user_set(ctx.db(), &me, "nickname", &json!(nick)).await; + reload_user(ctx).await; + rpc!(ctx, "Dialog_ajaxClear"); + ctx.toast(&ctx.t("profile.nickname_saved", &[])); + } + ("Config", _) => {} + + // ------------------------------------------------ Vcard4 + ("Vcard4", "ajaxGetVcard") => { + crate::pep::refresh_profile(ctx, &me).await; + rpc!(ctx, "MovimTpl.fill", "#vcard_form", vcard_form(ctx).await); + } + ("Vcard4", "ajaxVcardSubmit") => save_vcard(ctx, p).await, + + // ------------------------------------------------ Avatar + ("Avatar", "ajaxHttpGetCurrent") | ("Avatar", "ajaxGetAvatar") => { + rpc!(ctx, "MovimTpl.fill", "#avatar", avatar_header(ctx).await); + } + ("Avatar", "ajaxGetForm") => { + let me_view = contact_view(ctx, &me).await; + super::dialog(ctx, &ctx.render("Avatar/_avatar_form.html", json!({ "me": me_view })), false, false); + } + ("Avatar", "ajaxSubmit") => { + let data = p.form(0, "photobin").unwrap_or_default(); + publish_avatar(ctx, &data).await; + } + ("Avatar", _) => {} + + // ------------------------------------------------ Account + ("Account", "ajaxHttpGetPresences") => { + let current = ctx.st(|st| st.resource.clone()).unwrap_or_default(); + let presences: Vec = ctx + .st(|st| { + st.presences + .get(&me) + .map(|p| { + p.values() + .map(|p| { + let name = p.ver.as_ref().and_then(|v| st.caps.get(v)).and_then(|(n, _)| n.clone()); + json!({ "resource": p.resource, "presence": p.key(), "name": name, "current": p.resource == current }) + }) + .collect() + }) + .unwrap_or_default() + }) + .unwrap_or_default(); + if !presences.is_empty() { + rpc!(ctx, "MovimTpl.fill", "#account_presences", ctx.render("Account/_account_presences.html", json!({ "presences": presences }))); + } + } + ("Account", "ajaxHttpGetFingerprints") => { + let list: Vec = p + .v(0) + .and_then(|v| v.as_array()) + .map(|a| { + a.iter() + .map(|f| { + json!({ + "jid": f.get("jid").and_then(|v| v.as_str()).unwrap_or(&me), + "bundleid": f.get("bundleid").map(|b| b.as_str().map(String::from).unwrap_or_else(|| b.to_string())), + "self": f.get("self").and_then(|v| v.as_bool()).unwrap_or(false), + "fingerprint": super::contactactions::fingerprint(f.get("fingerprint").and_then(|v| v.as_str()).unwrap_or("")), + }) + }) + .collect() + }) + .unwrap_or_default(); + rpc!(ctx, "MovimTpl.fill", "#account_fingerprints", ctx.render("Account/_account_fingerprints.html", json!({ "fingerprints": list }))); + rpc!(ctx, "Account.resolveSessionsStates"); + } + ("Account", "ajaxDeleteBundle") => { + let f = p.v(0).cloned().unwrap_or_default(); + let fingerprint = json!({ + "bundleid": f.get("bundleid"), + "fingerprint": super::contactactions::fingerprint(f.get("fingerprint").and_then(|v| v.as_str()).unwrap_or("")), + }); + super::dialog(ctx, &ctx.render("Account/_account_delete_bundle.html", json!({ "fingerprint": fingerprint })), false, false); + } + ("Account", "ajaxDeleteBundleConfirm") => { + let id = p.str(0); + let devices: Vec = p + .v(1) + .and_then(|v| v.as_array()) + .map(|a| a.iter().map(|d| d.as_str().map(String::from).unwrap_or_else(|| d.to_string())).filter(|d| *d != id).collect()) + .unwrap_or_default(); + if let Some(x) = ctx.xmpp() { + let q = el("pubsub", ns::PUBSUB_OWNER).append(el("delete", ns::PUBSUB_OWNER).a("node", format!("{}{}", ns::OMEMO_BUNDLES_PREFIX, id)).build()).build(); + let _ = x.iq(xmpp::iq("set", None, q)).await; + } + let mut list = el("list", ns::OMEMO); + for d in &devices { + list = list.append(el("device", ns::OMEMO).a("id", d.as_str()).build()); + } + if let Some(x) = ctx.xmpp() { + let options = proto::publish_options(&[("pubsub#access_model", "open")]); + let _ = x.iq(proto::pubsub_publish(None, ns::OMEMO_DEVICELIST, Some("current"), list.build(), Some(options))).await; + } + rpc!(ctx, "Account.refreshFingerprints"); + } + ("Account", "ajaxChangePassword") => { + super::dialog(ctx, &ctx.render("Account/_account_password.html", json!({})), false, false); + } + ("Account", "ajaxChangePasswordConfirm") => { + let (pass, confirm) = (p.form(0, "password").unwrap_or_default(), p.form(0, "password_confirmation").unwrap_or_default()); + if pass.is_empty() || pass != confirm { + ctx.toast(&ctx.t("account.password_not_same", &[])); + rpc!(ctx, "Account.resetPassword"); + return true; + } + let Some(x) = ctx.xmpp() else { return true }; + let username = me.split('@').next().unwrap_or("").to_string(); + let host = me.split('@').nth(1).unwrap_or("").to_string(); + let q = el("query", ns::REGISTER) + .append(el("username", ns::REGISTER).append(username).build()) + .append(el("password", ns::REGISTER).append(pass).build()) + .build(); + rpc!(ctx, "Dialog_ajaxClear"); + match x.iq(xmpp::iq("set", Some(&host), q)).await { + Ok(_) => { + ctx.toast(&ctx.t("account.password_changed", &[])); + let _ = db::encrypted_passwords_clear(ctx.db(), &me).await; + rpc!(ctx, "Presence_ajaxLogout"); + } + Err(e) => { + ctx.toast(&e.to_string()); + rpc!(ctx, "Account.resetPassword"); + } + } + } + ("Account", "ajaxClearAccount") => { + super::dialog(ctx, &ctx.render("Account/_account_clear.html", json!({})), false, false); + } + ("Account", "ajaxClearAccountConfirm") => { + let _ = db::user_delete_data(ctx.db(), &me).await; + rpc!(ctx, "Presence_ajaxLogout"); + } + ("Account", "ajaxRemoveAccount") => { + super::dialog(ctx, &ctx.render("Account/_account_remove.html", json!({})), false, false); + } + ("Account", "ajaxRemoveAccountConfirm") => { + if p.form(0, "jid").as_deref() != Some(me.as_str()) { + ctx.toast(&ctx.t("account.delete_text_error", &[])); + return true; + } + let Some(x) = ctx.xmpp() else { return true }; + let host = me.split('@').nth(1).unwrap_or("").to_string(); + match x.iq(xmpp::iq("set", Some(&host), el("query", ns::REGISTER).append(el("remove", ns::REGISTER).build()).build())).await { + Ok(_) => { + let _ = db::user_delete_data(ctx.db(), &me).await; + rpc!(ctx, "Presence.clearQuick"); + rpc!(ctx, "MovimUtils.redirect", ctx.route("disconnect", &[])); + } + Err(e) => ctx.toast(&e.to_string()), + } + } + ("Account", _) => {} + + // ------------------------------------------------ Blocked + ("Blocked", "ajaxGet") => on_blocklist_changed(ctx).await, + ("Blocked", "ajaxUnblock") => super::contactactions::block(ctx, &p.str(0), false).await, + + // ------------------------------------------------ Push notifications + ("NotificationConfig", "ajaxHttpRequest") => { + rpc!(ctx, "MovimTpl.fill", "#notificationconfig_widget_request", ctx.render("NotificationConfig/_notificationconfig_request.html", json!({}))); + } + ("NotificationConfig", "ajaxHttpPushGetConfig") => { + let current = p.s(0); + let list: Vec = db::push_subscriptions_list(ctx.db(), &me) + .await + .unwrap_or_default() + .into_iter() + .map(|s| { + let host = s.endpoint.split("://").nth(1).and_then(|h| h.split('/').next()).unwrap_or("").to_string(); + json!({ + "id": s.id, + "enabled": s.enabled, + "self": current.as_deref() == Some(s.endpoint.as_str()), + "activity": ctx.prepare_date(&s.activity_at, true, true), + "host": host, + }) + }) + .collect(); + rpc!(ctx, "MovimTpl.fill", "#notificationconfig_widget_push", ctx.render("NotificationConfig/_notificationconfig_push.html", json!({ "subscriptions": list }))); + } + ("NotificationConfig", "ajaxTogglePushConfig") => { + let enabled = p.b(1); + let _ = db::push_subscription_toggle(ctx.db(), &me, p.i(0).unwrap_or(0), enabled).await; + ctx.toast(&ctx.t(if enabled { "notificationconfig.push_enabled" } else { "notificationconfig.push_disabled" }, &[])); + } + ("NotificationConfig", _) => {} + _ => return false, + } + true +} + +async fn save_vcard(ctx: &Ctx, p: &P<'_>) { + let me = ctx.jid(); + let Some(x) = ctx.xmpp() else { return }; + let field = |f: &str| p.form(0, f).map(|v| v.trim().to_string()).filter(|v| !v.is_empty()); + + let mut contact = db::contact_get_or_new(ctx.db(), &me).await; + contact.fn_ = field("fn"); + contact.nickname = field("name"); + contact.email = field("email").filter(|e| e.contains('@')); + contact.url = field("url").filter(|u| u.starts_with("http://") || u.starts_with("https://")); + contact.description = field("desc"); + let _ = db::contact_save(ctx.db(), &contact).await; + + // XEP-0292 vCard4 over PEP + let mut vcard = el("vcard", ns::VCARD4); + let text = |name: &str, kind: &str, value: &str| el(name, ns::VCARD4).append(el(kind, ns::VCARD4).append(value).build()).build(); + if let Some(v) = &contact.fn_ { + vcard = vcard.append(text("fn", "text", v)); + } + if let Some(v) = &contact.nickname { + vcard = vcard.append(text("nickname", "text", v)); + } + if let Some(v) = &contact.email { + vcard = vcard.append(text("email", "text", v)); + } + if let Some(v) = &contact.url { + vcard = vcard.append(text("url", "uri", v)); + } + if let Some(v) = &contact.description { + vcard = vcard.append(text("note", "text", v)); + } + let options = proto::publish_options(&[("pubsub#access_model", "open"), ("pubsub#persist_items", "true")]); + let res = x.iq(proto::pubsub_publish(None, ns::VCARD4_NODE, Some("current"), vcard.build(), Some(options))).await; + + // XEP-0172 nickname + if let Some(nick) = &contact.nickname { + let options = proto::publish_options(&[("pubsub#access_model", "presence")]); + x.iq_spawn(proto::pubsub_publish(None, ns::NICK, None, el("nick", ns::NICK).append(nick.as_str()).build(), Some(options))); + } + + match res { + Ok(_) => ctx.toast(&ctx.t("vcard.updated", &[])), + Err(e) => ctx.toast(&format!("{}: {e}", ctx.t("vcard.not_updated", &[]))), + } + rpc!(ctx, "MovimTpl.fill", "#vcard_form", vcard_form(ctx).await); + super::presence::on_my_presence(ctx).await; +} + +/// XEP-0084 User Avatar, plus the vCard photo (XEP-0153) for older clients +async fn publish_avatar(ctx: &Ctx, data_b64: &str) { + let me = ctx.jid(); + let Some(x) = ctx.xmpp() else { return }; + let Ok(bytes) = B64.decode(data_b64.trim()) else { return }; + if bytes.is_empty() { + return; + } + let (width, height) = image::load_from_memory(&bytes).map(|i| (i.width(), i.height())).unwrap_or((384, 384)); + let hash = hex::encode(Sha1::digest(&bytes)); + let b64 = B64.encode(&bytes); + + let data_res = x + .iq(proto::pubsub_publish( + None, + ns::AVATAR_DATA, + Some(&hash), + el("data", ns::AVATAR_DATA).append(b64.clone()).build(), + Some(proto::publish_options(&[("pubsub#access_model", "open")])), + )) + .await; + if let Err(e) = data_res { + let text = if e.to_string().contains("payload-too-big") { ctx.t("avatar.too_big", &[]) } else { ctx.t("avatar.not_updated", &[]) }; + ctx.toast(&text); + return; + } + let metadata = el("metadata", ns::AVATAR_METADATA) + .append( + el("info", ns::AVATAR_METADATA) + .a("id", hash.clone()) + .a("bytes", bytes.len().to_string()) + .a("type", "image/jpeg") + .a("width", width.to_string()) + .a("height", height.to_string()) + .build(), + ) + .build(); + let _ = x + .iq(proto::pubsub_publish(None, ns::AVATAR_METADATA, Some(&hash), metadata, Some(proto::publish_options(&[("pubsub#access_model", "open")])))) + .await; + + // vcard-temp, keeping the other fields + if let Ok(res) = x.iq(proto::vcard_get(None)).await { + let mut vcard = res.get_child("vCard", ns::VCARD).cloned().unwrap_or_else(|| el("vCard", ns::VCARD).build()); + vcard.remove_child("PHOTO", ns::VCARD); + vcard.append_child( + el("PHOTO", ns::VCARD) + .append(el("TYPE", ns::VCARD).append("image/jpeg").build()) + .append(el("BINVAL", ns::VCARD).append(b64).build()) + .build(), + ); + x.iq_spawn(xmpp::iq("set", None, vcard)); + } + + let _ = db::avatar_save(ctx.db(), &hash, "image/jpeg", &bytes).await; + let _ = db::contact_set_avatar(ctx.db(), &me, Some(&hash), "pep").await; + rpc!(ctx, "Dialog_ajaxClear"); + rpc!(ctx, "MovimTpl.fill", "#avatar", avatar_header(ctx).await); + super::presence::on_my_presence(ctx).await; + ctx.toast(&ctx.t("avatar.updated", &[])); + let _ = utils::bare_jid; +} + +// ---------------------------------------------------------------- Account creation + +pub async fn build_subscribe(ctx: &Ctx) -> String { + super::register::build(ctx).await +} diff --git a/src/widgets/chat.rs b/src/widgets/chat.rs new file mode 100644 index 0000000..45408fc --- /dev/null +++ b/src/widgets/chat.rs @@ -0,0 +1,1230 @@ +//! Chat widget: a discussion (1:1 or MUC). Messages are sent to the browser as +//! JSON and rendered by `chat.js`, grouped by date then by sender bubble. + +use rand::Rng; +use serde_json::{json, Map, Value}; +use std::collections::HashMap; + +use super::{chats, contact_view, notif, rooms, P}; +use crate::{ + app::Ctx, + db::{self, Message}, + handler::Origin, + proto, rpc, utils, +}; + +const PAGINATION: i64 = 50; + +pub fn build(ctx: &Ctx, _params: &HashMap) -> String { + ctx.render("Chat/chat.html", json!({})) +} + +pub async fn call(ctx: &Ctx, func: &str, p: &P<'_>) -> bool { + match func { + "ajaxInit" => { + rpc!( + ctx, + "Chat.init", + ctx.render("Chat/_chat_date.html", json!({})), + ctx.render("Chat/_chat_separator.html", json!({})), + json!({ + "pagination": PAGINATION, + "delivery_error": ctx.t("message.error", &[]), + "action_impossible_encrypted_error": ctx.t("chat.action_impossible_encrypted", &[]), + }) + ); + } + "ajaxGetHeader" => get_header(ctx, &p.str(0), p.b(1)).await, + "ajaxHttpGetEmpty" => get(ctx, None, false).await, + "ajaxGet" => get(ctx, p.s(0).as_deref(), p.b(1)).await, + "ajaxGetRoom" => get_room(ctx, &p.str(0), p.b(1)).await, + "ajaxHttpDaemonSendMessage" => send_from_params(ctx, p).await, + "ajaxHttpDaemonCorrect" => { + // chat.js calls it with (to, mid, message) + let (to, mid, message) = if p.i(1).is_some() && p.v(3).is_none() { + (p.str(0), p.i(1).unwrap_or(0), p.str(2)) + } else { + (p.str(1), p.i(2).unwrap_or(0), p.str(3)) + }; + correct(ctx, &to, mid, &message).await; + } + "ajaxHttpDaemonSendReaction" => send_reaction(ctx, p.i(0).unwrap_or(0), &p.str(1)).await, + "ajaxRefreshMessage" => refresh_message(ctx, p.i(0).unwrap_or(0)).await, + "ajaxLast" => last(ctx, &p.str(0), p.b(1)).await, + "ajaxEdit" => edit(ctx, p.i(0).unwrap_or(0)).await, + "ajaxHttpDaemonReply" => reply(ctx, p.i(0).unwrap_or(0)).await, + "ajaxClearReply" => rpc!(ctx, "MovimTpl.fill", "#reply", ""), + "ajaxSendComposing" => send_composing(ctx, &p.str(0), p.b(1)).await, + "ajaxGetMessageContext" => message_context(ctx, &p.str(0), p.i(1).unwrap_or(0)).await, + "ajaxGetHistory" => { + let prepend = p.v(3).is_none() || p.b(3); + let try_mam = p.v(4).is_none() || p.b(4); + get_history(ctx, &p.str(0), p.s(1), p.b(2), prepend, try_mam).await; + } + "ajaxDisplayed" => displayed(ctx, &p.str(0), &p.str(1)).await, + "ajaxClearHistory" => { + let jid = p.str(0); + let count = db::messages_count(ctx.db(), &ctx.jid(), &jid).await.unwrap_or(0); + super::dialog(ctx, &ctx.render("Chat/_chat_clear.html", json!({ "jid": jid, "count": count.to_string() })), false, false); + } + "ajaxClearHistoryConfirm" => { + let jid = p.str(0); + if utils::validate_jid(&jid) { + let _ = db::messages_clear(ctx.db(), &ctx.jid(), &jid).await; + let muc = ctx.st(|st| st.conferences.contains_key(&jid)).unwrap_or(false); + if muc { + get_room(ctx, &jid, true).await; + } else { + get(ctx, Some(&jid), false).await; + } + } + } + "ajaxHttpGetPresences" => { + let room = p.str(0); + let html = rooms::prepare_presences(ctx, &room, true).await; + rpc!( + ctx, + "MovimTpl.fill", + format!("#{}-nav", utils::cleanup_id(&room)), + ctx.render("Chat/_chat_room_nav.html", json!({ "contactsHtml": html })) + ); + } + "ajaxClearAndGetMessages" => { + let jid = p.str(0); + rpc!(ctx, "MovimTpl.fill", format!("#{}-conversation", utils::cleanup_id(&jid)), ""); + get_messages(ctx, &jid, p.b(1), false).await; + rpc!(ctx, "MovimUtils.removeClass", "#chat_widget .contained", "history"); + } + "ajaxHttpGetExplore" => {} + _ => return false, + } + true +} + +// ---------------------------------------------------------------- Views + +pub async fn prepare_header(ctx: &Ctx, jid: &str, muc: bool) -> String { + let counter = notif::unreads(ctx).await; + if muc { + let conference = rooms::conference_view(ctx, jid).await; + ctx.render( + "Chat/_chat_header.html", + json!({ "jid": jid, "muc": true, "counter": counter, "conference": conference, "in_call": super::visio::has_call(ctx) }), + ) + } else { + let contact = contact_view(ctx, jid).await; + let presencetext = contact.presence.as_deref().map(|p| ctx.t(&format!("presence.{}", presence_label_key(p)), &[])); + let (audio, video) = super::visio::call_targets(ctx, jid); + let in_call = super::visio::is_in_call(ctx, jid); + let omemo = db::omemo_state(ctx.db(), &ctx.jid(), jid).await.ok().flatten().unwrap_or(false); + ctx.render( + "Chat/_chat_header.html", + json!({ + "jid": jid, + "muc": false, + "counter": counter, + "contact": contact, + "presencetext": presencetext, + "call_audio": audio, + "call_video": video, + "in_call": in_call, + "omemo": omemo, + }), + ) + } +} + +fn presence_label_key(key: &str) -> &str { + match key { + "online" => "online", + "away" => "away", + "dnd" => "dnd", + "xa" => "xa", + "server_error" => "error", + _ => "offline", + } +} + +pub async fn get_header(ctx: &Ctx, jid: &str, muc: bool) { + rpc!(ctx, "MovimTpl.fill", format!("#{}-header", utils::cleanup_id(jid)), prepare_header(ctx, jid, muc).await); + on_chat_state_inner(ctx, jid, false).await; +} + +async fn prepare_chat(ctx: &Ctx, jid: &str, muc: bool) -> String { + let header = prepare_header(ctx, jid, muc).await; + let (visitor, group) = if muc { + ctx.st(|st| { + let visitor = st.muc_self(jid).is_some_and(|p| p.role == "visitor"); + let group = st.conferences.get(jid).is_some_and(|c| c.is_group_chat()); + (visitor, group) + }) + .unwrap_or((false, false)) + } else { + (false, false) + }; + let upload = ctx.st(|st| st.upload.is_some()).unwrap_or(false); + ctx.render( + "Chat/_chat.html", + json!({ + "jid": jid, + "muc": muc, + "header": header, + "visitor": visitor, + "group": group, + "upload": upload, + "rand": rand::rng().random_range(0..2), + }), + ) +} + +async fn prepare_empty(ctx: &Ctx) -> String { + let me = ctx.jid(); + let mut top = db::top_contacts(ctx.db(), &me, 15).await.unwrap_or_default(); + if top.len() < 15 { + let roster: Vec = ctx.st(|st| st.roster.keys().cloned().collect()).unwrap_or_default(); + for j in roster { + if top.len() >= 15 { + break; + } + if !top.contains(&j) { + top.push(j); + } + } + } + top.retain(|j| !j.contains('/')); + let views = super::contact_views(ctx, &top).await; + let top: Vec<_> = top.iter().filter_map(|j| views.get(j).cloned()).collect(); + ctx.render("Chat/_chat_empty.html", json!({ "top": top })) +} + +/// Open a 1:1 discussion (or the empty view) +pub async fn get(ctx: &Ctx, jid: Option<&str>, light: bool) { + let me = ctx.jid(); + match jid.filter(|j| !j.is_empty() && *j != me) { + None => { + rpc!(ctx, "MovimTpl.hidePanel"); + rpc!(ctx, "Notif.current", "chat"); + rpc!(ctx, "MovimUtils.pushSoftState", ctx.route("chat", &[])); + rpc!(ctx, "Notif.setTitle", format!("{} • {}", crate::APP_TITLE, ctx.t("page.chats", &[]))); + if !light { + rpc!(ctx, "MovimTpl.fill", "#chat_widget", prepare_empty(ctx).await); + } + } + Some(jid) => { + if !utils::validate_jid(jid) { + return; + } + if !light { + rpc!(ctx, "MovimUtils.pushSoftState", ctx.route("chat", &[jid])); + rpc!(ctx, "MovimTpl.fill", "#chat_widget", prepare_chat(ctx, jid, false).await); + on_chat_state_inner(ctx, jid, false).await; + rpc!(ctx, "MovimTpl.showPanel"); + rpc!(ctx, "Chat.focus"); + rpc!(ctx, "Dictaphone_ajaxHttpGet"); + } + let truename = contact_view(ctx, jid).await.truename; + rpc!(ctx, "Notif.setTitle", format!("{} • {}", crate::APP_TITLE, truename)); + if let Some(call_jid) = super::visio::current_call_jid(ctx) { + rpc!(ctx, "MovimVisio.moveToChat", call_jid); + } + rpc!(ctx, "Chat.setObservers"); + rpc!(ctx, "MovimTpl.fill", format!("#{}-conversation", utils::cleanup_id(jid)), ""); + get_messages(ctx, jid, false, false).await; + rpc!(ctx, "Notif.current", format!("chat|{jid}")); + rpc!(ctx, "Chat.scrollToSeparator"); + if ctx.me().is_some_and(|u| u.omemoenabled) { + rpc!(ctx, "Chat.checkOMEMOState", jid); + } + } + } +} + +/// Open a chatroom +pub async fn get_room(ctx: &Ctx, room: &str, no_connect: bool) { + if !utils::validate_bare_jid(room) { + return; + } + let conference = ctx.st(|st| st.conferences.get(room).cloned()).flatten(); + let Some(conference) = conference else { + rpc!(ctx, "RoomsUtils_ajaxHttpRoomDiscover", room); + get(ctx, None, false).await; + return; + }; + + if !conference.connected && !no_connect && !conference.joining { + rooms::join(ctx, room, conference.nick.as_deref()).await; + } + + rpc!(ctx, "Notif.setTitle", format!("{} • {}", ctx.t("page.chats", &[]), conference.title())); + rpc!(ctx, "MovimUtils.pushSoftState", ctx.route("chat", &[room, "room"])); + rpc!(ctx, "MovimTpl.fill", "#chat_widget", prepare_chat(ctx, room, true).await); + rpc!(ctx, "Chat.getPresences", room); + on_chat_state_inner(ctx, room, false).await; + rpc!(ctx, "MovimTpl.showPanel"); + if let Some(call_jid) = super::visio::current_call_jid(ctx) { + rpc!(ctx, "MovimVisio.moveToChat", call_jid); + } + rpc!(ctx, "MovimUtils.removeClass", "#chat_widget", "call"); + rpc!(ctx, "Chat.focus"); + rpc!(ctx, "Dictaphone_ajaxHttpGet"); + rpc!(ctx, "Chat.setObservers"); + rpc!(ctx, "MovimTpl.fill", format!("#{}-conversation", utils::cleanup_id(room)), ""); + get_messages(ctx, room, true, false).await; + rpc!(ctx, "Notif.current", format!("chat|{room}")); + rpc!(ctx, "Chat.scrollToSeparator"); + + if ctx.me().is_some_and(|u| u.omemoenabled) && conference.is_group_chat() { + let members = rooms::members_jids(ctx, room); + rpc!(ctx, "Chat.setGroupChatMembers", members); + rpc!(ctx, "Chat.checkOMEMOState", room, true); + } else { + rpc!(ctx, "Chat.setGroupChatMembers", Vec::::new()); + } +} + +// ---------------------------------------------------------------- Messages loading + +pub async fn get_messages(ctx: &Ctx, jid: &str, muc: bool, seen_only: bool) { + if !utils::validate_jid(jid) { + return; + } + let me = ctx.jid(); + let messages = db::messages_for(ctx.db(), &me, jid, muc, None, None, PAGINATION).await.unwrap_or_default(); + let unreads = db::unreads_count(ctx.db(), &me, jid, muc).await.unwrap_or(0); + if unreads > 0 { + let _ = db::messages_mark_seen(ctx.db(), &me, jid).await; + } + + if !seen_only { + let mut ordered = messages.clone(); + ordered.reverse(); + let wrapper = prepare_messages(ctx, &ordered).await; + + let contact = contact_view(ctx, jid).await; + let left = ctx.render("Chat/_chat_bubble.html", json!({ "contact": contact, "mine": false, "muc": muc })); + let me_view = contact_view(ctx, &me).await; + let right = ctx.render("Chat/_chat_bubble.html", json!({ "contact": me_view, "mine": true, "muc": muc })); + + rpc!(ctx, "Chat.setSpecificElements", left, right); + rpc!(ctx, "Chat.appendMessagesWrapper", Value::Object(wrapper), false); + } + + if muc { + rooms::set_counter(ctx, jid).await; + } else { + chats::chat_open(ctx, jid).await; + } + notif::on_chat_counter(ctx).await; + + if unreads > 0 { + rpc!(ctx, "Chat.insertSeparator", unreads); + } + + // Do we need MAM? + let archive_key = if muc { format!("muc:{jid}") } else { jid.to_string() }; + let earliest_known = db::mam_earliest_exists(ctx.db(), &me, &archive_key).await.unwrap_or(false); + if (messages.len() as i64) < PAGINATION && !earliest_known { + rpc!(ctx, "Chat.getHistory", true); + } +} + +pub async fn get_history(ctx: &Ctx, jid: &str, date: Option, muc: bool, prepend: bool, try_mam: bool) { + if !utils::validate_jid(jid) { + return; + } + let me = ctx.jid(); + let date = date.and_then(|d| crate::dates::parse(&d).or_else(|| crate::dates::parse(&d.replace('T', " ")))) + .map(|d| d.format("%Y-%m-%d %H:%M:%S").to_string()); + + let messages = if prepend { + db::messages_for(ctx.db(), &me, jid, muc, date.as_deref(), None, PAGINATION).await.unwrap_or_default() + } else { + db::messages_for(ctx.db(), &me, jid, muc, None, date.as_deref(), PAGINATION).await.unwrap_or_default() + }; + + if !messages.is_empty() { + let wrapper = prepare_messages(ctx, &messages).await; + rpc!(ctx, "Chat.appendMessagesWrapper", Value::Object(wrapper), prepend); + } + + if try_mam && (messages.len() as i64) < PAGINATION && prepend { + let archive_key = if muc { format!("muc:{jid}") } else { jid.to_string() }; + if db::mam_earliest_exists(ctx.db(), &me, &archive_key).await.unwrap_or(false) { + return; + } + rpc!(ctx, "MovimUtils.addClass", "#chat_widget .contained", "loading"); + let ctx = ctx.to_ws(); + let jid = jid.to_string(); + tokio::spawn(async move { + let count = crate::mam::fetch_history(&ctx, &jid, muc).await; + rpc!(ctx, "MovimUtils.removeClass", "#chat_widget .contained", "loading"); + if count > 0 { + rpc!(ctx, "Chat.getHistory", false); + } + }); + } +} + +async fn message_context(ctx: &Ctx, jid: &str, mid: i64) { + let me = ctx.jid(); + let Some(m) = db::message_by_mid(ctx.db(), &me, mid).await.ok().flatten() else { return }; + let muc = m.is_muc(); + let before = db::messages_for(ctx.db(), &me, jid, muc, Some(&m.published), None, 3).await.unwrap_or_default(); + let start = before.last().map(|b| b.published.clone()).unwrap_or(m.published.clone()); + rpc!(ctx, "MovimTpl.fill", format!("#{}-conversation", utils::cleanup_id(jid)), ""); + get_history(ctx, jid, Some(start), muc, false, false).await; + rpc!(ctx, "Chat.scrollAndBlinkMessageMid", mid); + rpc!(ctx, "MovimUtils.addClass", "#chat_widget .contained", "history"); +} + +// ---------------------------------------------------------------- Message preparation + +/// Movim's `Chat::prepareMessage`, for a list of messages (chronological or not): +/// returns `{date: {"hh:mm": message}}` +pub async fn prepare_messages(ctx: &Ctx, messages: &[Message]) -> Map { + let me = ctx.jid(); + let mids: Vec = messages.iter().map(|m| m.mid).collect(); + let reactions = db::reactions_for(ctx.db(), &mids).await.unwrap_or_default(); + let mut reactions_by_mid: HashMap> = HashMap::new(); + for r in reactions { + reactions_by_mid.entry(r.message_mid).or_default().push(r); + } + + let mut wrapper: Map = Map::new(); + + for m in messages { + let value = prepare_message(ctx, m, reactions_by_mid.get(&m.mid), &me).await; + + let mut date = ctx.prepare_date(&m.published, true, false); + if date.is_empty() { + date = ctx.t("date.today", &[]); + } + let entry = wrapper.entry(date).or_insert_with(|| Value::Object(Map::new())); + let Value::Object(group) = entry else { continue }; + + let mut key = format!("<{}", m.jidfrom); + if m.is_muc() { + if let Some(r) = &m.resource { + key.push_str(&utils::cleanup_id_hash(r)); + } + } + key.push('>'); + key.push_str(m.published.get(11..16).unwrap_or("")); + let counter = group.len(); + group.insert(format!("{counter}{key}"), value); + } + + wrapper +} + +fn prepare_file_json(ctx: &Ctx, f: &db::MessageFile) -> Value { + let t = f.type_.clone().unwrap_or_default(); + let preview = if utils::type_is_picture(&t) { + json!({ + "thumb": format!("{}picture?url={}", ctx.base_uri(), percent_encoding::utf8_percent_encode(&f.url, percent_encoding::NON_ALPHANUMERIC)), + "url": f.url, + "picture": true, + "thumbnail_type": f.thumbnail_type, + "thumbnail_url": f.thumbnail_url, + "width": Value::Null, + "height": Value::Null, + }) + } else { + Value::Null + }; + let units = [ + ctx.t("filesize.byte", &[]), + ctx.t("filesize.kilobyte", &[]), + ctx.t("filesize.megabyte", &[]), + ctx.t("filesize.gigabyte", &[]), + ctx.t("filesize.terabyte", &[]), + ]; + let host = f.url.split("://").nth(1).and_then(|r| r.split('/').next()).unwrap_or("").to_string(); + json!({ + "message_mid": f.message_mid, + "name": f.name, + "type": t, + "size": f.size, + "url": f.url, + "disposition": f.disposition, + "thumbnail_url": f.thumbnail_url, + "thumbnail_type": f.thumbnail_type, + "thumbnail_width": f.thumbnail_width, + "thumbnail_height": f.thumbnail_height, + "cleansize": f.size.map(|s| utils::human_size(s, &units)), + "host": host, + "preview": preview, + "isPicture": utils::type_is_picture(&t), + "isAudio": utils::type_is_audio(&t), + "isVideo": utils::type_is_video(&t), + }) +} + +/// Escape, linkify, emojify and style a plain text body +pub fn format_body(ctx: &Ctx, body: &str) -> (String, Option<(String, String)>) { + let escaped = utils::html_escape(body); + let linked = utils::linkify(&escaped); + let emoji = ctx.emoji(&linked); + (utils::message_styling(&emoji.html), emoji.single) +} + +async fn prepare_message(ctx: &Ctx, m: &Message, reactions: Option<&Vec>, me: &str) -> Value { + let mut v = serde_json::to_value(m).unwrap_or(json!({})); + let o = v.as_object_mut().unwrap(); + + let raw_body = m.body.clone().unwrap_or_default(); + let file = if m.retracted { None } else { db::message_file(ctx.db(), m.mid).await.ok().flatten() }; + + o.insert("url".into(), json!(utils::first_url(&raw_body).map(Value::String).unwrap_or(Value::Bool(false)))); + + let mut body: String; + let mut sticker = Value::Null; + let mut card = Value::Null; + + if m.retracted { + body = format!("delete {}", ctx.t("message.retracted", &[])); + } else if m.encrypted { + body = ctx.t("message.encrypted", &[]); + } else if file.is_some() { + body = String::new(); + } else { + let (b, single) = format_body(ctx, &raw_body); + body = b; + if let Some((url, title)) = single { + if m.is_classic() { + sticker = json!({ "url": url, "title": format!(":{title}:"), "height": 60 }); + body = String::new(); + } + } + } + + if m.type_ == "headline" { + if let Some(s) = &m.subject { + body = format!("{}: {}", utils::html_escape(s), body); + } + } + + if let Some(f) = &file { + let t = f.type_.clone().unwrap_or_default(); + if !utils::type_is_picture(&t) && !utils::type_is_audio(&t) && !utils::type_is_video(&t) { + card = Value::String(ctx.render( + "Chat/_chat_file.html", + json!({ "file": prepare_file_json(ctx, f) }), + )); + } + o.insert("file".into(), prepare_file_json(ctx, f)); + } else { + o.insert("file".into(), Value::Null); + } + + // Link preview + if file.is_none() && sticker.is_null() && !m.retracted && !m.encrypted && (m.type_ == "chat" || m.type_ == "groupchat") { + if let Some(url) = utils::find_url(&raw_body) { + match super::preview::cached(&ctx.app, &url).await { + Some(info) => card = Value::String(super::preview::card_html(ctx, &info)), + None if !m.resolved => rpc!(ctx, "Chat.resolveMessage", m.mid), + None => {} + } + } + } + + if m.type_ == "invitation" { + body = ctx.render( + "Chat/_chat_invitation.html", + json!({ "room": m.subject, "reason": m.body.clone().filter(|b| !b.is_empty()) }), + ); + } + + if m.type_.starts_with("jingle_") { + body = ctx.render("Chat/_chat_jingle.html", json!({ "type": m.type_, "duration": m.subject })); + } + + // Parent of a reply + if let Some(pmid) = m.parentmid { + if let Ok(Some(parent)) = db::message_by_mid(ctx.db(), me, pmid).await { + let pfile = db::message_file(ctx.db(), parent.mid).await.ok().flatten(); + let mut pbody = utils::html_escape(parent.body.as_deref().unwrap_or("")); + if let Some(f) = pfile { + let t = f.type_.unwrap_or_default(); + pbody = if utils::type_is_picture(&t) { + format!("image {}", ctx.t("chats.picture", &[])) + } else if utils::type_is_audio(&t) { + format!("equalizer {}", ctx.t("chats.audio", &[])) + } else if utils::type_is_video(&t) { + format!("local_movies {}", ctx.t("chats.video", &[])) + } else { + format!("insert_drive_file {}", ctx.t("avatar.file", &[])) + }; + } + let (from_name, color) = if parent.is_muc() { + (parent.resource.clone().unwrap_or_default(), Value::String(parent.color().into())) + } else { + (contact_view(ctx, &parent.jidfrom).await.truename, Value::Null) + }; + o.insert( + "parent".into(), + json!({ + "id": parent.id, + "replaceid": parent.replaceid, + "color": color, + "fromName": from_name, + "body": pbody, + "omemoheader": parent.omemoheader.as_deref().and_then(|h| serde_json::from_str::(h).ok()), + "jidfrom": parent.jidfrom, + "resource": parent.resource, + "bundleid": parent.bundleid, + "mid": parent.mid, + }), + ); + } + } + + if let Some(rs) = reactions { + if !rs.is_empty() { + o.insert("reactionsHtml".into(), Value::String(prepare_reactions(ctx, m, rs, me))); + } + } + + if !body.is_empty() && utils::is_rtl(&raw_body) { + o.insert("rtl".into(), json!(true)); + } + + o.insert("publishedPrepared".into(), json!(ctx.prepare_time(&m.published))); + if let Some(d) = &m.delivered { + o.insert("delivered".into(), json!(ctx.prepare_date(d, false, true))); + } + if let Some(d) = &m.displayed { + o.insert("displayed".into(), json!(ctx.prepare_date(d, false, true))); + } + + if let Some(h) = &m.omemoheader { + o.insert("omemoheader".into(), serde_json::from_str::(h).unwrap_or(Value::Null)); + } + + if m.is_muc() { + o.insert("color".into(), json!(m.color())); + let occupant = ctx + .st(|st| st.muc_presences.get(&m.jidfrom).and_then(|o| m.resource.as_ref().and_then(|r| o.get(r))).cloned()) + .flatten(); + match occupant { + Some(p) => { + o.insert("moderator".into(), json!(p.role == "moderator")); + o.insert("mucjid".into(), json!(p.jid)); + let mine = p.jid.as_deref() == Some(me) || rooms::my_nick(ctx, &m.jidfrom).as_deref() == m.resource.as_deref(); + o.insert("mine".into(), json!(mine)); + o.insert("icon_url".into(), json!(rooms::occupant_picture(ctx, &m.jidfrom, &p).await)); + } + None => { + let mine = rooms::my_nick(ctx, &m.jidfrom).as_deref() == m.resource.as_deref() && m.resource.is_some(); + o.insert("mine".into(), json!(mine)); + o.insert("icon_url".into(), json!(ctx.placeholder_url(m.resource.as_deref().unwrap_or(&m.jidfrom)))); + } + } + // Only used for 1:1 corrections + o.insert("originid".into(), Value::Null); + } else if m.originid.is_none() { + o.insert("originid".into(), json!(m.messageid)); + } + + // Corrections must come from the same author + if let Some(rid) = &m.replaceid { + let original = db::message_resolve_reference(ctx.db(), me, m.jid(), rid).await.ok().flatten(); + let valid = original.is_some_and(|orig| orig.jidfrom == m.jidfrom && orig.resource == m.resource || !m.is_muc() && orig.jidfrom == m.jidfrom); + if !valid { + o.insert("replaceid".into(), Value::Null); + } + } + + // Seen when the discussion is displayed + if !m.seen && notif::is_current(ctx, &m.jidfrom) { + o.insert("seen".into(), json!(true)); + let _ = db::messages_mark_seen(ctx.db(), me, &m.jidfrom).await; + } + + // chat.js tests `data.sticker === undefined` + if !sticker.is_null() { + o.insert("sticker".into(), sticker); + } + if !card.is_null() { + o.insert("card".into(), card); + } + o.insert("body".into(), json!(body)); + + v +} + +fn prepare_reactions(ctx: &Ctx, m: &Message, reactions: &[db::Reaction], me: &str) -> String { + let my_id = if m.is_muc() { rooms::my_nick(ctx, &m.jidfrom).unwrap_or_default() } else { me.to_string() }; + let mut merged: Vec<(String, Vec)> = vec![]; + for r in reactions { + match merged.iter_mut().find(|(e, _)| *e == r.emoji) { + Some((_, from)) => from.push(r.jidfrom.clone()), + None => merged.push((r.emoji.clone(), vec![r.jidfrom.clone()])), + } + } + let list: Vec = merged + .into_iter() + .map(|(emoji, from)| json!({ "emoji": emoji, "mine": from.contains(&my_id), "from": from })) + .collect(); + ctx.render("Chat/_chat_reactions.html", json!({ "reactions": list, "mid": m.mid, "muc": m.is_muc() })) +} + +pub async fn refresh_message(ctx: &Ctx, mid: i64) { + let me = ctx.jid(); + if let Ok(Some(m)) = db::message_by_mid(ctx.db(), &me, mid).await { + let wrapper = prepare_messages(ctx, std::slice::from_ref(&m)).await; + rpc!(ctx, "Chat.appendMessagesWrapper", Value::Object(wrapper)); + } +} + +// ---------------------------------------------------------------- Incoming events + +pub async fn on_message(ctx: &Ctx, m: &Message, origin: &Origin) { + let me = ctx.jid(); + let from_other = m.jidto == me && m.jidfrom != me; + let is_live = matches!(origin, Origin::Live); + + if from_other && is_live && !m.seen && !m.is_empty() { + notify(ctx, m).await; + on_chat_state_inner(ctx, m.jid(), true).await; + } else if m.is_muc() && is_live && !m.seen { + notify(ctx, m).await; + } + + let wrapper = prepare_messages(ctx, std::slice::from_ref(m)).await; + rpc!(ctx, "Chat.appendMessagesWrapper", Value::Object(wrapper)); +} + +async fn notify(ctx: &Ctx, m: &Message) { + let raw = message_preview(ctx, m).await; + + if m.is_muc() { + let conference = ctx.st(|st| st.conferences.get(&m.jidfrom).cloned()).flatten(); + let Some(conf) = conference else { return }; + let mentioned = m.quoted; + if conf.notify == 2 || (conf.notify == 1 && mentioned) { + notif::append( + ctx, + notif::Notification { + key: format!("chat|{}", conf.jid), + title: conf.title(), + body: format!("{}: {}", m.resource.clone().unwrap_or_default(), raw), + url: ctx.route("chat", &[&conf.jid, "room"]), + picture: Some(rooms::room_picture(ctx, &conf)), + time: 4, + actions: json!([{ "title": ctx.t("button.reply", &[]), "action": "chat" }]), + data: json!({ "jid": conf.jid, "muc": true }), + rpc_call: Some("Notif.incomingMessage"), + }, + ) + .await; + } + return; + } + + let contact = contact_view(ctx, &m.jidfrom).await; + let in_roster = contact.in_roster; + let known = in_roster || db::contact_get(ctx.db(), &m.jidfrom).await.ok().flatten().is_some() || m.jidfrom.contains('/'); + if !known && !ctx.st(|st| st.roster.contains_key(&m.jidfrom)).unwrap_or(false) { + // Unknown sender: still notify, but discreetly (Conversations does the same) + } + + let body = if m.encrypted { format!("🔒 {}", ctx.t("message.encrypted", &[])) } else { raw }; + let title = if m.jidfrom.contains('/') { + m.jidfrom.split('/').nth(1).unwrap_or(&m.jidfrom).to_string() + } else { + contact.truename.clone() + }; + + notif::append( + ctx, + notif::Notification { + key: format!("chat|{}", m.jidfrom), + title, + body, + url: ctx.route("chat", &[&m.jidfrom]), + picture: Some(contact.picture.clone()), + time: 6, + actions: json!([{ "title": ctx.t("button.reply", &[]), "action": "chat" }]), + data: json!({ "jid": m.jidfrom, "muc": false }), + rpc_call: Some("Notif.incomingMessage"), + }, + ) + .await; +} + +/// A short plain text version of a message, for notifications and lists +pub async fn message_preview(ctx: &Ctx, m: &Message) -> String { + if m.retracted { + return ctx.t("message.retracted", &[]); + } + if m.encrypted { + return ctx.t("message.encrypted", &[]); + } + if let Ok(Some(f)) = db::message_file(ctx.db(), m.mid).await { + let t = f.type_.unwrap_or_default(); + return if utils::type_is_picture(&t) { + format!("🖼️ {}", ctx.t("chats.picture", &[])) + } else if utils::type_is_audio(&t) { + format!("🎵 {}", ctx.t("chats.audio", &[])) + } else if utils::type_is_video(&t) { + format!("🎞️ {}", ctx.t("chats.video", &[])) + } else { + format!("📄 {}", ctx.t("avatar.file", &[])) + }; + } + m.body.clone().unwrap_or_default() +} + +pub async fn on_publish_error(ctx: &Ctx, _from: &str, id: &str, m: &minidom::Element) { + let text = crate::xmpp::iq_error(m).text.unwrap_or_else(|| ctx.t("chat.publish_error", &[])); + let _ = id; + ctx.toast(&text); +} + +pub async fn on_presence(ctx: &Ctx, jid: &str) { + if notif::is_current(ctx, jid) { + get_header(ctx, jid, false).await; + } +} + +pub async fn on_chat_state(ctx: &Ctx, jid: &str) { + on_chat_state_inner(ctx, jid, true).await; +} + +async fn on_chat_state_inner(ctx: &Ctx, jid: &str, first: bool) { + let state_id = format!("#{}", utils::cleanup_id(&format!("{jid}_state"))); + if first { + rpc!(ctx, "MovimUtils.removeClass", state_id.clone(), "first"); + } + + // Expire old composing states (30s) + let who: Vec = ctx + .st(|st| { + st.chat_states + .get_mut(jid) + .map(|s| { + s.retain(|_, since| since.elapsed().as_secs() < 30); + s.keys().cloned().collect() + }) + .unwrap_or_default() + }) + .unwrap_or_default(); + + let muc = ctx.st(|st| st.conferences.contains_key(jid)).unwrap_or(false); + let html = if who.is_empty() { + String::new() + } else if muc { + ctx.render("Chat/_chat_compose_bubble.html", json!({ "list": who.join(", ") })) + } else { + let contact = contact_view(ctx, jid).await; + ctx.render("Chat/_chat_compose_bubble.html", json!({ "list": Value::Null, "contact": contact })) + }; + + rpc!(ctx, "Chat.setScroll"); + rpc!(ctx, "MovimTpl.fill", state_id, html); + rpc!(ctx, "Chat.scrollRestore"); +} + +/// The page was blurred and is focused again on this discussion +pub async fn on_focus_back(ctx: &Ctx, jid: &str) { + let me = ctx.jid(); + let _ = db::messages_mark_seen(ctx.db(), &me, jid).await; + notif::on_chat_counter(ctx).await; +} + +// ---------------------------------------------------------------- Sending + +async fn send_from_params(ctx: &Ctx, p: &P<'_>) { + // Normal call: (id, to, message, muc, file, replyToMid, mucReceipts, omemo) + // Upload/Draw/Snap call: (to, false, muc, file) + if p.v(1).is_some_and(|v| v.is_boolean()) && p.v(3).is_some_and(|v| v.is_object()) { + send_message(ctx, &utils::generate_uuid(), &p.str(0), None, p.b(2), p.v(3).cloned(), None, None, None).await; + return; + } + send_message( + ctx, + &p.str(0), + &p.str(1), + p.s(2), + p.b(3), + p.v(4).cloned(), + p.i(5).filter(|m| *m > 0), + None, + p.v(7).cloned(), + ) + .await; +} + +#[allow(clippy::too_many_arguments)] +pub async fn send_message( + ctx: &Ctx, + id: &str, + to: &str, + message: Option, + muc: bool, + file: Option, + reply_to_mid: Option, + replace: Option, + omemo: Option, +) { + if uuid::Uuid::parse_str(id).is_err() || !utils::validate_jid(to) { + return; + } + let me = ctx.jid(); + let Some(x) = ctx.xmpp() else { return }; + + // Uploaded file + let mut out_file = None; + if let Some(f) = file.as_ref().filter(|f| f.is_object()) { + let upload_id = f.get("id").and_then(|v| v.as_str()).unwrap_or(""); + let upload = ctx.st(|st| st.uploads.get(upload_id).cloned()).flatten(); + if let Some(u) = upload.filter(|u| u.uploaded) { + let mut of = proto::OutgoingFile { + url: u.get.clone(), + name: Some(u.name.clone()), + type_: Some(u.type_.clone()), + size: Some(u.size), + thumbnail_url: None, + thumbnail_type: None, + thumbnail_width: None, + thumbnail_height: None, + }; + if let Some(th) = f.get("thumbhash").and_then(|v| v.as_str()) { + of.thumbnail_url = Some(th.to_string()); + of.thumbnail_type = Some("image/thumbhash".into()); + of.thumbnail_width = f.get("thumbhashWidth").and_then(|v| v.as_i64()); + of.thumbnail_height = f.get("thumbhashHeight").and_then(|v| v.as_i64()); + } + out_file = Some(of); + } + } + + let omemo_el = omemo.as_ref().filter(|o| o.is_object()).map(omemo_element); + + let mut body = match (&out_file, &omemo_el) { + (Some(f), _) => f.url.clone(), + (None, Some(_)) => "I sent you an OMEMO encrypted message but your client doesn’t seem to support that.".into(), + _ => message.clone().unwrap_or_default(), + }; + if body.trim().is_empty() || body == "/me" { + return; + } + + // Replies + let reply_mid = replace.as_ref().and_then(|r| r.parentmid).or(reply_to_mid); + let parent = match reply_mid { + Some(mid) => db::message_by_mid(ctx.db(), &me, mid).await.ok().flatten(), + None => None, + }; + + let mut reply_id = None; + let mut reply_to = None; + let mut fallback_len = 0; + let mut plain = body.clone(); + if let Some(parent) = &parent { + let rid = if parent.is_muc() { parent.stanzaid.clone() } else { parent.messageid.clone().or(parent.originid.clone()) }; + if let Some(rid) = rid { + reply_id = Some(rid); + reply_to = Some(match &parent.resource { + Some(r) => format!("{}/{}", parent.jidfrom, r), + None => parent.jidfrom.clone(), + }); + if omemo_el.is_none() && out_file.is_none() { + let quoted: String = parent + .body + .as_deref() + .unwrap_or("") + .lines() + .map(|l| format!("> {l}\n")) + .collect(); + fallback_len = quoted.chars().count(); + body = format!("{quoted}{body}"); + } + } + } + + let replace_id = replace.as_ref().and_then(|r| r.originid.clone().or(r.messageid.clone())); + + let stanza = proto::message(&proto::OutgoingMessage { + to, + id, + groupchat: muc, + body: Some(&body), + replace: replace_id.as_deref(), + reply_id: reply_id.as_deref(), + reply_to: reply_to.as_deref(), + reply_fallback_len: fallback_len, + file: out_file.as_ref(), + omemo: omemo_el.clone(), + thread: parent.as_ref().and_then(|p| p.thread.as_deref()), + html: None, + }); + + ctx.st(|st| st.own_composing.remove(to)); + x.send(stanza); + + if omemo_el.is_some() { + rpc!(ctx, "Chat.sentId", id); + } + + // MUC messages are stored when the room reflects them + if muc { + return; + } + + if out_file.is_some() || omemo_el.is_some() { + plain = body.clone(); + } + + let mut m = Message { + user_id: me.clone(), + id: id.to_string(), + originid: Some(id.to_string()), + messageid: Some(id.to_string()), + replaceid: replace_id, + jidto: to.to_string(), + jidfrom: me.clone(), + resource: ctx.st(|st| st.resource.clone()), + type_: "chat".into(), + body: Some(if omemo_el.is_some() { "Encrypted OMEMO message sent".into() } else { plain }), + markable: true, + seen: true, + parentmid: parent.as_ref().map(|p| p.mid), + thread: parent.as_ref().and_then(|p| p.thread.clone()), + published: utils::now_sql(), + resolved: out_file.is_some(), + ..Default::default() + }; + if let Some(o) = &omemo { + m.encrypted = true; + m.omemoheader = Some(o.to_string()); + m.bundleid = o.get("sid").and_then(|s| s.as_i64()); + } + + let Ok(mid) = db::message_save(ctx.db(), &m).await else { return }; + if let Some(f) = &out_file { + let _ = db::message_file_save( + ctx.db(), + &db::MessageFile { + message_mid: mid, + name: f.name.clone(), + type_: f.type_.clone(), + size: f.size, + url: f.url.clone(), + thumbnail_url: f.thumbnail_url.clone(), + thumbnail_type: f.thumbnail_type.clone(), + thumbnail_width: f.thumbnail_width, + thumbnail_height: f.thumbnail_height, + ..Default::default() + }, + ) + .await; + } + + let Some(saved) = db::message_by_mid(ctx.db(), &me, mid).await.ok().flatten() else { return }; + chats::on_message(ctx, &saved, &Origin::Live).await; + let wrapper = prepare_messages(ctx, std::slice::from_ref(&saved)).await; + rpc!(ctx, "Chat.appendMessagesWrapper", Value::Object(wrapper)); +} + +/// Build the `` element from the header computed in the browser +fn omemo_element(o: &Value) -> minidom::Element { + use crate::xmpp::{el, BuilderExt}; + let mut header = el("header", proto::ns::OMEMO).a("sid", o.get("sid").map(|s| s.to_string().trim_matches('"').to_string()).unwrap_or_default()); + if let Some(keys) = o.get("keys").and_then(|k| k.as_object()) { + for (rid, k) in keys { + let mut key = el("key", proto::ns::OMEMO).a("rid", rid.as_str()); + if k.get("prekey").and_then(|p| p.as_bool()).unwrap_or(false) { + key = key.a("prekey", "true"); + } + key = key.append(k.get("payload").and_then(|p| p.as_str()).unwrap_or("")); + header = header.append(key.build()); + } + } + header = header.append(el("iv", proto::ns::OMEMO).append(o.get("iv").and_then(|v| v.as_str()).unwrap_or("")).build()); + el("encrypted", proto::ns::OMEMO) + .append(header.build()) + .append(el("payload", proto::ns::OMEMO).append(o.get("payload").and_then(|v| v.as_str()).unwrap_or("")).build()) + .build() +} + +async fn correct(ctx: &Ctx, to: &str, mid: i64, message: &str) { + let me = ctx.jid(); + let Some(original) = db::message_by_mid(ctx.db(), &me, mid).await.ok().flatten() else { return }; + let muc = original.is_muc(); + let to = if to.is_empty() || to == "false" { original.jid().to_string() } else { to.to_string() }; + send_message(ctx, &utils::generate_uuid(), &to, Some(message.to_string()), muc, None, None, Some(original), None).await; +} + +async fn send_reaction(ctx: &Ctx, mid: i64, emoji: &str) { + let me = ctx.jid(); + if !utils::is_single_emoji(emoji) { + return; + } + let Some(parent) = db::message_by_mid(ctx.db(), &me, mid).await.ok().flatten() else { return }; + let muc = parent.is_muc(); + + let reactor = if muc { + match rooms::my_nick(ctx, &parent.jidfrom) { + Some(n) => n, + None => return, + } + } else { + me.clone() + }; + + let current: Vec = db::reactions_for(ctx.db(), &[mid]) + .await + .unwrap_or_default() + .into_iter() + .filter(|r| r.jidfrom == reactor) + .map(|r| r.emoji) + .collect(); + + let mut new = current.clone(); + if let Some(pos) = new.iter().position(|e| e == emoji) { + new.remove(pos); + } else { + new.push(emoji.to_string()); + } + + let to = if parent.jidfrom != me { parent.jidfrom.clone() } else { parent.jidto.clone() }; + let parent_id = if !muc { parent.messageid.clone().or(parent.originid.clone()) } else { parent.stanzaid.clone() }; + let Some(parent_id) = parent_id else { return }; + + ctx.send(proto::reactions(&to, muc, &parent_id, &new)); + + if !muc { + let _ = db::reactions_replace(ctx.db(), mid, &reactor, &new).await; + refresh_message(ctx, mid).await; + } +} + +async fn last(ctx: &Ctx, to: &str, muc: bool) { + let me = ctx.jid(); + let messages = db::messages_for(ctx.db(), &me, to, muc, None, None, 20).await.unwrap_or_default(); + let my_nick = if muc { rooms::my_nick(ctx, to) } else { None }; + let mine = messages.into_iter().find(|m| { + if muc { m.resource.is_some() && m.resource == my_nick } else { m.jidfrom == me } + }); + let Some(m) = mine else { return }; + if m.retracted || m.encrypted || m.type_ != "chat" && m.type_ != "groupchat" { + return; + } + if db::message_file(ctx.db(), m.mid).await.ok().flatten().is_some() { + return; + } + // Use the original message id so the correction replaces it + let mut mid = m.mid; + if let Some(rid) = &m.replaceid { + if let Ok(Some(orig)) = db::message_resolve_reference(ctx.db(), &me, to, rid).await { + mid = orig.mid; + } + } + if let Some(body) = m.body.filter(|b| !b.is_empty()) { + rpc!(ctx, "Chat.setTextarea", body, mid); + } +} + +async fn edit(ctx: &Ctx, mid: i64) { + let me = ctx.jid(); + let Some(m) = db::message_by_mid(ctx.db(), &me, mid).await.ok().flatten() else { return }; + if db::message_file(ctx.db(), mid).await.ok().flatten().is_some() { + return; + } + rpc!(ctx, "Chat.setTextarea", m.body.unwrap_or_default(), mid); +} + +async fn reply(ctx: &Ctx, mid: i64) { + let me = ctx.jid(); + let Some(m) = db::message_by_mid(ctx.db(), &me, mid).await.ok().flatten() else { return }; + let ok = m.is_classic() && ((m.is_muc() && m.stanzaid.is_some()) || (!m.is_muc() && (m.messageid.is_some() || m.originid.is_some()))); + if !ok { + return; + } + let file = db::message_file(ctx.db(), mid).await.ok().flatten().map(|f| { + let t = f.type_.unwrap_or_default(); + json!({ "picture": utils::type_is_picture(&t), "audio": utils::type_is_audio(&t), "video": utils::type_is_video(&t) }) + }); + let from_name = if m.is_muc() { + m.resource.clone().unwrap_or_default() + } else if m.jidfrom == me { + contact_view(ctx, &me).await.truename + } else { + contact_view(ctx, &m.jidfrom).await.truename + }; + let color = m.color(); + rpc!( + ctx, + "MovimTpl.fill", + "#reply", + ctx.render("Chat/_chat_reply.html", json!({ "message": m, "file": file, "from_name": from_name, "color": color })) + ); + rpc!(ctx, "Chat.focus"); +} + +async fn send_composing(ctx: &Ctx, to: &str, muc: bool) { + if !utils::validate_jid(to) { + return; + } + let should = ctx + .st(|st| { + let now = std::time::Instant::now(); + match st.own_composing.get(to) { + Some(t) if t.elapsed().as_secs() < 5 => false, + _ => { + st.own_composing.insert(to.to_string(), now); + true + } + } + }) + .unwrap_or(false); + if !should { + return; + } + ctx.send(proto::chat_state(to, "composing", muc)); + + // Send "paused" after a while if nothing was sent + let ctx2 = ctx.clone(); + let to = to.to_string(); + tokio::spawn(async move { + tokio::time::sleep(std::time::Duration::from_secs(6)).await; + let still = ctx2 + .st(|st| st.own_composing.get(&to).is_some_and(|t| t.elapsed().as_secs() >= 6)) + .unwrap_or(false); + if still { + ctx2.st(|st| st.own_composing.remove(&to)); + ctx2.send(proto::chat_state(&to, "paused", muc)); + } + }); +} + +/// Mark the last message as displayed (XEP-0333) and synchronize it (XEP-0490) +async fn displayed(ctx: &Ctx, jid: &str, id: &str) { + if !utils::validate_jid(jid) { + return; + } + let me = ctx.jid(); + let Some(m) = db::message_by_id(ctx.db(), &me, id).await.ok().flatten() else { return }; + if m.displayed.is_some() || m.jidfrom == me { + return; + } + let _ = db::message_set_field(ctx.db(), m.mid, "displayed", Some(&utils::now_sql())).await; + + if m.markable { + if !m.is_muc() { + if let Some(mid) = &m.messageid { + ctx.send(proto::displayed(jid, mid, &m.type_)); + } + } else if let Some(sid) = &m.stanzaid { + ctx.send(proto::displayed(jid, sid, "groupchat")); + } + } + if let Some(sid) = &m.stanzaid { + let by = if m.is_muc() { jid.to_string() } else { me.clone() }; + if let Some(x) = ctx.xmpp() { + x.iq_spawn(proto::mds_displayed(utils::bare_jid(jid), sid, &by)); + } + } +} diff --git a/src/widgets/chatactions.rs b/src/widgets/chatactions.rs new file mode 100644 index 0000000..0265bec --- /dev/null +++ b/src/widgets/chatactions.rs @@ -0,0 +1,222 @@ +//! ChatActions widget: actions on a message (react, copy, reply, edit, +//! retract, moderate), search in a discussion, URL previews. + +use serde_json::json; + +use super::{chat, contactactions, rooms, P}; +use crate::{app::Ctx, db, proto, rpc, utils}; + +pub async fn call(ctx: &Ctx, func: &str, p: &P<'_>) -> bool { + match func { + "ajaxGetContact" => contactactions::get_drawer(ctx, &p.str(0)).await, + "ajaxBlock" => contactactions::block(ctx, &p.str(0), true).await, + "ajaxUnblock" => contactactions::block(ctx, &p.str(0), false).await, + "ajaxShowMessageDialog" => show_message_dialog(ctx, p.i(0).unwrap_or(0)).await, + "ajaxShowSearchDialog" => { + let html = ctx.render( + "ChatActions/_chatactions_search.html", + json!({ + "jid": p.str(0), + "muc": p.b(1), + "placeholder": ctx.render("ChatActions/_chatactions_search_placeholder.html", json!({})), + }), + ); + super::drawer(ctx, "chat_search", &html, false, false); + rpc!(ctx, "ChatActions.focusSearch"); + } + "ajaxSearchMessages" => search(ctx, &p.str(0), &p.str(1), p.b(2)).await, + "ajaxCopiedMessageText" => ctx.toast(&ctx.t("chatactions.copied_text", &[])), + "ajaxHttpDaemonRetract" => retract(ctx, p.i(0).unwrap_or(0)).await, + "ajaxHttpDaemonModerate" => moderate(ctx, p.i(0).unwrap_or(0)).await, + "ajaxResolveMessage" => resolve_message(ctx, p.i(0).unwrap_or(0)).await, + "ajaxResolveUrl" => { + let url = p.str(0); + if let Some(html) = super::preview::embed_html(ctx, &url).await { + rpc!(ctx, "MovimTpl.fill", "#embed", html); + } + rpc!(ctx, "Chat.finishedSending"); + rpc!(ctx, "Chat.disableSending"); + } + "ajaxEditMessage" | "ajaxEnableWideConferenceCall" => {} + _ => return false, + } + true +} + +async fn prepare_message(ctx: &Ctx, m: &db::Message, search: bool, headline: Option) -> String { + let me = ctx.jid(); + let file = db::message_file(ctx.db(), m.mid).await.ok().flatten(); + let picture = file + .as_ref() + .filter(|f| utils::type_is_picture(f.type_.as_deref().unwrap_or(""))) + .map(|f| format!("{}picture?url={}", ctx.base_uri(), percent_encoding::utf8_percent_encode(&f.url, percent_encoding::NON_ALPHANUMERIC))); + let body = headline.unwrap_or_else(|| chat::format_body(ctx, m.body.as_deref().unwrap_or("").trim()).0); + let mine = if m.is_muc() { rooms::my_nick(ctx, &m.jidfrom) == m.resource } else { m.jidfrom == me }; + let date = if search { ctx.prepare_date(&m.published, false, true) } else { ctx.prepare_time(&m.published) }; + ctx.render( + "ChatActions/_chatactions_message.html", + json!({ + "message": m, + "jid": m.jid(), + "mine": mine, + "muc": m.is_muc(), + "color": m.color(), + "picture": picture, + "body": body, + "date": date, + }), + ) +} + +async fn show_message_dialog(ctx: &Ctx, mid: i64) { + let me = ctx.jid(); + let Some(m) = db::message_by_mid(ctx.db(), &me, mid).await.ok().flatten() else { return }; + if !m.is_classic() || m.retracted { + return; + } + let preview = prepare_message(ctx, &m, false, None).await; + + let reactions = db::reactions_for(ctx.db(), &[mid]).await.unwrap_or_default(); + let mut merged: Vec<(String, Vec)> = vec![]; + for r in reactions { + let who = if m.is_muc() { r.jidfrom.clone() } else { super::contact_view(ctx, &r.jidfrom).await.truename }; + match merged.iter_mut().find(|(e, _)| *e == r.emoji) { + Some((_, f)) => f.push(who), + None => merged.push((r.emoji.clone(), vec![who])), + } + } + let reactions: Vec<_> = merged.into_iter().map(|(e, f)| json!({ "emoji": e, "from": f })).collect(); + + let mine = if m.is_muc() { rooms::my_nick(ctx, &m.jidfrom) == m.resource && m.resource.is_some() } else { m.jidfrom == me }; + let has_file = db::message_file(ctx.db(), mid).await.ok().flatten().is_some(); + let editable = mine && !m.encrypted && !has_file; + let moderator = m.is_muc() + && m.stanzaid.is_some() + && ctx + .st(|st| { + st.muc_self(&m.jidfrom).is_some_and(|p| p.role == "moderator") + && st.conferences.get(&m.jidfrom).is_some_and(|c| c.features.iter().any(|f| f.starts_with("urn:xmpp:message-moderate"))) + }) + .unwrap_or(false); + + let mut for_js = serde_json::to_value(&m).unwrap_or(json!({})); + for_js["body"] = json!(utils::html_escape(m.body.as_deref().unwrap_or(""))); + rpc!(ctx, "ChatActions.setMessage", for_js); + + let html = ctx.render( + "ChatActions/_chatactions_message_dialog.html", + json!({ + "message": m, + "preview": preview, + "reactions": reactions, + "mine": mine, + "editable": editable, + "moderator": moderator, + }), + ); + super::dialog(ctx, &html, false, false); +} + +async fn search(ctx: &Ctx, jid: &str, keywords: &str, muc: bool) { + if !utils::validate_jid(jid) { + return; + } + let keywords = keywords.trim().to_lowercase(); + if keywords.is_empty() { + rpc!(ctx, "MovimTpl.fill", "#chat_search", ctx.render("ChatActions/_chatactions_search_placeholder.html", json!({}))); + return; + } + let me = ctx.jid(); + let messages = db::messages_search(ctx.db(), &me, jid, muc, &keywords, 20).await.unwrap_or_default(); + let mut list = vec![]; + for m in &messages { + let body = m.body.as_deref().unwrap_or(""); + let escaped = utils::html_escape(body); + let highlighted = highlight(&escaped, &utils::html_escape(&keywords)); + list.push(prepare_message(ctx, m, true, Some(highlighted)).await); + } + rpc!(ctx, "MovimTpl.fill", "#chat_search", ctx.render("ChatActions/_chatactions_search_result.html", json!({ "messages": list }))); +} + +fn highlight(text: &str, keywords: &str) -> String { + let lower = text.to_lowercase(); + let mut out = String::new(); + let mut last = 0; + for word in keywords.split_whitespace() { + let _ = word; + } + let first = keywords.split_whitespace().next().unwrap_or(""); + if first.is_empty() { + return text.to_string(); + } + let mut start = 0; + while let Some(pos) = lower[start..].find(first) { + let begin = start + pos; + let end = begin + first.len(); + if !text.is_char_boundary(begin) || !text.is_char_boundary(end) { + break; + } + out.push_str(&text[last..begin]); + out.push_str(""); + out.push_str(&text[begin..end]); + out.push_str(""); + last = end; + start = end; + } + out.push_str(&text[last..]); + out +} + +async fn retract(ctx: &Ctx, mid: i64) { + let me = ctx.jid(); + let Some(m) = db::message_by_mid(ctx.db(), &me, mid).await.ok().flatten() else { return }; + let muc = m.is_muc(); + let id = if muc { m.stanzaid.clone() } else { m.originid.clone().or(m.messageid.clone()) }; + let Some(id) = id else { return }; + rpc!(ctx, "Dialog.clear"); + let to = if muc { m.jidfrom.clone() } else { m.jidto.clone() }; + ctx.send(proto::retract(&to, muc, &id)); + if !muc { + let _ = db::message_retract(ctx.db(), mid).await; + chat::refresh_message(ctx, mid).await; + super::chats::refresh_item(ctx, &to).await; + } +} + +async fn moderate(ctx: &Ctx, mid: i64) { + let me = ctx.jid(); + let Some(m) = db::message_by_mid(ctx.db(), &me, mid).await.ok().flatten() else { return }; + let Some(sid) = m.stanzaid.clone() else { return }; + rpc!(ctx, "Dialog.clear"); + if let Some(x) = ctx.xmpp() { + if let Err(e) = x.iq(proto::moderate(&m.jidfrom, &sid, None)).await { + ctx.toast(&e.to_string()); + } + } +} + +/// Link preview of a message: resolve its first URL, a picture link becomes a picture +async fn resolve_message(ctx: &Ctx, mid: i64) { + let me = ctx.jid(); + let Ok(Some(m)) = db::message_by_mid(ctx.db(), &me, mid).await else { return }; + if m.resolved || m.encrypted || m.retracted { + return; + } + let body = m.body.clone().unwrap_or_default(); + let Some(url) = utils::find_url(&body) else { return }; + let _ = db::message_set_resolved(ctx.db(), mid).await; + + let Some(info) = super::preview::resolve(&ctx.app, &url).await else { return }; + if info.type_ == "image" && body.trim() == url && db::message_file(ctx.db(), mid).await.ok().flatten().is_none() { + let file = db::MessageFile { + message_mid: mid, + name: info.title.clone(), + type_: Some(info.content_type.clone()), + size: Some(info.content_length), + url: url.clone(), + ..Default::default() + }; + let _ = db::message_file_save(ctx.db(), &file).await; + } + rpc!(ctx, "Chat.refreshMessage", mid); +} diff --git a/src/widgets/chatomemo.rs b/src/widgets/chatomemo.rs new file mode 100644 index 0000000..3a79fad --- /dev/null +++ b/src/widgets/chatomemo.rs @@ -0,0 +1,247 @@ +//! ChatOmemo widget: OMEMO (XEP-0384, legacy `eu.siacs.conversations.axolotl` +//! namespace, compatible with Conversations). The cryptography runs in the +//! browser (libsignal), the server publishes and fetches device lists and bundles. + +use minidom::Element; +use rand::seq::IteratorRandom; +use serde_json::{json, Value}; + +use super::P; +use crate::{ + app::Ctx, + proto::{self, ns}, + rpc, + xmpp::{child_text, el, BuilderExt}, +}; + +pub async fn call(ctx: &Ctx, func: &str, p: &P<'_>) -> bool { + match func { + "ajaxGetBundle" => { + let (jid, id) = (p.str(0), p.str(1)); + let ctx = ctx.clone(); + tokio::spawn(async move { + get_bundle(&ctx, &jid, &id, false).await; + }); + } + "ajaxGetDevicesList" => { + let to = p.str(0); + ctx.toast(&ctx.t("omemo.resolving_devices", &[])); + let ctx = ctx.clone(); + tokio::spawn(async move { + get_devices_list(&ctx, &to).await; + }); + } + "ajaxAnnounceBundle" => announce_bundle(ctx, p.v(0).cloned().unwrap_or_default(), p.v(1).cloned().unwrap_or_default()).await, + "ajaxCleanDevicesList" => { + let ids: Vec = p.v(0).and_then(|v| v.as_array()).map(|a| a.iter().map(id_string).collect()).unwrap_or_default(); + publish_devices(ctx, &ids).await; + } + "ajaxEnableContactState" => { + ctx.toast(&ctx.t("omemo.enable_contact", &[])); + set_state(ctx, true).await; + } + "ajaxEnableRoomState" => { + ctx.toast(&ctx.t("omemo.enable_room", &[])); + set_state(ctx, true).await; + } + "ajaxDisableContactState" => { + ctx.toast(&ctx.t("omemo.disable_contact", &[])); + set_state(ctx, false).await; + } + "ajaxDisableRoomState" => { + ctx.toast(&ctx.t("omemo.disable_room", &[])); + set_state(ctx, false).await; + } + "ajaxNotifyGeneratedBundle" => ctx.toast(&ctx.t("omemo.generated_bundle", &[])), + _ => return false, + } + true +} + +/// Remember the state for the open discussion, to show the lock in the header +async fn set_state(ctx: &Ctx, enabled: bool) { + if let Some(key) = super::notif::current(ctx) { + if let Some(jid) = key.strip_prefix("chat|") { + let _ = crate::db::omemo_state_set(ctx.db(), &ctx.jid(), jid, enabled).await; + } + } +} + +fn id_string(v: &Value) -> String { + match v { + Value::String(s) => s.clone(), + other => other.to_string(), + } +} + +pub async fn on_devicelist(ctx: &Ctx, from: &str, devices: Vec) { + let ids: Vec = devices.iter().map(|d| d.to_string()).collect(); + ctx.st(|st| st.omemo_devices.insert(from.to_string(), devices.clone())); + if from == ctx.jid() { + rpc!(ctx, "ChatOmemo.ownDevicesReceived", from, ids); + } else { + rpc!(ctx, "ChatOmemo.devicesReceived", from, ids); + } +} + +pub async fn refresh_own_devices(ctx: &Ctx) { + if !ctx.me().is_some_and(|u| u.omemoenabled) { + return; + } + let me = ctx.jid(); + get_devices_list(ctx, &me).await; +} + +async fn get_devices_list(ctx: &Ctx, to: &str) { + let Some(x) = ctx.xmpp() else { return }; + let me = ctx.jid(); + let target = if to == me { None } else { Some(to) }; + let res = x.iq(proto::pubsub_items(target, ns::OMEMO_DEVICELIST, None, None)).await; + let devices: Vec = match res { + Ok(res) => { + let items = res.get_child("pubsub", ns::PUBSUB).and_then(|p| p.get_child("items", ns::PUBSUB)); + let mut ids = vec![]; + if let Some(items) = items { + let count = items.children().filter(|c| c.name() == "item").count(); + for item in items.children().filter(|c| c.name() == "item") { + if item.attr("id") == Some("current") || count == 1 { + if let Some(list) = item.get_child("list", ns::OMEMO) { + for d in list.children().filter_map(|d| d.attr("id")) { + if !ids.contains(&d.to_string()) { + ids.push(d.to_string()); + } + } + } + } + } + } + ids + } + Err(_) => { + if to == me { + rpc!(ctx, "ChatOmemo.initiateBundle", Vec::::new()); + } + rpc!(ctx, "ChatOmemo.bundlesRefreshError", to); + return; + } + }; + + if to == me { + rpc!(ctx, "ChatOmemo.ownDevicesReceived", to, devices.clone()); + return; + } + + if devices.is_empty() { + rpc!(ctx, "ChatOmemo.bundlesRefreshError", to); + return; + } + + let total = devices.len(); + for (i, id) in devices.iter().enumerate() { + get_bundle(ctx, to, id, i + 1 == total).await; + } +} + +async fn get_bundle(ctx: &Ctx, jid: &str, id: &str, notify_last: bool) { + let Some(x) = ctx.xmpp() else { return }; + let node = format!("{}{}", ns::OMEMO_BUNDLES_PREFIX, id); + let target = if jid == ctx.jid() { None } else { Some(jid) }; + match x.iq(proto::pubsub_items(target, &node, None, None)).await { + Ok(res) => { + let bundle = res + .get_child("pubsub", ns::PUBSUB) + .and_then(|p| p.get_child("items", ns::PUBSUB)) + .and_then(|i| i.children().find(|c| c.name() == "item")) + .and_then(|i| i.get_child("bundle", ns::OMEMO)); + if let Some(bundle) = bundle { + if let Some(prekey) = extract_prekey(jid, bundle) { + rpc!(ctx, "ChatOmemo.handlePreKey", jid, id, prekey); + } + } + } + Err(e) => tracing::debug!("bundle {jid}/{id}: {e}"), + } + if notify_last { + rpc!(ctx, "ChatOmemo.bundlesRefreshed", jid); + } +} + +fn extract_prekey(jid: &str, bundle: &Element) -> Option { + let spk = bundle.children().find(|c| c.name() == "signedPreKeyPublic")?; + let prekeys = bundle.children().find(|c| c.name() == "prekeys")?; + let picked = prekeys.children().filter(|c| c.name() == "preKeyPublic").choose(&mut rand::rng())?; + let id: i64 = picked.attr("preKeyId").and_then(|i| i.parse().ok())?; + Some(json!({ + "jid": jid, + "identitykey": child_text(bundle, "identityKey").unwrap_or_default(), + "signedprekeypublic": spk.text(), + "signedprekeyid": spk.attr("signedPreKeyId").and_then(|i| i.parse::().ok()).unwrap_or(1), + "signedprekeysignature": child_text(bundle, "signedPreKeySignature").unwrap_or_default(), + "prekey": { "id": id, "value": picked.text() }, + })) +} + +async fn announce_bundle(ctx: &Ctx, bundle: Value, devices: Value) { + let Some(x) = ctx.xmpp() else { return }; + let device_id = bundle.get("deviceId").map(id_string).unwrap_or_default(); + if device_id.is_empty() { + return; + } + let mut ids: Vec = match &devices { + Value::Array(a) => a.iter().map(id_string).collect(), + Value::Object(o) => o.values().map(id_string).collect(), + _ => vec![], + }; + if !ids.contains(&device_id) { + ids.push(device_id.clone()); + } + + let signed = bundle.get("signedPreKey").cloned().unwrap_or_default(); + if !signed.get("publicKey").is_some_and(|v| v.is_string()) { + // First pass of initiateBundle (raw ArrayBuffers): ignore it, the device + // will be missing from the list so the browser publishes it again encoded + return; + } + let mut prekeys = el("prekeys", ns::OMEMO); + if let Some(list) = bundle.get("preKeys").and_then(|p| p.as_array()) { + for (i, k) in list.iter().enumerate() { + let key = match k.get("key") { + Some(Value::String(s)) => s.clone(), + // ArrayBuffers are serialized as {} by JSON.stringify: skip them + _ => continue, + }; + let kid = k.get("id").or_else(|| k.get("keyId")).and_then(|v| v.as_i64()).unwrap_or(i as i64); + prekeys = prekeys.append(el("preKeyPublic", ns::OMEMO).a("preKeyId", kid.to_string()).append(key).build()); + } + } + let payload = el("bundle", ns::OMEMO) + .append( + el("signedPreKeyPublic", ns::OMEMO) + .a("signedPreKeyId", signed.get("id").or_else(|| signed.get("keyId")).and_then(|v| v.as_i64()).unwrap_or(1).to_string()) + .append(signed.get("publicKey").and_then(|v| v.as_str()).unwrap_or("").to_string()) + .build(), + ) + .append(el("signedPreKeySignature", ns::OMEMO).append(signed.get("signature").and_then(|v| v.as_str()).unwrap_or("").to_string()).build()) + .append(el("identityKey", ns::OMEMO).append(bundle.get("identityKey").map(id_string).unwrap_or_default()).build()) + .append(prekeys.build()) + .build(); + + let node = format!("{}{}", ns::OMEMO_BUNDLES_PREFIX, device_id); + let options = proto::publish_options(&[("pubsub#access_model", "open"), ("pubsub#max_items", "max")]); + if let Err(e) = x.iq(proto::pubsub_publish(None, &node, Some("current"), payload, Some(options))).await { + tracing::info!("bundle publication failed: {e}"); + } + publish_devices(ctx, &ids).await; +} + +async fn publish_devices(ctx: &Ctx, ids: &[String]) { + let Some(x) = ctx.xmpp() else { return }; + let mut list = el("list", ns::OMEMO); + for id in ids { + list = list.append(el("device", ns::OMEMO).a("id", id.as_str()).build()); + } + let options = proto::publish_options(&[("pubsub#access_model", "open")]); + if let Err(e) = x.iq(proto::pubsub_publish(None, ns::OMEMO_DEVICELIST, Some("current"), list.build(), Some(options))).await { + tracing::info!("devicelist publication failed: {e}"); + } +} diff --git a/src/widgets/chats.rs b/src/widgets/chats.rs new file mode 100644 index 0000000..f0ced9a --- /dev/null +++ b/src/widgets/chats.rs @@ -0,0 +1,232 @@ +//! Chats widget: the list of open 1:1 conversations. + +use serde_json::{json, Value}; + +use super::{chat, contact_view, notif, P}; +use crate::{app::Ctx, db, handler::Origin, rpc, utils}; + +const FILTERS: &[&str] = &["all", "roster"]; + +pub fn build(ctx: &Ctx) -> String { + let filter = ctx.st(|st| st.chats_filter.clone()).unwrap_or_else(|| "all".into()); + ctx.render( + "Chats/chats.html", + json!({ + "filters": FILTERS, + "filter": filter, + "addplaceholder": ctx.t("chats.empty", &["chat_add_on"]), + }), + ) +} + +fn item_id(jid: &str) -> String { + format!("#{}", utils::cleanup_id(&format!("{}_chat_item", utils::slugify(jid)))) +} + +pub async fn call(ctx: &Ctx, func: &str, p: &P<'_>) -> bool { + match func { + "ajaxHttpGet" => { + rpc!(ctx, "MovimTpl.fill", "#chats", prepare_chats(ctx).await); + rpc!(ctx, "Chats.refresh"); + } + "ajaxGetMAMHistory" => { + let jid = p.s(0); + let ctx = ctx.to_ws(); + tokio::spawn(async move { + match jid { + Some(jid) => { + crate::mam::fetch_history(&ctx, &jid, false).await; + } + None => crate::mam::catch_up(&ctx).await, + } + }); + } + "ajaxSetFilter" => { + let filter = p.str(0); + if FILTERS.contains(&filter.as_str()) { + ctx.st(|st| st.chats_filter = filter.clone()); + } + rpc!(ctx, "Chats.refreshFilters"); + } + "ajaxOpen" => { + let and_show = p.b(1); + let history = p.v(2).is_none() || p.b(2); + open(ctx, &p.str(0), and_show, history).await; + } + "ajaxClose" => close(ctx, &p.str(0), p.b(1)).await, + _ => return false, + } + true +} + +pub async fn prepare_chats(ctx: &Ctx) -> String { + let me = ctx.jid(); + let chats = db::open_chats(ctx.db(), &me).await.unwrap_or_default(); + let mut html = String::new(); + for jid in chats.iter().rev() { + if utils::validate_jid(jid) && *jid != me { + html.push_str(&prepare_chat(ctx, jid).await); + } + } + html +} + +pub async fn prepare_chat(ctx: &Ctx, jid: &str) -> String { + let me = ctx.jid(); + let (bare, resource) = match jid.split_once('/') { + Some((b, r)) => (b.to_string(), Some(r.to_string())), + None => (jid.to_string(), None), + }; + let contact = contact_view(ctx, jid).await; + let count = db::unreads_count(ctx.db(), &me, jid, false).await.unwrap_or(0); + let last = db::last_message(ctx.db(), &me, jid, false).await.ok().flatten(); + let composing = ctx.st(|st| st.chat_states.get(jid).is_some_and(|s| !s.is_empty())).unwrap_or(false); + + let message = match last { + Some(m) => { + let file = db::message_file(ctx.db(), m.mid).await.ok().flatten().map(|f| { + let t = f.type_.clone().unwrap_or_default(); + json!({ + "isPicture": utils::type_is_picture(&t), + "isAudio": utils::type_is_audio(&t), + "isVideo": utils::type_is_video(&t), + "thumbnail_type": f.thumbnail_type, + "thumbnail_url": f.thumbnail_url, + }) + }); + let body_html = m + .body + .as_deref() + .map(|b| ctx.emoji(&utils::html_escape(&b.replace('\n', " "))).html) + .unwrap_or_default(); + json!({ + "date": ctx.prepare_date(&m.published, true, true), + "date_full": ctx.prepare_date(&m.published, false, true), + "mine": m.jidfrom == me, + "displayed": m.displayed, + "delivered": m.delivered, + "encrypted": m.encrypted, + "retracted": m.retracted, + "type": m.type_, + "file": file, + "body": m.body, + "body_html": body_html, + }) + } + None => Value::Null, + }; + + ctx.render( + "Chats/_chats_item.html", + json!({ + "contact": contact, + "count": count, + "message": message, + "composing": composing, + "resource": resource, + "bare": bare, + "in_call": super::visio::is_in_call(ctx, jid), + }), + ) +} + +/// The discussion was opened: refresh its item +pub async fn chat_open(ctx: &Ctx, jid: &str) { + if !utils::validate_jid(jid) { + return; + } + let me = ctx.jid(); + if !db::open_chat_exists(ctx.db(), &me, jid).await.unwrap_or(false) { + let _ = db::open_chat_touch(ctx.db(), &me, jid, None).await; + rpc!(ctx, "MovimTpl.prepend", "#chats", prepare_chat(ctx, jid).await); + } else { + rpc!(ctx, "MovimTpl.replace", item_id(jid), prepare_chat(ctx, jid).await); + } + rpc!(ctx, "MovimUtils.addClass", item_id(jid), "active"); + rpc!(ctx, "Chats.refresh"); +} + +pub async fn refresh_item(ctx: &Ctx, jid: &str) { + let me = ctx.jid(); + if db::open_chat_exists(ctx.db(), &me, jid).await.unwrap_or(false) { + rpc!(ctx, "MovimTpl.replace", item_id(jid), prepare_chat(ctx, jid).await); + rpc!(ctx, "Chats.refresh"); + if notif::is_current(ctx, jid) { + rpc!(ctx, "MovimUtils.addClass", item_id(jid), "active"); + } + } +} + +pub async fn open(ctx: &Ctx, jid: &str, and_show: bool, history: bool) { + let me = ctx.jid(); + if !utils::validate_jid(jid) || jid == me { + return; + } + if history { + let ctx2 = ctx.to_ws(); + let jid2 = jid.to_string(); + tokio::spawn(async move { + crate::mam::fetch_history(&ctx2, &jid2, false).await; + }); + } + let _ = db::open_chat_touch(ctx.db(), &me, jid, None).await; + rpc!(ctx, "MovimTpl.remove", item_id(jid)); + rpc!(ctx, "MovimTpl.prepend", "#chats", prepare_chat(ctx, jid).await); + rpc!(ctx, "Chats.refresh"); + if notif::is_current(ctx, jid) || and_show { + rpc!(ctx, "Chats.setActive", jid); + } + if and_show { + rpc!(ctx, "Chat.get", jid); + } +} + +pub async fn close(ctx: &Ctx, jid: &str, close_discussion: bool) { + if !utils::validate_jid(jid) { + return; + } + let me = ctx.jid(); + let _ = db::open_chat_close(ctx.db(), &me, jid).await; + let _ = db::messages_mark_seen(ctx.db(), &me, jid).await; + rpc!(ctx, "MovimTpl.remove", item_id(jid)); + rpc!(ctx, "Chats.refresh"); + notif::on_chat_counter(ctx).await; + if close_discussion { + rpc!(ctx, "Chat_ajaxGet"); + } + notif::clear(ctx, &format!("chat|{jid}")).await; +} + +pub async fn on_message(ctx: &Ctx, m: &db::Message, origin: &Origin) { + if m.is_muc() { + return; + } + let me = ctx.jid(); + let jid = if m.jidfrom == me { m.jidto.clone() } else { m.jidfrom.clone() }; + if matches!(origin, Origin::Mam { .. }) && m.seen { + // History sync: only refresh an already displayed item + refresh_item(ctx, &jid).await; + return; + } + let _ = db::open_chat_touch(ctx.db(), &me, &jid, Some(&m.published)).await; + rpc!(ctx, "MovimTpl.remove", item_id(&jid)); + rpc!(ctx, "MovimTpl.prepend", "#chats", prepare_chat(ctx, &jid).await); + rpc!(ctx, "Chats.refresh"); + if notif::is_current(ctx, &jid) { + rpc!(ctx, "Chats.setActive", jid.clone()); + } + if !m.seen { + notif::on_chat_counter(ctx).await; + } + let _ = chat::message_preview; +} + +pub async fn on_presence(ctx: &Ctx, jid: &str) { + refresh_item(ctx, jid).await; +} + +pub async fn on_chat_state(ctx: &Ctx, jid: &str) { + let composing = ctx.st(|st| st.chat_states.get(jid).is_some_and(|s| !s.is_empty())).unwrap_or(false); + let f = if composing { "MovimUtils.addClass" } else { "MovimUtils.removeClass" }; + rpc!(ctx, f, format!("{} span.primary", item_id(jid)), "composing"); +} diff --git a/src/widgets/contactactions.rs b/src/widgets/contactactions.rs new file mode 100644 index 0000000..875fd36 --- /dev/null +++ b/src/widgets/contactactions.rs @@ -0,0 +1,182 @@ +//! ContactActions widget: the contact drawer (profile, resources, fingerprints, +//! roster and blocking actions). Also XEP-0070 HTTP auth confirmations. + +use base64::{engine::general_purpose::STANDARD as B64, Engine}; +use minidom::Element; +use serde_json::{json, Value}; + +use super::{contact_view, P}; +use crate::{app::Ctx, proto, rpc, utils, xmpp}; + +pub fn fingerprint(b64: &str) -> String { + let Ok(bytes) = B64.decode(b64) else { return String::new() }; + let hex = hex::encode(bytes); + let hex = hex.get(2..).unwrap_or(""); + hex.as_bytes().chunks(8).map(|c| String::from_utf8_lossy(c).to_string()).collect::>().join(" ") +} + +pub async fn get_drawer(ctx: &Ctx, jid: &str) { + if !utils::validate_jid(jid) { + return; + } + let me = ctx.jid(); + let contact = contact_view(ctx, jid).await; + let description = contact + .description + .as_deref() + .filter(|d| !d.trim().is_empty()) + .map(|d| ctx.emoji(&utils::linkify(&utils::html_escape(d.trim()))).html.replace('\n', "
")); + + let resources: Vec = ctx + .st(|st| { + st.presences + .get(jid) + .map(|p| { + p.values() + .filter(|p| p.value < 5) + .map(|p| { + let name = p.ver.as_ref().and_then(|v| st.caps.get(v)).and_then(|(n, _)| n.clone()); + json!({ "resource": p.resource, "presence": p.key(), "status": p.status, "name": name }) + }) + .collect() + }) + .unwrap_or_default() + }) + .unwrap_or_default(); + + let (audio, video) = super::visio::call_targets(ctx, jid); + let omemo = ctx.me().is_some_and(|u| u.omemoenabled) && jid != me; + + let html = ctx.render( + "ContactActions/_contactactions_drawer.html", + json!({ + "contact": contact, + "description": description, + "mine": jid == me, + "resources": resources, + "call_audio": audio, + "call_video": video, + "omemo": omemo, + }), + ); + super::drawer(ctx, "contact_drawer", &html, false, false); + if omemo { + rpc!(ctx, "ContactActions.getDrawerFingerprints", jid); + } +} + +pub async fn call(ctx: &Ctx, func: &str, p: &P<'_>) -> bool { + match func { + "ajaxGetDrawer" => get_drawer(ctx, &p.str(0)).await, + "ajaxGetDrawerFingerprints" => { + let jid = p.str(0); + let list: Vec = p + .v(1) + .and_then(|v| v.as_array()) + .map(|a| { + a.iter() + .map(|f| { + json!({ + "jid": f.get("jid").and_then(|v| v.as_str()).unwrap_or(&jid), + "bundleid": f.get("bundleid"), + "fingerprint": fingerprint(f.get("fingerprint").and_then(|v| v.as_str()).unwrap_or("")), + }) + }) + .collect() + }) + .unwrap_or_default(); + rpc!( + ctx, + "MovimTpl.fill", + "#omemo_fingerprints", + ctx.render("ContactActions/_contactactions_drawer_fingerprints.html", json!({ "fingerprints": list })) + ); + rpc!(ctx, "ContactActions.resolveSessionsStates", jid); + } + "ajaxChat" => super::search::chat(ctx, &p.str(0), p.b(1)).await, + "ajaxBlock" => block(ctx, &p.str(0), true).await, + "ajaxUnblock" => block(ctx, &p.str(0), false).await, + "ajaxHttpGetPictures" | "ajaxHttpGetLinks" | "ajaxCheckAccessModel" => {} + _ => return false, + } + true +} + +pub async fn block(ctx: &Ctx, jid: &str, block: bool) { + if !utils::validate_jid(jid) { + return; + } + let Some(x) = ctx.xmpp() else { return }; + match x.iq(proto::block(jid, !block)).await { + Ok(_) => { + ctx.st(|st| { + if block { + st.blocked.insert(jid.to_string()); + } else { + st.blocked.remove(jid); + } + }); + ctx.toast(&ctx.t(if block { "blocked.account_blocked" } else { "blocked.account_unblocked" }, &[])); + if super::notif::is_current(ctx, jid) { + super::chat::get_header(ctx, jid, false).await; + } + super::account::on_blocklist_changed(ctx).await; + } + Err(e) => ctx.toast(&e.to_string()), + } +} + +// ---------------------------------------------------------------- XEP-0070 + +pub async fn on_confirm(ctx: &Ctx, iq: &Element, confirm: &Element) { + let html = ctx.render( + "Confirm/_confirm.html", + json!({ + "from": iq.attr("from").unwrap_or(""), + "id": confirm.attr("id").unwrap_or(""), + "url": confirm.attr("url").unwrap_or(""), + "method": confirm.attr("method").unwrap_or(""), + }), + ); + super::dialog(ctx, &html, false, false); + // The answer is sent through Confirm_ajaxAccept/Refuse, keep the request id + let key = format!("confirm:{}", confirm.attr("id").unwrap_or("")); + ctx.st(|st| st.caps.insert(key, (iq.attr("id").map(String::from), vec![]))); +} + +pub async fn confirm_call(ctx: &Ctx, func: &str, p: &P<'_>) -> bool { + let (to, id, url, method) = (p.str(0), p.str(1), p.str(2), p.str(3)); + let iq_id = ctx.st(|st| st.caps.remove(&format!("confirm:{id}")).and_then(|(i, _)| i)).flatten(); + let confirm = xmpp::el("confirm", proto::ns::HTTP_AUTH) + .a_kv("id", &id) + .a_kv("url", &url) + .a_kv("method", &method) + .build(); + let mut b = xmpp::el("iq", xmpp::NS_CLIENT).a_kv("to", &to).a_kv("id", &iq_id.unwrap_or_else(|| utils::generate_key(12))); + match func { + "ajaxAccept" => b = b.a_kv("type", "result").append(confirm), + "ajaxRefuse" => { + b = b.a_kv("type", "error").append(confirm).append( + xmpp::el("error", xmpp::NS_CLIENT) + .a_kv("code", "401") + .a_kv("type", "auth") + .append(xmpp::el("not-authorized", "urn:ietf:params:xml:ns:xmpp-stanzas").build()) + .build(), + ) + } + _ => return false, + } + ctx.send(b.build()); + true +} + +trait KvExt { + fn a_kv(self, k: &str, v: &str) -> Self; +} + +impl KvExt for minidom::element::ElementBuilder { + fn a_kv(self, k: &str, v: &str) -> Self { + use crate::xmpp::BuilderExt; + self.a(k, v) + } +} diff --git a/src/widgets/login.rs b/src/widgets/login.rs new file mode 100644 index 0000000..b3de5a1 --- /dev/null +++ b/src/widgets/login.rs @@ -0,0 +1,253 @@ +//! Login widget: XMPP authentication and "quick login" (the password is stored +//! encrypted server side, the key only lives in the browser localStorage). + +use aes_gcm::{ + aead::{Aead, KeyInit}, + Aes256Gcm, Nonce, +}; +use base64::{engine::general_purpose::STANDARD as B64, Engine}; +use rand::RngCore; +use serde_json::json; +use sha2::{Digest, Sha256}; +use std::collections::HashMap; +use std::str::FromStr; + +use super::P; +use crate::{app::Ctx, db, rpc, utils, xmpp}; + +pub async fn build(ctx: &Ctx, _params: &HashMap) -> String { + let cfg = &ctx.app.cfg; + let connected = ctx.app.hub.logged_count(); + let max_reached = cfg.max_sessions > 0 && connected >= cfg.max_sessions; + + ctx.render( + "Login/login.html", + json!({ + "domain": cfg.default_domain, + "banner": cfg.banner, + "info": cfg.info, + "whitelist": cfg.xmpp_whitelist, + "maxsessionsreached": max_reached, + "maxsessions": cfg.max_sessions, + "connected": connected, + "pop": db::user_count(ctx.db()).await.unwrap_or(0), + "disableregistration": cfg.disable_registration, + "error": prepare_error(ctx, "default", None), + }), + ) +} + +fn prepare_error(ctx: &Ctx, error: &str, message: Option<&str>) -> String { + let key = format!("error.{error}"); + let mut text = ctx.t(&key, &[]); + if text == key { + text = ctx.t("error.default", &[]); + } + ctx.render("Login/_login_error.html", json!({ "error": text, "errormessage": message })) +} + +pub async fn show_error(ctx: &Ctx, error: &str, message: Option<&str>) { + if let Some(jid) = ctx.session.as_ref().and_then(|s| s.user_jid()) { + let _ = db::encrypted_passwords_clear(ctx.db(), &jid).await; + } + rpc!(ctx, "Login.clearQuick"); + rpc!(ctx, "MovimTpl.fill", "#error", prepare_error(ctx, error, message)); + rpc!(ctx, "MovimUtils.addClass", "#login_widget", "error"); +} + +pub async fn call(ctx: &Ctx, func: &str, p: &P<'_>) -> bool { + match func { + "ajaxLogin" => { + let username = p.form(0, "username").unwrap_or_default().to_lowercase(); + let password = p.form(0, "password").unwrap_or_default(); + do_login(ctx, username.trim(), &password, &p.str(2), &p.str(1), None).await; + } + "ajaxHTTPLogin" => { + do_login(ctx, &p.str(0), &p.str(1), &p.str(3), &p.str(2), None).await; + } + "ajaxQuickLogin" => quick_login(ctx, p).await, + _ => return false, + } + true +} + +fn encrypt(password: &str) -> (String, String) { + let mut key = [0u8; 32]; + let mut nonce = [0u8; 12]; + rand::rng().fill_bytes(&mut key); + rand::rng().fill_bytes(&mut nonce); + let cipher = Aes256Gcm::new_from_slice(&key).unwrap(); + let ct = cipher.encrypt(&Nonce::from(nonce), password.as_bytes()).unwrap(); + let mut data = nonce.to_vec(); + data.extend(ct); + (B64.encode(data), B64.encode(key)) +} + +fn decrypt(data: &str, key: &str) -> Option { + let data = B64.decode(data).ok()?; + let key = B64.decode(key).ok()?; + if data.len() < 13 || key.len() != 32 { + return None; + } + let cipher = Aes256Gcm::new_from_slice(&key).ok()?; + let plain = cipher.decrypt(&Nonce::try_from(&data[..12]).ok()?, &data[12..]).ok()?; + String::from_utf8(plain).ok() +} + +async fn quick_login(ctx: &Ctx, p: &P<'_>) { + let (device_id, login, key, timezone) = (p.str(0), p.str(1), p.str(2), p.str(3)); + let Some(sid) = p.s(4) else { return }; + let check = p.b(5); + + if !utils::validate_bare_jid(&login) { + show_error(ctx, "login_format", None).await; + return; + } + + let stored = db::encrypted_password_get(ctx.db(), &login, &device_id).await.ok().flatten(); + let Some(password) = stored.and_then(|data| decrypt(&data, &key)) else { + rpc!(ctx, "Login.clearQuick"); + return; + }; + + if check { + rpc!(ctx, "Login.quickLoginRegister"); + return; + } + + do_login(ctx, &login, &password, &timezone, &sid, Some(device_id)).await; +} + +fn session_hash(login: &str, password: &str) -> String { + hex::encode(Sha256::digest(format!("movim:{login}:{password}").as_bytes())) +} + +async fn do_login(ctx: &Ctx, login: &str, password: &str, timezone: &str, sid: &str, device_id: Option) { + let cfg = &ctx.app.cfg; + let Some(session) = ctx.session.clone() else { return }; + + if !utils::validate_bare_jid(login) || !login.contains('@') { + show_error(ctx, "login_format", None).await; + return; + } + if password.is_empty() || password.len() > 1024 { + show_error(ctx, "password_format", None).await; + return; + } + if !utils::validate_cookie(sid) || sid != session.sid { + show_error(ctx, "session", None).await; + return; + } + if cfg.max_sessions > 0 && ctx.app.hub.logged_count() >= cfg.max_sessions { + show_error(ctx, "max_sessions_reached", None).await; + return; + } + + let host = login.split('@').nth(1).unwrap_or("").to_string(); + if !cfg.xmpp_whitelist.is_empty() && !cfg.xmpp_whitelist.contains(&host) { + show_error(ctx, "unauthorized", None).await; + return; + } + + let hash = session_hash(login, password); + + // An existing session for this account: share it if the password matches + if let Some(other) = ctx.app.hub.find_by_user(login) { + if other.sid != session.sid { + if SESSION_HASHES.lock().unwrap().get(&other.sid) == Some(&hash) { + let expires = (chrono::Utc::now() + chrono::Duration::days(7)).format("%a, %d %b %Y %H:%M:%S GMT").to_string(); + rpc!(ctx, "Login.setCookie", other.sid.clone(), expires); + rpc!(ctx, "MovimUtils.redirect", ctx.route("chat", &[])); + } else { + show_error(ctx, "wrong_account", None).await; + } + return; + } + } + + let user = match db::user_get_or_create(ctx.db(), login).await { + Ok(u) => u, + Err(e) => { + show_error(ctx, "internal", Some(&e.to_string())).await; + return; + } + }; + + if device_id.is_none() { + let (data, key) = encrypt(password); + let device = utils::generate_key(16); + if db::encrypted_password_set(ctx.db(), login, &device, &data).await.is_ok() { + rpc!(ctx, "Login.setQuick", device, login, host.clone(), key); + } + } + + let resource = format!("movim{}", utils::generate_key(6)); + { + let mut st = session.st.lock().unwrap(); + st.timezone = if timezone.parse::().is_ok() { timezone.to_string() } else { "UTC".into() }; + st.resource = resource.clone(); + if let Some(lang) = user.language.clone().filter(|l| crate::i18n::get().has_language(l)) { + st.lang = lang; + } + st.user = Some(user); + } + + rpc!(ctx, "Toast.send", ctx.t("connection.socket_connected", &[]), 3000); + + let jid = match xmpp_parsers::jid::BareJid::from_str(login) { + Ok(j) => j, + Err(_) => { + show_error(ctx, "login_format", None).await; + return; + } + }; + + match xmpp::connect(jid, password.to_string(), &resource, ctx.app.cfg.debug_xmpp, ctx.app.cfg.xmpp_plaintext.as_deref()).await { + Ok(conn) => { + SESSION_HASHES.lock().unwrap().insert(session.sid.clone(), hash); + session.st.lock().unwrap().password = Some(password.to_string()); + rpc!(ctx, "Toast.send", ctx.t("connection.authenticated", &[]), 3000); + super::presence::start_session(ctx, conn).await; + rpc!(ctx, "MovimUtils.reloadThis"); + } + Err(e) => { + tracing::info!("login failed for {login}: {e}"); + session.st.lock().unwrap().user = None; + match e { + xmpp::LoginError::Auth(cond) => { + let error = if cond.contains("NotAuthorized") || cond.contains("not-authorized") || cond.contains("bad-auth") { + "wrong_account" + } else if cond.contains("mechanism") || cond.contains("Malformed") { + "mechanism" + } else { + "fail_auth" + }; + show_error(ctx, error, None).await; + } + xmpp::LoginError::Dns => show_error(ctx, "dns", None).await, + xmpp::LoginError::Connection(m) => show_error(ctx, "connection", Some(&m)).await, + xmpp::LoginError::Stream(m) => show_error(ctx, "fail_auth", Some(&m)).await, + } + } + } +} + +static SESSION_HASHES: std::sync::LazyLock>> = + std::sync::LazyLock::new(Default::default); + +pub fn forget_session(sid: &str) { + SESSION_HASHES.lock().unwrap().remove(sid); +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn quick_login_crypto() { + let (data, key) = encrypt("secret"); + assert_eq!(decrypt(&data, &key).as_deref(), Some("secret")); + let (_, other) = encrypt("x"); + assert_eq!(decrypt(&data, &other), None); + } +} diff --git a/src/widgets/mod.rs b/src/widgets/mod.rs new file mode 100644 index 0000000..ed0b1a2 --- /dev/null +++ b/src/widgets/mod.rs @@ -0,0 +1,279 @@ +//! Server side of Movim's widgets. Each module implements the `ajax*` calls of +//! the widget (see `widgets_registry` for the JS stubs), its initial HTML, and the +//! reactions to XMPP events (called from `handler`). + +use serde::Serialize; +use serde_json::Value; +use std::collections::HashMap; + +use crate::{app::Ctx, db, rpc, utils}; + +pub mod account; +pub mod chat; +pub mod chatactions; +pub mod chatomemo; +pub mod chats; +pub mod contactactions; +pub mod login; +pub mod notif; +pub mod notifications; +pub mod presence; +pub mod preview; +pub mod register; +pub mod rooms; +pub mod search; +pub mod stickers; +pub mod upload; +pub mod visio; + +/// Positional parameters of an ajax call +pub struct P<'a>(pub &'a [Value]); + +impl P<'_> { + pub fn v(&self, i: usize) -> Option<&Value> { + self.0.get(i).filter(|v| !v.is_null()) + } + + pub fn s(&self, i: usize) -> Option { + self.v(i).map(|v| match v { + Value::String(s) => s.clone(), + other => other.to_string(), + }) + } + + pub fn str(&self, i: usize) -> String { + self.s(i).unwrap_or_default() + } + + pub fn b(&self, i: usize) -> bool { + match self.v(i) { + Some(Value::Bool(b)) => *b, + Some(Value::Number(n)) => n.as_i64().unwrap_or(0) != 0, + Some(Value::String(s)) => s == "true" || s == "1", + _ => false, + } + } + + pub fn i(&self, i: usize) -> Option { + match self.v(i) { + Some(Value::Number(n)) => n.as_i64(), + Some(Value::String(s)) => s.parse().ok(), + _ => None, + } + } + + /// Value of a form field serialized by `MovimUtils.formToJson` + pub fn form(&self, i: usize, field: &str) -> Option { + self.v(i)?.get(field)?.get("value").map(|v| match v { + Value::String(s) => s.clone(), + other => other.to_string(), + }) + } +} + +/// Everything a template needs to display a contact +#[derive(Serialize, Clone, Debug, Default)] +pub struct ContactView { + pub id: String, + pub jid: String, + pub truename: String, + pub picture: String, + pub color: &'static str, + pub presence: Option, + pub status: Option, + /// XEP-0319 idle time, as a human readable date + pub seen: Option, + pub in_roster: bool, + pub subscription: Option, + pub groups: Vec, + pub nickname: Option, + pub email: Option, + pub url: Option, + pub description: Option, + pub blocked: bool, +} + +pub async fn contact_view(ctx: &Ctx, jid: &str) -> ContactView { + let contact = db::contact_get_or_new(ctx.db(), jid).await; + contact_view_from(ctx, &contact) +} + +pub fn contact_view_from(ctx: &Ctx, contact: &db::Contact) -> ContactView { + let jid = contact.id.clone(); + let (roster, presence, blocked) = ctx + .st(|st| (st.roster.get(&jid).cloned(), st.best_presence(&jid).cloned(), st.blocked.contains(&jid))) + .unwrap_or((None, None, false)); + + let truename = roster + .as_ref() + .and_then(|r| r.name.clone()) + .filter(|n| !n.trim().is_empty()) + .unwrap_or_else(|| contact.truename()); + + ContactView { + id: jid.clone(), + jid: jid.clone(), + picture: ctx.avatar_url(contact.avatarhash.as_deref(), &truename), + color: utils::string_to_color(&jid), + truename, + presence: presence.as_ref().map(|p| p.key().to_string()), + seen: presence.as_ref().and_then(|p| p.idle.as_deref()).map(|i| ctx.prepare_date(i, true, true)), + status: presence.and_then(|p| p.status), + in_roster: roster.is_some(), + subscription: roster.as_ref().map(|r| r.subscription.clone()), + groups: roster.map(|r| r.groups).unwrap_or_default(), + nickname: contact.nickname.clone(), + email: contact.email.clone(), + url: contact.url.clone(), + description: contact.description.clone(), + blocked, + } +} + +pub async fn contact_views(ctx: &Ctx, jids: &[String]) -> HashMap { + let contacts = db::contacts_get(ctx.db(), jids).await.unwrap_or_default(); + let mut map: HashMap = + contacts.iter().map(|c| (c.id.clone(), contact_view_from(ctx, c))).collect(); + for jid in jids { + map.entry(jid.clone()).or_insert_with(|| contact_view_from(ctx, &db::Contact::new(jid))); + } + map +} + +// ---------------------------------------------------------------- Common helpers + +pub fn dialog(ctx: &Ctx, html: &str, scroll: bool, locked: bool) { + rpc!(ctx, "MovimTpl.fill", "#dialog", html); + if scroll { + rpc!(ctx, "Dialog.addScroll"); + } else { + rpc!(ctx, "Dialog.removeScroll"); + } + if locked { + rpc!(ctx, "Dialog.addLocked"); + } +} + +pub fn drawer(ctx: &Ctx, key: &str, html: &str, actions: bool, tiny: bool) { + rpc!(ctx, "MovimTpl.fill", "#drawer", html); + rpc!(ctx, "MovimUtils.removeClass", "body > nav", "active"); + if actions { + rpc!(ctx, "MovimUtils.addClass", "#drawer", "actions"); + } + if tiny { + rpc!(ctx, "MovimUtils.addClass", "#drawer", "tiny"); + } + rpc!(ctx, "Drawer.open", key); +} + +/// Initial HTML of a widget on a page +pub async fn build(ctx: &Ctx, name: &str, page: &str, params: &HashMap) -> String { + match name { + "Login" => login::build(ctx, params).await, + "Presence" => presence::build(ctx), + "BottomNavigation" => presence::build_bottom(ctx, page), + "Shortcuts" => presence::build_shortcuts(ctx, page).await, + "Navigation" => ctx.render("Navigation/navigation.html", serde_json::json!({ "page": page })), + "Chat" => chat::build(ctx, params), + "Chats" => chats::build(ctx), + "Rooms" => rooms::build(ctx), + "Search" => search::build(ctx), + "Notifications" => notifications::build(ctx), + "Upload" => upload::build(ctx), + "Visio" => visio::build(ctx), + "Stickers" => stickers::build(ctx), + "ChatOmemo" | "ChatActions" | "ContactActions" | "RoomsUtils" | "Notif" | "SendTo" | "AdHoc" + | "RoomsExplore" | "Snap" | "Draw" | "Dictaphone" | "Preview" => { + let file = format!("{}/{}.html", name, name.to_lowercase()); + render_if_exists(ctx, &file) + } + "Vcard4" | "Avatar" | "Config" | "Account" | "NotificationConfig" | "Blocked" => { + account::build(ctx, name).await + } + "Tabs" => render_if_exists(ctx, "Tabs/tabs.html"), + "Subscribe" => account::build_subscribe(ctx).await, + "Register" => register::build_register(ctx, params.get("s").map(String::as_str).unwrap_or("")), + _ => { + let file = format!("{}/{}.html", name, name.to_lowercase()); + render_if_exists(ctx, &file) + } + } +} + +fn render_if_exists(ctx: &Ctx, file: &str) -> String { + if ctx.app.tpl.get_template(file).is_ok() { + ctx.render(file, serde_json::json!({})) + } else { + String::new() + } +} + +/// Dispatch an `ajax*` call +pub async fn call(ctx: &Ctx, widget: &str, func: &str, params: Vec) { + let p = P(¶ms); + let handled = match widget { + "Login" => login::call(ctx, func, &p).await, + "Presence" | "BottomNavigation" | "Navigation" | "Shortcuts" => presence::call(ctx, widget, func, &p).await, + "Dialog" => { + if func == "ajaxClear" { + rpc!(ctx, "MovimUtils.removeClass", "#dialog", "scroll"); + rpc!(ctx, "MovimTpl.fill", "#dialog", ""); + } + true + } + "Drawer" => { + if func == "ajaxClear" { + rpc!(ctx, "MovimTpl.fill", "#drawer", ""); + rpc!(ctx, "MovimUtils.removeClass", "#drawer", "actions"); + rpc!(ctx, "MovimUtils.removeClass", "#drawer", "tiny"); + } + true + } + "Register" => register::call(ctx, func, &p).await, + _ if !ctx.is_logged() => false, + "Chat" => chat::call(ctx, func, &p).await, + "Chats" => chats::call(ctx, func, &p).await, + "ChatActions" => chatactions::call(ctx, func, &p).await, + "ChatOmemo" => chatomemo::call(ctx, func, &p).await, + "ContactActions" => contactactions::call(ctx, func, &p).await, + "Rooms" | "RoomsUtils" | "RoomsExplore" => rooms::call(ctx, widget, func, &p).await, + "Search" | "SendTo" => search::call(ctx, widget, func, &p).await, + "Notif" => notif::call(ctx, func, &p).await, + "Notifications" => notifications::call(ctx, func, &p).await, + "Preview" => preview::call(ctx, func, &p).await, + "Stickers" => stickers::call(ctx, func, &p).await, + "Upload" | "Dictaphone" | "Snap" | "Draw" => upload::call(ctx, widget, func, &p).await, + "Visio" => visio::call(ctx, func, &p).await, + "Confirm" => contactactions::confirm_call(ctx, func, &p).await, + "Account" | "Config" | "Vcard4" | "Avatar" | "NotificationConfig" | "Blocked" => { + account::call(ctx, widget, func, &p).await + } + _ => false, + }; + + if !handled { + tracing::debug!("unhandled call {widget}::{func}"); + } +} + +/// A browser tab is back on a logged session +pub async fn session_up(ctx: &Ctx, only_client: bool) { + // The calls live in the browser tabs: a new single tab cannot hold an ongoing one + if only_client { + visio::end_orphan_call(ctx).await; + } + if let Some(x) = ctx.xmpp() { + x.set_active(true); + } + presence::send_presence(ctx, None).await; +} + +/// No more browser tabs +pub async fn session_down(ctx: &Ctx) { + // Nobody is left to take part in a call + visio::terminate_current(ctx).await; + presence::send_away(ctx).await; + if let Some(x) = ctx.xmpp() { + x.set_active(false); + } +} diff --git a/src/widgets/notif.rs b/src/widgets/notif.rs new file mode 100644 index 0000000..56b6d80 --- /dev/null +++ b/src/widgets/notif.rs @@ -0,0 +1,196 @@ +//! Notif widget: notification counters, desktop notifications and snackbars. +//! `notifs_key` tracks what the user is currently looking at (`chat|jid`…). + +use serde_json::{json, Value}; + +use super::P; +use crate::{app::Ctx, db, rpc}; + +pub struct Notification<'a> { + pub key: String, + pub title: String, + pub body: String, + pub url: String, + pub picture: Option, + pub time: i64, + pub actions: Value, + pub data: Value, + pub rpc_call: Option<&'a str>, +} + +/// Number of conversations with unread messages +pub async fn unreads(ctx: &Ctx) -> i64 { + let me = ctx.jid(); + let rooms: Vec = ctx + .st(|st| st.conferences.values().filter(|c| c.notify > 0).map(|c| c.jid.clone()).collect()) + .unwrap_or_default(); + db::unreads_total(ctx.db(), &me, &rooms).await.unwrap_or(0) +} + +pub async fn append(ctx: &Ctx, n: Notification<'_>) { + let picture = n.picture.clone().unwrap_or_else(|| format!("{}theme/img/app/128.png", ctx.base_uri())); + let mut data = n.data.clone(); + data["url"] = json!(n.url); + + crate::push::notify(ctx, &n.key, &n.title, &n.body, &picture, &data).await; + + rpc!( + ctx, + "Notif.desktop", + n.key.clone(), + chrono::Utc::now().timestamp(), + n.title.clone(), + n.body.clone(), + picture.clone(), + n.actions.clone(), + data + ); + + let first = n.key.split('|').next().unwrap_or("").to_string(); + let current = ctx.st(|st| st.notifs_key.clone()).flatten(); + + let (first_count, key_count) = ctx + .st(|st| { + let c = st.notifs.shift_remove(&first).unwrap_or(0) + 1; + st.notifs.insert(first.clone(), c); + let mut k = 0; + if first != n.key { + k = st.notifs.shift_remove(&n.key).unwrap_or(0) + 1; + st.notifs.insert(n.key.clone(), k); + } + (c, k) + }) + .unwrap_or((0, 0)); + + // Do not notify what is currently displayed + if current.as_deref() == Some(n.key.as_str()) { + return; + } + + if first == "chat" { + rpc!(ctx, "Notif.counter", first.clone(), unreads(ctx).await); + } else { + rpc!(ctx, "Notif.counter", first.clone(), first_count); + } + if let Some(call) = n.rpc_call { + rpc!(ctx, call); + } + if first != n.key { + rpc!(ctx, "Notif.counter", n.key.clone(), key_count); + } + + if !n.title.is_empty() { + let html = ctx.render( + "Notif/_notif.html", + json!({ "title": n.title, "body": n.body, "picture": picture, "url": n.url }), + ); + rpc!(ctx, "Notif.snackbar", html, n.time); + } + + super::presence::refresh_shortcuts(ctx).await; +} + +pub async fn clear(ctx: &Ctx, key: &str) { + let removed = ctx + .st(|st| { + let counter = st.notifs.shift_remove(key)?; + let first = key.split('|').next().unwrap_or("").to_string(); + let mut first_left = None; + if let Some(v) = st.notifs.get_mut(&first) { + *v -= counter; + first_left = Some((first.clone(), (*v).max(0))); + if *v <= 0 { + st.notifs.shift_remove(&first); + } + } + Some(first_left) + }) + .flatten(); + + if let Some(first_left) = removed { + rpc!(ctx, "Notif.counter", key, 0); + rpc!(ctx, "Notif.clear", key); + if let Some((first, left)) = first_left { + rpc!(ctx, "Notif.counter", first, left); + } + if let Some(jid) = key.strip_prefix("chat|") { + rpc!(ctx, "Shortcuts.clear", jid); + } + } +} + +pub fn current(ctx: &Ctx) -> Option { + ctx.st(|st| st.notifs_key.clone()).flatten() +} + +/// Is the conversation currently displayed and focused? +pub fn is_current(ctx: &Ctx, jid: &str) -> bool { + current(ctx).is_some_and(|k| k == format!("chat|{jid}")) +} + +pub async fn call(ctx: &Ctx, func: &str, p: &P<'_>) -> bool { + match func { + "ajaxClear" => clear(ctx, &p.str(0)).await, + "ajaxGet" => { + let chat = p.v(0).is_none() || p.b(0); + let mut notifs: serde_json::Map = ctx + .st(|st| st.notifs.iter().map(|(k, v)| (k.clone(), json!(v))).collect()) + .unwrap_or_default(); + if chat { + notifs.insert("chat".into(), json!(unreads(ctx).await)); + } + rpc!(ctx, "Notif.refresh", Value::Object(notifs)); + } + "ajaxCurrent" => { + let key = p.str(0); + if key.contains('|') { + clear(ctx, &key).await; + } + let was_blurred = ctx.st(|st| st.notifs_key.as_deref() == Some("blurred")).unwrap_or(false); + ctx.st(|st| st.notifs_key = Some(key.clone())); + if was_blurred { + if let Some(jid) = key.strip_prefix("chat|") { + super::chat::on_focus_back(ctx, jid).await; + } + } + } + "ajaxRegisterPushSubscrition" => { + let (endpoint, auth, p256dh) = (p.str(0), p.str(1), p.str(2)); + if endpoint.starts_with("https://") { + let _ = db::push_subscription_save(ctx.db(), &ctx.jid(), &endpoint, &p256dh, &auth).await; + } + } + "ajaxHttpTouchPushSubscription" => { + let _ = db::push_subscription_touch(ctx.db(), &p.str(0)).await; + } + "ajaxHttpRequest" => { + super::dialog(ctx, &ctx.render("Notif/_notif_request.html", json!({})), false, false); + } + "ajaxRequestGranted" => { + rpc!( + ctx, + "Notif.desktop", + chrono::Utc::now().timestamp(), + ctx.t("notification.request_title", &[]), + ctx.t("notification.request_granted", &[]), + Value::Null, + Value::Null, + Value::Null, + Value::Null, + Value::Null, + true + ); + } + "ajaxRequestDenied" => ctx.toast(&ctx.t("notification.request_denied", &[])), + _ => return false, + } + true +} + +pub async fn on_chat_counter(ctx: &Ctx) { + let n = unreads(ctx).await; + rpc!(ctx, "Notif.counter", "chat", n); + rpc!(ctx, "MovimUtils.setDataItem", "#chatcounter", "counter", n); + rpc!(ctx, "MovimUtils.setDataItem", "#chatheadercounter", "counter", n); + rpc!(ctx, "BottomNavigation.setChatNotification", json!({ "chat": n })); +} diff --git a/src/widgets/notifications.rs b/src/widgets/notifications.rs new file mode 100644 index 0000000..639b764 --- /dev/null +++ b/src/widgets/notifications.rs @@ -0,0 +1,181 @@ +//! Notifications widget: contact (subscription) requests and roster management. + +use serde_json::json; + +use super::{contact_view, notif, P}; +use crate::{app::Ctx, proto, rpc, utils}; + +pub fn build(_ctx: &Ctx) -> String { + String::new() +} + +pub async fn refresh_counter(ctx: &Ctx) { + let count = ctx.st(|st| st.subscribe_requests.len()).unwrap_or(0); + rpc!(ctx, "Notifications.setCounters", if count > 0 { json!(count) } else { json!("") }); +} + +pub async fn on_subscribe_request(ctx: &Ctx, jid: &str) { + // Already subscribed: accept automatically (pre-approval) + let approved = ctx + .st(|st| st.roster.get(jid).is_some_and(|r| r.subscription == "to" || r.subscription == "both")) + .unwrap_or(false); + if approved { + ctx.send(proto::presence_to(jid, "subscribed")); + return; + } + ctx.st(|st| st.subscribe_requests.insert(jid.to_string())); + let contact = contact_view(ctx, jid).await; + notif::append( + ctx, + notif::Notification { + key: format!("invite|{jid}"), + title: contact.truename.clone(), + body: ctx.t("invitations.wants_to_talk", &[&contact.truename]), + url: ctx.route("chat", &[jid]), + picture: Some(contact.picture), + time: 4, + actions: json!([]), + data: json!({}), + rpc_call: None, + }, + ) + .await; + refresh_counter(ctx).await; +} + +async fn remove_invitation(ctx: &Ctx, jid: &str) { + ctx.st(|st| st.subscribe_requests.remove(jid)); + notif::clear(ctx, &format!("invite|{jid}")).await; + rpc!(ctx, "MovimTpl.remove", format!("#invitation-{}", utils::cleanup_id(jid))); + refresh_counter(ctx).await; +} + +async fn prepare(ctx: &Ctx) -> String { + let requests: Vec = ctx.st(|st| st.subscribe_requests.iter().cloned().collect()).unwrap_or_default(); + let mut req_views = vec![]; + for jid in &requests { + let c = contact_view(ctx, jid).await; + req_views.push(json!({ "jid": jid, "truename": c.truename, "picture": c.picture })); + } + + let pending: Vec<(String, Option)> = ctx + .st(|st| { + st.roster + .values() + .filter(|r| r.subscription == "none") + .map(|r| (r.jid.clone(), r.ask.clone())) + .collect() + }) + .unwrap_or_default(); + let mut subs = vec![]; + for (jid, ask) in pending { + let c = contact_view(ctx, &jid).await; + subs.push(json!({ "jid": jid, "truename": c.truename, "picture": c.picture, "ask": ask })); + } + + ctx.render("Notifications/_notifications.html", json!({ "requests": req_views, "subscriptions": subs })) +} + +fn groups(ctx: &Ctx) -> Vec { + let mut g: Vec = ctx + .st(|st| st.roster.values().flat_map(|r| r.groups.clone()).collect()) + .unwrap_or_default(); + g.sort(); + g.dedup(); + g +} + +pub async fn call(ctx: &Ctx, func: &str, p: &P<'_>) -> bool { + match func { + "ajaxRequest" => { + super::drawer(ctx, "notifications", &prepare(ctx).await, false, false); + refresh_counter(ctx).await; + } + "ajaxSetCounter" => refresh_counter(ctx).await, + "ajaxAddAsk" | "ajaxEditContact" => { + let jid = p.str(0); + let contact = if jid.is_empty() { super::ContactView::default() } else { contact_view(ctx, &jid).await }; + let (alias, group) = ctx + .st(|st| { + st.roster + .get(&jid) + .map(|r| (r.name.clone().unwrap_or_default(), r.groups.first().cloned().unwrap_or_default())) + }) + .flatten() + .unwrap_or_else(|| (contact.truename.clone(), String::new())); + let html = ctx.render( + "Notifications/_notifications_add.html", + json!({ "contact": contact, "alias": alias, "group": group, "groups": groups(ctx), "edit": func == "ajaxEditContact" }), + ); + super::dialog(ctx, &html, false, false); + } + "ajaxAdd" => { + let jid = p.form(0, "searchjid").unwrap_or_default().trim().to_lowercase(); + if !utils::validate_bare_jid(&jid) || jid == ctx.jid() { + ctx.toast(&ctx.t("roster.jid_error", &[])); + return true; + } + let alias = p.form(0, "alias").filter(|a| !a.trim().is_empty()); + let group: Vec = p.form(0, "group").filter(|g| !g.trim().is_empty()).into_iter().collect(); + let Some(x) = ctx.xmpp() else { return true }; + let in_roster = ctx.st(|st| st.roster.get(&jid).cloned()).flatten(); + match x.iq(proto::roster_set(&jid, alias.as_deref(), &group, false)).await { + Ok(_) => { + let needs_subscribe = in_roster.as_ref().is_none_or(|r| r.subscription == "none" || r.subscription == "from"); + if needs_subscribe { + ctx.send(proto::presence_to(&jid, "subscribe")); + } + ctx.toast(&ctx.t(if in_roster.is_some() { "roster.updated" } else { "roster.added" }, &[])); + } + Err(e) => ctx.toast(&e.to_string()), + } + rpc!(ctx, "Dialog_ajaxClear"); + } + "ajaxDeleteContact" => { + let jid = p.str(0); + if utils::validate_jid(&jid) { + super::dialog(ctx, &ctx.render("Notifications/_notifications_delete.html", json!({ "jid": jid })), false, false); + } + } + "ajaxDelete" => { + let jid = p.str(0); + if let Some(x) = ctx.xmpp() { + let _ = x.iq(proto::roster_set(&jid, None, &[], true)).await; + ctx.toast(&ctx.t("roster.deleted", &[])); + } + } + "ajaxAccept" => { + let jid = p.str(0); + if !utils::validate_bare_jid(&jid) { + return true; + } + let roster = ctx.st(|st| st.roster.get(&jid).cloned()).flatten(); + if roster.is_none() { + if let Some(x) = ctx.xmpp() { + let _ = x.iq(proto::roster_set(&jid, None, &[], false)).await; + } + } + if roster.as_ref().is_none_or(|r| r.subscription == "none" || r.subscription == "from") { + ctx.send(proto::presence_to(&jid, "subscribe")); + } + ctx.send(proto::presence_to(&jid, "subscribed")); + remove_invitation(ctx, &jid).await; + } + "ajaxRefuse" => { + let jid = p.str(0); + if !utils::validate_jid(&jid) { + return true; + } + let in_roster = ctx.st(|st| st.roster.contains_key(&jid)).unwrap_or(false); + if in_roster { + if let Some(x) = ctx.xmpp() { + let _ = x.iq(proto::roster_set(&jid, None, &[], true)).await; + } + } + ctx.send(proto::presence_to(&jid, "unsubscribed")); + remove_invitation(ctx, &jid).await; + } + _ => {} + } + true +} diff --git a/src/widgets/presence.rs b/src/widgets/presence.rs new file mode 100644 index 0000000..0033546 --- /dev/null +++ b/src/widgets/presence.rs @@ -0,0 +1,318 @@ +//! Presence widget (own status, menu, logout) and the session start sequence. +//! Also BottomNavigation and Shortcuts that display the same information. + +use serde_json::json; + +use super::{contact_view, notif, P}; +use crate::{app::Ctx, db, proto, rpc, xmpp}; + +fn own_presence_key(ctx: &Ctx) -> String { + ctx.st(|st| match st.own_show.as_deref() { + Some("away") => "away", + Some("dnd") => "dnd", + Some("xa") => "xa", + _ => "online", + }) + .unwrap_or("online") + .to_string() +} + +pub fn build(ctx: &Ctx) -> String { + let picture = ctx.placeholder_url(&ctx.jid()); + ctx.render("Presence/presence.html", json!({ "picture": picture })) +} + +pub fn build_bottom(ctx: &Ctx, page: &str) -> String { + let picture = ctx.placeholder_url(&ctx.jid()); + ctx.render("BottomNavigation/bottomnavigation.html", json!({ "page": page, "picture": picture })) +} + +pub async fn build_shortcuts(ctx: &Ctx, page: &str) -> String { + let counter = if ctx.is_logged() { notif::unreads(ctx).await } else { 0 }; + ctx.render("Shortcuts/shortcuts.html", json!({ "page": page, "counter": counter })) +} + +async fn prepare_presence(ctx: &Ctx) -> String { + let me = contact_view(ctx, &ctx.jid()).await; + ctx.render("Presence/_presence.html", json!({ "contact": me, "presence": own_presence_key(ctx) })) +} + +async fn prepare_me_bottom(ctx: &Ctx) -> String { + let me = contact_view(ctx, &ctx.jid()).await; + ctx.render( + "BottomNavigation/_bottomnavigation_me.html", + json!({ "picture": me.picture, "presence": own_presence_key(ctx) }), + ) +} + +pub async fn on_my_presence(ctx: &Ctx) { + rpc!(ctx, "MovimTpl.fill", "#presence_widget", prepare_presence(ctx).await); + rpc!(ctx, "MovimTpl.fill", "#bottomnavigation_me", prepare_me_bottom(ctx).await); +} + +pub async fn refresh_shortcuts(ctx: &Ctx) { + let me = ctx.jid(); + let keys: Vec<(String, i64)> = ctx + .st(|st| st.notifs.iter().rev().filter_map(|(k, v)| k.strip_prefix("chat|").map(|j| (j.to_string(), *v))).collect()) + .unwrap_or_default(); + + let mut items = vec![]; + for (jid, _) in keys.into_iter().take(3) { + let conference = ctx.st(|st| st.conferences.get(&jid).cloned()).flatten(); + match conference { + Some(c) => items.push(json!({ + "jid": jid, "muc": true, "name": c.title(), "picture": super::rooms::room_picture(ctx, &c), "counter": 0, + })), + None => { + let counter = db::unreads_count(ctx.db(), &me, &jid, false).await.unwrap_or(0); + if counter > 0 { + let c = contact_view(ctx, &jid).await; + items.push(json!({ "jid": jid, "muc": false, "name": c.truename, "picture": c.picture, "counter": counter })); + } + } + } + } + if !items.is_empty() { + rpc!(ctx, "MovimTpl.fill", "#shortcuts_widget", ctx.render("Shortcuts/_shortcuts.html", json!({ "shortcuts": items }))); + } +} + +pub async fn call(ctx: &Ctx, widget: &str, func: &str, p: &P<'_>) -> bool { + if !ctx.is_logged() { + return false; + } + match (widget, func) { + ("Presence", "ajaxAskLogout") => { + super::dialog(ctx, &ctx.render("Presence/_presence_logout.html", json!({})), false, false); + } + ("Presence", "ajaxLogout") => { + rpc!(ctx, "Presence.clearQuick"); + let _ = db::encrypted_passwords_clear(ctx.db(), &ctx.jid()).await; + logout(ctx).await; + } + ("Presence", "ajaxHttpGetPresence") => { + rpc!(ctx, "MovimTpl.fill", "#presence_widget", prepare_presence(ctx).await); + } + ("Presence", "ajaxHttpMenu") => { + let me = contact_view(ctx, &ctx.jid()).await; + let presences: Vec<_> = [("online", "presence.online", "check_circle"), ("away", "presence.away", "schedule"), ("dnd", "presence.dnd", "do_not_disturb_on"), ("xa", "presence.xa", "bedtime")] + .iter() + .map(|(v, k, icon)| json!({ "value": v, "label": ctx.t(k, &[]), "icon": icon })) + .collect(); + let html = ctx.render( + "Presence/_presence_menu.html", + json!({ "contact": me, "presence": own_presence_key(ctx), "presences": presences }), + ); + super::drawer(ctx, "menu", &html, false, true); + } + ("Presence", "ajaxSetPresence") => { + let value = p.str(0); + let show = match value.as_str() { + "away" | "dnd" | "xa" => Some(value.clone()), + _ => None, + }; + ctx.st(|st| st.own_show = show); + send_presence(ctx, None).await; + on_my_presence(ctx).await; + } + ("Presence", "ajaxProfileRefresh") => { + let me = ctx.jid(); + crate::pep::refresh_profile(ctx, &me).await; + } + ("Presence", "ajaxBookmarksGet") => super::rooms::fetch_bookmarks(ctx).await, + ("Presence", "ajaxServerCapsGet") | ("Presence", "ajaxServerDisco") => discover_server(ctx).await, + ("Presence", _) => {} + ("BottomNavigation", "ajaxHttpRefresh") => { + rpc!(ctx, "BottomNavigation.setChatNotification", json!({ "chat": notif::unreads(ctx).await })); + rpc!(ctx, "MovimTpl.fill", "#bottomnavigation_me", prepare_me_bottom(ctx).await); + } + ("Navigation", "ajaxHttpRefresh") => { + rpc!(ctx, "MovimUtils.setDataItem", "#chatcounter", "counter", notif::unreads(ctx).await); + } + ("Shortcuts", "ajaxGet") => refresh_shortcuts(ctx).await, + _ => return false, + } + true +} + +pub async fn send_presence(ctx: &Ctx, to: Option<&str>) { + let (show, status) = ctx.st(|st| (st.own_show.clone(), st.own_status.clone())).unwrap_or((None, None)); + let show = show.or_else(|| Some("chat".into())); + let mut p = proto::presence(show.as_deref(), status.as_deref(), 0); + if let Some(to) = to { + use crate::xmpp::ElementExt; + p.set_a("to", to); + } + ctx.send(p); + ctx.st(|st| st.session_down = false); + + // Refresh our presence in the joined rooms + if to.is_none() { + for room in ctx.st(|st| st.joined_rooms()).unwrap_or_default() { + if let Some(nick) = super::rooms::my_nick(ctx, &room) { + let mut p = proto::presence(show.as_deref(), status.as_deref(), 0); + use crate::xmpp::ElementExt; + p.set_a("to", format!("{room}/{nick}")); + if let Some(muji) = super::visio::own_muji(ctx, &room) { + p.append_child(muji); + } + ctx.send(p); + } + } + } +} + +/// No browser tab is connected anymore: away with XEP-0319 idle +pub async fn send_away(ctx: &Ctx) { + let status = ctx.st(|st| st.own_status.clone()).flatten(); + let mut p = proto::presence(Some("away"), status.as_deref(), 0); + let since = (chrono::Utc::now() - chrono::Duration::seconds(10)).to_rfc3339_opts(chrono::SecondsFormat::Secs, true); + p.append_child(xmpp::el("idle", proto::ns::IDLE).a_since(since)); + ctx.send(p); + ctx.st(|st| st.session_down = true); +} + +trait SinceExt { + fn a_since(self, since: String) -> minidom::Element; +} + +impl SinceExt for minidom::element::ElementBuilder { + fn a_since(self, since: String) -> minidom::Element { + use crate::xmpp::BuilderExt; + self.a("since", since).build() + } +} + +pub async fn logout(ctx: &Ctx) { + ctx.st(|st| st.logging_out = true); + if let Some(x) = ctx.xmpp() { + super::visio::terminate_current(ctx).await; + let unavailable = xmpp::el("presence", xmpp::NS_CLIENT).build(); + let mut unavailable = unavailable; + use crate::xmpp::ElementExt; + unavailable.set_a("type", "unavailable"); + x.send(unavailable); + x.end(); + } else if let Some(s) = &ctx.session { + // Not connected: just forget the session + s.close_clients(); + ctx.app.hub.remove(&s.sid); + } +} + +/// Everything done after a successful authentication, like `Presence::start()` +pub async fn start_session(ctx: &Ctx, conn: xmpp::Connection) { + let Some(session) = ctx.session.clone() else { return }; + let x = conn.handle.clone(); + + session.set_xmpp(Some(conn.handle.clone())); + { + let mut st = session.st.lock().unwrap(); + st.logged = true; + st.resource = x.jid.resource().to_string(); + } + + crate::handler::spawn(ctx.app.clone(), session.clone(), conn.incoming); + + let ws = ctx.to_ws(); + rpc!(ws, "Notif.inhibit", 15); + + // Roster first, so the interface is complete on the first display + if let Ok(res) = x.iq(proto::roster_get()).await { + if let Some(q) = res.get_child("query", proto::ns::ROSTER) { + for item in q.children().filter(|c| c.name() == "item") { + crate::handler::roster_item(&ws, item).await; + } + } + } + + // Carbons, blocklist and server capabilities + x.iq_spawn(proto::carbons_enable()); + if let Ok(res) = x.iq(proto::blocklist_get()).await { + if let Some(list) = res.get_child("blocklist", proto::ns::BLOCKING) { + let items: Vec = list + .children() + .filter(|c| c.name() == "item") + .filter_map(|c| c.attr("jid").map(String::from)) + .collect(); + ws.st(|st| st.blocked = items.into_iter().collect()); + } + } + + send_presence(&ws, None).await; + + let ctx2 = ws.clone(); + tokio::spawn(async move { + discover_server(&ctx2).await; + super::rooms::fetch_bookmarks(&ctx2).await; + let me = ctx2.jid(); + crate::pep::refresh_profile(&ctx2, &me).await; + crate::mam::catch_up(&ctx2).await; + super::chatomemo::refresh_own_devices(&ctx2).await; + }); +} + +/// Disco the server and the account: features, HTTP upload service, external services +pub async fn discover_server(ctx: &Ctx) { + let Some(x) = ctx.xmpp() else { return }; + let me = ctx.jid(); + let host = me.split('@').nth(1).unwrap_or("").to_string(); + + if let Ok(res) = x.iq(proto::disco_info(&host, None)).await { + let features = disco_features(&res); + ctx.st(|st| st.server_features = features.into_iter().collect()); + } + if let Ok(res) = x.iq(proto::disco_info(&me, None)).await { + let features = disco_features(&res); + ctx.st(|st| st.account_features = features.into_iter().collect()); + } + + if let Ok(res) = x.iq(proto::disco_items(&host, None)).await { + let items: Vec = res + .get_child("query", proto::ns::DISCO_ITEMS) + .map(|q| q.children().filter_map(|i| i.attr("jid").map(String::from)).collect()) + .unwrap_or_default(); + for item in items { + let Ok(info) = x.iq(proto::disco_info(&item, None)).await else { continue }; + let features = disco_features(&info); + if features.iter().any(|f| f == proto::ns::UPLOAD) { + let max = max_file_size(&info); + ctx.st(|st| st.upload = Some(crate::session::UploadService { jid: item.clone(), max_size: max })); + } + let is_muc = info + .get_child("query", proto::ns::DISCO_INFO) + .is_some_and(|q| q.children().any(|i| i.name() == "identity" && i.attr("category") == Some("conference") && i.attr("type") == Some("text"))); + if is_muc { + ctx.st(|st| st.caps.insert(format!("muc_service:{item}"), (None, vec![]))); + } + } + } +} + +pub fn disco_features(res: &minidom::Element) -> Vec { + res.get_child("query", proto::ns::DISCO_INFO) + .map(|q| { + q.children() + .filter(|c| c.name() == "feature") + .filter_map(|c| c.attr("var").map(String::from)) + .collect() + }) + .unwrap_or_default() +} + +fn max_file_size(res: &minidom::Element) -> Option { + let q = res.get_child("query", proto::ns::DISCO_INFO)?; + for x in q.children().filter(|c| c.name() == "x" && c.ns() == proto::ns::DATA) { + let is_upload = x.children().any(|f| { + f.attr("var") == Some("FORM_TYPE") && f.children().any(|v| v.text() == proto::ns::UPLOAD) + }); + if is_upload { + for f in x.children().filter(|f| f.attr("var") == Some("max-file-size")) { + if let Some(v) = f.children().next() { + return v.text().parse().ok(); + } + } + } + } + None +} diff --git a/src/widgets/preview.rs b/src/widgets/preview.rs new file mode 100644 index 0000000..c48698e --- /dev/null +++ b/src/widgets/preview.rs @@ -0,0 +1,300 @@ +//! Preview widget (picture viewer), the picture proxy and URL embeds (OpenGraph). + +use regex::Regex; +use serde::{Deserialize, Serialize}; +use serde_json::json; +use std::{collections::HashMap, net::IpAddr, sync::{LazyLock, Mutex}}; + +use super::P; +use crate::{app::{App, Ctx}, rpc, utils}; + +pub async fn call(ctx: &Ctx, func: &str, p: &P<'_>) -> bool { + match func { + "ajaxHttpShow" => { + let url = p.str(0); + if !(url.starts_with("http://") || url.starts_with("https://")) { + return true; + } + let thumb = format!( + "{}picture?url={}", + ctx.base_uri(), + percent_encoding::utf8_percent_encode(&url, percent_encoding::NON_ALPHANUMERIC) + ); + let html = ctx.render("Preview/_preview.html", json!({ "raw_url": url, "thumb": thumb, "messageid": p.s(1) })); + rpc!(ctx, "Preview.fill", html); + } + "ajaxHttpGallery" => {} + "ajaxHttpHide" => rpc!(ctx, "MovimTpl.fill", "#preview", ""), + "ajaxCopyNotify" => ctx.toast(&ctx.t("preview.link_copied", &[])), + _ => return false, + } + true +} + +/// Refuse to fetch local or private network resources (SSRF). Returns the +/// address to connect to, so that a second DNS answer cannot differ. +async fn public_addr(url: &reqwest::Url) -> Option> { + if !matches!(url.scheme(), "http" | "https") { + return None; + } + if ALLOW_PRIVATE.load(std::sync::atomic::Ordering::Relaxed) { + return Some(None); + } + let host = url.host_str()?; + let port = url.port_or_known_default().unwrap_or(443); + let addrs: Vec<_> = tokio::net::lookup_host((host, port)).await.ok()?.collect(); + if addrs.is_empty() { + return None; + } + for a in &addrs { + let private = match a.ip() { + IpAddr::V4(v4) => v4.is_private() || v4.is_loopback() || v4.is_link_local() || v4.is_unspecified() || v4.is_broadcast() || v4.octets()[0] == 100 && (v4.octets()[1] & 0xc0) == 64, + IpAddr::V6(v6) => { + v6.is_loopback() || v6.is_unspecified() || (v6.segments()[0] & 0xfe00) == 0xfc00 || (v6.segments()[0] & 0xffc0) == 0xfe80 + || v6.to_ipv4_mapped().is_some_and(|v4| v4.is_private() || v4.is_loopback() || v4.is_link_local() || v4.is_unspecified()) + } + }; + if private { + return None; + } + } + Some(Some(addrs[0])) +} + +/// GET a public URL, following up to 3 redirects, each of them checked +async fn safe_get(url: &str) -> Option<(reqwest::Url, reqwest::Response)> { + let mut url = reqwest::Url::parse(url.trim()).ok()?; + for _ in 0..4 { + let addr = public_addr(&url).await?; + let mut builder = reqwest::Client::builder() + .user_agent("Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0 Movim") + .redirect(reqwest::redirect::Policy::none()) + .timeout(std::time::Duration::from_secs(10)); + if let (Some(addr), Some(host)) = (addr, url.host_str()) { + builder = builder.resolve(host, addr); + } + let res = builder.build().ok()?.get(url.clone()).send().await.ok()?; + if res.status().is_redirection() { + let location = res.headers().get("location")?.to_str().ok()?; + url = url.join(location).ok()?; + continue; + } + if !res.status().is_success() { + return None; + } + return Some((url, res)); + } + None +} + +/// Read at most `max` bytes of a response +async fn read_limited(mut res: reqwest::Response, max: usize) -> Vec { + let mut out = Vec::new(); + while let Ok(Some(chunk)) = res.chunk().await { + out.extend_from_slice(&chunk); + if out.len() >= max { + out.truncate(max); + break; + } + } + out +} + +pub static ALLOW_PRIVATE: std::sync::atomic::AtomicBool = std::sync::atomic::AtomicBool::new(false); + +static PICTURE_CACHE: LazyLock)>>> = LazyLock::new(Default::default); + +/// Fetch a remote picture (resized when large) for the picture proxy +pub async fn fetch_picture(app: &App, url: &str) -> Option<(String, Vec)> { + if let Some(c) = PICTURE_CACHE.lock().unwrap().get(url) { + return Some(c.clone()); + } + let _ = app; + let (_, res) = safe_get(url).await?; + let mime = res.headers().get("content-type").and_then(|v| v.to_str().ok()).unwrap_or("").to_string(); + if !mime.starts_with("image/") { + return None; + } + if res.content_length().is_some_and(|l| l > 20 * 1024 * 1024) { + return None; + } + let bytes = read_limited(res, 20 * 1024 * 1024 + 1).await; + if bytes.len() > 20 * 1024 * 1024 { + return None; + } + + // Resize large pictures to 1920px + let out = match image::load_from_memory(&bytes) { + Ok(img) if img.width() > 1920 || img.height() > 1920 => { + let resized = img.resize(1920, 1920, image::imageops::FilterType::Triangle); + let mut buf = std::io::Cursor::new(Vec::new()); + match resized.write_to(&mut buf, image::ImageFormat::Jpeg) { + Ok(_) => ("image/jpeg".to_string(), buf.into_inner()), + Err(_) => (mime, bytes.to_vec()), + } + } + _ => (mime, bytes.to_vec()), + }; + + let mut cache = PICTURE_CACHE.lock().unwrap(); + if cache.len() > 200 { + cache.clear(); + } + cache.insert(url.to_string(), out.clone()); + Some(out) +} + +static META_RE: LazyLock = LazyLock::new(|| { + Regex::new(r#"(?is)]*?(?:property|name)\s*=\s*["']([^"']+)["'][^>]*?content\s*=\s*["']([^"']*)["']|]*?content\s*=\s*["']([^"']*)["'][^>]*?(?:property|name)\s*=\s*["']([^"']+)["']"#).unwrap() +}); +static TITLE_RE: LazyLock = LazyLock::new(|| Regex::new(r"(?is)]*>(.*?)").unwrap()); + +static ICON_RE: LazyLock = LazyLock::new(|| { + Regex::new(r#"(?is)]*?rel\s*=\s*["'](?:shortcut )?icon["'][^>]*?href\s*=\s*["']([^"']+)["']|]*?href\s*=\s*["']([^"']+)["'][^>]*?rel\s*=\s*["'](?:shortcut )?icon["']"#).unwrap() +}); + +/// What we know about a URL (Movim's `Url`), cached in the database +#[derive(Debug, Clone, Default, Serialize, Deserialize)] +pub struct UrlInfo { + pub url: String, + /// image, video, audio, link + #[serde(rename = "type")] + pub type_: String, + pub content_type: String, + pub content_length: i64, + pub title: Option, + pub description: Option, + pub image: Option, + pub provider_name: Option, + pub provider_icon: Option, + pub author_name: Option, +} + +fn url_hash(url: &str) -> String { + use sha2::{Digest, Sha256}; + hex::encode(Sha256::digest(url.as_bytes())) +} + +/// Cached information about a URL, without fetching it +pub async fn cached(app: &App, url: &str) -> Option { + let data = crate::db::url_get(&app.db, &url_hash(url)).await.ok().flatten()?; + serde_json::from_str(&data).ok() +} + +/// Fetch (once) the OpenGraph information of a URL +pub async fn resolve(app: &App, url: &str) -> Option { + if let Some(info) = cached(app, url).await { + return Some(info); + } + let info = fetch_info(url).await?; + if let Ok(data) = serde_json::to_string(&info) { + let _ = crate::db::url_save(&app.db, &url_hash(url), url, &data).await; + } + Some(info) +} + +async fn fetch_info(url: &str) -> Option { + let (final_url, res) = safe_get(url).await?; + let host = final_url.host_str().unwrap_or("").trim_start_matches("www.").to_string(); + let mime = res.headers().get("content-type").and_then(|v| v.to_str().ok()).unwrap_or("").split(';').next().unwrap_or("").trim().to_lowercase(); + let length = res.content_length().map(|l| l as i64).unwrap_or(0); + let name = final_url.path_segments().and_then(|mut s| s.next_back()).filter(|n| !n.is_empty()).map(|n| { + percent_encoding::percent_decode_str(n).decode_utf8_lossy().to_string() + }); + + let mut info = UrlInfo { url: url.to_string(), content_type: mime.clone(), content_length: length, provider_name: Some(host), ..Default::default() }; + + for media in ["image", "video", "audio"] { + if mime.starts_with(&format!("{media}/")) { + info.type_ = media.into(); + info.title = name; + if media == "image" { + info.image = Some(url.to_string()); + } + return Some(info); + } + } + if !mime.contains("html") { + return None; + } + + let body = read_limited(res, 512 * 1024).await; + let body = String::from_utf8_lossy(&body); + let head = match body.to_lowercase().find("") { + Some(i) => &body[..i], + None => &body[..], + }; + + let mut meta: HashMap = HashMap::new(); + for c in META_RE.captures_iter(head) { + let (k, v) = match (c.get(1), c.get(2), c.get(3), c.get(4)) { + (Some(k), Some(v), _, _) => (k.as_str(), v.as_str()), + (_, _, Some(v), Some(k)) => (k.as_str(), v.as_str()), + _ => continue, + }; + let v = utils::html_decode(v.trim()); + if !v.is_empty() { + meta.entry(k.to_lowercase()).or_insert(v); + } + } + let get = |keys: &[&str]| keys.iter().find_map(|k| meta.get(*k).cloned()); + + info.type_ = "link".into(); + info.title = get(&["og:title", "twitter:title"]).or_else(|| TITLE_RE.captures(head).map(|c| utils::html_decode(c[1].trim()))).filter(|t| !t.is_empty()); + info.description = get(&["og:description", "twitter:description", "description"]).map(|d| d.chars().take(300).collect()); + info.image = get(&["og:image", "og:image:url", "twitter:image", "twitter:image:src"]).and_then(|i| final_url.join(&i).ok()).map(|u| u.to_string()); + if let Some(site) = get(&["og:site_name", "application-name"]) { + info.provider_name = Some(site); + } + info.author_name = get(&["author", "article:author"]).filter(|a| !a.starts_with("http")); + info.provider_icon = ICON_RE + .captures(head) + .and_then(|c| c.get(1).or(c.get(2))) + .and_then(|h| final_url.join(&utils::html_decode(h.as_str())).ok()) + .or_else(|| final_url.join("/favicon.ico").ok()) + .map(|u| u.to_string()); + + info.title.as_ref()?; + Some(info) +} + +/// Our picture proxy, for the remote pictures displayed in the cards +pub fn protect_picture(ctx: &Ctx, url: &str) -> String { + format!("{}picture?url={}", ctx.base_uri(), percent_encoding::utf8_percent_encode(url, percent_encoding::NON_ALPHANUMERIC)) +} + +/// The card of a URL in a message (Movim's `_chat_embed`) +pub fn card_html(ctx: &Ctx, info: &UrlInfo) -> String { + ctx.render( + "Chat/_chat_embed.html", + json!({ + "url": info, + "image": info.image.as_deref().map(|i| protect_picture(ctx, i)), + "icon": info.provider_icon.as_deref().map(|i| protect_picture(ctx, i)), + "color": utils::string_to_color(&info.url), + "size": (info.content_length > 0).then(|| utils::human_size(info.content_length, &[ + ctx.t("filesize.byte", &[]), + ctx.t("filesize.kilobyte", &[]), + ctx.t("filesize.megabyte", &[]), + ctx.t("filesize.gigabyte", &[]), + ctx.t("filesize.terabyte", &[]), + ])), + }), + ) +} + +/// An OpenGraph card for a URL, displayed above the composer +pub async fn embed_html(ctx: &Ctx, url: &str) -> Option { + let info = resolve(&ctx.app, url).await?; + let host = reqwest::Url::parse(&info.url).ok().and_then(|u| u.host_str().map(String::from)).unwrap_or_default(); + Some(ctx.render( + "Preview/_embed.html", + json!({ + "url": info.url, + "host": host, + "title": info.title.clone().or_else(|| Some(info.url.clone())), + "description": info.description.as_deref().map(|d| d.chars().take(200).collect::()), + "image": info.image.as_deref().map(|i| protect_picture(ctx, i)), + }), + )) +} diff --git a/src/widgets/register.rs b/src/widgets/register.rs new file mode 100644 index 0000000..c7facdb --- /dev/null +++ b/src/widgets/register.rs @@ -0,0 +1,137 @@ +//! Account creation with XEP-0077 In-Band Registration (Subscribe and Register widgets). + +use minidom::Element; +use serde_json::json; + +use super::P; +use crate::{ + app::Ctx, + forms, + proto::ns, + rpc, utils, + xmpp::{self, child_text, el, RegistrationStream}, +}; + +static STREAMS: std::sync::LazyLock)>>> = + std::sync::LazyLock::new(Default::default); + +pub async fn build(ctx: &Ctx) -> String { + let mut servers = vec![ctx.app.cfg.default_domain.clone()]; + for d in &ctx.app.cfg.xmpp_whitelist { + if !servers.contains(d) { + servers.push(d.clone()); + } + } + ctx.render("Subscribe/subscribe.html", json!({ "servers": servers })) +} + +pub fn build_register(ctx: &Ctx, host: &str) -> String { + ctx.render("Register/register.html", json!({ "host": host })) +} + +/// Legacy XEP-0077 fields as a data form +fn legacy_form(query: &Element) -> String { + let mut x = el("x", ns::DATA); + if let Some(i) = child_text(query, "instructions") { + x = x.append(el("instructions", ns::DATA).append(i).build()); + } + for c in query.children() { + let (type_, label) = match c.name() { + "username" => ("text-single", "Username"), + "password" => ("text-private", "Password"), + "email" => ("text-single", "Email"), + "name" | "nick" => ("text-single", "Name"), + _ => continue, + }; + x = x.append( + el("field", ns::DATA) + .attr(minidom::rxml::NcName::try_from("var").unwrap(), c.name()) + .attr(minidom::rxml::NcName::try_from("type").unwrap(), type_) + .attr(minidom::rxml::NcName::try_from("label").unwrap(), label) + .build(), + ); + } + forms::to_html(&x.build()) +} + +pub async fn call(ctx: &Ctx, func: &str, p: &P<'_>) -> bool { + let Some(session) = ctx.session.clone() else { return false }; + match func { + "ajaxGetForm" => { + let host = p.str(0); + if !utils::validate_domain(&host) || ctx.app.cfg.disable_registration { + return true; + } + let stream = match xmpp::registration_stream(&host, ctx.app.cfg.xmpp_plaintext.as_deref()).await { + Ok(s) => s, + Err(e) => { + ctx.toast(&format!("{}: {e}", ctx.t("error.service_unavailable", &[]))); + return true; + } + }; + let q = xmpp::iq("get", Some(&host), el("query", ns::REGISTER).build()); + match stream.iq(q).await { + Ok(res) => { + let Some(query) = res.get_child("query", ns::REGISTER) else { return true }; + let x = query.get_child("x", ns::DATA).cloned(); + if let Some(url) = query.get_child("x", ns::OOB).and_then(|o| child_text(o, "url")) { + rpc!(ctx, "MovimUtils.redirect", url); + return true; + } + let html = match &x { + Some(x) => forms::to_html(x), + None => legacy_form(query), + }; + STREAMS.lock().unwrap().insert(session.sid.clone(), (stream, host, x)); + rpc!(ctx, "MovimTpl.fill", "#subscription_form", ctx.render("Register/_register_form.html", json!({ "formh": html }))); + } + Err(e) => ctx.toast(&format!("{}: {e}", ctx.t("error.service_unavailable", &[]))), + } + } + "ajaxRegister" => { + let Some(data) = p.v(0).cloned() else { return true }; + if let (Some(a), Some(b)) = (p.form(0, "re_password"), p.form(0, "password")) { + if a != b { + ctx.toast(&ctx.t("account.password_not_same", &[])); + return true; + } + } + let entry = STREAMS.lock().unwrap().get(&session.sid).cloned(); + let Some((stream, host, original)) = entry else { return true }; + let query = match &original { + Some(x) => el("query", ns::REGISTER).append(forms::submit_from_json(&data, Some(x))).build(), + None => { + let mut q = el("query", ns::REGISTER); + for f in ["username", "password", "email", "name", "nick"] { + if let Some(v) = p.form(0, f) { + q = q.append(el(f, ns::REGISTER).append(v).build()); + } + } + q.build() + } + }; + match stream.iq(xmpp::iq("set", Some(&host), query)).await { + Ok(_) => { + STREAMS.lock().unwrap().remove(&session.sid); + rpc!(ctx, "MovimTpl.fill", "#subscribe", ctx.render("Register/_register_registered.html", json!({}))); + } + Err(e) => { + let msg = e.to_string(); + let key = if msg.contains("conflict") { + "error.conflict" + } else if msg.contains("not-acceptable") { + "error.not_acceptable" + } else if msg.contains("forbidden") || msg.contains("not-allowed") { + "error.forbidden" + } else { + "error.service_unavailable" + }; + let t = ctx.t(key, &[]); + ctx.toast(if t == key { &msg } else { &t }); + } + } + } + _ => return false, + } + true +} diff --git a/src/widgets/rooms.rs b/src/widgets/rooms.rs new file mode 100644 index 0000000..4f12b12 --- /dev/null +++ b/src/widgets/rooms.rs @@ -0,0 +1,1255 @@ +//! Chatrooms (XEP-0045) and their bookmarks (XEP-0402): Rooms, RoomsUtils and +//! RoomsExplore widgets. + +use minidom::Element; +use serde_json::{json, Value}; + +use super::{chat, contact_view, notif, P}; +use crate::{ + app::Ctx, + db, forms, + handler::muc_presence_from, + proto::{self, ns}, + rpc, + session::{Conference, MucPresence}, + utils, + xmpp::{self, child_text, el, BuilderExt}, +}; + +pub fn build(ctx: &Ctx) -> String { + ctx.render("Rooms/rooms.html", json!({})) +} + +// ---------------------------------------------------------------- Helpers + +pub fn my_nick(ctx: &Ctx, room: &str) -> Option { + ctx.st(|st| st.conferences.get(room).filter(|c| c.connected).and_then(|c| c.nick.clone())).flatten() +} + +fn default_nick(ctx: &Ctx) -> String { + ctx.me() + .and_then(|u| u.nickname) + .filter(|n| !n.is_empty()) + .unwrap_or_else(|| ctx.jid().split('@').next().unwrap_or("movim").to_string()) +} + +pub fn room_picture(ctx: &Ctx, c: &Conference) -> String { + ctx.avatar_url(c.avatarhash.as_deref(), &c.title()) +} + +pub async fn occupant_picture(ctx: &Ctx, room: &str, p: &MucPresence) -> String { + if let Some(jid) = &p.jid { + if let Ok(Some(c)) = db::contact_get(ctx.db(), jid).await { + if c.avatarhash.is_some() { + return ctx.avatar_url(c.avatarhash.as_deref(), &p.nick); + } + } + } + if let Some(hash) = &p.avatarhash { + if db::avatar_exists(ctx.db(), hash).await.unwrap_or(false) { + return ctx.avatar_url(Some(hash), &p.nick); + } + } + let _ = room; + ctx.placeholder_url(&p.nick) +} + +pub fn members_jids(ctx: &Ctx, room: &str) -> Vec { + let me = ctx.jid(); + ctx.st(|st| { + let mut jids: Vec = st.conferences.get(room).map(|c| c.members.keys().cloned().collect()).unwrap_or_default(); + if let Some(occ) = st.muc_presences.get(room) { + for p in occ.values() { + if let Some(j) = &p.jid { + if !jids.contains(j) { + jids.push(j.clone()); + } + } + } + } + jids.retain(|j| *j != me); + jids + }) + .unwrap_or_default() +} + +/// Data used by the room list item, chat header and drawer +pub async fn conference_view(ctx: &Ctx, room: &str) -> Value { + let me = ctx.jid(); + let Some(c) = ctx.st(|st| st.conferences.get(room).cloned()).flatten() else { + return json!({ "jid": room, "title": room, "picture": ctx.placeholder_url(room), "connected": false }); + }; + let (count, me_presence, others) = ctx + .st(|st| { + let occ = st.muc_presences.get(room); + let count = occ.map(|o| o.values().filter(|p| p.value < 5).count()).unwrap_or(0); + let me_p = c.nick.as_ref().and_then(|n| occ.and_then(|o| o.get(n))).cloned(); + let others: Vec = occ + .map(|o| o.values().filter(|p| Some(&p.nick) != c.nick.as_ref()).take(25).cloned().collect()) + .unwrap_or_default(); + (count, me_p, others) + }) + .unwrap_or((0, None, vec![])); + + let mut others_view = vec![]; + for p in &others { + others_view.push(json!({ "nick": p.nick, "picture": occupant_picture(ctx, room, p).await })); + } + + // Muji group call + let mut mujis: Vec = ctx + .st(|st| st.muc_presences.get(room).map(|o| o.values().filter(|p| p.has_muji()).cloned().collect())) + .flatten() + .unwrap_or_default(); + mujis.sort_by(|a, b| a.muji_since.cmp(&b.muji_since)); + let mut participants = vec![]; + for p in &mujis { + participants.push(json!({ + "nick": p.nick, + "picture": occupant_picture(ctx, room, p).await, + "video": p.has_video_muji(), + "screen": p.has_muji_screen_sharing(), + })); + } + let muji = json!({ + "count": mujis.len(), + "joined": me_presence.as_ref().is_some_and(|p| p.has_muji()), + "video": mujis.first().is_some_and(|p| p.has_video_muji()), + "since": mujis.first().and_then(|p| p.muji_since.as_deref()).map(|d| ctx.prepare_date(d, true, false)), + "participants": participants, + }); + + let unreads = db::unreads_count(ctx.db(), &me, room, true).await.unwrap_or(0); + let quoted = quoted_count(ctx, room).await; + + json!({ + "jid": c.jid, + "title": c.title(), + "name": c.name, + "nick": c.nick, + "picture": room_picture(ctx, &c), + "connected": c.connected, + "joining": c.joining, + "autojoin": c.autojoin, + "pinned": c.pinned, + "notify": c.notify, + "group": c.is_group_chat(), + "mam": c.has_mam(), + "public": c.features.iter().any(|f| f == "muc_public"), + "subject": c.subject, + "description": c.description, + "count": count, + "role": me_presence.as_ref().map(|p| p.role.clone()), + "affiliation": me_presence.as_ref().map(|p| p.affiliation.clone()), + "others": others_view, + "muji": muji, + "unreads": unreads, + "quoted": quoted, + }) +} + +async fn quoted_count(ctx: &Ctx, room: &str) -> i64 { + let me = ctx.jid(); + let msgs = db::messages_for(ctx.db(), &me, room, true, None, None, 100).await.unwrap_or_default(); + msgs.iter().filter(|m| !m.seen && m.quoted).count() as i64 +} + +async fn prepare_conference(ctx: &Ctx, room: &str) -> String { + let c = conference_view(ctx, room).await; + let counter = ctx.render("Rooms/_rooms_counter.html", json!({ "c": c, "with_avatar": true })); + ctx.render("Rooms/_rooms_room.html", json!({ "c": c, "counter": counter })) +} + +pub async fn refresh_room(ctx: &Ctx, room: &str) { + if !ctx.st(|st| st.conferences.contains_key(room)).unwrap_or(false) { + return; + } + rpc!(ctx, "Rooms.setRoom", utils::cleanup_id(room), prepare_conference(ctx, room).await); + rpc!(ctx, "Rooms.refresh"); +} + +pub async fn refresh_list(ctx: &Ctx) { + let rooms: Vec = ctx.st(|st| st.conferences.keys().cloned().collect()).unwrap_or_default(); + rpc!(ctx, "Rooms.clearRooms"); + for room in &rooms { + rpc!(ctx, "Rooms.setRoom", utils::cleanup_id(room), prepare_conference(ctx, room).await); + } + rpc!(ctx, "Rooms.refresh"); + rpc!(ctx, "Rooms.checkNoConnected"); + rpc!(ctx, "MovimUtils.removeClass", "#rooms ul.list.rooms", "spin"); + rpc!(ctx, "MovimTpl.remove", "#rooms ul.list.empty"); + if rooms.is_empty() { + rpc!(ctx, "MovimTpl.appendAfter", "#rooms ul.list.rooms", ctx.render("Rooms/_rooms_empty.html", json!({}))); + } +} + +pub async fn set_counter(ctx: &Ctx, room: &str) { + let c = conference_view(ctx, room).await; + let unread = c["unreads"].as_i64().unwrap_or(0) > 0 || c["quoted"].as_i64().unwrap_or(0) > 0; + rpc!( + ctx, + "MovimTpl.fill", + format!("#{}", utils::cleanup_id(&format!("{room}_rooms_primary"))), + ctx.render("Rooms/_rooms_counter.html", json!({ "c": c, "with_avatar": true })) + ); + rpc!(ctx, "Rooms.setUnread", utils::cleanup_id(room), unread); +} + +pub async fn prepare_presences(ctx: &Ctx, room: &str, compact: bool) -> String { + let me = ctx.jid(); + let (occupants, my_nick, my_role, my_aff) = ctx + .st(|st| { + let nick = st.conferences.get(room).and_then(|c| c.nick.clone()); + let occ: Vec = st.muc_presences.get(room).map(|o| o.values().cloned().collect()).unwrap_or_default(); + let me_p = nick.as_ref().and_then(|n| st.muc_presences.get(room).and_then(|o| o.get(n))); + (occ, nick.clone(), me_p.map(|p| p.role.clone()), me_p.map(|p| p.affiliation.clone())) + }) + .unwrap_or((vec![], None, None, None)); + + let order = |a: &str| match a { + "owner" => 0, + "admin" => 1, + "member" => 2, + _ => 3, + }; + let mut occupants = occupants; + occupants.sort_by(|a, b| order(&a.affiliation).cmp(&order(&b.affiliation)).then(a.nick.to_lowercase().cmp(&b.nick.to_lowercase()))); + + let mut list = vec![]; + for p in &occupants { + if p.value >= 5 { + continue; + } + let affiliation_txt = match p.affiliation.as_str() { + "owner" => ctx.t("room.affiliation_owners", &[]), + "admin" => ctx.t("room.affiliation_admins", &[]), + "member" => ctx.t("chatrooms.members", &[]), + _ => ctx.t("chatrooms.users", &[]), + }; + let presence = match p.value { + 2 => "away", + 3 => "dnd", + 4 => "xa", + _ => "online", + }; + list.push(json!({ + "nick": p.nick, + "jid": p.jid, + "role": p.role, + "affiliation": p.affiliation, + "affiliation_txt": affiliation_txt, + "status": p.status, + "presence": presence, + "picture": occupant_picture(ctx, room, p).await, + "self": Some(&p.nick) == my_nick.as_ref(), + })); + } + + ctx.render( + "RoomsUtils/_rooms_presences_list.html", + json!({ + "presences": list, + "page": 1, + "compact": compact, + "room": room, + "me": me, + "can_moderate": my_role.as_deref() == Some("moderator") || matches!(my_aff.as_deref(), Some("owner") | Some("admin")), + }), + ) +} + +// ---------------------------------------------------------------- Bookmarks + +fn parse_conference(item: &Element) -> Option { + let jid = item.attr("id")?.to_string(); + let c = item.get_child("conference", ns::BOOKMARKS2)?; + let mut conf = Conference { + jid: jid.clone(), + name: c.attr("name").map(String::from).filter(|n| !n.is_empty()), + autojoin: matches!(c.attr("autojoin"), Some("true") | Some("1")), + nick: child_text(c, "nick").filter(|n| !n.is_empty()), + notify: 1, + ..Default::default() + }; + if let Some(ext) = c.get_child("extensions", ns::BOOKMARKS2) { + for e in ext.children() { + if e.name() == "notify" && e.ns() == proto::NS_NOTIFICATION_SETTINGS { + if e.children().any(|c| c.name() == "never") { + conf.notify = 0; + } else if e.children().any(|c| c.name() == "always") { + conf.notify = 2; + } else { + conf.notify = 1; + } + } else if e.name() == "pinned" && (e.ns() == proto::NS_PINNED || e.ns() == "xmpp:movim.eu/pinned:0") { + conf.pinned = true; + } else { + conf.extensions.push(e.clone()); + } + } + } + Some(conf) +} + +pub async fn fetch_bookmarks(ctx: &Ctx) { + let Some(x) = ctx.xmpp() else { return }; + let mut found = vec![]; + + if let Ok(res) = x.iq(proto::pubsub_items(None, ns::BOOKMARKS2, None, None)).await { + if let Some(items) = res.get_child("pubsub", ns::PUBSUB).and_then(|p| p.get_child("items", ns::PUBSUB)) { + for item in items.children().filter(|c| c.name() == "item") { + if let Some(c) = parse_conference(item) { + found.push(c); + } + } + } + } + + // Legacy XEP-0048 bookmarks in private storage + if found.is_empty() { + let q = el("query", ns::PRIVATE).append(el("storage", ns::BOOKMARKS_LEGACY).build()).build(); + if let Ok(res) = x.iq(xmpp::iq("get", None, q)).await { + if let Some(storage) = res.get_child("query", ns::PRIVATE).and_then(|q| q.get_child("storage", ns::BOOKMARKS_LEGACY)) { + for c in storage.children().filter(|c| c.name() == "conference") { + if let Some(jid) = c.attr("jid") { + found.push(Conference { + jid: jid.to_string(), + name: c.attr("name").map(String::from), + autojoin: matches!(c.attr("autojoin"), Some("true") | Some("1")), + nick: child_text(c, "nick"), + notify: 1, + ..Default::default() + }); + } + } + } + } + } + + let mut autojoin = vec![]; + ctx.st(|st| { + for c in found { + let existing = st.conferences.get(&c.jid).cloned(); + let mut c = c; + if let Some(e) = existing { + c.connected = e.connected; + c.joining = e.joining; + c.subject = e.subject; + c.features = e.features; + c.info_name = e.info_name; + c.avatarhash = e.avatarhash; + c.members = e.members; + } + if c.autojoin && !c.connected && !c.joining { + autojoin.push((c.jid.clone(), c.nick.clone())); + } + st.conferences.insert(c.jid.clone(), c); + } + }); + + refresh_list(ctx).await; + + for (room, nick) in autojoin { + join(ctx, &room, nick.as_deref()).await; + } +} + +pub async fn on_bookmark(ctx: &Ctx, item: &Element) { + let Some(conf) = parse_conference(item) else { return }; + let room = conf.jid.clone(); + let should_join = ctx + .st(|st| { + let existing = st.conferences.get(&room).cloned(); + let mut c = conf.clone(); + if let Some(e) = existing { + c.connected = e.connected; + c.joining = e.joining; + c.subject = e.subject; + c.features = e.features; + c.info_name = e.info_name; + c.avatarhash = e.avatarhash; + c.members = e.members; + c.description = e.description; + } + let join = c.autojoin && !c.connected && !c.joining; + st.conferences.insert(room.clone(), c); + join + }) + .unwrap_or(false); + + if should_join { + join(ctx, &room, conf.nick.as_deref()).await; + } + refresh_room(ctx, &room).await; + rpc!(ctx, "MovimTpl.remove", "#rooms ul.list.empty"); +} + +pub async fn on_bookmark_retract(ctx: &Ctx, room: &str) { + let was_connected = ctx.st(|st| st.conferences.get(room).is_some_and(|c| c.connected)).unwrap_or(false); + if was_connected { + exit(ctx, room).await; + } + ctx.st(|st| st.conferences.remove(room)); + refresh_list(ctx).await; +} + +async fn publish_bookmark(ctx: &Ctx, c: &Conference) { + let Some(x) = ctx.xmpp() else { return }; + let conf = proto::bookmark_conference(c.name.as_deref(), c.nick.as_deref(), c.autojoin, c.notify, c.pinned, &c.extensions); + if let Err(e) = x.iq(proto::bookmark_publish(&c.jid, conf)).await { + ctx.toast(&e.to_string()); + return; + } + ctx.toast(&ctx.t("bookmarks.updated", &[])); +} + +// ---------------------------------------------------------------- Join / Exit + +async fn disco_room(ctx: &Ctx, room: &str) -> Option { + let x = ctx.xmpp()?; + let res = x.iq(proto::disco_info(room, None)).await.ok()?; + let q = res.get_child("query", ns::DISCO_INFO)?.clone(); + + let features: Vec = q.children().filter(|c| c.name() == "feature").filter_map(|f| f.attr("var").map(String::from)).collect(); + let name = q + .children() + .find(|c| c.name() == "identity" && c.attr("category") == Some("conference")) + .and_then(|i| i.attr("name")) + .map(String::from); + let mut description = None; + let mut occupants = None; + let mut avatarhash = None; + for x in q.children().filter(|c| c.name() == "x" && c.ns() == ns::DATA) { + for f in x.children().filter(|c| c.name() == "field") { + let v = f.children().find(|c| c.name() == "value").map(|v| v.text()); + match f.attr("var") { + Some("muc#roominfo_description") => description = v.filter(|d| !d.is_empty()), + Some("muc#roominfo_occupants") => occupants = v.and_then(|v| v.parse().ok()), + Some("muc#roominfo_avatarhash") => avatarhash = v.filter(|d| !d.is_empty()), + _ => {} + } + } + } + ctx.st(|st| { + if let Some(c) = st.conferences.get_mut(room) { + c.features = features; + c.info_name = name; + c.description = description; + c.occupants = occupants; + if avatarhash.is_some() { + c.avatarhash = avatarhash.clone(); + } + } + }); + + // Room avatar through its vCard + if let Some(hash) = avatarhash { + if !db::avatar_exists(ctx.db(), &hash).await.unwrap_or(false) { + fetch_room_avatar(ctx, room).await; + } + } + Some(q) +} + +async fn fetch_room_avatar(ctx: &Ctx, room: &str) { + let Some(x) = ctx.xmpp() else { return }; + let Ok(res) = x.iq(proto::vcard_get(Some(room))).await else { return }; + let Some(photo) = res.get_child("vCard", ns::VCARD).and_then(|v| v.children().find(|c| c.name() == "PHOTO")) else { return }; + use base64::{engine::general_purpose::STANDARD as B64, Engine}; + use sha1::{Digest, Sha1}; + let data = child_text(photo, "BINVAL").unwrap_or_default(); + let mime = child_text(photo, "TYPE").unwrap_or_else(|| "image/png".into()); + if let Ok(bytes) = B64.decode(data.split_whitespace().collect::()) { + let hash = hex::encode(Sha1::digest(&bytes)); + let _ = db::avatar_save(ctx.db(), &hash, &mime, &bytes).await; + ctx.st(|st| { + if let Some(c) = st.conferences.get_mut(room) { + c.avatarhash = Some(hash.clone()); + } + }); + } +} + +pub async fn join(ctx: &Ctx, room: &str, nick: Option<&str>) { + if !utils::validate_bare_jid(room) { + return; + } + let nick = nick.map(String::from).filter(|n| !n.is_empty()).unwrap_or_else(|| default_nick(ctx)); + + ctx.st(|st| { + let c = st.conferences.entry(room.to_string()).or_insert_with(|| Conference { + jid: room.to_string(), + notify: 1, + ..Default::default() + }); + c.joining = true; + c.nick = Some(nick.clone()); + }); + rpc!(ctx, "MovimUtils.addClass", format!("#{}", utils::cleanup_id(room)), "connecting"); + + disco_room(ctx, room).await; + + let has_mam = ctx.st(|st| st.conferences.get(room).is_some_and(|c| c.has_mam())).unwrap_or(false); + let presence = if has_mam { + // History comes from MAM + proto::muc_join(room, &nick, None, Some(0)) + } else { + let since = db::latest_muc_message_date(ctx.db(), &ctx.jid(), room) + .await + .ok() + .flatten() + .and_then(|d| crate::dates::parse(&d)) + .map(|d| d.to_rfc3339_opts(chrono::SecondsFormat::Secs, true)); + match since { + Some(s) => proto::muc_join(room, &nick, Some(&s), None), + None => proto::muc_join(room, &nick, None, Some(20)), + } + }; + + // Our current status + let mut presence = presence; + if let Some(show) = ctx.st(|st| st.own_show.clone()).flatten() { + presence.append_child(el("show", xmpp::NS_CLIENT).append(show).build()); + } + ctx.send(presence); + + // Joining timeout + let ctx2 = ctx.clone(); + let room2 = room.to_string(); + tokio::spawn(async move { + tokio::time::sleep(std::time::Duration::from_secs(30)).await; + let still = ctx2.st(|st| st.conferences.get(&room2).is_some_and(|c| c.joining && !c.connected)).unwrap_or(false); + if still { + ctx2.st(|st| { + if let Some(c) = st.conferences.get_mut(&room2) { + c.joining = false; + } + }); + refresh_room(&ctx2, &room2).await; + } + }); +} + +pub async fn exit(ctx: &Ctx, room: &str) { + if !utils::validate_bare_jid(room) { + return; + } + let nick = ctx.st(|st| st.conferences.get(room).and_then(|c| c.nick.clone())).flatten(); + if let Some(nick) = nick { + ctx.send(proto::muc_leave(room, &nick)); + } + ctx.st(|st| { + st.muc_presences.remove(room); + if let Some(c) = st.conferences.get_mut(room) { + c.connected = false; + c.joining = false; + } + }); + refresh_room(ctx, room).await; +} + +// ---------------------------------------------------------------- Incoming + +pub async fn on_muc_presence(ctx: &Ctx, el: &Element, x: &Element, room: &str, nick: &str, type_: &str) { + if !ctx.st(|st| st.conferences.contains_key(room)).unwrap_or(false) { + // A presence from a room we are not in (or a MUC PM contact) + return; + } + let codes: Vec = x.children().filter(|c| c.name() == "status").filter_map(|s| s.attr("code").map(String::from)).collect(); + let is_self = codes.iter().any(|c| c == "110") || ctx.st(|st| st.conferences.get(room).and_then(|c| c.nick.clone()) == Some(nick.to_string())).unwrap_or(false); + + if type_ == "error" { + on_muc_error(ctx, el, room).await; + return; + } + + let mut p = muc_presence_from(el, x, nick, type_); + let previous = ctx.st(|st| st.muc_presences.get(room).and_then(|o| o.get(nick)).cloned()).flatten(); + if p.muji.is_some() { + p.muji_since = previous.as_ref().and_then(|o| o.muji_since.clone()).or_else(|| Some(utils::now_sql())); + } + let muji_changed = previous.as_ref().is_some_and(|o| o.has_muji()) != p.has_muji() + || previous.as_ref().and_then(|o| o.muji.as_ref()) != p.muji.as_ref(); + + // Occupant avatar (vCard) + if let Some(hash) = &p.avatarhash { + if !db::avatar_exists(ctx.db(), hash).await.unwrap_or(false) && p.jid.is_none() { + let ctx2 = ctx.clone(); + let full = format!("{room}/{nick}"); + tokio::spawn(async move { + crate::pep::fetch_vcard(&ctx2, &full).await; + }); + } + if let Some(jid) = &p.jid { + crate::pep::check_vcard_avatar(ctx, jid, hash).await; + } + } + + if type_ == "unavailable" { + // Nick change + if codes.iter().any(|c| c == "303") { + if let Some(new_nick) = x.get_child("item", ns::MUC_USER).and_then(|i| i.attr("nick")) { + if is_self { + ctx.st(|st| { + if let Some(c) = st.conferences.get_mut(room) { + c.nick = Some(new_nick.to_string()); + } + }); + } + } + } + ctx.st(|st| { + if let Some(o) = st.muc_presences.get_mut(room) { + o.remove(nick); + } + }); + + if is_self && !codes.iter().any(|c| c == "303") { + super::visio::on_muji_room_left(ctx, room).await; + ctx.st(|st| { + st.muc_presences.remove(room); + if let Some(c) = st.conferences.get_mut(room) { + c.connected = false; + c.joining = false; + } + }); + if codes.iter().any(|c| c == "307") { + ctx.toast(&ctx.t("chatrooms.kicked", &[])); + } else if codes.iter().any(|c| c == "301") { + ctx.toast(&ctx.t("chatrooms.banned", &[])); + } else if x.get_child("destroy", ns::MUC_USER).is_some() { + ctx.toast(&ctx.t("chatrooms.destroyed", &[])); + } + refresh_room(ctx, room).await; + if notif::is_current(ctx, room) { + chat::get_header(ctx, room, true).await; + } + return; + } + } else { + ctx.st(|st| { + st.muc_presences.entry(room.to_string()).or_default().insert(nick.to_string(), p.clone()); + }); + } + + if muji_changed || p.muji.is_some() { + super::visio::on_muji_presence(ctx, room, &p, previous.as_ref(), is_self).await; + if muji_changed { + refresh_room(ctx, room).await; + if notif::is_current(ctx, room) { + chat::get_header(ctx, room, true).await; + } + } + } + + if is_self && type_ != "unavailable" { + let just_connected = ctx + .st(|st| { + let c = st.conferences.get_mut(room)?; + let was = c.connected; + c.connected = true; + c.joining = false; + c.nick = Some(nick.to_string()); + Some(!was) + }) + .flatten() + .unwrap_or(false); + + // Room creation (status 201): accept the default configuration or apply ours + if codes.iter().any(|c| c == "201") { + on_created(ctx, room).await; + } + + if just_connected { + refresh_room(ctx, room).await; + if notif::is_current(ctx, room) { + chat::get_room(ctx, room, true).await; + } + let ctx2 = ctx.clone(); + let room2 = room.to_string(); + tokio::spawn(async move { + fetch_members(&ctx2, &room2).await; + crate::mam::catch_up_room(&ctx2, &room2).await; + set_counter(&ctx2, &room2).await; + }); + } + return; + } + + // Someone else + if notif::is_current(ctx, room) { + rpc!(ctx, "Chat_ajaxHttpGetPresences", room); + let group = ctx.st(|st| st.conferences.get(room).is_some_and(|c| c.is_group_chat())).unwrap_or(false); + if group { + chat::get_header(ctx, room, true).await; + } + } +} + +pub async fn on_muc_error(ctx: &Ctx, el: &Element, room: &str) { + let condition = el + .children() + .find(|c| c.name() == "error") + .and_then(|e| e.children().find(|c| c.ns() == ns::XMPP_STANZAS_NS && c.name() != "text")) + .map(|c| c.name().to_string()) + .unwrap_or_else(|| "undefined-condition".into()); + + let key = match condition.as_str() { + "conflict" => "chatrooms.conflict", + "registration-required" => "chatrooms.registrationrequired", + "remote-server-not-found" => "chatrooms.remoteservernotfound", + "remote-server-timeout" => "chatrooms.remoteservertimeout", + "item-not-found" => "chatrooms.itemnotfound", + "not-authorized" => "chatrooms.notauthorized", + "forbidden" => "chatrooms.forbidden", + "jid-malformed" => "chatrooms.jidmalformed", + "not-acceptable" => "chatrooms.notacceptable", + "service-unavailable" => "chatrooms.serviceunavailable", + _ => "chatrooms.disco_error", + }; + ctx.toast(&ctx.t(key, &[])); + + // A nickname conflict: retry with another nick + let joining = ctx.st(|st| st.conferences.get(room).is_some_and(|c| c.joining)).unwrap_or(false); + if condition == "conflict" && joining { + let nick = ctx.st(|st| st.conferences.get(room).and_then(|c| c.nick.clone())).flatten().unwrap_or_default(); + if !nick.ends_with('_') { + join(ctx, room, Some(&format!("{nick}_"))).await; + return; + } + } + + ctx.st(|st| { + if let Some(c) = st.conferences.get_mut(room) { + c.joining = false; + c.connected = false; + } + }); + refresh_room(ctx, room).await; +} + +pub async fn on_subject(ctx: &Ctx, room: &str, subject: &str) { + ctx.st(|st| { + if let Some(c) = st.conferences.get_mut(room) { + c.subject = Some(subject.to_string()).filter(|s| !s.is_empty()); + } + }); + if notif::is_current(ctx, room) { + chat::get_header(ctx, room, true).await; + } +} + +pub async fn on_message(ctx: &Ctx, m: &db::Message) { + let room = m.jidfrom.clone(); + rpc!(ctx, "MovimUtils.removeClass", format!("#{}", utils::cleanup_id(&format!("{room}_rooms_primary"))), "composing"); + set_counter(ctx, &room).await; + if !m.seen { + notif::on_chat_counter(ctx).await; + } +} + +/// Affiliation lists of a group chat (needed for OMEMO and the members list) +async fn fetch_members(ctx: &Ctx, room: &str) { + let group = ctx.st(|st| st.conferences.get(room).is_some_and(|c| c.is_group_chat())).unwrap_or(false); + if !group { + return; + } + let Some(x) = ctx.xmpp() else { return }; + let mut members = std::collections::BTreeMap::new(); + for aff in ["owner", "admin", "member"] { + let q = el("query", ns::MUC_ADMIN).append(el("item", ns::MUC_ADMIN).a("affiliation", aff).build()).build(); + if let Ok(res) = x.iq(xmpp::iq("get", Some(room), q)).await { + if let Some(q) = res.get_child("query", ns::MUC_ADMIN) { + for item in q.children().filter(|c| c.name() == "item") { + if let Some(jid) = item.attr("jid") { + members.insert(utils::bare_jid(jid).to_string(), aff.to_string()); + } + } + } + } + } + ctx.st(|st| { + if let Some(c) = st.conferences.get_mut(room) { + c.members = members; + } + }); +} + +async fn on_created(ctx: &Ctx, room: &str) { + let Some(x) = ctx.xmpp() else { return }; + let kind = ctx.st(|st| st.conferences.get(room).and_then(|c| c.creating.clone())).flatten(); + let name = ctx.st(|st| st.conferences.get(room).and_then(|c| c.name.clone())).flatten(); + + let form = match kind.as_deref() { + Some("groupchat") => vec![ + ("muc#roomconfig_roomname", name.clone().unwrap_or_default()), + ("muc#roomconfig_persistentroom", "1".to_string()), + ("muc#roomconfig_membersonly", "1".into()), + ("muc#roomconfig_whois", "anyone".into()), + ("muc#roomconfig_publicroom", "0".into()), + ("muc#roomconfig_enablearchiving", "1".into()), + ("mam", "1".into()), + ], + _ => vec![ + ("muc#roomconfig_roomname", name.clone().unwrap_or_default()), + ("muc#roomconfig_persistentroom", "1".to_string()), + ("muc#roomconfig_membersonly", "0".into()), + ("muc#roomconfig_whois", "moderators".into()), + ("muc#roomconfig_publicroom", "1".into()), + ("muc#roomconfig_enablearchiving", "1".into()), + ("mam", "1".into()), + ], + }; + + // Only submit the fields the server knows about + let Ok(res) = x.iq(xmpp::iq("get", Some(room), el("query", ns::MUC_OWNER).build())).await else { return }; + let known: Vec = res + .get_child("query", ns::MUC_OWNER) + .and_then(|q| q.get_child("x", ns::DATA)) + .map(|x| x.children().filter_map(|f| f.attr("var").map(String::from)).collect()) + .unwrap_or_default(); + + let mut submit = el("x", ns::DATA).a("type", "submit").append(proto::field("FORM_TYPE", Some("hidden"), &[ns::MUC_ROOMCONFIG])); + for (k, v) in form { + if known.iter().any(|f| f == k) { + submit = submit.append(proto::field(k, None, &[v.as_str()])); + } + } + let _ = x.iq(xmpp::iq("set", Some(room), el("query", ns::MUC_OWNER).append(submit.build()).build())).await; + + ctx.st(|st| { + if let Some(c) = st.conferences.get_mut(room) { + c.creating = None; + } + }); + + disco_room(ctx, room).await; + let conf = ctx.st(|st| st.conferences.get(room).cloned()).flatten(); + if let Some(c) = conf { + publish_bookmark(ctx, &c).await; + } + rpc!(ctx, "Dialog_ajaxClear"); + chat::get_room(ctx, room, true).await; + refresh_room(ctx, room).await; +} + +// ---------------------------------------------------------------- Calls + +pub async fn call(ctx: &Ctx, widget: &str, func: &str, p: &P<'_>) -> bool { + match (widget, func) { + ("Rooms", "ajaxHttpGet") => refresh_list(ctx).await, + ("Rooms", "ajaxRefresh") => refresh_room(ctx, &p.str(0)).await, + ("Rooms", "ajaxJoin") => join(ctx, &p.str(0), p.s(1).as_deref()).await, + ("Rooms", "ajaxExit") => { + rpc!(ctx, "Chat_ajaxGet"); + exit(ctx, &p.str(0)).await; + } + ("RoomsUtils", "ajaxGetDrawer") => get_drawer(ctx, &p.str(0)).await, + ("RoomsUtils", "ajaxAppendPresences") => { + let room = p.str(0); + rpc!(ctx, "MovimTpl.fill", "#room_presences_list", prepare_presences(ctx, &room, false).await); + } + ("RoomsUtils", "ajaxGetSubject") => { + let room = p.str(0); + let subject = ctx.st(|st| st.conferences.get(&room).and_then(|c| c.subject.clone())).flatten(); + super::dialog(ctx, &ctx.render("RoomsUtils/_rooms_subject.html", json!({ "room": room, "subject": subject })), false, false); + } + ("RoomsUtils", "ajaxSetSubject") => { + let room = p.str(0); + let subject = p.form(1, "subject").unwrap_or_default(); + if utils::validate_bare_jid(&room) && subject.chars().count() <= 200 { + ctx.send(proto::subject(&room, &subject)); + } + } + ("RoomsUtils", "ajaxAskInvite") => { + let room = p.str(0); + let contacts: Vec = ctx.st(|st| st.roster.keys().cloned().collect()).unwrap_or_default(); + super::dialog(ctx, &ctx.render("RoomsUtils/_rooms_invite.html", json!({ "room": room, "contacts": contacts })), false, false); + } + ("RoomsUtils", "ajaxInvite") => invite(ctx, &p.form(0, "to").unwrap_or_default(), &p.form(0, "invite").unwrap_or_default()).await, + ("RoomsUtils", "ajaxHttpRoomDiscover") => { + let room = p.s(0); + let service = muc_service(ctx); + super::dialog( + ctx, + &ctx.render("RoomsUtils/_rooms_room_discover.html", json!({ "room": room, "mucservice": service })), + false, + false, + ); + if let Some(room) = room { + disco_room_dialog(ctx, &room).await; + } + } + ("RoomsUtils", "ajaxDiscoRoom") => disco_room_dialog(ctx, &p.str(0)).await, + ("RoomsUtils", "ajaxAdd") => add_dialog(ctx, p.s(0), p.s(1), p.b(2)).await, + ("RoomsUtils", "ajaxResolveSlug") => { + let slug = utils::slugify(&p.str(0)); + if let Some(service) = muc_service(ctx) { + if !slug.is_empty() { + rpc!(ctx, "Rooms.setJid", format!("{slug}@{service}")); + } + } + } + ("RoomsUtils", "ajaxAddCreate") | ("RoomsUtils", "ajaxConfigureCreated") => create(ctx, p).await, + ("RoomsUtils", "ajaxAddConfirm") => add_confirm(ctx, p).await, + ("RoomsUtils", "ajaxRemove") => { + super::dialog(ctx, &ctx.render("RoomsUtils/_rooms_remove.html", json!({ "room": p.str(0) })), false, false); + } + ("RoomsUtils", "ajaxRemoveConfirm") => { + let room = p.str(0); + if let Some(x) = ctx.xmpp() { + let _ = x.iq(proto::pubsub_retract(ns::BOOKMARKS2, &room)).await; + } + ctx.st(|st| st.conferences.remove(&room)); + refresh_list(ctx).await; + } + ("RoomsUtils", "ajaxAskDestroy") => { + super::dialog(ctx, &ctx.render("RoomsUtils/_rooms_destroy.html", json!({ "room": p.str(0) })), false, false); + } + ("RoomsUtils", "ajaxDestroy") => { + let room = p.str(0); + if let Some(x) = ctx.xmpp() { + let q = el("query", ns::MUC_OWNER).append(el("destroy", ns::MUC_OWNER).build()).build(); + match x.iq(xmpp::iq("set", Some(&room), q)).await { + Ok(_) => { + let _ = x.iq(proto::pubsub_retract(ns::BOOKMARKS2, &room)).await; + ctx.st(|st| { + st.conferences.remove(&room); + st.muc_presences.remove(&room); + }); + refresh_list(ctx).await; + rpc!(ctx, "Chat_ajaxGet"); + ctx.toast(&ctx.t("chatrooms.destroyed", &[])); + } + Err(e) => ctx.toast(&e.to_string()), + } + } + } + ("RoomsUtils", "ajaxGetConfig") => get_config(ctx, &p.str(0)).await, + ("RoomsUtils", "ajaxSetConfig") => { + let room = p.str(1); + if let (Some(x), Some(data)) = (ctx.xmpp(), p.v(0)) { + let submit = forms::submit_from_json(data, None); + match x.iq(xmpp::iq("set", Some(&room), el("query", ns::MUC_OWNER).append(submit).build())).await { + Ok(_) => { + ctx.toast(&ctx.t("chatrooms.config_saved", &[])); + disco_room(ctx, &room).await; + refresh_room(ctx, &room).await; + } + Err(e) => ctx.toast(&e.to_string()), + } + } + } + ("RoomsUtils", "ajaxMucUsersAutocomplete") => { + let room = p.str(0); + let me = my_nick(ctx, &room); + let nicks: Vec = ctx + .st(|st| st.muc_presences.get(&room).map(|o| o.keys().filter(|n| Some(*n) != me.as_ref()).cloned().collect()).unwrap_or_default()) + .unwrap_or_default(); + let map: serde_json::Map = nicks.into_iter().map(|n| (n.clone(), Value::String(utils::string_to_color(&n).into()))).collect(); + rpc!(ctx, "Chat.onAutocomplete", Value::Object(map)); + } + ("RoomsUtils", "ajaxGetMAMHistory") => { + let room = p.str(0); + let ctx2 = ctx.to_ws(); + tokio::spawn(async move { + let count = crate::mam::fetch_history(&ctx2, &room, true).await; + rpc!(ctx2, "MovimUtils.removeClass", "#chat_widget .contained", "loading"); + if count > 0 { + rpc!(ctx2, "Chat.getHistory", false); + } + }); + } + ("RoomsUtils", "ajaxConfigureUser") | ("RoomsUtils", "ajaxGetParticipant") => configure_user(ctx, &p.str(0), &p.str(1)).await, + ("RoomsUtils", "ajaxChangeVoice") => { + let (room, nick) = (p.str(0), p.str(1)); + let voice = p.b(2) || p.form(2, "voice").is_some_and(|v| v == "true"); + set_role(ctx, &room, &nick, if voice { "participant" } else { "visitor" }).await; + } + ("RoomsUtils", "ajaxKick") => set_role(ctx, &p.str(0), &p.str(1), "none").await, + ("RoomsUtils", "ajaxChangeAffiliation") => { + let (room, jid, aff) = (p.str(0), p.str(1), p.str(2)); + if !["owner", "admin", "member", "none", "outcast"].contains(&aff.as_str()) { + return true; + } + if let Some(x) = ctx.xmpp() { + let q = el("query", ns::MUC_ADMIN).append(el("item", ns::MUC_ADMIN).a("jid", jid.as_str()).a("affiliation", aff.as_str()).build()).build(); + match x.iq(xmpp::iq("set", Some(&room), q)).await { + Ok(_) => ctx.toast(&ctx.t("room.affiliation_changed", &[])), + Err(e) => ctx.toast(&e.to_string()), + } + } + } + ("RoomsUtils", "ajaxHttpGetPictures") | ("RoomsUtils", "ajaxHttpGetLinks") | ("RoomsUtils", "ajaxGetDrawerFingerprints") => {} + ("RoomsExplore", "ajaxSearch") | ("RoomsExplore", "ajaxSearchRooms") => { + rpc!(ctx, "RoomsUtils_ajaxHttpRoomDiscover"); + } + _ => return false, + } + true +} + +fn muc_service(ctx: &Ctx) -> Option { + ctx.st(|st| st.caps.keys().find_map(|k| k.strip_prefix("muc_service:").map(String::from))).flatten() +} + +async fn get_drawer(ctx: &Ctx, room: &str) { + if !utils::validate_bare_jid(room) { + return; + } + let c = conference_view(ctx, room).await; + let subject_html = c["subject"].as_str().map(|s| utils::linkify(&utils::html_escape(s)).replace('\n', "
")); + let presences = prepare_presences(ctx, room, false).await; + let html = ctx.render( + "RoomsUtils/_rooms_drawer.html", + json!({ "c": c, "room": room, "presences": presences, "subject_html": subject_html }), + ); + super::drawer(ctx, "room_drawer", &html, false, false); +} + +async fn disco_room_dialog(ctx: &Ctx, room: &str) { + rpc!(ctx, "MovimTpl.fill", "#rooms_discover_result", ""); + let room = room.trim().trim_start_matches("xmpp:").trim_end_matches("?join").to_string(); + if !utils::validate_bare_jid(&room) { + if !room.is_empty() { + ctx.toast(&ctx.t("chatrooms.disco_not_muc", &[])); + } + return; + } + let Some(x) = ctx.xmpp() else { return }; + match x.iq(proto::disco_info(&room, None)).await { + Ok(res) => { + let q = res.get_child("query", ns::DISCO_INFO); + let features: Vec = q.map(|q| q.children().filter_map(|f| f.attr("var").map(String::from)).collect()).unwrap_or_default(); + let is_muc = features.iter().any(|f| f == ns::MUC); + let name = q + .and_then(|q| q.children().find(|c| c.name() == "identity")) + .and_then(|i| i.attr("name")) + .map(String::from); + let mut description = None; + let mut occupants = None; + if let Some(q) = q { + for x in q.children().filter(|c| c.name() == "x") { + for f in x.children() { + let v = f.children().next().map(|v| v.text()); + match f.attr("var") { + Some("muc#roominfo_description") => description = v, + Some("muc#roominfo_occupants") => occupants = v, + _ => {} + } + } + } + } + let group = features.iter().any(|f| f == "muc_membersonly") && features.iter().any(|f| f == "muc_nonanonymous"); + rpc!( + ctx, + "MovimTpl.fill", + "#rooms_discover_result", + ctx.render( + "RoomsUtils/_rooms_room_discover_result.html", + json!({ "muc": is_muc, "name": name, "description": description, "occupants": occupants, "group": group }) + ) + ); + if is_muc { + rpc!(ctx, "MovimUtils.removeClass", "#rooms_discover_add", "disabled"); + } + } + Err(_) => { + rpc!(ctx, "MovimTpl.fill", "#rooms_discover_result", ctx.render("RoomsUtils/_rooms_room_discover_error.html", json!({}))); + } + } +} + +async fn add_dialog(ctx: &Ctx, room: Option, name: Option, create: bool) { + let room = room.filter(|r| !r.is_empty() && r != "null"); + let conference = match &room { + Some(r) => ctx.st(|st| st.conferences.get(r).cloned()).flatten(), + None => None, + }; + let conf_json = conference.as_ref().map(|c| { + json!({ + "jid": c.jid, + "name": c.name, + "title": c.title(), + "nick": c.nick, + "notify": c.notify, + "autojoin": c.autojoin, + "pinned": c.pinned, + "picture": room_picture(ctx, c), + }) + }); + let services: Vec = muc_service(ctx).map(|s| vec![json!({ "server": s })]).unwrap_or_default(); + rpc!(ctx, "Rooms.setDefaultServices", services); + let html = ctx.render( + "RoomsUtils/_rooms_add.html", + json!({ + "id": room, + "create": create, + "conference": conf_json, + "name": name, + "username": default_nick(ctx), + "mucservice": muc_service(ctx).map(|s| json!({ "server": s })), + }), + ); + super::dialog(ctx, &html, false, false); +} + +fn notify_value(s: &str) -> u8 { + match s { + "never" => 0, + "always" => 2, + _ => 1, + } +} + +async fn add_confirm(ctx: &Ctx, p: &P<'_>) { + let jid = p.form(0, "jid").unwrap_or_default().trim().to_lowercase(); + if !utils::validate_bare_jid(&jid) { + ctx.toast(&ctx.t("chatrooms.bad_id", &[])); + return; + } + let existing = ctx.st(|st| st.conferences.get(&jid).cloned()).flatten(); + let mut c = existing.clone().unwrap_or(Conference { jid: jid.clone(), notify: 1, ..Default::default() }); + c.name = p.form(0, "name").filter(|n| !n.trim().is_empty()).or(c.name); + c.nick = p.form(0, "nick").filter(|n| !n.trim().is_empty()); + c.autojoin = p.form(0, "autojoin").is_some_and(|v| v == "true"); + c.pinned = p.form(0, "pinned").is_some_and(|v| v == "true"); + c.notify = notify_value(&p.form(0, "notify").unwrap_or_default()); + + let nick_changed = existing.as_ref().is_some_and(|e| e.nick != c.nick && e.connected); + ctx.st(|st| st.conferences.insert(jid.clone(), c.clone())); + publish_bookmark(ctx, &c).await; + rpc!(ctx, "Dialog_ajaxClear"); + + if nick_changed || !c.connected { + if nick_changed { + exit(ctx, &jid).await; + } + join(ctx, &jid, c.nick.as_deref()).await; + } + refresh_room(ctx, &jid).await; + rpc!(ctx, "MovimTpl.remove", "#rooms ul.list.empty"); +} + +async fn create(ctx: &Ctx, p: &P<'_>) { + let jid = p.form(0, "jid").unwrap_or_default().trim().to_lowercase(); + let name = p.form(0, "name").unwrap_or_default(); + if !utils::validate_bare_jid(&jid) || !jid.contains('@') { + ctx.toast(&ctx.t("chatrooms.bad_id", &[])); + return; + } + if name.trim().is_empty() { + ctx.toast(&ctx.t("chatrooms.empty_name", &[])); + return; + } + let kind = p.form(0, "type").unwrap_or_else(|| "groupchat".into()); + let nick = p.form(0, "nick").filter(|n| !n.is_empty()); + let c = Conference { + jid: jid.clone(), + name: Some(name), + nick: nick.clone(), + autojoin: p.form(0, "autojoin").map_or(true, |v| v == "true"), + pinned: p.form(0, "pinned").is_some_and(|v| v == "true"), + notify: notify_value(&p.form(0, "notify").unwrap_or_else(|| "on-mention".into())), + creating: Some(kind), + ..Default::default() + }; + ctx.st(|st| st.conferences.insert(jid.clone(), c)); + join(ctx, &jid, nick.as_deref()).await; +} + +async fn invite(ctx: &Ctx, room: &str, to: &str) { + if !utils::validate_bare_jid(room) || !utils::validate_bare_jid(to) { + return; + } + let group = ctx.st(|st| st.conferences.get(room).is_some_and(|c| c.is_group_chat())).unwrap_or(false); + if group { + // Members-only rooms: make the contact a member first + if let Some(x) = ctx.xmpp() { + let q = el("query", ns::MUC_ADMIN).append(el("item", ns::MUC_ADMIN).a("jid", to).a("affiliation", "member").build()).build(); + let _ = x.iq(xmpp::iq("set", Some(room), q)).await; + } + } + // Like Conversations: mediated invitations for private group chats, direct ones for channels + if group { + ctx.send(proto::invite_mediated(room, to)); + } else { + ctx.send(proto::invite_direct(to, room, None)); + } + + let me = ctx.jid(); + let m = db::Message { + user_id: me.clone(), + id: utils::generate_uuid(), + jidfrom: me.clone(), + jidto: to.to_string(), + type_: "invitation".into(), + subject: Some(room.to_string()), + body: Some(String::new()), + seen: true, + published: utils::now_sql(), + ..Default::default() + }; + let _ = db::message_save(ctx.db(), &m).await; + rpc!(ctx, "Dialog_ajaxClear"); + ctx.toast(&ctx.t("room.invite_sent", &[])); +} + +async fn get_config(ctx: &Ctx, room: &str) { + let Some(x) = ctx.xmpp() else { return }; + match x.iq(xmpp::iq("get", Some(room), el("query", ns::MUC_OWNER).build())).await { + Ok(res) => { + let Some(form) = res.get_child("query", ns::MUC_OWNER).and_then(|q| q.get_child("x", ns::DATA)) else { return }; + let c = conference_view(ctx, room).await; + let html = ctx.render( + "RoomsUtils/_rooms_config.html", + json!({ + "room": room, + "title": c["title"], + "picture": c["picture"], + "owner": c["affiliation"] == "owner", + "form": forms::to_html(form), + }), + ); + super::dialog(ctx, &html, true, false); + } + Err(e) => ctx.toast(&e.to_string()), + } +} + +async fn configure_user(ctx: &Ctx, room: &str, who: &str) { + // `who` is a nick, or a real JID (from older calls) + let occupant = ctx + .st(|st| { + let occ = st.muc_presences.get(room)?; + occ.get(who).cloned().or_else(|| occ.values().find(|p| p.jid.as_deref() == Some(who)).cloned()) + }) + .flatten(); + let Some(o) = occupant else { return }; + let my_aff = ctx.st(|st| st.muc_self(room).map(|p| p.affiliation.clone())).flatten(); + let presence = match o.value { + 2 => "away", + 3 => "dnd", + 4 => "xa", + _ => "online", + }; + let picture = occupant_picture(ctx, room, &o).await; + let html = ctx.render( + "RoomsUtils/_rooms_configure_user.html", + json!({ + "room": room, + "occupant": { "nick": o.nick, "jid": o.jid, "role": o.role, "affiliation": o.affiliation, "presence": presence, "picture": picture }, + "my_affiliation": my_aff, + }), + ); + super::dialog(ctx, &html, false, false); + let _ = contact_view; +} + +async fn set_role(ctx: &Ctx, room: &str, nick: &str, role: &str) { + let Some(x) = ctx.xmpp() else { return }; + let q = el("query", ns::MUC_ADMIN).append(el("item", ns::MUC_ADMIN).a("nick", nick).a("role", role).build()).build(); + if let Err(e) = x.iq(xmpp::iq("set", Some(room), q)).await { + ctx.toast(&e.to_string()); + } +} diff --git a/src/widgets/search.rs b/src/widgets/search.rs new file mode 100644 index 0000000..f9c4519 --- /dev/null +++ b/src/widgets/search.rs @@ -0,0 +1,91 @@ +//! Search widget: the roster and "start a chat" drawer. SendTo is handled here too. + +use serde_json::json; + +use super::{contact_views, P}; +use crate::{app::Ctx, rpc, utils}; + +pub fn build(_ctx: &Ctx) -> String { + String::new() +} + +pub async fn call(ctx: &Ctx, widget: &str, func: &str, p: &P<'_>) -> bool { + match (widget, func) { + ("Search", "ajaxRequest") => { + let html = ctx.render("Search/_search.html", json!({ "chatroomactions": p.b(0) })); + super::drawer(ctx, "search", &html, true, false); + rpc!(ctx, "Search.init", false); + } + ("Search", "ajaxHttpInitRoster") => { + rpc!(ctx, "MovimTpl.fill", "#roster", prepare_roster(ctx).await); + rpc!(ctx, "Search.searchCurrent"); + } + ("Search", "ajaxSearch") => { + let key = p.str(0).replace("xmpp:", "").trim().to_string(); + let key = key.split('?').next().unwrap_or("").to_string(); + let me = ctx.jid(); + let html = if utils::validate_bare_jid(&key) && key.contains('@') && key != me { + let picture = ctx.placeholder_url(&key); + ctx.render("Search/_search_results.html", json!({ "jid": key, "picture": picture })) + } else { + String::new() + }; + rpc!(ctx, "MovimTpl.fill", "#results", html); + rpc!(ctx, "Search.searchClear"); + } + ("Search", "ajaxChat") => chat(ctx, &p.str(0), p.b(1)).await, + ("SendTo", _) => {} + _ => return false, + } + true +} + +pub async fn chat(ctx: &Ctx, jid: &str, muc: bool) { + if !utils::validate_jid(jid) { + return; + } + if muc { + rpc!(ctx, "MovimUtils.reload", ctx.route("chat", &[jid, "room"])); + } else { + super::chats::open(ctx, jid, false, true).await; + rpc!(ctx, "MovimUtils.reload", ctx.route("chat", &[jid])); + } +} + +async fn prepare_roster(ctx: &Ctx) -> String { + let jids: Vec = ctx.st(|st| st.roster.keys().cloned().collect()).unwrap_or_default(); + let views = contact_views(ctx, &jids).await; + + let mut contacts: Vec<_> = views.into_values().collect(); + // Online contacts first, then by name + contacts.sort_by(|a, b| { + a.presence.is_none().cmp(&b.presence.is_none()).then(a.truename.to_lowercase().cmp(&b.truename.to_lowercase())) + }); + + let list: Vec<_> = contacts + .into_iter() + .map(|c| { + let (audio, video) = super::visio::call_targets(ctx, &c.jid); + let presence_text = c.presence.as_deref().map(|p| ctx.t(&format!("presence.{}", if p == "server_error" { "error" } else { p }), &[])); + json!({ + "jid": c.jid, + "truename": c.truename, + "picture": c.picture, + "presence": c.presence, + "presence_text": presence_text, + "status": c.status, + "groups": c.groups, + "subscription": c.subscription, + "call_audio": audio, + "call_video": video, + }) + }) + .collect(); + + ctx.render("Search/_search_roster.html", json!({ "contacts": list })) +} + +/// The roster changed: refresh the roster list if displayed +pub async fn on_roster_changed(ctx: &Ctx) { + rpc!(ctx, "MovimTpl.fill", "#roster", prepare_roster(ctx).await); +} diff --git a/src/widgets/stickers.rs b/src/widgets/stickers.rs new file mode 100644 index 0000000..6260706 --- /dev/null +++ b/src/widgets/stickers.rs @@ -0,0 +1,55 @@ +//! Stickers widget, used here for the emoji picker (reactions and insertion). + +use serde_json::json; + +use super::P; +use crate::{app::Ctx, db, utils}; + +pub fn build(_ctx: &Ctx) -> String { + String::new() +} + +pub async fn call(ctx: &Ctx, func: &str, p: &P<'_>) -> bool { + match func { + "ajaxReaction" => { + let mid = p.i(0); + let mut suggested = vec![]; + if let Some(mid) = mid { + let me = ctx.jid(); + if let Ok(Some(m)) = db::message_by_mid(ctx.db(), &me, mid).await { + let reactions = db::reactions_for(ctx.db(), &[mid]).await.unwrap_or_default(); + let mut emojis: Vec = vec![]; + // Emojis of the message body + let body = m.body.unwrap_or_default(); + for e in body.split_whitespace().filter(|w| utils::is_single_emoji(w)) { + if !emojis.contains(&e.to_string()) { + emojis.push(e.to_string()); + } + } + for r in reactions { + if !emojis.contains(&r.emoji) { + emojis.push(r.emoji); + } + } + for e in emojis { + let html = utils::replace_emojis(&e, &ctx.base_uri(), true); + if let Some((url, _)) = html.single { + suggested.push(json!({ "emoji": e, "url": url })); + } + } + } + } + let html = ctx.render("Stickers/_stickers_emojis.html", json!({ "mid": mid, "suggested": suggested })); + super::drawer(ctx, "emojis", &html, true, true); + crate::rpc!(ctx, "Stickers.setEmojisEvent", mid); + } + "ajaxShow" => { + // Sticker packs are not supported: show the emojis instead + let html = ctx.render("Stickers/_stickers_emojis.html", json!({ "mid": null, "suggested": [] })); + super::drawer(ctx, "emojis", &html, true, true); + crate::rpc!(ctx, "Stickers.setEmojisEvent", serde_json::Value::Null); + } + _ => return false, + } + true +} diff --git a/src/widgets/upload.rs b/src/widgets/upload.rs new file mode 100644 index 0000000..ec5a581 --- /dev/null +++ b/src/widgets/upload.rs @@ -0,0 +1,182 @@ +//! XEP-0363 HTTP File Upload: the Upload widget asks for a slot, the browser +//! sends the file to `/upload/{id}` and the server forwards it to the slot. +//! Dictaphone, Snap and Draw reuse the same mechanism. + +use axum::{ + extract::{Multipart, Path, State}, + http::{HeaderMap, StatusCode}, + response::{IntoResponse, Response}, +}; +use serde_json::json; +use std::sync::Arc; + +use super::P; +use crate::{ + app::{App, Ctx}, + proto::{self, ns}, + rpc, + session::Upload, + utils, +}; + +pub fn build(_ctx: &Ctx) -> String { + String::new() +} + +pub async fn call(ctx: &Ctx, widget: &str, func: &str, p: &P<'_>) -> bool { + match (widget, func) { + ("Upload", "ajaxGetPanel") => { + let service = ctx.st(|st| st.upload.clone()).flatten(); + let Some(service) = service else { + ctx.toast(&ctx.t("upload.not_available", &[])); + return true; + }; + let units = [ + ctx.t("filesize.byte", &[]), + ctx.t("filesize.kilobyte", &[]), + ctx.t("filesize.megabyte", &[]), + ctx.t("filesize.gigabyte", &[]), + ctx.t("filesize.terabyte", &[]), + ]; + let html = ctx.render( + "Upload/_upload.html", + json!({ + "max_size": service.max_size, + "max_size_human": service.max_size.map(|s| utils::human_size(s as i64, &units)), + }), + ); + super::dialog(ctx, &html, false, false); + rpc!(ctx, "Upload.attachEvents"); + } + ("Upload", "ajaxPrepare") | ("Upload", "ajaxSend") => { + let file = p.v(0).cloned().unwrap_or_default(); + let name = file.get("name").and_then(|v| v.as_str()).unwrap_or("file").to_string(); + let size = file.get("size").and_then(|v| v.as_i64()).unwrap_or(0); + let type_ = file + .get("type") + .and_then(|v| v.as_str()) + .filter(|t| t.contains('/')) + .unwrap_or("application/octet-stream") + .to_string(); + request_slot(ctx, &name, size, &type_).await; + } + ("Upload", "ajaxFailed") | ("Upload", "ajaxHttpError") => ctx.toast(&ctx.t("upload.error_failed", &[])), + ("Upload", _) => {} + ("Dictaphone", "ajaxHttpGet") => { + if ctx.st(|st| st.upload.is_some()).unwrap_or(false) { + rpc!(ctx, "MovimTpl.fill", "#dictaphone", ctx.render("Dictaphone/_dictaphone.html", json!({}))); + rpc!(ctx, "Dictaphone.init"); + } + } + ("Draw", "ajaxHttpGet") => { + rpc!(ctx, "MovimTpl.fill", "#draw", ctx.render("Draw/_draw.html", json!({}))); + rpc!(ctx, "Draw.init"); + } + ("Draw", "ajaxHttpClear") => rpc!(ctx, "MovimTpl.fill", "#draw", ""), + _ => return false, + } + true +} + +async fn request_slot(ctx: &Ctx, name: &str, size: i64, type_: &str) { + let Some(service) = ctx.st(|st| st.upload.clone()).flatten() else { return }; + let Some(x) = ctx.xmpp() else { return }; + + if service.max_size.is_some_and(|m| size as u64 > m) { + ctx.toast(&ctx.t("upload.error_filesize", &[])); + return; + } + + match x.iq(proto::upload_request(&service.jid, name, size, type_)).await { + Ok(res) => { + let Some(slot) = res.get_child("slot", ns::UPLOAD) else { return }; + let put = slot.get_child("put", ns::UPLOAD); + let get = slot.get_child("get", ns::UPLOAD).and_then(|g| g.attr("url")).map(String::from); + let (Some(put), Some(get)) = (put, get) else { return }; + let put_url = put.attr("url").unwrap_or("").to_string(); + let headers: Vec<(String, String)> = put + .children() + .filter(|h| h.name() == "header") + .filter_map(|h| { + let n = h.attr("name")?; + // Only the headers allowed by XEP-0363 + matches!(n.to_lowercase().as_str(), "authorization" | "cookie" | "expires").then(|| (n.to_string(), h.text())) + }) + .collect(); + let id = utils::generate_uuid(); + ctx.st(|st| { + st.uploads.insert( + id.clone(), + Upload { put: put_url, headers, get, name: name.to_string(), size, type_: type_.to_string(), uploaded: false }, + ) + }); + rpc!(ctx, "Upload.request", ctx.route("upload", &[&id]), id); + } + Err(e) => { + let msg = e.to_string(); + let key = if msg.contains("not-acceptable") || msg.contains("file-too-large") { + "upload.error_filesize" + } else if msg.contains("resource-constraint") { + "upload.error_resource_constraint" + } else if msg.contains("not-allowed") || msg.contains("forbidden") { + "upload.error_not_allowed" + } else { + "upload.error_failed" + }; + ctx.toast(&ctx.t(key, &[])); + } + } +} + +/// `POST /upload/{id}`: forward the file to the HTTP Upload slot +pub async fn http_upload( + State(app): State>, + Path(id): Path, + headers: HeaderMap, + mut multipart: Multipart, +) -> Response { + let Some(session) = crate::web::cookie_sid(&headers).and_then(|sid| app.hub.get(&sid)).filter(|s| s.is_logged()) else { + return StatusCode::FORBIDDEN.into_response(); + }; + let Some(upload) = session.st.lock().unwrap().uploads.get(&id).cloned() else { + return StatusCode::NOT_FOUND.into_response(); + }; + + let mut data = None; + while let Ok(Some(field)) = multipart.next_field().await { + if field.name() == Some(id.as_str()) { + data = field.bytes().await.ok(); + break; + } + } + let Some(data) = data.filter(|d| !d.is_empty()) else { + return StatusCode::BAD_REQUEST.into_response(); + }; + + let ctx = Ctx::ws(app.clone(), session.clone()); + rpc!(ctx, "Upload.setProgress", "cloud_upload", ctx.t("upload.upload_xmpp", &[])); + + let mut req = app + .http + .put(&upload.put) + .timeout(std::time::Duration::from_secs(300)) + .header("Content-Type", upload.type_.clone()) + .header("Content-Length", data.len().to_string()); + for (k, v) in &upload.headers { + req = req.header(k, v); + } + match req.body(data).send().await { + Ok(res) if res.status().is_success() => { + session.st.lock().unwrap().uploads.entry(id).and_modify(|u| u.uploaded = true); + StatusCode::OK.into_response() + } + Ok(res) => { + tracing::info!("upload refused: {}", res.status()); + StatusCode::NOT_ACCEPTABLE.into_response() + } + Err(e) => { + tracing::info!("upload failed: {e}"); + StatusCode::BAD_GATEWAY.into_response() + } + } +} diff --git a/src/widgets/visio.rs b/src/widgets/visio.rs new file mode 100644 index 0000000..5437e11 --- /dev/null +++ b/src/widgets/visio.rs @@ -0,0 +1,795 @@ +//! Visio widget: 1:1 audio/video calls with Jingle (XEP-0166/0167/0176) and +//! Jingle Message Initiation (XEP-0353), compatible with Conversations and +//! Dino. WebRTC runs in the browser, SDPs are converted to Jingle here. + +use minidom::Element; +use serde_json::{json, Value}; +use std::time::Instant; + +use super::{contact_view, notif, P}; +use crate::{ + app::Ctx, + db, + handler::Origin, + jingle::{self, SdpToJingle, NS_INFO, NS_JINGLE}, + proto::ns, + rpc, + session::Call, + utils, + xmpp::{self, el, BuilderExt, NS_CLIENT}, +}; + +pub fn build(ctx: &Ctx) -> String { + ctx.render("Visio/visio.html", json!({})) +} + +// ---------------------------------------------------------------- Current call + +fn start(ctx: &Ctx, jid: &str, id: &str) { + ctx.st(|st| { + if st.call.as_ref().is_none_or(|c| c.id != id) { + st.call = Some(Call { jid: jid.to_string(), id: id.to_string(), ..Default::default() }); + } + }); +} + +fn answer(ctx: &Ctx, jid: &str, id: &str) { + ctx.st(|st| { + let c = st.call.get_or_insert_with(|| Call { jid: jid.to_string(), id: id.to_string(), ..Default::default() }); + c.jid = jid.to_string(); + if c.started.is_none() { + c.started = Some(Instant::now()); + } + }); +} + +/// Stop the call if it is the current one, returns its duration when answered +fn stop(ctx: &Ctx, jid: &str, id: &str) -> Option> { + ctx.st(|st| { + let current = st.call.as_ref()?; + if current.id != id && utils::bare_jid(¤t.jid) != utils::bare_jid(jid) { + return None; + } + let duration = current.started.map(|s| s.elapsed().as_secs()); + st.call = None; + Some(duration) + }) + .flatten() +} + +fn has_id(ctx: &Ctx, id: &str) -> bool { + ctx.st(|st| st.call.as_ref().is_some_and(|c| c.id == id)).unwrap_or(false) +} + +fn is_answered(ctx: &Ctx) -> bool { + ctx.st(|st| st.call.as_ref().is_some_and(|c| c.started.is_some())).unwrap_or(false) +} + +/// Full JIDs able to receive an audio and a video call +pub fn call_targets(ctx: &Ctx, jid: &str) -> (Option, Option) { + ctx.st(|st| { + let mut audio = None; + let mut video = None; + if let Some(resources) = st.presences.get(jid) { + for p in resources.values().filter(|p| p.value < 5) { + let Some(ver) = &p.ver else { continue }; + let Some((_, features)) = st.caps.get(ver) else { continue }; + let full = format!("{jid}/{}", p.resource); + if features.iter().any(|f| f == "urn:xmpp:jingle:apps:rtp:audio") && audio.is_none() { + audio = Some(full.clone()); + } + if features.iter().any(|f| f == "urn:xmpp:jingle:apps:rtp:video") && video.is_none() { + video = Some(full); + } + } + } + (audio, video) + }) + .unwrap_or((None, None)) +} + +pub fn has_call(ctx: &Ctx) -> bool { + ctx.st(|st| st.call.is_some()).unwrap_or(false) +} + +fn muji_room(ctx: &Ctx) -> Option { + ctx.st(|st| st.call.as_ref().and_then(|c| c.muji.clone())).flatten() +} + +pub fn is_in_call(ctx: &Ctx, jid: &str) -> bool { + ctx.st(|st| st.call.as_ref().is_some_and(|c| utils::bare_jid(&c.jid) == jid)).unwrap_or(false) +} + +pub fn current_call_jid(ctx: &Ctx) -> Option { + ctx.st(|st| st.call.as_ref().filter(|c| c.started.is_some()).map(|c| utils::bare_jid(&c.jid).to_string())).flatten() +} + +/// XEP-0115: resolve the features of a client version string, once +pub async fn resolve_caps(ctx: &Ctx, from: &str, node: &str, ver: &str) { + let known = ctx.st(|st| st.caps.contains_key(ver)).unwrap_or(true); + if known { + return; + } + ctx.st(|st| st.caps.insert(ver.to_string(), (None, vec![]))); + let Some(x) = ctx.xmpp() else { return }; + let ctx = ctx.clone(); + let (from, node, ver) = (from.to_string(), node.to_string(), ver.to_string()); + tokio::spawn(async move { + let q = crate::proto::disco_info(&from, Some(&format!("{node}#{ver}"))); + if let Ok(res) = x.iq(q).await { + let features = super::presence::disco_features(&res); + let name = res + .get_child("query", crate::proto::ns::DISCO_INFO) + .and_then(|q| q.children().find(|c| c.name() == "identity")) + .and_then(|i| i.attr("name")) + .map(String::from); + ctx.st(|st| st.caps.insert(ver.clone(), (name, features))); + let bare = utils::bare_jid(&from).to_string(); + if notif::is_current(&ctx, &bare) { + super::chat::get_header(&ctx, &bare, false).await; + } + } + }); +} + +// ---------------------------------------------------------------- Event messages in the discussion + +async fn event_message(ctx: &Ctx, from: &str, thread: &str, type_: &str, duration: Option) { + let me = ctx.jid(); + let bare = utils::bare_jid(from).to_string(); + let (jidfrom, jidto) = if type_ == "jingle_outgoing" || type_ == "jingle_retract" && is_mine_retract(ctx, thread) { + (me.clone(), bare.clone()) + } else { + (bare.clone(), me.clone()) + }; + let subject = duration.map(|d| { + if d >= 3600 { + ctx.t("chat.jingle_hours", &[&(d / 3600).to_string(), &((d % 3600) / 60).to_string()]) + } else if d >= 60 { + ctx.t("chat.jingle_minutes", &[&(d / 60).to_string(), &(d % 60).to_string()]) + } else { + ctx.t("chat.jingle_seconds", &[&d.to_string()]) + } + }); + let m = db::Message { + user_id: me.clone(), + id: format!("m_{}", utils::generate_uuid()), + jidfrom, + jidto, + type_: type_.into(), + thread: Some(thread.to_string()), + subject, + body: Some(String::new()), + seen: true, + published: utils::now_sql(), + ..Default::default() + }; + if let Ok(mid) = db::message_save(ctx.db(), &m).await { + if let Ok(Some(saved)) = db::message_by_mid(ctx.db(), &me, mid).await { + super::chat::on_message(ctx, &saved, &Origin::Mam { result_id: String::new() }).await; + super::chats::on_message(ctx, &saved, &Origin::Live).await; + } + } +} + +fn is_mine_retract(_ctx: &Ctx, _thread: &str) -> bool { + false +} + +// ---------------------------------------------------------------- Stanzas + +fn jm(to: &str, name: &str, id: &str) -> minidom::element::ElementBuilder { + let _ = to; + el(name, ns::JINGLE_MESSAGE).a("id", id) +} + +fn jm_message(to: &str, child: Element) -> Element { + el("message", NS_CLIENT) + .a("to", to) + .a("type", "chat") + .a("id", utils::generate_uuid()) + .append(child) + .append(el("store", ns::HINTS).build()) + .build() +} + +fn reason(name: &str, text: Option<&str>) -> Element { + let mut r = el("reason", NS_JINGLE).append(el(name, NS_JINGLE).build()); + if let Some(t) = text { + r = r.append(el("text", NS_JINGLE).append(t).build()); + } + r.build() +} + +fn send_jingle(ctx: &Ctx, to: &str, jingle: Element) { + if let Some(x) = ctx.xmpp() { + x.iq_spawn(xmpp::iq("set", Some(to), jingle)); + } +} + +fn ice_pwd(ctx: &Ctx) -> Option { + ctx.st(|st| st.caps.get("ice_pwd").and_then(|(p, _)| p.clone())).flatten() +} + +fn remember_pwd(ctx: &Ctx, pwd: Option) { + if let Some(p) = pwd { + ctx.st(|st| st.caps.insert("ice_pwd".into(), (Some(p), vec![]))); + } +} + +fn sdp_param(v: Option<&Value>) -> String { + match v { + Some(Value::String(s)) => s.clone(), + Some(Value::Object(o)) => o.get("sdp").and_then(|s| s.as_str()).unwrap_or("").to_string(), + _ => String::new(), + } +} + +fn convert(ctx: &Ctx, sdp: &str, sid: &str, responder: Option<&str>, action: &str, mid: Option<&str>, ufrag: Option<&str>) -> Element { + let me = ctx.xmpp().map(|x| x.jid.to_string()).unwrap_or_else(|| ctx.jid()); + let pwd = ice_pwd(ctx); + let (jingle, found) = SdpToJingle { + initiator: &me, + sdp, + sid, + responder, + action: Some(action), + mid, + ufrag, + ice_pwd: pwd, + } + .generate(); + remember_pwd(ctx, found); + jingle +} + +// ---------------------------------------------------------------- Calls from the browser + +pub async fn call(ctx: &Ctx, func: &str, p: &P<'_>) -> bool { + match func { + "ajaxClear" => rpc!(ctx, "MovimVisio.clear"), + "ajaxCheckStatus" => { + let (id, jid) = (p.s(0), p.s(1)); + if let (Some(id), Some(jid)) = (id, jid) { + if has_id(ctx, &id) && is_in_call(ctx, utils::bare_jid(&jid)) { + terminate_current(ctx).await; + } + } + } + "ajaxGetLobby" => get_lobby(ctx, &p.str(0), p.b(1), p.b(2), p.s(3)).await, + "ajaxPropose" => { + let (to, id, video) = (p.str(0), p.str(1), p.b(2)); + event_message(ctx, &to, &id, "jingle_outgoing", None).await; + start(ctx, &to, &id); + let mut propose = jm(&to, "propose", &id); + if video { + propose = propose.append(el("description", jingle::NS_RTP).a("media", "video").build()); + } + propose = propose.append(el("description", jingle::NS_RTP).a("media", "audio").build()); + ctx.send(jm_message(utils::bare_jid(&to), propose.build())); + } + "ajaxProceed" => { + let (to, id) = (p.str(0), p.str(1)); + start(ctx, &to, &id); + answer(ctx, &to, &id); + rpc!(ctx, "Notif.incomingCallAnswer"); + ctx.send(jm_message(&to, jm(&to, "proceed", &id).build())); + } + "ajaxReject" => { + let (to, id) = (p.str(0), p.str(1)); + stop(ctx, &to, &id); + rpc!(ctx, "Notif.incomingCallAnswer"); + ctx.send(jm_message(utils::bare_jid(&to), jm(&to, "reject", &id).append(reason("busy", Some("Rejected"))).build())); + event_message(ctx, &to, &id, "jingle_reject", None).await; + } + "ajaxMute" | "ajaxUnmute" => { + let (to, id, name) = (p.str(0), p.str(1), p.str(2)); + let tag = if func == "ajaxMute" { "mute" } else { "unmute" }; + let jingle = el("jingle", NS_JINGLE) + .a("action", "session-info") + .a("sid", id) + .append(el(tag, NS_INFO).a("name", name.trim_start_matches("mid")).build()) + .build(); + send_jingle(ctx, &to, jingle); + } + "ajaxSessionInitiate" => { + let (to, sdp, id) = (p.str(0), sdp_param(p.v(1)), p.str(2)); + let mut jingle = convert(ctx, &sdp, &id, Some(&to), "session-initiate", None, None); + if let Some(room) = p.s(3).filter(|r| !r.is_empty()) { + jingle = jingle::with_muji_room(jingle, &room); + } + send_jingle(ctx, &to, jingle); + } + "ajaxSessionAccept" => { + let (to, id, sdp) = (p.str(0), p.str(1), sdp_param(p.v(2))); + let jingle = convert(ctx, &sdp, &id, Some(&to), "session-accept", None, None); + send_jingle(ctx, &to, jingle); + } + "ajaxContentAccept" => { + let (to, id, sdp) = (p.str(0), p.str(1), sdp_param(p.v(2))); + let jingle = convert(ctx, &sdp, &id, Some(&to), "content-accept", None, None); + send_jingle(ctx, &to, jingle); + } + "ajaxContentAdd" | "ajaxContentRemove" => { + let (to, sdp, id) = (p.str(0), sdp_param(p.v(1)), p.str(2)); + let mids: Vec = p.v(3).and_then(|v| v.as_array()).map(|a| a.iter().map(|m| m.as_str().map(String::from).unwrap_or_else(|| m.to_string())).collect()).unwrap_or_default(); + let action = if func == "ajaxContentAdd" { "content-add" } else { "content-remove" }; + let jingle = convert(ctx, &jingle::filter_sdp_media(&sdp, &mids), &id, None, action, None, None); + send_jingle(ctx, &to, jingle); + } + "ajaxContentModify" => { + let (to, sdp, id) = (p.str(0), sdp_param(p.v(1)), p.str(2)); + let jingle = convert(ctx, &sdp, &id, None, "content-modify", None, None); + send_jingle(ctx, &to, jingle); + } + "ajaxCandidate" => { + let (to, id) = (p.str(0), p.str(1)); + let Some(c) = p.v(2) else { return true }; + let candidate = c.get("candidate").and_then(|v| v.as_str()).unwrap_or(""); + if candidate.is_empty() { + return true; + } + let mid = c.get("sdpMid").map(|m| m.as_str().map(String::from).unwrap_or_else(|| m.to_string())); + let ufrag = c.get("usernameFragment").and_then(|v| v.as_str()).map(String::from); + let jingle = convert(ctx, &format!("a={candidate}"), &id, Some(&to), "transport-info", mid.as_deref(), ufrag.as_deref()); + send_jingle(ctx, &to, jingle); + } + "ajaxTerminate" => { + let (to, sid) = (p.str(0), p.str(1)); + let r = p.s(2).unwrap_or_else(|| "success".into()); + let jingle = el("jingle", NS_JINGLE).a("action", "session-terminate").a("sid", sid).append(reason(&r, None)).build(); + send_jingle(ctx, &to, jingle); + } + "ajaxRemoteGoodbye" => { + let call = ctx.st(|st| st.call.clone()).flatten(); + if let Some(c) = call { + let contact = contact_view(ctx, utils::bare_jid(&c.jid)).await; + super::dialog( + ctx, + &ctx.render("Visio/_visio_remote_goodbye.html", json!({ "contact": contact, "jid": c.jid, "sid": c.id })), + false, + false, + ); + } + } + "ajaxGoodbye" => { + let r = p.s(2).unwrap_or_else(|| "success".into()); + goodbye(ctx, &p.str(0), &p.str(1), &r).await; + } + "ajaxResolveServices" => resolve_services(ctx).await, + "ajaxHttpPrepareInfo" => { + let to = p.str(0); + let bare = utils::bare_jid(&to).to_string(); + if p.b(1) { + let conference = super::rooms::conference_view(ctx, &bare).await; + rpc!(ctx, "MovimTpl.fill", "#visio_contact", ctx.render("Visio/_visio_conference_info.html", json!({ "conference": conference }))); + } else { + let contact = contact_view(ctx, &bare).await; + rpc!(ctx, "MovimTpl.fill", "#visio_contact", ctx.render("Visio/_visio_contact_info.html", json!({ "contact": contact }))); + } + rpc!(ctx, "MovimVisio.moveToChat", bare); + } + "ajaxHttpGetStates" => { + let keys = ["calling", "ringing", "in_call", "failed", "connecting", "ended", "declined", "no_participants_left"]; + let states: serde_json::Map = keys.iter().map(|k| (k.to_string(), json!(ctx.t(&format!("visio.{k}"), &[])))).collect(); + rpc!(ctx, "MovimVisio.setStates", Value::Object(states)); + } + "ajaxHttpPin" => ctx.toast(&ctx.t("visio.pinned", &[&p.str(0)])), + "ajaxHttpUnpin" => ctx.toast(&ctx.t("visio.unpinned", &[])), + // Muji (XEP-0272) group calls: a mesh of 1:1 Jingle sessions between the participants + "ajaxGetMujiLobby" => muji_lobby(ctx, &p.str(0), p.b(1), p.b(2), p.s(3)).await, + "ajaxJoinMuji" => { + let to = p.str(0); + muji_lobby(ctx, &to, false, p.b(1), Some(to.clone())).await; + } + "ajaxMujiPrepare" => muji_prepare(ctx, &p.str(0), p.b(1)).await, + "ajaxMujiPublish" => muji_publish(ctx, &p.str(0), &sdp_param(p.v(1)), p.b(2)).await, + "ajaxLeaveMuji" => leave_muji(ctx, &p.str(0)).await, + // SFU conferences (Movim's own extension) are not supported + "ajaxGetSFULobby" | "ajaxUpgradeCurrentCallToSFU" => {} + _ => return false, + } + true +} + +async fn get_lobby(ctx: &Ctx, jid: &str, calling: bool, video: bool, id: Option) { + let bare = utils::bare_jid(jid).to_string(); + let contact = contact_view(ctx, &bare).await; + let html = ctx.render( + "Visio/_visio_lobby.html", + json!({ "contact": contact, "calling": calling, "withvideo": video, "id": id, "fullJid": jid }), + ); + super::dialog(ctx, &html, false, true); + rpc!(ctx, "MovimVisio.getUserMedia", video); + + if !calling { + rpc!(ctx, "Notif.incomingCall"); + notif::append( + ctx, + notif::Notification { + key: "call".into(), + title: format!("📞 {}", contact.truename), + body: ctx.t("visio.calling", &[]), + url: String::new(), + picture: Some(contact.picture.clone()), + time: 5, + actions: json!([ + { "title": ctx.t("button.reply", &[]), "action": "call" }, + { "title": ctx.t("button.refuse", &[]), "action": "call_reject" } + ]), + data: json!({ "jid": bare, "fullJid": jid, "callId": id }), + rpc_call: None, + }, + ) + .await; + } +} + +// ---------------------------------------------------------------- Muji + +fn is_connected_room(ctx: &Ctx, room: &str) -> bool { + ctx.st(|st| st.conferences.get(room).is_some_and(|c| c.connected)).unwrap_or(false) +} + +async fn muji_lobby(ctx: &Ctx, room: &str, calling: bool, video: bool, id: Option) { + if !is_connected_room(ctx, room) { + return; + } + let conference = super::rooms::conference_view(ctx, room).await; + let html = ctx.render( + "Visio/_visio_lobby.html", + json!({ "conference": conference, "calling": calling, "withvideo": video, "id": id }), + ); + super::dialog(ctx, &html, false, true); + rpc!(ctx, "MovimVisio.getUserMedia", video); +} + +/// Our presence in the room, with or without a element +fn send_muji_presence(ctx: &Ctx, room: &str, muji: Option) { + let Some(nick) = super::rooms::my_nick(ctx, room) else { return }; + let (show, status) = ctx.st(|st| (st.own_show.clone(), st.own_status.clone())).unwrap_or((None, None)); + let mut p = crate::proto::presence(show.as_deref(), status.as_deref(), 0); + xmpp::ElementExt::set_a(&mut p, "to", &format!("{room}/{nick}")); + if let Some(m) = muji { + p.append_child(m); + } + ctx.send(p); +} + +/// Our element while in a group call in this room, for the presences we send +pub fn own_muji(ctx: &Ctx, room: &str) -> Option { + ctx.st(|st| { + let c = st.call.as_ref().filter(|c| c.muji.as_deref() == Some(room))?; + c.muji_xml.as_deref().and_then(|x| x.parse::().ok()) + }) + .flatten() +} + +/// First step: tell the room that we are preparing to join +async fn muji_prepare(ctx: &Ctx, room: &str, video: bool) { + if !is_connected_room(ctx, room) || has_call(ctx) { + return; + } + ctx.st(|st| { + st.call = Some(Call { + jid: room.to_string(), + id: room.to_string(), + started: Some(Instant::now()), + muji: Some(room.to_string()), + muji_preparing: Some(video), + muji_xml: None, + }) + }); + let preparing = el("muji", jingle::NS_MUJI).append(el("preparing", jingle::NS_MUJI).build()).build(); + ctx.st(|st| { + if let Some(c) = st.call.as_mut() { + c.muji_xml = Some(String::from(&preparing)); + } + }); + send_muji_presence(ctx, room, Some(preparing)); + super::chat::get_header(ctx, room, true).await; +} + +/// Publish our medias in the room. On the first publication, start a session +/// with each participant already there. +async fn muji_publish(ctx: &Ctx, room: &str, sdp: &str, init: bool) { + if muji_room(ctx).as_deref() != Some(room) || sdp.is_empty() { + return; + } + let me = ctx.xmpp().map(|x| x.jid.to_string()).unwrap_or_else(|| ctx.jid()); + let (jingle, _) = SdpToJingle { initiator: &me, sdp, sid: room, responder: None, action: None, mid: None, ufrag: None, ice_pwd: None }.generate(); + let muji = jingle::to_muji(&jingle); + ctx.st(|st| { + if let Some(c) = st.call.as_mut() { + c.muji_xml = Some(String::from(&muji)); + } + }); + send_muji_presence(ctx, room, Some(muji)); + + if init { + let me = ctx.jid(); + let participants: Vec<_> = ctx + .st(|st| { + st.muc_presences + .get(room) + .map(|o| o.values().filter(|p| p.has_muji() && p.jid.as_deref() != Some(me.as_str())).cloned().collect()) + }) + .flatten() + .unwrap_or_default(); + for p in participants { + init_session(ctx, &p).await; + } + rpc!(ctx, "MovimJingles.startCalls", room); + } +} + +/// Prepare a session with a participant, the newcomer initiates it +async fn init_session(ctx: &Ctx, p: &crate::session::MucPresence) { + let Some(full) = &p.full_jid else { return }; + let bare = utils::bare_jid(full).to_string(); + let contact = contact_view(ctx, &bare).await; + let name = if contact.truename == bare { p.nick.clone() } else { contact.truename.clone() }; + rpc!(ctx, "MovimJingles.initSession", bare, full.clone(), Value::Null, name, contact.picture.clone()); +} + +async fn leave_muji(ctx: &Ctx, room: &str) { + if muji_room(ctx).as_deref() != Some(room) { + return; + } + ctx.st(|st| st.call = None); + send_muji_presence(ctx, room, None); + rpc!(ctx, "MovimJingles.terminateAll"); + super::chat::get_header(ctx, room, true).await; +} + +/// A presence with a element in a room, or one that lost it +pub async fn on_muji_presence(ctx: &Ctx, room: &str, p: &crate::session::MucPresence, previous: Option<&crate::session::MucPresence>, is_self: bool) { + if muji_room(ctx).as_deref() != Some(room) { + return; + } + if is_self { + // Our "preparing" presence came back: open the call + if p.muji.as_deref().is_some_and(|m| m.contains("preparing")) { + let video = ctx.st(|st| st.call.as_mut().and_then(|c| c.muji_preparing.take())).flatten(); + if let Some(video) = video { + rpc!(ctx, "MovimVisio.init", room, room, room, video, true); + } + } + return; + } + if p.jid.as_deref() == Some(ctx.jid().as_str()) { + return; + } + if p.has_muji() { + init_session(ctx, p).await; + } else if previous.is_some_and(|o| o.has_muji()) { + if let Some(j) = previous.and_then(|o| o.jid.clone()) { + rpc!(ctx, "MovimJingles.onTerminate", j); + } + } +} + +/// We left the room (kicked, banned…) during its group call +pub async fn on_muji_room_left(ctx: &Ctx, room: &str) { + if muji_room(ctx).as_deref() == Some(room) { + ctx.st(|st| st.call = None); + rpc!(ctx, "MovimJingles.terminateAll"); + } +} + +async fn goodbye(ctx: &Ctx, to: &str, sid: &str, r: &str) { + if is_answered(ctx) { + ctx.send(jm_message(utils::bare_jid(to), jm(to, "finish", sid).append(reason(r, Some("Success"))).build())); + let duration = stop(ctx, to, sid).flatten(); + event_message(ctx, to, sid, "jingle_end", duration).await; + } else if has_id(ctx, sid) { + ctx.send(jm_message(utils::bare_jid(to), jm(to, "retract", sid).append(reason("cancel", Some("Retracted"))).build())); + stop(ctx, to, sid); + event_message(ctx, to, sid, "jingle_retract", None).await; + } + ctx.toast(&ctx.t("visio.ended", &[])); + rpc!(ctx, "MovimJingles.terminateAll", r); +} + +/// XEP-0215 STUN/TURN servers, Google STUN servers as fallback like Movim +async fn resolve_services(ctx: &Ctx) { + let host = ctx.jid().split('@').nth(1).unwrap_or("").to_string(); + let mut services: Vec = vec![]; + if let Some(x) = ctx.xmpp() { + let q = xmpp::iq("get", Some(&host), el("services", ns::EXTERNAL_SERVICES).build()); + if let Ok(res) = x.iq(q).await { + let (mut stun, mut turn) = (false, false); + if let Some(list) = res.get_child("services", ns::EXTERNAL_SERVICES) { + for s in list.children().filter(|c| c.name() == "service") { + let type_ = s.attr("type").unwrap_or(""); + if !(type_ == "stun" || type_ == "turn" || type_ == "turns") { + continue; + } + if (type_ == "stun" && stun) || (type_ != "stun" && turn) { + continue; + } + if type_ == "stun" { + stun = true; + } else { + turn = true; + } + let mut url = format!("{type_}:{}", s.attr("host").unwrap_or("")); + if let Some(port) = s.attr("port") { + url.push(':'); + url.push_str(port); + } + if let Some(t) = s.attr("transport").filter(|_| type_ != "stun") { + url.push_str(&format!("?transport={t}")); + } + let mut item = json!({ "urls": url }); + if let (Some(u), Some(p)) = (s.attr("username"), s.attr("password")) { + item["username"] = json!(u); + item["credential"] = json!(p); + } + services.push(item); + } + } + } + } + if services.is_empty() { + services.push(json!({ "urls": ["stun:stun.l.google.com:19305", "stun:stun1.l.google.com:19305"] })); + } + rpc!(ctx, "MovimVisio.setServices", services); +} + +// ---------------------------------------------------------------- Incoming + +/// XEP-0353 messages +pub async fn on_jingle_message(ctx: &Ctx, m: &Element, jm: &Element, origin: &Origin) { + let from = m.attr("from").unwrap_or("").to_string(); + let id = jm.attr("id").unwrap_or("").to_string(); + let me = ctx.jid(); + + // Archived call messages are not replayed + if matches!(origin, Origin::Mam { .. }) { + return; + } + // Our own other clients + if let Origin::Carbon { sent } = origin { + if *sent || utils::bare_jid(&from) == me { + // Another of our clients answered or rejected: stop ringing here + if matches!(jm.name(), "proceed" | "reject" | "accept") && has_id(ctx, &id) { + stop(ctx, &from, &id); + rpc!(ctx, "Notif.incomingCallAnswer"); + rpc!(ctx, "Dialog_ajaxClear"); + rpc!(ctx, "MovimVisio.clear"); + } + return; + } + } + + match jm.name() { + "propose" => { + let busy = ctx.st(|st| st.call.is_some()).unwrap_or(false); + if busy { + ctx.send(jm_message(&from, el("reject", ns::JINGLE_MESSAGE).a("id", id.clone()).append(reason("busy", Some("Busy"))).build())); + return; + } + let video = jm.children().any(|d| d.name() == "description" && d.attr("media") == Some("video")); + event_message(ctx, &from, &id, "jingle_incoming", None).await; + start(ctx, &from, &id); + ctx.send(jm_message(&from, el("ringing", ns::JINGLE_MESSAGE).a("id", id.clone()).build())); + get_lobby(ctx, &from, false, video, Some(id)).await; + } + "ringing" => {} + "proceed" => { + answer(ctx, &from, &id); + rpc!(ctx, "MovimJingles.onProceed", utils::bare_jid(&from), from.clone(), id); + } + "accept" => { + answer(ctx, &from, &id); + rpc!(ctx, "Notif.incomingCallAnswer"); + rpc!(ctx, "Dialog_ajaxClear"); + } + "retract" | "reject" | "finish" => { + if !has_id(ctx, &id) { + return; + } + let duration = stop(ctx, &from, &id).flatten(); + let type_ = match jm.name() { + "retract" => "jingle_retract", + "reject" => "jingle_reject", + _ => "jingle_finish", + }; + event_message(ctx, &from, &id, type_, duration).await; + terminated(ctx, &from).await; + } + _ => {} + } +} + +async fn terminated(ctx: &Ctx, from: &str) { + rpc!(ctx, "MovimVisio.clear"); + rpc!(ctx, "Notif.incomingCallAnswer"); + rpc!(ctx, "Dialog_ajaxClear"); + ctx.toast(&ctx.t("visio.ended", &[])); + rpc!(ctx, "MovimJingles.onTerminate", utils::bare_jid(from)); +} + +/// Jingle IQs (session negotiation) +pub async fn on_jingle_iq(ctx: &Ctx, iq: &Element, j: &Element) { + let from = iq.attr("from").unwrap_or("").to_string(); + let bare = utils::bare_jid(&from).to_string(); + let action = j.attr("action").unwrap_or(""); + let sid = j.attr("sid").unwrap_or("").to_string(); + + ctx.send(xmpp::result_for(iq, None)); + + match action { + "session-initiate" => { + let sdp = jingle::jingle_to_sdp(j); + rpc!(ctx, "MovimJingles.onInitiateSDP", bare, sdp.sdp, sdp.sid); + } + "session-accept" | "content-accept" => { + let sdp = jingle::jingle_to_sdp(j); + rpc!(ctx, "MovimJingles.onAcceptSDP", bare, sdp.sdp, sdp.sid); + } + "transport-info" => { + let sdp = jingle::jingle_to_sdp(j); + rpc!(ctx, "MovimJingles.onCandidate", bare, sdp.sdp, sdp.name.clone(), sdp.name, sdp.sid); + } + "session-info" => { + if let Some(m) = j.get_child("mute", NS_INFO) { + rpc!(ctx, "MovimJingles.onMute", bare, format!("mid{}", m.attr("name").unwrap_or(""))); + } + if let Some(m) = j.get_child("unmute", NS_INFO) { + rpc!(ctx, "MovimJingles.onUnmute", bare, format!("mid{}", m.attr("name").unwrap_or(""))); + } + } + "content-add" | "content-remove" => { + let sdp = jingle::jingle_to_sdp(j); + let mids: Vec = j.children().filter(|c| c.name() == "content").filter_map(|c| c.attr("name").map(String::from)).collect(); + let f = if action == "content-add" { "MovimJingles.onContentAdd" } else { "MovimJingles.onContentRemove" }; + rpc!(ctx, f, bare, sdp.sdp, mids); + } + "content-modify" => { + let sdp = jingle::jingle_to_sdp(j); + rpc!(ctx, "MovimJingles.onContentModify", bare, sdp.sdp); + } + "session-terminate" => { + // A participant leaves the group call + if muji_room(ctx).is_some() && !has_id(ctx, &sid) { + rpc!(ctx, "MovimJingles.onTerminate", bare); + return; + } + if has_id(ctx, &sid) { + let duration = stop(ctx, &from, &sid).flatten(); + event_message(ctx, &from, &sid, "jingle_end", duration).await; + } + terminated(ctx, &from).await; + } + _ => {} + } +} + +/// The XMPP connection is lost during a call +pub async fn on_disconnect(ctx: &Ctx) { + ctx.st(|st| st.call = None); +} + +/// An answered call (or a group call) left behind by a closed or reloaded tab. +/// A ringing incoming call is kept: the tab may be opened to answer it. +pub async fn end_orphan_call(ctx: &Ctx) { + if is_answered(ctx) { + terminate_current(ctx).await; + } +} + +/// Logout during a call, or no browser tab left +pub async fn terminate_current(ctx: &Ctx) { + let call = ctx.st(|st| st.call.clone()).flatten(); + if let Some(room) = call.as_ref().and_then(|c| c.muji.clone()) { + leave_muji(ctx, &room).await; + return; + } + if let Some(c) = call { + let jingle = el("jingle", NS_JINGLE).a("action", "session-terminate").a("sid", c.id.clone()).append(reason("gone", None)).build(); + send_jingle(ctx, &c.jid, jingle); + goodbye(ctx, &c.jid, &c.id, "gone").await; + } +} diff --git a/src/widgets_registry.rs b/src/widgets_registry.rs new file mode 100644 index 0000000..5ad8ac3 --- /dev/null +++ b/src/widgets_registry.rs @@ -0,0 +1,1016 @@ +//! Generated from Movim's PHP widgets: assets and AJAX signatures used to +//! build the JavaScript stubs (`Widget_ajaxFunc(...)`). + +pub struct WidgetDef { + pub name: &'static str, + pub css: &'static [&'static str], + pub js: &'static [&'static str], + pub funcs: &'static [(&'static str, &'static [&'static str])], +} + +pub static WIDGETS: &[WidgetDef] = &[ + WidgetDef { + name: "About", + css: &[], + js: &[], + funcs: &[ + ], + }, + WidgetDef { + name: "Account", + css: &[], + js: &["account.js"], + funcs: &[ + ("ajaxChangePassword", &[]), + ("ajaxChangePasswordConfirm", &["form"]), + ("ajaxRemoveAccount", &[]), + ("ajaxClearAccount", &[]), + ("ajaxClearAccountConfirm", &[]), + ("ajaxHttpGetPresences", &[]), + ("ajaxHttpGetFingerprints", &["fingerprints"]), + ("ajaxDeleteBundle", &["fingerprint"]), + ("ajaxDeleteBundleConfirm", &["id", "devicesIds"]), + ("ajaxGetGateways", &[]), + ("ajaxRemoveAccountConfirm", &["form"]), + ("ajaxGetRegistration", &["server"]), + ("ajaxRegister", &["server", "form"]), + ], + }, + WidgetDef { + name: "AdHoc", + css: &[], + js: &["adhoc.js"], + funcs: &[ + ("ajaxSDPToJingle", &[]), + ("ajaxSDPToJingleSubmit", &["data"]), + ("ajaxJingleToSDP", &[]), + ("ajaxJingleToSDPSubmit", &["data"]), + ("ajaxGet", &["jid"]), + ("ajaxCommand", &["jid", "node"]), + ("ajaxSubmit", &["jid", "node", "data", "sessionid", "action"]), + ], + }, + WidgetDef { + name: "AdminMain", + css: &[], + js: &[], + funcs: &[ + ], + }, + WidgetDef { + name: "AdminReported", + css: &["adminreported.css"], + js: &["adminreported.js"], + funcs: &[ + ("ajaxBlock", &["jid", "checked"]), + ("ajaxHttpGet", &[]), + ], + }, + WidgetDef { + name: "AdminSessions", + css: &[], + js: &[], + funcs: &[ + ], + }, + WidgetDef { + name: "Avatar", + css: &["avatar.css"], + js: &["avatar.js"], + funcs: &[ + ("ajaxGetForm", &[]), + ("ajaxGetBannerForm", &[]), + ("ajaxGetAvatar", &[]), + ("ajaxHttpGetCurrent", &[]), + ("ajaxSubmit", &["avatar"]), + ("ajaxBannerSubmit", &["banner"]), + ], + }, + WidgetDef { + name: "AvatarPlaceholder", + css: &[], + js: &[], + funcs: &[ + ], + }, + WidgetDef { + name: "Blocked", + css: &["blocked.css"], + js: &["blocked.js"], + funcs: &[ + ("ajaxGet", &[]), + ("ajaxUnblock", &["jid"]), + ], + }, + WidgetDef { + name: "Blog", + css: &[], + js: &[], + funcs: &[ + ], + }, + WidgetDef { + name: "BottomNavigation", + css: &["bottomnavigation.css"], + js: &["bottomnavigation.js"], + funcs: &[ + ("ajaxHttpRefresh", &[]), + ], + }, + WidgetDef { + name: "Chat", + css: &["chat.css"], + js: &["chat.js"], + funcs: &[ + ("ajaxInit", &[]), + ("ajaxGetHeader", &["jid", "muc"]), + ("ajaxHttpGetEmpty", &[]), + ("ajaxGet", &["jid", "light"]), + ("ajaxGetRoom", &["room", "noConnect"]), + ("ajaxGetSpaceRoom", &["server", "node", "roomId"]), + ("ajaxHttpDaemonSendMessage", &["id", "to", "message", "muc", "file", "replyToMid", "mucReceipts", "omemo"]), + ("ajaxHttpDaemonCorrect", &["id", "to", "mid", "message"]), + ("ajaxHttpDaemonSendReaction", &["mid", "emoji"]), + ("ajaxRefreshMessage", &["mid"]), + ("ajaxLast", &["to", "muc"]), + ("ajaxEdit", &["mid"]), + ("ajaxHttpDaemonReply", &["mid"]), + ("ajaxClearReply", &[]), + ("ajaxSendComposing", &["to", "muc"]), + ("ajaxGetMessageContext", &["jid", "mid"]), + ("ajaxGetHistory", &["jid", "date", "muc", "prepend", "tryMam"]), + ("ajaxDisplayed", &["jid", "id"]), + ("ajaxClearHistory", &["jid"]), + ("ajaxClearHistoryConfirm", &["jid"]), + ("ajaxHttpGetPresences", &["room"]), + ("ajaxClearAndGetMessages", &["jid", "muc"]), + ("ajaxHttpGetExplore", &["page"]), + ], + }, + WidgetDef { + name: "ChatActions", + css: &["chatactions.css"], + js: &["chatactions.js"], + funcs: &[ + ("ajaxGetContact", &["jid"]), + ("ajaxBlock", &["jid"]), + ("ajaxUnblock", &["jid"]), + ("ajaxShowMessageDialog", &["mid"]), + ("ajaxShowSearchDialog", &["jid", "muc"]), + ("ajaxSearchMessages", &["jid", "keywords", "muc"]), + ("ajaxCopiedMessageText", &[]), + ("ajaxEnableWideConferenceCall", &["conference"]), + ("ajaxEditMessage", &["mid"]), + ("ajaxHttpDaemonRetract", &["mid"]), + ("ajaxHttpDaemonModerate", &["mid"]), + ("ajaxResolveMessage", &["mid"]), + ("ajaxResolveUrl", &["url"]), + ], + }, + WidgetDef { + name: "ChatOmemo", + css: &[], + js: &["chatomemo.js", "chatomemo_storage.js", "chatomemo_db.js"], + funcs: &[ + ("ajaxGetBundle", &["jid", "bundleId"]), + ("ajaxCleanDevicesList", &["devicesIds"]), + ("ajaxEnableContactState", &[]), + ("ajaxEnableRoomState", &[]), + ("ajaxDisableContactState", &[]), + ("ajaxDisableRoomState", &[]), + ("ajaxNotifyGeneratedBundle", &[]), + ("ajaxGetDevicesList", &["to"]), + ("ajaxAnnounceBundle", &["bundle", "devicesIds"]), + ], + }, + WidgetDef { + name: "Chats", + css: &["chats.css"], + js: &["chats.js"], + funcs: &[ + ("ajaxHttpGet", &[]), + ("ajaxGetMAMHistory", &["jid"]), + ("ajaxSetFilter", &["filter"]), + ("ajaxOpen", &["jid", "andShow", "history"]), + ("ajaxClose", &["jid", "closeDiscussion"]), + ], + }, + WidgetDef { + name: "Colors", + css: &[], + js: &[], + funcs: &[ + ], + }, + WidgetDef { + name: "Communities", + css: &[], + js: &["communities.js"], + funcs: &[ + ("ajaxHttpGetAll", &[]), + ("ajaxHttpGetCommunities", &[]), + ("ajaxHttpGetContacts", &[]), + ("ajaxHttpGetPosts", &["page", "type"]), + ], + }, + WidgetDef { + name: "CommunitiesInteresting", + css: &[], + js: &[], + funcs: &[ + ], + }, + WidgetDef { + name: "CommunitiesServer", + css: &[], + js: &["communitiesserver.js"], + funcs: &[ + ("ajaxDisco", &["origin"]), + ("ajaxTestAdd", &["origin"]), + ("ajaxAddConfirm", &["origin", "form"]), + ], + }, + WidgetDef { + name: "CommunitiesServerInfo", + css: &[], + js: &[], + funcs: &[ + ], + }, + WidgetDef { + name: "CommunitiesServers", + css: &[], + js: &["communitiesservers.js"], + funcs: &[ + ("ajaxDiscoverServer", &[]), + ("ajaxDisco", &["form"]), + ("ajaxHttpGet", &[]), + ], + }, + WidgetDef { + name: "CommunitiesTags", + css: &[], + js: &[], + funcs: &[ + ], + }, + WidgetDef { + name: "CommunityAffiliations", + css: &[], + js: &["communityaffiliations.js"], + funcs: &[ + ("ajaxShowFullPublicSubscriptionsList", &["server", "node"]), + ("ajaxGetAffiliations", &["server", "node"]), + ("ajaxGetSubscriptions", &["server", "node", "notify"]), + ("ajaxDelete", &["server", "node", "clean"]), + ("ajaxDeleteConfirm", &["server", "node"]), + ("ajaxAffiliations", &["server", "node"]), + ("ajaxChangeAffiliation", &["server", "node", "form"]), + ], + }, + WidgetDef { + name: "CommunityConfig", + css: &[], + js: &[], + funcs: &[ + ("ajaxGetAvatar", &["origin", "node"]), + ("ajaxSetAvatar", &["origin", "node", "form"]), + ("ajaxGetConfig", &["origin", "node", "advanced"]), + ("ajaxSetConfig", &["data", "origin", "node"]), + ], + }, + WidgetDef { + name: "CommunityData", + css: &["communitydata.css"], + js: &["communitydata.js"], + funcs: &[ + ("ajaxGetAvatar", &["origin", "node"]), + ], + }, + WidgetDef { + name: "CommunityDataPublic", + css: &[], + js: &[], + funcs: &[ + ], + }, + WidgetDef { + name: "CommunityHeader", + css: &[], + js: &["communityheader.js"], + funcs: &[ + ("ajaxGetMetadata", &["server", "node"]), + ("ajaxAskSubscribe", &["server", "node"]), + ("ajaxSubscribe", &["form", "server", "node"]), + ("ajaxAskUnsubscribe", &["server", "node"]), + ("ajaxUnsubscribe", &["server", "node"]), + ("ajaxTestPublish", &["server", "node"]), + ], + }, + WidgetDef { + name: "CommunityPosts", + css: &[], + js: &["communityposts.js"], + funcs: &[ + ("ajaxGetContact", &["jid"]), + ("ajaxGetItems", &["origin", "node", "before"]), + ("ajaxClear", &[]), + ], + }, + WidgetDef { + name: "CommunitySubscriptions", + css: &["communitysubscriptions.css"], + js: &["communitysubscriptions.js"], + funcs: &[ + ("ajaxHttpGet", &[]), + ], + }, + WidgetDef { + name: "Config", + css: &["config.css"], + js: &["config.js"], + funcs: &[ + ("ajaxMAMGetConfig", &[]), + ("ajaxMAMSetConfig", &["value"]), + ("ajaxBlogGetConfig", &[]), + ("ajaxBlogSetConfig", &["data"]), + ("ajaxSubmit", &["data"]), + ("ajaxEditNickname", &[]), + ("ajaxSaveNickname", &["nickname"]), + ("ajaxChangePrivacy", &["value"]), + ], + }, + WidgetDef { + name: "Confirm", + css: &["confirm.css"], + js: &[], + funcs: &[ + ("ajaxAccept", &["to", "id", "url", "method"]), + ("ajaxRefuse", &["to", "id", "url", "method"]), + ], + }, + WidgetDef { + name: "ContactActions", + css: &[], + js: &["contactactions.js"], + funcs: &[ + ("ajaxGetDrawer", &["jid"]), + ("ajaxGetDrawerFingerprints", &["jid", "fingerprints"]), + ("ajaxChat", &["jid", "muc"]), + ("ajaxBlock", &["jid"]), + ("ajaxUnblock", &["jid"]), + ("ajaxHttpGetPictures", &["jid", "page"]), + ("ajaxHttpGetLinks", &["jid", "page"]), + ], + }, + WidgetDef { + name: "ContactBlogConfig", + css: &[], + js: &["contactblogconfig.js"], + funcs: &[ + ("ajaxCheckAccessModel", &["jid"]), + ], + }, + WidgetDef { + name: "ContactData", + css: &[], + js: &["contactdata.js"], + funcs: &[ + ("ajaxGet", &["jid"]), + ("ajaxRefresh", &["jid"]), + ], + }, + WidgetDef { + name: "ContactDataPublic", + css: &[], + js: &[], + funcs: &[ + ], + }, + WidgetDef { + name: "ContactHeader", + css: &[], + js: &["contactheader.js"], + funcs: &[ + ("ajaxEditContact", &["jid"]), + ("ajaxEditSubmit", &["form"]), + ("ajaxChat", &["jid"]), + ("ajaxSubscribe", &["jid"]), + ("ajaxUnsubscribe", &["jid"]), + ("ajaxGetMetadata", &["jid"]), + ], + }, + WidgetDef { + name: "ContactSubscriptions", + css: &[], + js: &["contactsubscriptions.js"], + funcs: &[ + ("ajaxRefresh", &["jid"]), + ], + }, + WidgetDef { + name: "ContactsSuggestions", + css: &[], + js: &["contactssuggestions.js"], + funcs: &[ + ("ajaxHttpGet", &[]), + ("ajaxSubscribe", &["jid"]), + ], + }, + WidgetDef { + name: "Dialog", + css: &[], + js: &["dialog.js"], + funcs: &[ + ("ajaxClear", &[]), + ], + }, + WidgetDef { + name: "Dictaphone", + css: &["dictaphone.css"], + js: &["dictaphone.js"], + funcs: &[ + ("ajaxHttpGet", &[]), + ], + }, + WidgetDef { + name: "Draw", + css: &["draw.css"], + js: &["draw.js"], + funcs: &[ + ("ajaxHttpClear", &[]), + ("ajaxHttpGet", &[]), + ], + }, + WidgetDef { + name: "Drawer", + css: &["drawer.css"], + js: &["drawer.js"], + funcs: &[ + ("ajaxClear", &[]), + ], + }, + WidgetDef { + name: "EmojisConfig", + css: &["emojisconfig.css"], + js: &["emojisconfig.js"], + funcs: &[ + ("ajaxHttpGet", &[]), + ("ajaxAddEditFavoriteForm", &["emojiId"]), + ("ajaxAddEditFavorite", &["form"]), + ("ajaxRemoveFavorite", &["emojiId"]), + ], + }, + WidgetDef { + name: "Help", + css: &[], + js: &[], + funcs: &[ + ("ajaxAddChatroom", &[]), + ], + }, + WidgetDef { + name: "Infos", + css: &[], + js: &[], + funcs: &[ + ], + }, + WidgetDef { + name: "Login", + css: &["login.css"], + js: &["login.js"], + funcs: &[ + ("ajaxLogin", &["form", "sessionId", "timezone"]), + ("ajaxHTTPLogin", &["login", "password", "sessionId", "timezone"]), + ("ajaxQuickLogin", &["deviceId", "login", "key", "timezone", "sessionId", "check"]), + ], + }, + WidgetDef { + name: "Manifest", + css: &[], + js: &[], + funcs: &[ + ], + }, + WidgetDef { + name: "Menu", + css: &["menu.css"], + js: &["menu.js"], + funcs: &[ + ("ajaxHttpGetAll", &["page"]), + ("ajaxHttpGetCommunities", &["page"]), + ("ajaxHttpGetContacts", &["page"]), + ], + }, + WidgetDef { + name: "Navigation", + css: &[], + js: &["navigation.js"], + funcs: &[ + ("ajaxHttpRefresh", &[]), + ("ajaxHttpPublish", &[]), + ], + }, + WidgetDef { + name: "NewsNav", + css: &[], + js: &["newsnav.js"], + funcs: &[ + ("ajaxHttpGet", &["page", "server"]), + ], + }, + WidgetDef { + name: "NotFound", + css: &["notfound.css"], + js: &[], + funcs: &[ + ], + }, + WidgetDef { + name: "Notif", + css: &[], + js: &["notif.js"], + funcs: &[ + ("ajaxClear", &["key"]), + ("ajaxGet", &["chat"]), + ("ajaxCurrent", &["key"]), + ("ajaxRegisterPushSubscrition", &["endpoint", "auth", "p256dh", "userAgent"]), + ("ajaxHttpTouchPushSubscription", &["endpoint"]), + ("ajaxHttpRequest", &[]), + ("ajaxRequestGranted", &[]), + ("ajaxRequestDenied", &[]), + ], + }, + WidgetDef { + name: "NotificationConfig", + css: &[], + js: &["notificationconfig.js"], + funcs: &[ + ("ajaxHttpPushGetConfig", &["endpoint"]), + ("ajaxTogglePushConfig", &["id", "enabled"]), + ("ajaxHttpRequest", &[]), + ], + }, + WidgetDef { + name: "Notifications", + css: &["notifications.css"], + js: &["notifications.js"], + funcs: &[ + ("ajaxRequest", &[]), + ("ajaxSetCounter", &[]), + ("ajaxAddAsk", &["jid"]), + ("ajaxAdd", &["form"]), + ("ajaxDeleteContact", &["jid"]), + ("ajaxDelete", &["jid"]), + ("ajaxAccept", &["jid"]), + ("ajaxRefuse", &["jid"]), + ], + }, + WidgetDef { + name: "Onboarding", + css: &["onboarding.css"], + js: &["onboarding.js"], + funcs: &[ + ("ajaxAskPublic", &[]), + ("ajaxEnablePublic", &[]), + ("ajaxEnableRestricted", &[]), + ], + }, + WidgetDef { + name: "Picture", + css: &[], + js: &[], + funcs: &[ + ], + }, + WidgetDef { + name: "Post", + css: &["post.css"], + js: &["post.js"], + funcs: &[ + ("ajaxGetContact", &["jid"]), + ("ajaxGetPost", &["server", "node", "nodeid"]), + ("ajaxGetNotFound", &[]), + ("ajaxGetPostComments", &["server", "node", "id"]), + ("ajaxShare", &["server", "node", "id"]), + ("ajaxPublishComment", &["form", "to", "node", "id"]), + ], + }, + WidgetDef { + name: "PostActions", + css: &[], + js: &["postactions.js"], + funcs: &[ + ("ajaxLike", &["to", "node", "id"]), + ("ajaxDelete", &["to", "node", "id"]), + ("ajaxDeleteConfirm", &["to", "node", "id"]), + ], + }, + WidgetDef { + name: "Presence", + css: &["presence.css"], + js: &["presence.js"], + funcs: &[ + ("ajaxAskLogout", &[]), + ("ajaxLogout", &[]), + ("ajaxHttpGetPresence", &[]), + ("ajaxPubsubSubscriptionsGet", &[]), + ("ajaxServerCapsGet", &[]), + ("ajaxServerDisco", &[]), + ("ajaxProfileRefresh", &[]), + ("ajaxBookmarksGet", &[]), + ("ajaxFeedRefresh", &[]), + ("ajaxGetFollowers", &[]), + ("ajaxHttpMenu", &[]), + ], + }, + WidgetDef { + name: "Preview", + css: &["preview.css"], + js: &["preview.js"], + funcs: &[ + ("ajaxHttpShow", &["url", "messageId"]), + ("ajaxHttpGallery", &["url", "number"]), + ("ajaxHttpHide", &[]), + ("ajaxCopyNotify", &[]), + ], + }, + WidgetDef { + name: "PublicNavigation", + css: &["publicnavigation.css"], + js: &[], + funcs: &[ + ], + }, + WidgetDef { + name: "Publish", + css: &["publish.css"], + js: &["publish.js"], + funcs: &[ + ("ajaxCreateComments", &["server", "id"]), + ("ajaxHttpSaveTitle", &["id", "title"]), + ("ajaxHttpSaveContent", &["id", "content"]), + ("ajaxPreview", &["id"]), + ("ajaxPublish", &["id"]), + ("ajaxLink", &[]), + ("ajaxAddUpload", &["draftId", "uploadId"]), + ("ajaxAddUrl", &["draftId", "url"]), + ("ajaxTryResolveShareUrl", &["id"]), + ("ajaxHttpRemoveEmbed", &["id", "embedId"]), + ("ajaxOpenlinkPreview", &["id"]), + ("ajaxTogglePrivacy", &["id", "open"]), + ("ajaxCheckPrivacy", &["id"]), + ("ajaxToggleCommentsDisabled", &["id", "commentsDisabled"]), + ("ajaxClearReply", &["id"]), + ("ajaxHttpGet", &["type", "server", "node", "nodeId", "replyServer", "replyNode", "replyNodeId"]), + ], + }, + WidgetDef { + name: "PublishHelp", + css: &[], + js: &[], + funcs: &[ + ("ajaxDrawer", &[]), + ], + }, + WidgetDef { + name: "PublishStories", + css: &["publishstories.css"], + js: &["publishstories.js"], + funcs: &[ + ("ajaxOpen", &[]), + ("ajaxNoTitle", &[]), + ("ajaxGetContactsCount", &[]), + ("ajaxPublish", &["form", "uploadId"]), + ], + }, + WidgetDef { + name: "Register", + css: &["register.css"], + js: &["register.js"], + funcs: &[ + ("ajaxGetForm", &["host"]), + ("ajaxRegister", &["form"]), + ], + }, + WidgetDef { + name: "Rooms", + css: &["rooms.css"], + js: &["rooms.js"], + funcs: &[ + ("ajaxRefresh", &["room"]), + ("ajaxHttpGet", &[]), + ("ajaxJoin", &["room", "nickname"]), + ("ajaxExit", &["room"]), + ], + }, + WidgetDef { + name: "RoomsExplore", + css: &[], + js: &["roomsexplore.js"], + funcs: &[ + ("ajaxSearch", &["keyword"]), + ("ajaxSearchRooms", &["keyword"]), + ], + }, + WidgetDef { + name: "RoomsUtils", + css: &["roomsutils.css"], + js: &["roomsutils.js"], + funcs: &[ + ("ajaxGetDrawer", &["room"]), + ("ajaxAppendPresences", &["room", "havePagination", "page"]), + ("ajaxGetDrawerFingerprints", &["room", "contactsFingerprints"]), + ("ajaxGetParticipant", &["room", "mucjid"]), + ("ajaxGetAvatar", &["room"]), + ("ajaxSetAvatar", &["room", "form"]), + ("ajaxGetConfig", &["room"]), + ("ajaxSetConfig", &["data", "room"]), + ("ajaxGetSubject", &["room"]), + ("ajaxSetSubject", &["room", "form"]), + ("ajaxAskInvite", &["room"]), + ("ajaxHttpRoomDiscover", &["room"]), + ("ajaxDiscoRoom", &["room"]), + ("ajaxAdd", &["room", "name", "create"]), + ("ajaxResolveSlug", &["name"]), + ("ajaxAddCreate", &["form"]), + ("ajaxConfigureCreated", &["form"]), + ("ajaxAddConfirm", &["form"]), + ("ajaxRemove", &["room"]), + ("ajaxRemoveConfirm", &["room"]), + ("ajaxInvite", &["form"]), + ("ajaxInviteSFU", &["to", "invitedSFU"]), + ("ajaxAskDestroy", &["room"]), + ("ajaxDestroy", &["room"]), + ("ajaxHttpGetPictures", &["room", "page"]), + ("ajaxHttpGetLinks", &["room", "page"]), + ("ajaxMucUsersAutocomplete", &["room"]), + ("ajaxDiscoGateway", &["server"]), + ("ajaxAddBanned", &["room"]), + ("ajaxAddBannedConfirm", &["room", "form"]), + ("ajaxRemoveBanned", &["room", "jid"]), + ("ajaxConfigureUser", &["room", "jid"]), + ("ajaxChangeVoice", &["room", "mucjid", "form"]), + ("ajaxChangeAffiliationConfirm", &["room", "form"]), + ("ajaxRemoveMember", &["room", "jid"]), + ("ajaxRemoveMemberConfirm", &["room", "jid"]), + ("ajaxGetMAMHistory", &["jid"]), + ("ajaxResetGatewayRooms", &[]), + ], + }, + WidgetDef { + name: "Search", + css: &["search.css"], + js: &["search.js"], + funcs: &[ + ("ajaxRequest", &["chatroomActions", "articlesOnly"]), + ("ajaxHttpInitRoster", &[]), + ("ajaxSearch", &["key"]), + ("ajaxChat", &["jid", "muc"]), + ], + }, + WidgetDef { + name: "SendTo", + css: &["sendto.css"], + js: &["sendto.js"], + funcs: &[ + ("ajaxOsShare", &["postId"]), + ("ajaxShareArticle", &["uri", "osShare"]), + ("ajaxSendContact", &["uri"]), + ("ajaxSend", &["contacts", "uri"]), + ("ajaxGetMoreContacts", &["uri"]), + ], + }, + WidgetDef { + name: "Share", + css: &[], + js: &["share.js"], + funcs: &[ + ("ajaxGet", &["link"]), + ], + }, + WidgetDef { + name: "Shortcuts", + css: &["shortcuts.css"], + js: &["shortcuts.js"], + funcs: &[ + ("ajaxGet", &[]), + ], + }, + WidgetDef { + name: "Snap", + css: &["snap.css"], + js: &["snap.js"], + funcs: &[ + ], + }, + WidgetDef { + name: "SpaceInfo", + css: &["spaceinfo.css"], + js: &["spaceinfo.js"], + funcs: &[ + ("ajaxEditMember", &["server", "node"]), + ("ajaxHttpGet", &["server", "node"]), + ("ajaxChangeConfiguration", &["server", "node", "data"]), + ("ajaxGetPendings", &["server", "node"]), + ("ajaxGetAffiliations", &["server", "node"]), + ("ajaxGetConfig", &["server", "node"]), + ("ajaxSetConfig", &["server", "node", "data"]), + ("ajaxGetAvatar", &["server", "node"]), + ("ajaxSetAvatar", &["server", "node", "form"]), + ("ajaxAskDestroy", &["server", "node"]), + ("ajaxDestroy", &["server", "node"]), + ("ajaxSetAffiliations", &["server", "node", "data"]), + ("ajaxInvite", &["server", "node"]), + ], + }, + WidgetDef { + name: "SpaceRooms", + css: &["spacerooms.css"], + js: &["spacerooms.js"], + funcs: &[ + ("ajaxHttpGetChat", &["server", "node", "id"]), + ("ajaxHttpGet", &["server", "node"]), + ("ajaxAskAdd", &["server", "node", "directoryId"]), + ("ajaxAdd", &["form"]), + ("ajaxAskEdit", &["conferenceId"]), + ("ajaxEdit", &["form"]), + ("ajaxSetHierarchy", &["server", "node", "id", "weight", "directoryId"]), + ("ajaxAskDestroy", &["server", "node", "id"]), + ("ajaxDestroy", &["server", "node", "id"]), + ("ajaxAskAddDirectory", &["server", "node"]), + ("ajaxAddDirectory", &["form"]), + ("ajaxAskEditDirectory", &["server", "node", "directoryId"]), + ("ajaxEditDirectory", &["form"]), + ("ajaxAskDestroyDirectory", &["server", "node", "directoryId"]), + ("ajaxDestroyDirectory", &["form"]), + ("ajaxSortDirectories", &["server", "node", "ids"]), + ], + }, + WidgetDef { + name: "SpacesMenu", + css: &["spacesmenu.css"], + js: &["spacesmenu.js"], + funcs: &[ + ("ajaxGetOwnAffiliation", &["server", "node"]), + ("ajaxGetRooms", &["server", "node"]), + ("ajaxManageInvitation", &["server", "node", "jid"]), + ("ajaxAcceptInvitation", &["server", "node", "jid"]), + ("ajaxDenyInvitation", &["server", "node", "jid"]), + ("ajaxJoinFromUri", &["form"]), + ("ajaxJoin", &["server", "node"]), + ("ajaxLeave", &["server", "node"]), + ("ajaxAddSubscription", &["server", "node"]), + ("ajaxRemoveSubscription", &["server", "node"]), + ("ajaxGetSpaceInfo", &["server", "node"]), + ("ajaxHttpGet", &["server", "node", "conference", "isMobile"]), + ("ajaxAdd", &["server", "node"]), + ("ajaxCreate", &[]), + ("ajaxCreateConfirm", &["form"]), + ("ajaxLockedMenu", &["server", "node"]), + ("ajaxLeaveMenu", &["server", "node"]), + ], + }, + WidgetDef { + name: "Stickers", + css: &["stickers.css"], + js: &["stickers.js"], + funcs: &[ + ("ajaxSend", &["to", "id", "muc"]), + ("ajaxShow", &["to", "packName"]), + ("ajaxReaction", &["mid"]), + ("ajaxSearchGifs", &["keyword", "page"]), + ("ajaxSendGif", &["to", "gifId", "muc"]), + ("ajaxSmileyGet", &["string"]), + ], + }, + WidgetDef { + name: "Stories", + css: &["stories.css"], + js: &["stories.js"], + funcs: &[ + ("ajaxOpenChat", &["jid"]), + ("ajaxHttpGet", &[]), + ], + }, + WidgetDef { + name: "StoriesViewer", + css: &["storiesviewer.css"], + js: &["storiesviewer.js"], + funcs: &[ + ("ajaxHttpGet", &["id"]), + ("ajaxHttpGetNext", &["before"]), + ("ajaxClose", &[]), + ("ajaxDelete", &["id"]), + ("ajaxDeleteConfirm", &["id"]), + ("ajaxSendComment", &["id", "comment"]), + ], + }, + WidgetDef { + name: "Subscribe", + css: &[], + js: &[], + funcs: &[ + ], + }, + WidgetDef { + name: "Syndication", + css: &[], + js: &[], + funcs: &[ + ], + }, + WidgetDef { + name: "System", + css: &[], + js: &[], + funcs: &[ + ], + }, + WidgetDef { + name: "Tabs", + css: &[], + js: &["tabs.js"], + funcs: &[ + ], + }, + WidgetDef { + name: "Toast", + css: &[], + js: &["toast.js"], + funcs: &[ + ], + }, + WidgetDef { + name: "Upload", + css: &["upload.css"], + js: &["upload.js"], + funcs: &[ + ("ajaxGetPanel", &[]), + ("ajaxHttpError", &[]), + ("ajaxHttpUploadXMPP", &["file"]), + ("ajaxHttpProgressXMPP", &["percentage"]), + ("ajaxPrepare", &["file"]), + ("ajaxSend", &["file"]), + ("ajaxFailed", &[]), + ], + }, + WidgetDef { + name: "UploadFile", + css: &[], + js: &[], + funcs: &[ + ], + }, + WidgetDef { + name: "Vcard4", + css: &[], + js: &[], + funcs: &[ + ("ajaxGetVcard", &[]), + ("ajaxVcardSubmit", &["vcard"]), + ], + }, + WidgetDef { + name: "Visio", + css: &["visio.css", "visio_lobby.css"], + js: &["visio_utils.js", "visio_dtmf.js"], + funcs: &[ + ("ajaxClear", &[]), + ("ajaxCheckStatus", &["id", "jid"]), + ("ajaxPropose", &["to", "id", "withVideo", "toSFU"]), + ("ajaxUpgradeCurrentCallToSFU", &["jid", "sfuRoom"]), + ("ajaxHttpPin", &["name"]), + ("ajaxHttpUnpin", &[]), + ("ajaxProceed", &["to", "id"]), + ("ajaxReject", &["to", "id"]), + ("ajaxMute", &["to", "id", "name"]), + ("ajaxUnmute", &["to", "id", "name"]), + ("ajaxContentAdd", &["to", "sdp", "id", "mediaIds"]), + ("ajaxContentRemove", &["to", "sdp", "id", "mediaIds"]), + ("ajaxContentModify", &["to", "sdp", "id"]), + ("ajaxJoinMuji", &["to", "withVideo"]), + ("ajaxLeaveMuji", &["to"]), + ("ajaxGetSFULobby", &["sfuJid", "conferenceJid", "calling", "withVideo", "id"]), + ("ajaxGetMujiLobby", &["to", "calling", "withVideo", "id"]), + ("ajaxGetLobby", &["jid", "calling", "withVideo", "id"]), + ("ajaxMujiPrepare", &["to", "withVideo"]), + ("ajaxMujiPublish", &["to", "sdp", "init"]), + ("ajaxSessionInitiate", &["jid", "sdp", "id", "mujiRoom"]), + ("ajaxResolveServices", &[]), + ("ajaxHttpPrepareInfo", &["to", "isMuji"]), + ("ajaxHttpGetStates", &[]), + ("ajaxSessionAccept", &["to", "id", "sdp"]), + ("ajaxContentAccept", &["to", "id", "sdp", "jingleParticipant"]), + ("ajaxCandidate", &["to", "id", "sdp"]), + ("ajaxTerminate", &["to", "sid", "reason", "isMuji"]), + ("ajaxRemoteGoodbye", &[]), + ("ajaxGoodbye", &["to", "sid", "reason"]), + ], + }, +]; + +pub fn get(name: &str) -> Option<&'static WidgetDef> { + WIDGETS.iter().find(|w| w.name == name) +} diff --git a/src/xmpp.rs b/src/xmpp.rs new file mode 100644 index 0000000..ecdfe56 --- /dev/null +++ b/src/xmpp.rs @@ -0,0 +1,541 @@ +//! XMPP client connection, built on the low level pieces of `tokio-xmpp` +//! (connectors, SASL, XML stream) so that authentication errors can be reported +//! to the login form instead of being retried forever. +//! +//! Stanzas are exchanged as raw `minidom::Element`, like Movim's SimpleXML handlers. + +use anyhow::{anyhow, Result}; +use futures::{SinkExt, StreamExt}; +use minidom::Element; +use std::{ + borrow::Cow, + collections::HashMap, + sync::{Arc, Mutex}, + time::Duration, +}; +use tokio::sync::{mpsc, oneshot}; +use tokio_xmpp::{ + connect::{DirectTlsServerConnector, DnsConfig, ServerConnector, StartTlsServerConnector}, + error::{AuthError, Error as XmppError}, + jid::{BareJid, FullJid, Jid}, + parsers::ns, + xmlstream::{ReadError, StreamHeader, Timeouts, XmlStream}, +}; + +pub const NS_CLIENT: &str = "jabber:client"; + +/// Ergonomic attribute setters for minidom 0.19 (which wants `NcName`s) +pub trait BuilderExt { + fn a(self, name: &str, value: impl Into) -> Self; +} + +impl BuilderExt for minidom::element::ElementBuilder { + fn a(self, name: &str, value: impl Into) -> Self { + self.attr(minidom::rxml::NcName::try_from(name).expect("invalid attribute name"), value.into()) + } +} + +pub trait ElementExt { + fn set_a(&mut self, name: &str, value: impl Into); +} + +impl ElementExt for Element { + fn set_a(&mut self, name: &str, value: impl Into) { + self.set_attr( + minidom::rxml::Namespace::NONE, + minidom::rxml::NcName::try_from(name).expect("invalid attribute name"), + value.into(), + ); + } +} + +#[derive(Debug)] +pub enum LoginError { + Auth(String), + Dns, + Connection(String), + Stream(String), +} + +impl std::fmt::Display for LoginError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + LoginError::Auth(c) => write!(f, "authentication failed: {c}"), + LoginError::Dns => write!(f, "dns error"), + LoginError::Connection(e) => write!(f, "connection error: {e}"), + LoginError::Stream(e) => write!(f, "stream error: {e}"), + } + } +} + +type IqMap = Arc>>>; + +pub const NS_INTERNAL: &str = "movim:internal"; + +#[derive(Clone)] +pub struct XmppHandle { + tx: mpsc::UnboundedSender, + iqs: IqMap, + pub jid: FullJid, + debug: bool, + /// Loopback into the incoming queue, used for ordering barriers + in_tx: mpsc::UnboundedSender, + /// The server supports XEP-0352 Client State Indication + csi: bool, + barriers: Arc>>>, +} + +enum Outgoing { + Element(Element), + End, +} + +#[derive(Debug)] +pub struct IqError { + pub condition: String, + pub text: Option, +} + +impl std::fmt::Display for IqError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "iq error: {}", self.condition)?; + if let Some(t) = &self.text { + write!(f, " ({t})")?; + } + Ok(()) + } +} + +impl std::error::Error for IqError {} + +impl XmppHandle { + + pub fn send(&self, el: Element) { + if self.debug { + tracing::debug!(">>> {}", String::from(&el)); + } + let _ = self.tx.send(Outgoing::Element(el)); + } + + pub fn end(&self) { + let _ = self.tx.send(Outgoing::End); + } + + pub fn is_closed(&self) -> bool { + self.tx.is_closed() + } + + /// Send an IQ and wait for its result. `type="error"` responses become `IqError`. + pub async fn iq(&self, el: Element) -> Result { + let (id, rx) = self.iq_send(el); + self.iq_wait(id, rx).await + } + + /// Send an IQ right away, its result is awaited with `iq_wait` + fn iq_send(&self, mut el: Element) -> (String, oneshot::Receiver) { + let id = match el.attr("id") { + Some(id) => id.to_string(), + None => { + let id = crate::utils::generate_key(16); + el.set_a("id", id.clone()); + id + } + }; + + let (tx, rx) = oneshot::channel(); + self.iqs.lock().unwrap().insert(id.clone(), tx); + self.send(el); + (id, rx) + } + + async fn iq_wait(&self, id: String, rx: oneshot::Receiver) -> Result { + let res = tokio::time::timeout(Duration::from_secs(30), rx).await; + self.iqs.lock().unwrap().remove(&id); + + let res = res.map_err(|_| anyhow!("iq timeout"))?.map_err(|_| anyhow!("connection closed"))?; + if res.attr("type") == Some("error") { + return Err(iq_error(&res).into()); + } + Ok(res) + } + + /// Wait until every stanza received so far went through the incoming handlers + pub async fn barrier(&self) { + let id = crate::utils::generate_key(12); + let (tx, rx) = oneshot::channel(); + self.barriers.lock().unwrap().insert(id.clone(), tx); + let marker = Element::builder("barrier", NS_INTERNAL).a("id", id.clone()).build(); + if self.in_tx.send(marker).is_err() { + self.barriers.lock().unwrap().remove(&id); + return; + } + let _ = tokio::time::timeout(Duration::from_secs(60), rx).await; + } + + /// Called by the incoming loop when it reaches a barrier marker + pub fn release_barrier(&self, el: &Element) -> bool { + if el.name() != "barrier" || el.ns() != NS_INTERNAL { + return false; + } + if let Some(id) = el.attr("id") { + if let Some(tx) = self.barriers.lock().unwrap().remove(id) { + let _ = tx.send(()); + } + } + true + } + + /// XEP-0352: tell the server whether a browser tab is displaying the session + pub fn set_active(&self, active: bool) { + if self.csi { + self.send(Element::builder(if active { "active" } else { "inactive" }, "urn:xmpp:csi:0").build()); + } + } + + /// Fire an IQ without waiting for the response + /// Send an IQ now (keeping the order of the stanzas), without waiting for its result + pub fn iq_spawn(&self, el: Element) { + let (id, rx) = self.iq_send(el); + let h = self.clone(); + tokio::spawn(async move { + if let Err(e) = h.iq_wait(id, rx).await { + tracing::debug!("iq failed: {e}"); + } + }); + } +} + +pub fn iq_error(el: &Element) -> IqError { + let error = el.children().find(|c| c.name() == "error"); + let condition = error + .and_then(|e| e.children().find(|c| c.ns() == ns::XMPP_STANZAS && c.name() != "text")) + .map(|c| c.name().to_string()) + .unwrap_or_else(|| "undefined-condition".into()); + let text = error.and_then(|e| e.children().find(|c| c.name() == "text")).map(|t| t.text()); + IqError { condition, text } +} + +pub struct Connection { + pub handle: XmppHandle, + pub incoming: mpsc::UnboundedReceiver, +} + +fn map_error(e: XmppError) -> LoginError { + match e { + XmppError::Auth(AuthError::Fail(cond)) => LoginError::Auth(format!("{:?}", cond)), + XmppError::Auth(AuthError::NoMechanism) => LoginError::Auth("invalid-mechanism".into()), + XmppError::Auth(e) => LoginError::Auth(e.to_string()), + XmppError::DnsNet(_) | XmppError::DnsProto(_) | XmppError::Idna => LoginError::Dns, + XmppError::StreamError(e) => LoginError::Stream(e.to_string()), + other => LoginError::Connection(other.to_string()), + } +} + +/// Connect, authenticate and bind a resource. StartTLS is tried first, then Direct TLS. +pub async fn connect(jid: BareJid, password: String, resource: &str, debug: bool, plaintext: Option<&str>) -> Result { + let domain = jid.domain().to_string(); + + if let Some(addr) = plaintext { + tracing::warn!("connecting to {addr} WITHOUT encryption (MOVIM_XMPP_PLAINTEXT)"); + let connector = tokio_xmpp::connect::TcpServerConnector::from(DnsConfig::addr(addr)); + return connect_with(connector, jid, password, resource, debug).await; + } + let starttls = StartTlsServerConnector::from(DnsConfig::srv_default_client(&domain)); + + match connect_with(starttls, jid.clone(), password.clone(), resource, debug).await { + Ok(c) => Ok(c), + Err(LoginError::Auth(e)) => Err(LoginError::Auth(e)), + Err(first) => { + tracing::info!("StartTLS connection failed ({first}), trying Direct TLS"); + let direct = DirectTlsServerConnector::from(DnsConfig::srv_xmpps(&domain)); + connect_with(direct, jid, password, resource, debug).await.map_err(|_| first) + } + } +} + +async fn connect_with( + connector: C, + jid: BareJid, + password: String, + resource: &str, + debug: bool, +) -> Result { + let timeouts = Timeouts { read_timeout: Duration::from_secs(120), response_timeout: Duration::from_secs(60) }; + let full: Jid = jid.clone().into(); + + let fut = async { + let (pending, channel_binding) = connector.connect(&full, ns::JABBER_CLIENT, timeouts).await?; + let (features, stream) = pending.recv_features().await?; + + let creds = sasl::common::Credentials::default() + .with_username(jid.node().map(|n| n.as_str()).unwrap_or("")) + .with_password(password) + .with_channel_binding(channel_binding); + + let stream = tokio_xmpp::client_login(stream, features.sasl_mechanisms, creds).await?; + let pending = stream + .send_header(StreamHeader { to: Some(Cow::Owned(jid.domain().to_string())), from: None, id: None }) + .await?; + let (features, stream): (_, XmlStream) = pending.recv_features().await?; + Ok::<_, XmppError>((features, stream)) + }; + + let (features, mut stream) = tokio::time::timeout(Duration::from_secs(30), fut) + .await + .map_err(|_| LoginError::Connection("timeout".into()))? + .map_err(map_error)?; + + let features_el: Element = xso::transform(&features).unwrap_or_else(|_| Element::builder("features", "http://etherx.jabber.org/streams").build()); + + // Resource binding + let bind = Element::builder("iq", NS_CLIENT) + .a("type", "set") + .a("id", "bind_1") + .append( + Element::builder("bind", ns::BIND) + .append(Element::builder("resource", ns::BIND).append(resource)) + .build(), + ) + .build(); + stream.send(&bind).await.map_err(|e| LoginError::Connection(e.to_string()))?; + + let bound: FullJid = loop { + match stream.next().await { + Some(Ok(el)) if el.name() == "iq" && el.attr("id") == Some("bind_1") => { + if el.attr("type") == Some("result") { + let jid = el + .get_child("bind", ns::BIND) + .and_then(|b| b.get_child("jid", ns::BIND)) + .map(|j| j.text()) + .and_then(|j| FullJid::new(&j).ok()); + match jid { + Some(j) => break j, + None => return Err(LoginError::Stream("invalid bind response".into())), + } + } + return Err(LoginError::Stream(format!("bind failed: {}", iq_error(&el)))); + } + Some(Ok(_)) => continue, + Some(Err(ReadError::SoftTimeout)) | Some(Err(ReadError::ParseError(_))) => continue, + Some(Err(e)) => return Err(LoginError::Connection(e.to_string())), + None => return Err(LoginError::Connection("closed".into())), + } + }; + + let (out_tx, mut out_rx) = mpsc::unbounded_channel::(); + let (in_tx, in_rx) = mpsc::unbounded_channel::(); + let iqs: IqMap = Arc::new(Mutex::new(HashMap::new())); + + let handle = XmppHandle { + tx: out_tx, + iqs: iqs.clone(), + jid: bound.clone(), + debug, + in_tx: in_tx.clone(), + csi: features_el.get_child("csi", "urn:xmpp:csi:0").is_some(), + barriers: Arc::new(Mutex::new(HashMap::new())), + }; + + let ping_handle = handle.clone(); + let domain = jid.domain().to_string(); + + // A single task owns the stream: it writes the outgoing queue and reads incoming elements + tokio::spawn(async move { + loop { + let read = tokio::select! { + out = out_rx.recv() => { + match out { + Some(Outgoing::Element(el)) => { + if let Err(e) = stream.send(&el).await { + tracing::warn!("xmpp write error: {e}"); + break; + } + } + Some(Outgoing::End) | None => { + let _ = stream.shutdown().await; + break; + } + } + continue; + } + read = stream.next() => read, + }; + + match read { + Some(Ok(el)) => { + if debug { + tracing::debug!("<<< {}", String::from(&el)); + } + if el.name() == "iq" && matches!(el.attr("type"), Some("result") | Some("error")) { + if let Some(id) = el.attr("id") { + if let Some(tx) = iqs.lock().unwrap().remove(id) { + let _ = tx.send(el); + continue; + } + } + } + if in_tx.send(el).is_err() { + break; + } + } + Some(Err(ReadError::SoftTimeout)) => { + // XEP-0199 keepalive towards the server + let ping = Element::builder("iq", NS_CLIENT) + .a("type", "get") + .a("to", domain.clone()) + .append(Element::builder("ping", ns::PING).build()) + .build(); + ping_handle.iq_spawn(ping); + } + Some(Err(ReadError::ParseError(e))) => { + tracing::debug!("xmpp parse error: {e}"); + } + Some(Err(e)) => { + tracing::info!("xmpp stream closed: {e}"); + break; + } + None => break, + } + } + // Tell the session that the connection is gone + let _ = in_tx.send(Element::builder("closed", NS_INTERNAL).build()); + drop(in_tx); + ping_handle.end(); + }); + + Ok(Connection { handle, incoming: in_rx }) +} + +// ---------------------------------------------------------------- Builders + +pub fn el(name: &str, ns: &str) -> minidom::element::ElementBuilder { + Element::builder(name, ns) +} + +pub fn iq(type_: &str, to: Option<&str>, payload: Element) -> Element { + let mut b = Element::builder("iq", NS_CLIENT).a("type", type_).a("id", crate::utils::generate_key(16)); + if let Some(to) = to { + b = b.a("to", to); + } + b.append(payload).build() +} + +/// Text of the first child with this name (any namespace) +pub fn child_text(el: &Element, name: &str) -> Option { + el.children().find(|c| c.name() == name).map(|c| c.text()) +} + +pub fn result_for(req: &Element, payload: Option) -> Element { + let mut b = Element::builder("iq", NS_CLIENT).a("type", "result"); + if let Some(id) = req.attr("id") { + b = b.a("id", id); + } + if let Some(from) = req.attr("from") { + b = b.a("to", from); + } + if let Some(p) = payload { + b = b.append(p); + } + b.build() +} + +pub fn error_for(req: &Element, type_: &str, condition: &str) -> Element { + let mut b = Element::builder("iq", NS_CLIENT).a("type", "error"); + if let Some(id) = req.attr("id") { + b = b.a("id", id); + } + if let Some(from) = req.attr("from") { + b = b.a("to", from); + } + b.append( + Element::builder("error", NS_CLIENT) + .a("type", type_) + .append(Element::builder(condition, ns::XMPP_STANZAS).build()) + .build(), + ) + .build() +} + +// ---------------------------------------------------------------- In-band registration + +/// An unauthenticated stream, used for XEP-0077 account creation +#[derive(Clone)] +pub struct RegistrationStream { + tx: mpsc::UnboundedSender<(Element, oneshot::Sender)>, +} + +impl RegistrationStream { + pub async fn iq(&self, mut el: Element) -> Result { + if el.attr("id").is_none() { + el.set_a("id", crate::utils::generate_key(12)); + } + let (tx, rx) = oneshot::channel(); + self.tx.send((el, tx)).map_err(|_| anyhow!("connection closed"))?; + let res = tokio::time::timeout(Duration::from_secs(30), rx) + .await + .map_err(|_| anyhow!("timeout"))? + .map_err(|_| anyhow!("connection closed"))?; + if res.attr("type") == Some("error") { + return Err(iq_error(&res).into()); + } + Ok(res) + } +} + +pub async fn registration_stream(domain: &str, plaintext: Option<&str>) -> Result { + let jid: Jid = BareJid::new(domain).map_err(|_| LoginError::Dns)?.into(); + let timeouts = Timeouts { read_timeout: Duration::from_secs(120), response_timeout: Duration::from_secs(60) }; + + async fn open(c: C, jid: &Jid, timeouts: Timeouts) -> Result, LoginError> { + let (pending, _) = c.connect(jid, ns::JABBER_CLIENT, timeouts).await.map_err(map_error)?; + let (_, stream) = pending.recv_features::().await.map_err(|e| LoginError::Connection(format!("{e:?}")))?; + Ok(stream) + } + + match plaintext { + Some(addr) => { + let s = open(tokio_xmpp::connect::TcpServerConnector::from(DnsConfig::addr(addr)), &jid, timeouts).await?; + Ok(spawn_registration(s)) + } + None => match open(StartTlsServerConnector::from(DnsConfig::srv_default_client(domain)), &jid, timeouts).await { + Ok(s) => Ok(spawn_registration(s)), + Err(_) => { + let s = open(DirectTlsServerConnector::from(DnsConfig::srv_xmpps(domain)), &jid, timeouts).await?; + Ok(spawn_registration(s)) + } + }, + } +} + +fn spawn_registration(mut stream: XmlStream) -> RegistrationStream { + let (tx, mut rx) = mpsc::unbounded_channel::<(Element, oneshot::Sender)>(); + tokio::spawn(async move { + let mut pending: HashMap> = HashMap::new(); + loop { + tokio::select! { + req = rx.recv() => match req { + Some((el, reply)) => { + if let Some(id) = el.attr("id") { + pending.insert(id.to_string(), reply); + } + if stream.send(&el).await.is_err() { + break; + } + } + None => break, + }, + read = stream.next() => match read { + Some(Ok(el)) => { + if let Some(reply) = el.attr("id").and_then(|id| pending.remove(id)) { + let _ = reply.send(el); + } + } + Some(Err(ReadError::SoftTimeout)) | Some(Err(ReadError::ParseError(_))) => {} + _ => break, + }, + } + } + let _ = stream.shutdown().await; + }); + RegistrationStream { tx } +} diff --git a/templates/Account/_account_clear.html b/templates/Account/_account_clear.html new file mode 100644 index 0000000..d7b6214 --- /dev/null +++ b/templates/Account/_account_clear.html @@ -0,0 +1,19 @@ +
+

{{ __('account.clear') }}

+
+

{{ __('account.clear_text') }}

+
+

{{ __('account.clear_text_confirm') }}

+
+
+ + +
+ diff --git a/templates/Account/_account_delete_bundle.html b/templates/Account/_account_delete_bundle.html new file mode 100644 index 0000000..4916d5e --- /dev/null +++ b/templates/Account/_account_delete_bundle.html @@ -0,0 +1,34 @@ +
+

{{ __('account.delete_bundle_title') }}

+
+ +

{{ __('account.delete_bundle_text') }}

+
+ +
    +
  • + + fingerprint + +
    +

    + + {{ fingerprint.fingerprint }} + +

    +
    +
  • +
+
+
+ + +
+ diff --git a/templates/Account/_account_fingerprints.html b/templates/Account/_account_fingerprints.html new file mode 100644 index 0000000..e148e3d --- /dev/null +++ b/templates/Account/_account_fingerprints.html @@ -0,0 +1,33 @@ +{% if fingerprints %} +
    +
  • +
    +

    {{ __('omemo.fingerprints') }}

    +
    +
  • + {% for value in fingerprints %} +
  • + + fingerprint + + {% if not value.self %} + + delete + + +
    + + +
    +
    + {% endif %} +
    +

    {{ value.fingerprint }}

    +

    {{ value.bundleid }}{% if value.self %} • {{ __('omemo.this_device') }}{% endif %}

    +
    +
  • + {% endfor %} +
+{% endif %} diff --git a/templates/Account/_account_password.html b/templates/Account/_account_password.html new file mode 100644 index 0000000..9156da6 --- /dev/null +++ b/templates/Account/_account_password.html @@ -0,0 +1,26 @@ +
+

{{ __('account.password_change_title') }}

+
+ +
+
+ + +
+
+ + +
+
+
+ + diff --git a/templates/Account/_account_presences.html b/templates/Account/_account_presences.html new file mode 100644 index 0000000..23d7408 --- /dev/null +++ b/templates/Account/_account_presences.html @@ -0,0 +1,18 @@ +
    +
  • +
    +

    {{ __('clients.title_full') }}

    +
    +
  • + {% for value in presences %} +
  • + + devices + +
    +

    {% if value.name %}{{ value.name }}{% else %}{{ value.resource }}{% endif %}{% if value.current %} {{ __('clients.this_device') }}{% endif %}

    +

    {{ value.resource }}

    +
    +
  • + {% endfor %} +
diff --git a/templates/Account/_account_remove.html b/templates/Account/_account_remove.html new file mode 100644 index 0000000..198ba9a --- /dev/null +++ b/templates/Account/_account_remove.html @@ -0,0 +1,26 @@ +
+

{{ __('account.delete') }}

+
+

{{ __('account.delete_text') }}

+
+

+ +
+
+ + +
+
+
+
+ + +
+ diff --git a/templates/Account/account.html b/templates/Account/account.html new file mode 100644 index 0000000..3aa0398 --- /dev/null +++ b/templates/Account/account.html @@ -0,0 +1,50 @@ +
+
+ {% if omemo %}
{% endif %} +
    +
  • +
    +

    {{ __('account.account_management') }}

    +
    +
  • +
  • + + + vpn_key + + + + chevron_right + +
    +

    {{ __('account.password_change_title') }}

    +
    +
  • +
  • + + + eject + + + + chevron_right + +
    +

    {{ __('account.clear') }}

    +
    +
  • +
  • + + + delete + + + + chevron_right + +
    +

    {{ __('account.delete') }}

    +
    +
  • +
+
diff --git a/templates/Avatar/_avatar.html b/templates/Avatar/_avatar.html new file mode 100644 index 0000000..a67baed --- /dev/null +++ b/templates/Avatar/_avatar.html @@ -0,0 +1,14 @@ +
+ +
+
diff --git a/templates/Avatar/_avatar_form.html b/templates/Avatar/_avatar_form.html new file mode 100644 index 0000000..b4e9da8 --- /dev/null +++ b/templates/Avatar/_avatar_form.html @@ -0,0 +1,31 @@ +
+
+ +
+ image +

{{ __('avatar.missing') }}

+
+ +
+
    +
  • + + attach_file + +
    +

    {{ __('avatar.file') }}

    +

    +
    +
  • +
+
+
+ + +
diff --git a/templates/Blocked/_blocked_list.html b/templates/Blocked/_blocked_list.html new file mode 100644 index 0000000..1117c76 --- /dev/null +++ b/templates/Blocked/_blocked_list.html @@ -0,0 +1,10 @@ +{% for value in list %}
  • + + close + +
    +

    + {{ value }} +

    +
    +
  • {% endfor %} diff --git a/templates/Blocked/blocked.html b/templates/Blocked/blocked.html new file mode 100644 index 0000000..c130b0f --- /dev/null +++ b/templates/Blocked/blocked.html @@ -0,0 +1,18 @@ +
    +
      +
    • + + info + +
      +

      {{ __('blocked.info') }}

      +

      {{ __('blocked.info2') }}

      +
      +
    • +
    +
      +
      + block +

      {{ __('blocked.placeholder') }}

      +
      +
      diff --git a/templates/BottomNavigation/_bottomnavigation_me.html b/templates/BottomNavigation/_bottomnavigation_me.html new file mode 100644 index 0000000..9914ec1 --- /dev/null +++ b/templates/BottomNavigation/_bottomnavigation_me.html @@ -0,0 +1,7 @@ + + + + + diff --git a/templates/BottomNavigation/bottomnavigation.html b/templates/BottomNavigation/bottomnavigation.html new file mode 100644 index 0000000..b5e83d1 --- /dev/null +++ b/templates/BottomNavigation/bottomnavigation.html @@ -0,0 +1,36 @@ + diff --git a/templates/Chat/_chat.html b/templates/Chat/_chat.html new file mode 100644 index 0000000..69883c7 --- /dev/null +++ b/templates/Chat/_chat.html @@ -0,0 +1,140 @@ +{% if muc %} + +
      +{% endif %} + +
      + {{ header|safe }} +
      + +
      +
      +
      + waving_hand +

      {{ __('chat.first_messages_title') }}

      + {% if not muc %} +

      {{ __('chat.first_messages_text') }}

      +

      + + +

      + {% endif %} +
      +
        +
          +
          + chat +

          {{ __('chat.new_title') }}

          +

          {{ __('chat.new_text') }}

          +

          {{ __('message.edit_help') }}

          +

          {{ __('message.emoji_help') }}

          +
          +
          +
          +
          + + +
            +
            +
              +
              +
            • +
            • + + + emoji_emotions + + + {% if upload %} + + + mic + + + + + add_circle + + +
                +
              • + + camera_alt + +
                +

                Snap

                +
                +
              • +
              • + + gesture + +
                +

                {{ __('draw.title') }}

                +
                +
              • +
              • + + attach_file + +
                +

                {{ __('upload.title') }}

                +
                +
              • +
              + {% endif %} + + + send + + +
              +
              + + + lock + + + no_encryption + + + lock_clock + +
              +
              +
            • +
            +
            diff --git a/templates/Chat/_chat_bubble.html b/templates/Chat/_chat_bubble.html new file mode 100644 index 0000000..7a605f3 --- /dev/null +++ b/templates/Chat/_chat_bubble.html @@ -0,0 +1,28 @@ +
          • + {% if muc %} + + + {% else %} + + {% if not mine %} + + {% endif %} + + {% if not mine %}{% endif %} + + {% endif %} + +
            +
            +

            +
              + + + add_reaction + + + reply + +
              +
              +
            • diff --git a/templates/Chat/_chat_clear.html b/templates/Chat/_chat_clear.html new file mode 100644 index 0000000..768ca50 --- /dev/null +++ b/templates/Chat/_chat_clear.html @@ -0,0 +1,16 @@ +
              +

              {{ __('chat.clear_history') }}

              +
              +

              {{ __('chat.clear_history_text', count) }}

              +
              +
              + + +
              diff --git a/templates/Chat/_chat_compose_bubble.html b/templates/Chat/_chat_compose_bubble.html new file mode 100644 index 0000000..53aaad6 --- /dev/null +++ b/templates/Chat/_chat_compose_bubble.html @@ -0,0 +1,15 @@ +
            • + + {% if not list %} + + {% else %} + edit + {% endif %} + +
              +
              + +

              {% if list %}{{ list }}{% endif %}

              +
              +
              +
            • diff --git a/templates/Chat/_chat_date.html b/templates/Chat/_chat_date.html new file mode 100644 index 0000000..f5c20a4 --- /dev/null +++ b/templates/Chat/_chat_date.html @@ -0,0 +1,5 @@ +
            • +
              +

              Date

              +
              +
            • diff --git a/templates/Chat/_chat_embed.html b/templates/Chat/_chat_embed.html new file mode 100644 index 0000000..3269fae --- /dev/null +++ b/templates/Chat/_chat_embed.html @@ -0,0 +1,54 @@ +
            • + {% if image %} + + image + + {% else %} + + {% if icon %} + + {% else %} + link + {% endif %} + + {% endif %} + + + open_in_new + + +
              + {% if url.type == 'video' or url.type == 'audio' %} +

              + {% if url.type == 'audio' %} + equalizer {{ __('chats.audio') }} + {% else %} + local_movies {{ __('chats.video') }} + {% endif %} + {% if size %} + • + {{ size }} + {% endif %} +

              + {% elif url.title %} +

              + {{ url.title }} +

              + {% endif %} +

              + {% if url.provider_name %} + {{ url.provider_name }} + {% endif %} + {% if url.author_name %} + • + {{ url.author_name }} + {% endif %} + {% if url.description %} + • + {{ url.description }} + {% endif %} +

              +
              +
            • diff --git a/templates/Chat/_chat_empty.html b/templates/Chat/_chat_empty.html new file mode 100644 index 0000000..c75e8cf --- /dev/null +++ b/templates/Chat/_chat_empty.html @@ -0,0 +1,40 @@ + + +
              +
                + {% if top %} +
              • +
                +

                {{ __('chat.frequent') }}

                +
                +
              • + + {% for value in top %} +
              • + + + + + + +
                +

                + {{ value.truename }} +

                + {% if value.status %} +

                {{ value.status }}

                + {% else %} +

                {{ value.jid }}

                + {% endif %} +
                +
              • + {% endfor %} + {% endif %} +
              +
              + + + diff --git a/templates/Chat/_chat_file.html b/templates/Chat/_chat_file.html new file mode 100644 index 0000000..5fbb695 --- /dev/null +++ b/templates/Chat/_chat_file.html @@ -0,0 +1,11 @@ +
            • + + {{ file.type|mimeToIcon }} + +
              +

              {{ file.name }}

              + {% if file.cleansize %} +

              {{ file.cleansize }} · {{ file.type|mimeToLabel }}

              + {% endif %} +
              +
            • diff --git a/templates/Chat/_chat_header.html b/templates/Chat/_chat_header.html new file mode 100644 index 0000000..6249069 --- /dev/null +++ b/templates/Chat/_chat_header.html @@ -0,0 +1,305 @@ +{% if muc %} +
                +
              • + 0 %}data-counter="{{ counter }}"{% endif %}> + arrow_back + + + + + {% if conference.connected %} + + {% if conference.count > 99 %}99+{% else %}{{ conference.count }}{% endif %} + + {% endif %} + + + + manage_search + + + {% if conference.group and conference.connected and conference.muji.count == 0 %} + + call + + + videocam + + {% endif %} + + + more_vert + + +
                + {% if conference.muji.count > 0 %} + {% if conference.muji.joined %} + + {% else %} + + {% endif %} + {% endif %} +

                + {{ conference.title }} + {% if conference.notify == 0 %} + + notifications_off + + {% elif conference.notify == 2 %} + + notifications_active + + {% endif %} + + + {% if conference.group %} + people_alt + {% else %} + wifi_tethering + {% endif %} + + + {% if conference.group and conference.subject %} + + {{ conference.subject }} + + {% endif %} +

                + +

                + {% if conference.muji.count > 0 %} + {% if conference.muji.joined %} + call + {{ __('visio.joined_call') }} + {% else %} + call + {{ __('visio.in_call') }} + {% endif %} + + schedule + {{ conference.muji.since }} + - + {{ conference.muji.count }} + people + + • + {% endif %} + {% if not conference.connected %} + {{ __('button.connecting') }}… + {% elif conference.group %} + {% for value in conference.others %} + + + {{ value.nick }} + {% endfor %} + {% elif conference.subject %} + {{ conference.subject }} + {% endif %} +

                +
                +
              • +
              + +
                + {% if conference.role == 'moderator' or conference.affiliation == 'owner' %} +
              • +
                +

                {{ __('page.administration') }}

                +
                +
              • + {% endif %} + {% if conference.affiliation == 'owner' %} +
              • + + + settings + + +
                +

                {{ __('chatrooms.config') }}

                +
                +
              • + {% endif %} + {% if conference.role == 'moderator' %} +
              • + + + short_text + + +
                +

                {{ __('chatrooms.subject') }}

                +
                +
              • + {% endif %} + {% if conference.role == 'moderator' or conference.affiliation == 'owner' %} +
                + {% endif %} + +
              • + + edit + +
                +

                {{ __('button.edit') }}

                +
                +
              • + +
              • + + person_add + +
                +

                {{ __('room.invite') }}

                +
                +
              • + +
              • + + delete_sweep + +
                +

                {{ __('chat.clear_history') }}

                +
                +
              • + +
              • + + logout + +
                +

                {{ __('status.disconnect') }}

                +
                +
              • +
              +{% else %} +
                +
              • + 0 %}data-counter="{{ counter }}"{% endif %}> + arrow_back + + + + + + + + manage_search + + + {% if not in_call %} + {% if call_audio %} + + phone + + {% endif %} + {% if call_video %} + + videocam + + {% endif %} + {% endif %} + + + more_vert + + +
                + {% if in_call %} + + {% endif %} +

                + {{ contact.truename }} + + {% if contact.blocked %} + {{ __('blocked.title') }} + {% endif %} + {% if omemo %} + lock + {% endif %} +

                + +

                + {% if in_call %} + phone_in_talk + {{ __('visio.in_call') }} • + {% endif %} + {% if contact.seen %} + {{ __('last.title') }} {{ contact.seen }} + {% elif contact.status %} + {{ contact.status }} + {% elif contact.presence %} + {{ presencetext }} + {% else %} + {{ contact.id }} + {% endif %} +

                +
                +
              • +
              +
                +
              • + + person + +
                +

                {{ __('chat.profile') }}

                +
                +
              • +
              • + + delete_sweep + +
                +

                {{ __('chat.clear_history') }}

                +
                +
              • +
                + {% if contact.blocked %} +
              • + + check_circle + +
                +

                {{ __('blocked.unblock_account') }}

                +
                +
              • + {% else %} +
              • + + block + +
                +

                {{ __('blocked.block_account') }}

                +
                +
              • + {% endif %} + +
              • + + close + +
                +

                {{ __('button.close') }}

                +
                +
              • +
              +{% endif %} diff --git a/templates/Chat/_chat_invitation.html b/templates/Chat/_chat_invitation.html new file mode 100644 index 0000000..491e32c --- /dev/null +++ b/templates/Chat/_chat_invitation.html @@ -0,0 +1 @@ +outgoing_mail {{ __('message.invitation') }} {{ room }}{% if reason %} — {{ reason }}{% endif %} diff --git a/templates/Chat/_chat_jingle.html b/templates/Chat/_chat_jingle.html new file mode 100644 index 0000000..2d92f04 --- /dev/null +++ b/templates/Chat/_chat_jingle.html @@ -0,0 +1,7 @@ +{% if type == 'jingle_incoming' %}call_received {{ __('chat.jingle_incoming') }} +{% elif type == 'jingle_outgoing' %}call_made {{ __('chat.jingle_outgoing') }} +{% elif type == 'jingle_reject' %}phone_missed {{ __('chat.jingle_reject') }} +{% elif type == 'jingle_retract' %}phone_missed {{ __('chat.jingle_retract') }} +{% elif type == 'jingle_finish' %}phone_disabled {{ __('chat.jingle_end') }} +{% else %}call_end {{ __('chat.jingle_end') }}{% if duration %} • {{ duration }}{% endif %} +{% endif %} diff --git a/templates/Chat/_chat_reactions.html b/templates/Chat/_chat_reactions.html new file mode 100644 index 0000000..482ca43 --- /dev/null +++ b/templates/Chat/_chat_reactions.html @@ -0,0 +1,14 @@ +{% for r in reactions %} +
            • + {{ r.emoji|addEmojis(true) }} + {{ r.from|length }} +
            • +{% endfor %} + +{% if reactions %} +
            • + add_reaction +
            • +{% endif %} diff --git a/templates/Chat/_chat_reply.html b/templates/Chat/_chat_reply.html new file mode 100644 index 0000000..f7b20e6 --- /dev/null +++ b/templates/Chat/_chat_reply.html @@ -0,0 +1,38 @@ +
              +
                +
              • + + reply + + + close + +
                + {% if message.type == 'groupchat' %} +

                + {{ message.resource }} +

                + {% else %} +

                {{ from_name }}

                + {% endif %} + {% if file %} +

                + {% if file.picture %} + image {{ __('chats.picture') }} + {% elif file.audio %} + equalizer {{ __('chats.audio') }} + {% elif file.video %} + local_movies {{ __('chats.video') }} + {% else %} + insert_drive_file {{ __('avatar.file') }} + {% endif %} +

                + {% elif message.encrypted %} +

                lock {{ __('message.encrypted') }}

                + {% else %} +

                {{ message.body }}

                + {% endif %} +
                +
              • +
              +
              diff --git a/templates/Chat/_chat_room_nav.html b/templates/Chat/_chat_room_nav.html new file mode 100644 index 0000000..9b1aa60 --- /dev/null +++ b/templates/Chat/_chat_room_nav.html @@ -0,0 +1,12 @@ +
                + {{ contactsHtml|safe }} +
              + diff --git a/templates/Chat/_chat_separator.html b/templates/Chat/_chat_separator.html new file mode 100644 index 0000000..65405dd --- /dev/null +++ b/templates/Chat/_chat_separator.html @@ -0,0 +1 @@ +
            • diff --git a/templates/Chat/chat.html b/templates/Chat/chat.html new file mode 100644 index 0000000..df7084d --- /dev/null +++ b/templates/Chat/chat.html @@ -0,0 +1 @@ +
              diff --git a/templates/ChatActions/_chatactions_message.html b/templates/ChatActions/_chatactions_message.html new file mode 100644 index 0000000..8156b01 --- /dev/null +++ b/templates/ChatActions/_chatactions_message.html @@ -0,0 +1,23 @@ +
            • +
              +
              + {% if muc %} + {{ message.resource }} + {% endif %} + {% if message.encrypted %} +

              {% if message.retracted %}{{ __('message.retracted') }}{% else %}{{ __('message.encrypted') }}{% endif %} lock

              + {% elif message.retracted %} +

              {{ __('message.retracted') }} delete

              + {% elif picture %} +
              + +
              + {% else %} +

              {{ body|safe }}

              + {% endif %} + +
              +
              +
            • diff --git a/templates/ChatActions/_chatactions_message_dialog.html b/templates/ChatActions/_chatactions_message_dialog.html new file mode 100644 index 0000000..444ff90 --- /dev/null +++ b/templates/ChatActions/_chatactions_message_dialog.html @@ -0,0 +1,84 @@ +
              + +
                + {% if not message.encrypted %} +
              • + + add_reaction + +
                +

                {{ __('message.react') }}

                +
                +
              • +
              • + + content_copy + +
                +

                {{ __('chatactions.copy_text') }}

                +
                +
              • + {% endif %} +
              • + + reply + +
                +

                {{ __('button.reply') }}

                +
                +
              • + + {% if editable %} +
              • + + edit + +
                +

                {{ __('button.edit') }}

                +
                +
              • + {% endif %} + + {% if mine %} +
              • + + delete + +
                +

                {{ __('message.retract') }}

                +
                +
              • + {% endif %} + + {% if moderator %} +
              • +
                +

                {{ __('page.administration') }}

                +
                +
              • +
              • + + delete + +
                +

                {{ __('message.retract') }}

                +
                +
              • + {% endif %} +
              +
              +
              + +
              diff --git a/templates/ChatActions/_chatactions_search.html b/templates/ChatActions/_chatactions_search.html new file mode 100644 index 0000000..cdee85b --- /dev/null +++ b/templates/ChatActions/_chatactions_search.html @@ -0,0 +1,13 @@ + +
                + +
              diff --git a/templates/ChatActions/_chatactions_search_placeholder.html b/templates/ChatActions/_chatactions_search_placeholder.html new file mode 100644 index 0000000..fa79d11 --- /dev/null +++ b/templates/ChatActions/_chatactions_search_placeholder.html @@ -0,0 +1,5 @@ +
              + search +

              {{ __('chatactions.search_messages') }}

              +

              {{ __('input.open_me_using') }} Ctrl + F

              +
              diff --git a/templates/ChatActions/_chatactions_search_result.html b/templates/ChatActions/_chatactions_search_result.html new file mode 100644 index 0000000..c7db920 --- /dev/null +++ b/templates/ChatActions/_chatactions_search_result.html @@ -0,0 +1,13 @@ +{% if not messages %} +
              + search_off +

              {{ __('chatactions.search_messages') }}

              +

              {{ __('chatactions.search_messages_empty') }}

              +
              +{% else %} +
                + {% for m in messages %} + {{ m|safe }} + {% endfor %} +
              +{% endif %} diff --git a/templates/Chats/_chats_item.html b/templates/Chats/_chats_item.html new file mode 100644 index 0000000..9dd8f9c --- /dev/null +++ b/templates/Chats/_chats_item.html @@ -0,0 +1,93 @@ +
            • + + 0 %}data-counter="{{ count }}"{% endif %}> + + + + + +
              +

              + {% if message %} + + {{ message.date }} + + + {% if message.mine %} + {% if message.displayed %} + done_all + {% elif message.delivered %} + check + {% endif %} +   + {% endif %} + + {% endif %} + {% if resource %} + {{ resource }} + + {{ bare }} + + {% else %} + {{ contact.truename }} + {% endif %} +

              + {% if message %} +

              + {% if in_call %} + phone_in_talk + {{ __('visio.in_call') }} • + {% endif %} + {% if message.encrypted %} + lock {% if message.retracted %}{{ __('message.retracted') }}{% else %}{{ __('message.encrypted') }}{% endif %} + {% elif message.retracted %} + delete {{ __('message.retracted') }} + {% elif message.type == 'invitation' %} + outgoing_mail {{ __('message.invitation') }} + {% elif message.type == 'jingle_incoming' %} + call {{ __('chat.jingle_incoming') }} + {% elif message.type == 'jingle_retract' %} + phone_missed {{ __('chat.jingle_retract') }} + {% elif message.type == 'jingle_reject' %} + phone_missed {{ __('chat.jingle_reject') }} + {% elif message.type == 'jingle_finish' %} + phone_disabled {{ __('chat.jingle_end') }} + {% elif message.type == 'jingle_outgoing' %} + call {{ __('chat.jingle_outgoing') }} + {% elif message.type == 'jingle_end' %} + call_end {{ __('chat.jingle_end') }} + {% elif message.file %} + {% if message.mine %} + {{ __('chats.me') }}: + {% endif %} + {% if message.file.isPicture %} + {% if message.file.thumbnail_type == 'image/thumbhash' and message.file.thumbnail_url %} + + {% else %} + image + {% endif %} + {{ __('chats.picture') }} + {% elif message.file.isAudio %} + equalizer {{ __('chats.audio') }} + {% elif message.file.isVideo %} + local_movies {{ __('chats.video') }} + {% else %} + insert_drive_file {{ __('avatar.file') }} + {% endif %} + {% elif message.body %} + {% if message.mine %} + {{ __('chats.me') }}: + {% endif %} + {{ message.body_html|safe }} + {% endif %} +

              + {% elif contact.status %} +

              {{ contact.status }}

              + {% endif %} +
              +
            • diff --git a/templates/Chats/chats.html b/templates/Chats/chats.html new file mode 100644 index 0000000..498b5d4 --- /dev/null +++ b/templates/Chats/chats.html @@ -0,0 +1,19 @@ +
                +
              • +
                +

                + {{ __('page.chats') }} +

                +
                + {% for value in filters %} + {{ __('chats_filter.' ~ value) }} + {% endfor %} +
              • +
              +
                + +
                + chat_dashed +

                {{ __('chats.empty_title') }}

                +

                {{ addplaceholder|safe }}

                +
                diff --git a/templates/Config/_config_form.html b/templates/Config/_config_form.html new file mode 100644 index 0000000..3e31fbd --- /dev/null +++ b/templates/Config/_config_form.html @@ -0,0 +1,129 @@ +
                +
                +
                  +
                • {{ __('config.audio_title') }}

                • +
                • + + +
                  + + +
                  +
                  +
                  +

                  {{ __('config.audio_call') }}

                  +
                  +
                • +
                • + + +
                  + + +
                  +
                  +
                  +

                  {{ __('config.audio_chat') }}

                  +
                  +
                • +
                +
                + +
                  +
                • {{ __('config.general') }}

                • +
                + +
                +
                  +
                • + +
                  +
                  + +
                  + +
                  +
                • +
                +
                + +
                +
                  +
                • + + +
                  + + +
                  +
                  +
                  +

                  {{ __('config.omemoenabled') }}

                  +

                  {{ __('config.omemoenabled_text') }}

                  +
                  +
                • +
                • + + warning + +
                  +

                  +

                  {{ __('config.omemoenabled_warning', domain) }}

                  +
                  +
                • +
                • + + +
                  + + +
                  +
                  +
                  +

                  {{ __('config.night_mode') }}

                  +

                  {{ __('config.night_mode_text') }}

                  + + night_sight_auto + {{ __('config.night_mode_detected') }} + +
                  +
                • +
                • + +
                  +

                  {{ __('config.accent_color') }}

                  +

                  +
                  + {% for color in accent_colors %} +
                  + + +
                  + {% endfor %} +
                  +
                  +
                • +
                +
                +
                diff --git a/templates/Config/_config_mam.html b/templates/Config/_config_mam.html new file mode 100644 index 0000000..dd54fe2 --- /dev/null +++ b/templates/Config/_config_mam.html @@ -0,0 +1,21 @@ +
                +
                +
                  +
                • + + inventory + +
                  +
                  + +
                  + +
                  +
                • +
                +
                +
                diff --git a/templates/Config/_config_nickname.html b/templates/Config/_config_nickname.html new file mode 100644 index 0000000..b9f8b9e --- /dev/null +++ b/templates/Config/_config_nickname.html @@ -0,0 +1,17 @@ +
                +

                {{ __('general.nickname') }}

                +
                +
                + + +
                +
                +
                +
                + + +
                diff --git a/templates/Config/config.html b/templates/Config/config.html new file mode 100644 index 0000000..9a80191 --- /dev/null +++ b/templates/Config/config.html @@ -0,0 +1,22 @@ +
                +
                {{ form|safe }}
                +
                +
                  +
                • + + chevron_right + + + account_circle + +
                  +

                  {{ __('general.nickname') }}

                  +

                  {{ __('chatrooms.nickname') }}

                  + {% if nickname %} +

                  {{ nickname }}

                  + {% endif %} +
                  +
                • +
                  +
                +
                diff --git a/templates/Confirm/_confirm.html b/templates/Confirm/_confirm.html new file mode 100644 index 0000000..9eaae70 --- /dev/null +++ b/templates/Confirm/_confirm.html @@ -0,0 +1,34 @@ +
                +

                {{ __('confirm.title') }}

                +
                +
                  +
                • +
                  +

                  +

                  {{ __('confirm.description') }}

                  +
                  +

                  {{ url }}

                  +
                • +
                • +
                  +

                  +

                  + {{ __('confirm.code') }} +

                  +
                  +

                  {{ id }}

                  +
                • +
                +
                +
                + + +
                diff --git a/templates/ContactActions/_contactactions_drawer.html b/templates/ContactActions/_contactactions_drawer.html new file mode 100644 index 0000000..83f6c4d --- /dev/null +++ b/templates/ContactActions/_contactactions_drawer.html @@ -0,0 +1,168 @@ +
                +
                +
                  +
                • + + + + {% if not mine %} + + comment + + {% if call_audio %} + + phone + + {% endif %} + {% if call_video %} + + videocam + + {% endif %} + {% endif %} +
                  +

                  + {{ contact.truename }} + {% if contact.blocked %} + {{ __('blocked.title') }} + {% endif %} + {% for g in contact.groups %} + {{ g }} + {% endfor %} +

                  +

                  + {{ contact.id }} +

                  +
                  +
                • +
                +
                + +
                  +
                • +
                  +

                  + {% if contact.nickname %}{{ contact.nickname }}{% else %}{{ contact.truename }}{% endif %} +

                  +

                  + {% if description %} + {{ description|safe }} +

                  + {% endif %} + {% if contact.status %} + chat_info + {{ contact.status }} +
                  + {% endif %} + {% if contact.email %} + email + {{ contact.email }} +
                  + {% endif %} + {% if contact.url %} + link + {% if contact.url is startingwith('http') %} + {{ contact.url }} + {% else %} + {{ contact.url }} + {% endif %} +
                  + {% endif %} +

                  +
                  +
                • +
                + + {% if not mine %} +
                  + {% if contact.in_roster %} +
                • + + edit + +
                  +

                  {{ __('button.edit') }}

                  +
                  +
                • +
                • + + person_remove + +
                  +

                  {{ __('button.delete') }}

                  +
                  +
                • + {% else %} +
                • + + person_add + +
                  +

                  {{ __('roster.add_title') }}

                  +
                  +
                • + {% endif %} + {% if contact.blocked %} +
                • + + cancel + +
                  +

                  {{ __('blocked.unblock_account') }}

                  +
                  +
                • + {% else %} +
                • + + block + +
                  +

                  {{ __('blocked.block_account') }}

                  +
                  +
                • + {% endif %} +
                • + + clear_all + +
                  +

                  {{ __('chat.clear_history') }}

                  +
                  +
                • +
                + {% endif %} + + {% if resources %} +
                  +
                • +
                  +

                  {{ __('clients.title_full') }}

                  +
                  +
                • + {% for value in resources %} +
                • + + devices + +
                  +

                  + {% if value.name %}{{ value.name }}{% else %}{{ value.resource }}{% endif %} + {{ value.resource }} +

                  + {% if value.status %}

                  {{ value.status }}

                  {% endif %} +
                  +
                • + {% endfor %} +
                + {% endif %} + + {% if omemo %} +
                + {% endif %} + +
                +
                diff --git a/templates/ContactActions/_contactactions_drawer_fingerprints.html b/templates/ContactActions/_contactactions_drawer_fingerprints.html new file mode 100644 index 0000000..fefa137 --- /dev/null +++ b/templates/ContactActions/_contactactions_drawer_fingerprints.html @@ -0,0 +1,48 @@ +{% if fingerprints %} +
                +
                +
                  +
                • +
                  +

                  {{ __('omemo.fingerprints') }}

                  +
                  +
                • + {% for value in fingerprints %} +
                • + + fingerprint + + +
                  + + +
                  +
                  +
                  +

                  + + {{ value.fingerprint }} + +

                  +

                  + {% if value.latest %} + {{ __('omemo.last_activity') }}: {{ value.latest }} + {% endif %} +

                  +
                  +
                • + {% endfor %} +
                +
                +
                +{% else %} +
                + fingerprint +

                {{ __('omemo.fingerprints') }}

                +
                +{% endif %} diff --git a/templates/Dialog/dialog.html b/templates/Dialog/dialog.html new file mode 100644 index 0000000..fdf2562 --- /dev/null +++ b/templates/Dialog/dialog.html @@ -0,0 +1 @@ + diff --git a/templates/Dictaphone/_dictaphone.html b/templates/Dictaphone/_dictaphone.html new file mode 100644 index 0000000..40ac75f --- /dev/null +++ b/templates/Dictaphone/_dictaphone.html @@ -0,0 +1,22 @@ +
                +
                  +
                • + + fiber_manual_record + + + play_arrow + + + send + +
                  +

                  +

                  + + +
                  +
                • +
                +
                + diff --git a/templates/Draw/_draw.html b/templates/Draw/_draw.html new file mode 100644 index 0000000..fae7ae9 --- /dev/null +++ b/templates/Draw/_draw.html @@ -0,0 +1,76 @@ +
                + + ¯\_(ツ)_/¯ + +
                +
                +
                  +
                • + + delete + +
                • +
                +
                +
                  +
                • + + brush + +
                • +
                • + + brush + +
                • +
                • + + brush + +
                • +
                +
                +
                +
                +
                  +
                • + +
                • +
                • + +
                • +
                • + +
                • +
                • + +
                • +
                • + +
                • +
                • + +
                • +
                • + +
                • +
                +
                  +
                • + + ink_eraser + +
                • +
                +
                +
                  +
                • + + arrow_back + + + publish + +
                • +
                + diff --git a/templates/Draw/draw.html b/templates/Draw/draw.html new file mode 100644 index 0000000..db3660c --- /dev/null +++ b/templates/Draw/draw.html @@ -0,0 +1,2 @@ +
                + diff --git a/templates/Drawer/drawer.html b/templates/Drawer/drawer.html new file mode 100644 index 0000000..1db04a3 --- /dev/null +++ b/templates/Drawer/drawer.html @@ -0,0 +1 @@ +
                diff --git a/templates/Login/_login_error.html b/templates/Login/_login_error.html new file mode 100644 index 0000000..8b46055 --- /dev/null +++ b/templates/Login/_login_error.html @@ -0,0 +1,29 @@ +
                +
                  +
                • + + error + +
                  +

                  {{ __('error.oops') }}

                  +

                  {{ error }}

                  + {% if errormessage %} +

                  + {{ errormessage }} +

                  + {% endif %} +
                  +
                • +
                +
                  +
                • +
                  +

                  + + {{ __('button.return') }} + +

                  +
                  +
                • +
                +
                diff --git a/templates/Login/login.html b/templates/Login/login.html new file mode 100644 index 0000000..71b76de --- /dev/null +++ b/templates/Login/login.html @@ -0,0 +1,142 @@ + + +
                +
                +
                + {% if banner %} + + {% endif %} + +
                +
                + + + +
                +
                + + +
                + +
                  +
                • +
                  +

                  +

                  + {% if maxsessionsreached and not whitelist %} + {{ __('error.max_sessions_reached') }}
                  + {{ __('error.max_sessions_reached_join', 'join.movim.eu') }} + {% elif whitelist %} + {{ __('form.whitelist_info') }} : + {% for value in whitelist %} + {{ value }} + {% endfor %} + {% else %} + {{ __('form.connect_info') }} + {% endif %} +

                  +
                  +
                • +
                + +
                + +
                +
                +
                +
                + +
                +
                +
                  +
                • +
                  +

                  + {{ __('form.connected') }}: {{ connected }}{% if maxsessions > 0 %}/{{ maxsessions }}{% endif %} - {{ __('form.population') }}: {{ pop }} +

                  +
                  +
                • +
                + + {% if info %} +
                  +
                • +
                  +
                  +
                  + {{ info }} +
                  +
                  +
                  +
                • +
                + {% endif %} + + + +
                  +
                • + + install_desktop + install_mobile + +
                  +

                  {{ __('apps.install') }}

                  +

                  + {{ __('apps.install_text') }} +

                  +
                  +
                • +
                +
                +
                + +
                + {{ error|safe }} +
                +
                diff --git a/templates/Navigation/navigation.html b/templates/Navigation/navigation.html new file mode 100644 index 0000000..7512c51 --- /dev/null +++ b/templates/Navigation/navigation.html @@ -0,0 +1,41 @@ +
                + diff --git a/templates/Notif/_notif.html b/templates/Notif/_notif.html new file mode 100644 index 0000000..b22631e --- /dev/null +++ b/templates/Notif/_notif.html @@ -0,0 +1,19 @@ +
                  +
                • + {% if picture %} + + {% else %} + notification + {% endif %} +
                  +

                  {{ title }}

                  + {% if body %} +

                  {{ body }}

                  + {% endif %} +
                  +
                • +
                diff --git a/templates/Notif/_notif_request.html b/templates/Notif/_notif_request.html new file mode 100644 index 0000000..fe58d5d --- /dev/null +++ b/templates/Notif/_notif_request.html @@ -0,0 +1,23 @@ +
                +

                {{ __('notification.request_title') }}

                + +
                  +
                • + + notifications_active + +
                  +

                  {{ __('notification.request_info') }}

                  +

                  {{ __('notification.request_info2') }}

                  +
                  +
                • +
                +
                +
                + +
                diff --git a/templates/NotificationConfig/_notificationconfig_push.html b/templates/NotificationConfig/_notificationconfig_push.html new file mode 100644 index 0000000..e0911f4 --- /dev/null +++ b/templates/NotificationConfig/_notificationconfig_push.html @@ -0,0 +1,46 @@ +{% if subscriptions %} +
                +
                +
                  +
                • + + circle_notifications + +
                  +

                  {{ __('notificationconfig.push_subscriptions') }}

                  +

                  {{ __('notificationconfig.push_subscriptions_text') }}

                  +
                  +
                • +
                +
                  + {% for value in subscriptions %} +
                • + + notifications + + +
                  + + +
                  +
                  +
                  +

                  + {{ __('omemo.last_activity') }}: {{ value.activity }} + {{ value.host }} +

                  +

                  {% if value.self %}{{ __('clients.this_device') }}{% else %}{{ __('notificationconfig.unknown_platform') }}{% endif %}

                  +
                  +
                • + {% endfor %} +
                +
                +
                +{% else %} +
                + notifications +

                {{ __('notificationconfig.push_subscriptions') }}

                +
                +{% endif %} diff --git a/templates/NotificationConfig/_notificationconfig_request.html b/templates/NotificationConfig/_notificationconfig_request.html new file mode 100644 index 0000000..1762d85 --- /dev/null +++ b/templates/NotificationConfig/_notificationconfig_request.html @@ -0,0 +1,18 @@ +
                  +
                • + + notifications_active + +
                  + +

                  {{ __('notification.request_info') }}

                  +

                  {{ __('notification.request_info2') }}

                  +
                  +
                • +
                + diff --git a/templates/NotificationConfig/notificationconfig.html b/templates/NotificationConfig/notificationconfig.html new file mode 100644 index 0000000..3b8711d --- /dev/null +++ b/templates/NotificationConfig/notificationconfig.html @@ -0,0 +1,4 @@ +
                +
                +
                +
                diff --git a/templates/Notifications/_notifications.html b/templates/Notifications/_notifications.html new file mode 100644 index 0000000..25b649c --- /dev/null +++ b/templates/Notifications/_notifications.html @@ -0,0 +1,76 @@ +
                + {% if requests %} +
                  +
                • +
                  +

                  {{ __('invitations.received') }}

                  +
                  +
                • +
                +
                  {% for value in requests %}
                • + + + + + check + + + close + +
                  +

                  + {{ __('invitations.adds_you', value.truename) }} +

                  +

                  {{ value.jid }}

                  +
                  +
                • {% endfor %}
                +
                + person_add +

                {{ __('invitations.no_new') }}

                +
                + {% endif %} + + {% if subscriptions %} +
                  +
                • +
                  +

                  {{ __('subscription.nil') }}

                  +
                  +
                • +
                +
                  {% for value in subscriptions %}
                • + + + + {% if value.ask == 'subscribe' %} + + chat_paste_go + + {% else %} + + add + + {% endif %} + + delete + +
                  +

                  + {{ value.truename }} +

                  +

                  {{ value.jid }}

                  +
                  +
                • {% endfor %}
                +
                + person_check +

                {{ __('invitations.no_subscriptions') }}

                +
                + {% endif %} + + {% if not requests and not subscriptions %} +
                + notifications +

                {{ __('invitations.no_new') }}

                +
                + {% endif %} +
                diff --git a/templates/Notifications/_notifications_add.html b/templates/Notifications/_notifications_add.html new file mode 100644 index 0000000..9387492 --- /dev/null +++ b/templates/Notifications/_notifications_add.html @@ -0,0 +1,56 @@ +
                +

                {% if edit %}{{ __('button.edit') }}{% else %}{{ __('roster.add_title') }}{% endif %}

                +
                  +
                • + + + +
                  +

                  + {{ contact.truename }} +

                  +

                  {{ contact.id }}

                  +
                  +
                • +
                +
                + {% if contact.id %} + + {% else %} +
                + + +
                + {% endif %} +
                + + +
                +
                + + + +
                +
                +
                +
                + + +
                diff --git a/templates/Notifications/_notifications_delete.html b/templates/Notifications/_notifications_delete.html new file mode 100644 index 0000000..4111689 --- /dev/null +++ b/templates/Notifications/_notifications_delete.html @@ -0,0 +1,18 @@ +
                +

                {{ __('delete.title') }}

                +
                +

                {{ __('delete.text') }}

                +
                +

                {{ jid }}

                +
                +
                + + +
                diff --git a/templates/Presence/_presence.html b/templates/Presence/_presence.html new file mode 100644 index 0000000..ed7d2aa --- /dev/null +++ b/templates/Presence/_presence.html @@ -0,0 +1,12 @@ +
              • + + + {{ __('status.my_avatar') }} + + +
                +

                + {{ contact.truename }} +

                +
                +
              • diff --git a/templates/Presence/_presence_logout.html b/templates/Presence/_presence_logout.html new file mode 100644 index 0000000..eaaccb6 --- /dev/null +++ b/templates/Presence/_presence_logout.html @@ -0,0 +1,17 @@ +
                +
                + exit_to_app +

                {{ __('status.logout_confirm') }}

                +
                +
                +
                + + +
                diff --git a/templates/Presence/_presence_menu.html b/templates/Presence/_presence_menu.html new file mode 100644 index 0000000..90f0e6e --- /dev/null +++ b/templates/Presence/_presence_menu.html @@ -0,0 +1,70 @@ +
                +
                +
                  +
                • + + + + + exit_to_app + + +
                  +

                  {{ contact.truename }}

                  +

                  {{ contact.id }}

                  +
                  +
                • +
                +
                + +
                  +
                • +
                  +

                  {{ __('status.status') }}

                  +
                  +
                • + {% for p in presences %} +
                • + + {{ p.icon }} + +
                  +

                  {{ p.label }}

                  +
                  +
                • + {% endfor %} + +
                  + +
                • + + + tune + + + +
                  +

                  {{ __('page.configuration') }}

                  +
                  +
                • +
                + +
                  +
                • +
                  +

                  + cloud_queue + Powered by Movim (Rust edition) +

                  +
                  +
                • +
                +
                diff --git a/templates/Presence/presence.html b/templates/Presence/presence.html new file mode 100644 index 0000000..3bb9b83 --- /dev/null +++ b/templates/Presence/presence.html @@ -0,0 +1,11 @@ + diff --git a/templates/Preview/_embed.html b/templates/Preview/_embed.html new file mode 100644 index 0000000..92ee502 --- /dev/null +++ b/templates/Preview/_embed.html @@ -0,0 +1,12 @@ +
              • + {% if image %} + + {% else %} + link + {% endif %} +
                +

                {% if title %}{{ title }}{% else %}{{ url }}{% endif %}

                + {% if description %}

                {{ description }}

                {% endif %} +

                {{ host }}

                +
                +
              • diff --git a/templates/Preview/_preview.html b/templates/Preview/_preview.html new file mode 100644 index 0000000..42fbd3e --- /dev/null +++ b/templates/Preview/_preview.html @@ -0,0 +1,23 @@ +
                  +
                • + + arrow_back + +
                • +
                + + + + diff --git a/templates/Preview/preview.html b/templates/Preview/preview.html new file mode 100644 index 0000000..2df5b85 --- /dev/null +++ b/templates/Preview/preview.html @@ -0,0 +1 @@ + diff --git a/templates/Register/_register_form.html b/templates/Register/_register_form.html new file mode 100644 index 0000000..05cbf59 --- /dev/null +++ b/templates/Register/_register_form.html @@ -0,0 +1,10 @@ +
                + {{ formh|safe }} + +
                diff --git a/templates/Register/_register_registered.html b/templates/Register/_register_registered.html new file mode 100644 index 0000000..52cc57a --- /dev/null +++ b/templates/Register/_register_registered.html @@ -0,0 +1,9 @@ +
                + account_box +

                {{ __('create.successfull') }}

                + + + {{ __('page.login') }} + +
                diff --git a/templates/Register/register.html b/templates/Register/register.html new file mode 100644 index 0000000..014fe5a --- /dev/null +++ b/templates/Register/register.html @@ -0,0 +1,22 @@ +
                +
                +
                +
                + person_add +

                {{ __('create.title') }}

                +

                {{ __('create.placeholder') }}

                +
                +
                + +
                +
                  +
                • +
                  +

                  {{ __('create.title') }} {{ __('create.server_on') }} {{ host }}

                  +

                  {{ __('create.loading') }}

                  +
                  +
                • +
                +
                +
                +
                diff --git a/templates/Rooms/_rooms_counter.html b/templates/Rooms/_rooms_counter.html new file mode 100644 index 0000000..87af6b5 --- /dev/null +++ b/templates/Rooms/_rooms_counter.html @@ -0,0 +1,12 @@ + + {% if not with_avatar %} + {{ c.title|firstLetter|addEmojis }} + {% endif %} + {% if c.notify == 2 and c.unreads > 0 %} + {{ c.unreads }} + {% elif c.quoted > 0 %} + {{ c.quoted }} + {% elif c.unreads > 0 %} + chat_bubble_outline + {% endif %} + diff --git a/templates/Rooms/_rooms_empty.html b/templates/Rooms/_rooms_empty.html new file mode 100644 index 0000000..a61682b --- /dev/null +++ b/templates/Rooms/_rooms_empty.html @@ -0,0 +1,11 @@ +
                  +
                • + + people_outline + +
                  +

                  {{ __('chatrooms.empty_text1') }}

                  +

                  {{ __('chatrooms.empty_text2') }}

                  +
                  +
                • +
                diff --git a/templates/Rooms/_rooms_room.html b/templates/Rooms/_rooms_room.html new file mode 100644 index 0000000..2b74e31 --- /dev/null +++ b/templates/Rooms/_rooms_room.html @@ -0,0 +1,71 @@ +
              • +
                  +
                • + + {{ counter|safe }} + + +
                  +

                  + {% if c.pinned %} + + push_pin + + {% endif %} + {% if not c.group and c.connected %} + + {{ c.count }} people + + {% endif %} + + {% if c.muji.count > 0 %} + phone + {% endif %} + {{ c.title }} + + + {% if c.notify == 0 %} + notifications_off + {% elif c.notify == 2 %} + notifications_active + {% endif %} + {% if c.description %}{{ c.description }}{% else %}{{ c.jid }}{% endif %} + +

                  +
                  + + progress_activity + + + edit + +
                • + {% for value in c.muji.participants %} +
                • + + line_curve + + + + +
                  +

                  + {% if value.screen %} + screen_share + {% endif %} + {% if value.video %} + videocam + {% endif %} + {{ value.nick }} +

                  +
                  +
                • + {% endfor %} +
                +
              • diff --git a/templates/Rooms/rooms.html b/templates/Rooms/rooms.html new file mode 100644 index 0000000..de5ece6 --- /dev/null +++ b/templates/Rooms/rooms.html @@ -0,0 +1,37 @@ +
                +
                  + +
                    +
                  • +
                    +

                    + {{ __('chatrooms.title') }} +

                    +
                    + + {{ __('chatrooms.filter_all') }} + {{ __('chatrooms.filter_connected') }} +
                  • +
                  + +
                    +
                  • + + + expand_less + + + expand_more + + +
                    +

                    + {{ __('chatrooms.hide_disconnected') }} +

                    +

                    + {{ __('chatrooms.show_all') }} +

                    +
                    +
                  • +
                  +
                  diff --git a/templates/RoomsUtils/_rooms_add.html b/templates/RoomsUtils/_rooms_add.html new file mode 100644 index 0000000..f28648b --- /dev/null +++ b/templates/RoomsUtils/_rooms_add.html @@ -0,0 +1,219 @@ +
                  + {% if id %} +
                    +
                  • + {% if conference %} + + + + + delete + + {% endif %} +
                    +

                    {% if conference %}{{ conference.title }}{% else %}{{ id }}{% endif %}

                    +

                    {{ __('chatrooms.edit') }}

                    +
                    +
                  • +
                  + {% else %} +

                  {{ __('chatrooms.create') }}

                  + {% endif %} + +
                  + {% if create %} +
                  +
                    +
                  • + + people_alt + + +
                    + + +
                    +
                    +
                    +

                    {{ __('room.group_chat') }}

                    +

                    {{ __('room.group_chat_text') }}

                    +
                    +
                  • +
                  • + + wifi_tethering + + +
                    + + +
                    +
                    +
                    +

                    {{ __('room.channel') }}

                    +

                    {{ __('room.channel_text') }}

                    +
                    +
                  • +
                  +
                  +
                  + + +
                  + {% endif %} + + {% if id and not create %} + + {% else %} +
                  + + +
                  + {% endif %} + +
                  +
                    + {% if not create %} +
                  • +
                    + +
                    +
                  • + {% endif %} + +
                  • + + person_book + +
                    + + +
                    +
                  • +
                  • + + edit_notifications + +
                    +
                    + +
                    + +
                    +
                  • +
                  • + + login + + +
                    + + +
                    +
                    +
                    +

                    {{ __('chatrooms.autojoin') }}

                    +
                    +
                  • +
                  • + + push_pin + + +
                    + + +
                    +
                    +
                    +

                    {{ __('chatrooms.pinned') }}

                    +
                    +
                  • +
                  +
                  +
                  +
                  +
                  + + +
                  + diff --git a/templates/RoomsUtils/_rooms_config.html b/templates/RoomsUtils/_rooms_config.html new file mode 100644 index 0000000..c5a236a --- /dev/null +++ b/templates/RoomsUtils/_rooms_config.html @@ -0,0 +1,31 @@ +
                  +
                    +
                  • + {% if owner %} + + delete + + {% endif %} + + + +
                    +

                    {{ title }}

                    +

                    {{ __('chatrooms.configure') }}

                    +
                    +
                  • +
                  +
                  + {{ form|safe }} +
                  +
                  + diff --git a/templates/RoomsUtils/_rooms_configure_user.html b/templates/RoomsUtils/_rooms_configure_user.html new file mode 100644 index 0000000..d8920b9 --- /dev/null +++ b/templates/RoomsUtils/_rooms_configure_user.html @@ -0,0 +1,75 @@ +
                  +

                  {{ __('room.configure_user') }}

                  +
                    +
                  • + + + +
                    +

                    {{ occupant.nick }}

                    +

                    {% if occupant.jid %}{{ occupant.jid }}{% endif %}

                    +
                    +
                  • +
                  + +
                    + {% if occupant.jid %} +
                  • + + assignment_ind + +
                    +
                    + +
                    + +
                    +
                  • + {% endif %} +
                  • + + voice_selection + + +
                    + + +
                    +
                    +
                    +

                    {{ __('room.allowed_send_messages') }}

                    +
                    +
                  • +
                    +
                  • + person_remove +

                    {{ __('room.kick') }}

                    +
                  • + {% if occupant.jid %} +
                  • + block +

                    {{ __('room.ban') }}

                    +
                  • + {% endif %} +
                  +
                  +
                  + +
                  diff --git a/templates/RoomsUtils/_rooms_destroy.html b/templates/RoomsUtils/_rooms_destroy.html new file mode 100644 index 0000000..a95f810 --- /dev/null +++ b/templates/RoomsUtils/_rooms_destroy.html @@ -0,0 +1,18 @@ +
                  +

                  {{ __('chatrooms.destroy_title') }}

                  +
                  +

                  {{ __('chatrooms.destroy_text') }}

                  +
                  +

                  {{ room }}

                  +
                  +
                  + + +
                  diff --git a/templates/RoomsUtils/_rooms_drawer.html b/templates/RoomsUtils/_rooms_drawer.html new file mode 100644 index 0000000..7e5bd1c --- /dev/null +++ b/templates/RoomsUtils/_rooms_drawer.html @@ -0,0 +1,155 @@ +
                  +
                  +
                    +
                  • + + + + edit + + + delete + + +
                    +

                    + {{ c.title }} +

                    +

                    {{ room }}

                    +
                    +
                  • +
                  +
                  + +
                    + {% if c.group %} +
                  • + + people_alt + +
                    +

                    {{ __('room.group_chat') }}

                    +

                    {{ __('room.group_chat_text') }}

                    +
                    +
                  • + {% else %} +
                  • + + wifi_tethering + +
                    +

                    {{ __('room.channel') }}

                    +

                    {{ __('room.channel_text') }}

                    +
                    +
                  • + {% endif %} +
                  +
                    + {% if c.subject %} +
                  • + + info_i + +
                    +

                    {{ __('page.about') }}

                    +

                    {{ subject_html|safe }}

                    +
                    +
                  • + {% endif %} + {% if c.description %} +
                  • + + short_text + +
                    +

                    {{ __('information.description') }}

                    +

                    {{ c.description }}

                    +
                    +
                  • + {% endif %} + {% if c.public %} +
                  • + + explore + +
                    +

                    {{ __('room.public_muc') }}

                    +

                    {{ __('room.public_muc_text') }}

                    +
                    +
                  • + {% endif %} + {% if c.mam %} +
                  • + + archive + +
                    +

                    {{ __('room.archived') }}

                    +

                    {{ __('room.archived_text') }}

                    +
                    +
                  • + {% endif %} + +
                  • +
                    +

                    {{ __('room.notify_title') }}

                    +
                    +
                  • +
                  • + + {% if c.notify == 0 %}notifications_off{% elif c.notify == 2 %}notifications_active{% else %}notifications{% endif %} + + + settings + +
                    +

                    {{ __('room.notify_title') }}

                    +

                    {% if c.notify == 0 %}{{ __('room.notify_never') }}{% elif c.notify == 2 %}{{ __('room.notify_always') }}{% else %}{{ __('room.notify_mentioned') }}{% endif %}

                    +
                    +
                  • +
                  + +
                    +
                  • +
                    +

                    {{ __('chatrooms.members') }} {{ c.count }}

                    +
                    +
                  • +
                  • + + person_add + + + chevron_right + +
                    +

                    {{ __('room.group_chat_add') }}

                    +
                    +
                  • +
                  +
                    + {{ presences|safe }} +
                  + + {% if c.affiliation == 'owner' %} +
                    +
                    +
                  • + settings +

                    {{ __('chatrooms.config') }}

                    +
                  • +
                  • + delete_forever +

                    {{ __('button.destroy') }}

                    +
                  • +
                  + {% endif %} +
                  diff --git a/templates/RoomsUtils/_rooms_invite.html b/templates/RoomsUtils/_rooms_invite.html new file mode 100644 index 0000000..27f088a --- /dev/null +++ b/templates/RoomsUtils/_rooms_invite.html @@ -0,0 +1,44 @@ +
                  +
                  +

                  {{ __('room.invite') }}

                  +

                  {{ room }}

                  +
                  + + + {% for value in contacts %} + + + +
                  +
                  +
                    +
                  • + + content_copy + +
                    + + +
                    +
                  • +
                  +
                  +
                  +
                  +
                  + + +
                  diff --git a/templates/RoomsUtils/_rooms_presences_list.html b/templates/RoomsUtils/_rooms_presences_list.html new file mode 100644 index 0000000..3f0978c --- /dev/null +++ b/templates/RoomsUtils/_rooms_presences_list.html @@ -0,0 +1,58 @@ +{% set ns = namespace(affiliation=none) %} +{% for value in presences %} + {% if ns.affiliation != value.affiliation_txt and page == 1 and not compact %} +
                • + {% if value.affiliation == 'owner' %} + + star + + {% elif value.affiliation == 'admin' %} + + star + + {% endif %} +
                  +

                  + {{ value.affiliation_txt }} +

                  +
                  +
                • + {% endif %} +
                • + + + + {% if not compact %} + {% if value.jid and value.jid != me %} + + comment + + {% elif not value.jid and not value.self %} + + comment + + {% endif %} + {% if can_moderate and not value.self %} + + manage_accounts + + {% endif %} + {% endif %} +
                  +

                  + {{ value.nick }} + {% if value.role == 'visitor' %} + + voice_selection_off + + {% endif %} +

                  + {% if value.status and not compact %} +

                  {{ value.status }}

                  + {% endif %} +
                  +
                • + {% set ns.affiliation = value.affiliation_txt %} +{% endfor %} diff --git a/templates/RoomsUtils/_rooms_remove.html b/templates/RoomsUtils/_rooms_remove.html new file mode 100644 index 0000000..8bc040d --- /dev/null +++ b/templates/RoomsUtils/_rooms_remove.html @@ -0,0 +1,18 @@ +
                  +

                  {{ __('chatrooms.remove_title') }}

                  +
                  +

                  {{ __('chatrooms.remove_text') }}

                  +
                  +

                  {{ room }}

                  +
                  +
                  + + +
                  diff --git a/templates/RoomsUtils/_rooms_room_discover.html b/templates/RoomsUtils/_rooms_room_discover.html new file mode 100644 index 0000000..57e19f7 --- /dev/null +++ b/templates/RoomsUtils/_rooms_room_discover.html @@ -0,0 +1,56 @@ +
                  + {% if room %} +
                    +
                  • +
                    +

                    {{ __('chatrooms.discover') }}

                    +

                    {{ room }}

                    +
                    +
                  • +
                  + {% else %} +

                  {{ __('chatrooms.discover') }}

                  + {% endif %} + +
                  + {% if not room %} + + + +
                  +
                    +
                  • + + search + +
                    + + +
                    +
                  • +
                  +
                  + {% else %} + + {% endif %} +
                  + +
                  +
                  +
                  + + +
                  diff --git a/templates/RoomsUtils/_rooms_room_discover_error.html b/templates/RoomsUtils/_rooms_room_discover_error.html new file mode 100644 index 0000000..2210088 --- /dev/null +++ b/templates/RoomsUtils/_rooms_room_discover_error.html @@ -0,0 +1,11 @@ +
                    +
                  • + + error + +
                    +

                    +

                    {{ __('chatrooms.disco_error') }}

                    +
                    +
                  • +
                  diff --git a/templates/RoomsUtils/_rooms_room_discover_result.html b/templates/RoomsUtils/_rooms_room_discover_result.html new file mode 100644 index 0000000..9d5661a --- /dev/null +++ b/templates/RoomsUtils/_rooms_room_discover_result.html @@ -0,0 +1,35 @@ +{% if muc %} +
                    +
                  • +
                    +

                    + {% if occupants %} + {{ occupants }} people + {% endif %} + {{ name }} + + {% if group %} + people_alt {{ __('room.group_chat') }} + {% else %} + wifi_tethering {{ __('room.channel') }} + {% endif %} + +

                    +

                    {{ description }}

                    +

                    +
                    +
                  • +
                  +{% else %} +
                    +
                  • + + error + +
                    +

                    +

                    {{ __('chatrooms.disco_not_muc') }}

                    +
                    +
                  • +
                  +{% endif %} diff --git a/templates/RoomsUtils/_rooms_subject.html b/templates/RoomsUtils/_rooms_subject.html new file mode 100644 index 0000000..72fe08c --- /dev/null +++ b/templates/RoomsUtils/_rooms_subject.html @@ -0,0 +1,20 @@ +
                  +
                  +

                  {{ __('chatrooms.subject') }}

                  + +
                  + + +
                  +
                  +
                  +
                  + + +
                  diff --git a/templates/Search/_search.html b/templates/Search/_search.html new file mode 100644 index 0000000..d837442 --- /dev/null +++ b/templates/Search/_search.html @@ -0,0 +1,55 @@ + +
                  +
                    + +
                  +
                  diff --git a/templates/Search/_search_results.html b/templates/Search/_search_results.html new file mode 100644 index 0000000..98280f5 --- /dev/null +++ b/templates/Search/_search_results.html @@ -0,0 +1,37 @@ +{% if jid %} +
                    +
                  • +
                    +

                    {{ __('search.keyword') }}

                    +
                    +
                  • +
                  • + + + + + comment + +
                    +

                    {{ jid }}

                    +

                    {{ __('chats.add') }}

                    +
                    +
                  • +
                  • + + person_add + +
                    +

                    {{ __('roster.add_title') }}

                    +
                    +
                  • +
                  • + + groups + +
                    +

                    {{ __('chatrooms.join') }}

                    +
                    +
                  • +
                  +{% endif %} diff --git a/templates/Search/_search_roster.html b/templates/Search/_search_roster.html new file mode 100644 index 0000000..5aedbd9 --- /dev/null +++ b/templates/Search/_search_roster.html @@ -0,0 +1,97 @@ +{% if contacts %} +
                • +
                  +

                  {{ __('page.contacts') }}

                  +
                  +
                • + {% for value in contacts %} +
                • + + + + + + + {% if value.call_audio %} + + + phone + + + {% endif %} + {% if value.call_video %} + + + videocam + + + {% endif %} + + + + comment + + +
                  +

                  + {{ value.truename }} + {% for g in value.groups %} + + {{ g }} + + {% endfor %} + {% if value.subscription and value.subscription != 'both' %} + + {% if value.subscription == 'to' %} + arrow_upward + {% elif value.subscription == 'from' %} + arrow_downward + {% else %} + block + {% endif %} + + {% endif %} +

                  + {% if value.status %} +

                  {{ value.status }}

                  + {% elif value.presence_text %} +

                  {{ value.presence_text }}

                  + {% endif %} +
                  +
                • + {% endfor %} + + {% if contacts|length > 7 %} +
                • + + expand_more + +
                  +

                  + {{ __('search.show_complete_roster') }} + {{ contacts|length }} people +

                  +
                  +
                • + {% endif %} +{% else %} +
                    +
                  • + + help + +
                    +

                    {{ __('search.no_contacts_title') }}

                    +

                    {{ __('search.no_contacts_text') }}

                    +
                    +
                  • +
                  +{% endif %} diff --git a/templates/Shortcuts/_shortcuts.html b/templates/Shortcuts/_shortcuts.html new file mode 100644 index 0000000..e212939 --- /dev/null +++ b/templates/Shortcuts/_shortcuts.html @@ -0,0 +1,15 @@ +{% for value in shortcuts %} +
                • + + + + + + + chat_paste_go + +
                  +

                  {{ value.name }}

                  +
                  +
                • +{% endfor %} diff --git a/templates/Shortcuts/shortcuts.html b/templates/Shortcuts/shortcuts.html new file mode 100644 index 0000000..1a6a2d7 --- /dev/null +++ b/templates/Shortcuts/shortcuts.html @@ -0,0 +1,16 @@ + + diff --git a/templates/Snap/snap.html b/templates/Snap/snap.html new file mode 100644 index 0000000..4e79c59 --- /dev/null +++ b/templates/Snap/snap.html @@ -0,0 +1,34 @@ +
                  + + + +
                  + + + + + + +
                  +
                    +
                  • + + arrow_back + +
                    +
                  • +
                  +
                  + diff --git a/templates/Stickers/_stickers_emojis.html b/templates/Stickers/_stickers_emojis.html new file mode 100644 index 0000000..56e6e23 --- /dev/null +++ b/templates/Stickers/_stickers_emojis.html @@ -0,0 +1,112 @@ +
                  +
                  + + {% if suggested %} +
                  + {% for value in suggested %} + + {% endfor %} +
                  + {% endif %} + +
                  + :hearts: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                  +
                  + +
                    + +
                  diff --git a/templates/Subscribe/subscribe.html b/templates/Subscribe/subscribe.html new file mode 100644 index 0000000..b95631c --- /dev/null +++ b/templates/Subscribe/subscribe.html @@ -0,0 +1,25 @@ +
                  +
                  + how_to_reg +

                  {{ __('subscribe.title') }}

                  +

                  {{ __('subscribe.info') }}

                  +
                  + +
                    + {% for server in servers %} +
                  • + person + + {{ server|firstLetter }} + + + chevron_right + +
                    +

                    {{ server }}

                    +
                    +
                  • + {% endfor %} +
                  +
                  diff --git a/templates/Toast/toast.html b/templates/Toast/toast.html new file mode 100644 index 0000000..515567c --- /dev/null +++ b/templates/Toast/toast.html @@ -0,0 +1 @@ +
                  diff --git a/templates/Upload/_upload.html b/templates/Upload/_upload.html new file mode 100644 index 0000000..682416a --- /dev/null +++ b/templates/Upload/_upload.html @@ -0,0 +1,82 @@ +
                  +

                  {{ __('upload.title') }}

                  +
                    +
                  • + + image + + + insert_drive_file + +
                    +

                    {{ __('upload.choose') }}

                    + {% if max_size %} +

                    {{ __('upload.max_size', max_size_human) }}

                    + {% endif %} + + +
                    +
                  • +
                  +
                    +
                    + +
                  • + + system_update_alt + photo_size_select_large + +
                    +

                    + {{ __('upload.drag_drop') }} +

                    +

                    + {{ __('upload.info') }} +

                    +
                    +
                  • +
                  • +
                    +

                    +

                    +
                    + + gesture + +
                  • +
                    +
                  +
                    +
                  • + + warning + +
                    +

                    +

                    {{ __('upload.encrypted_warning') }}

                    +
                    +
                  • +
                  +
                  +
                  +
                    +
                  • + + + + + + +
                    +

                    +
                    +
                  • +
                  + + +
                  + diff --git a/templates/Vcard4/_vcard4_form.html b/templates/Vcard4/_vcard4_form.html new file mode 100644 index 0000000..2d57d52 --- /dev/null +++ b/templates/Vcard4/_vcard4_form.html @@ -0,0 +1,61 @@ +
                  +
                  +
                    +
                  • + +
                    + + +
                    +
                  • +
                  • + +
                    + + + lightbulb {{ __('vcard.nickname_info') }} +
                    +
                  • +
                  • + +
                    + + +
                    +
                  • +
                  • + +
                    + + +
                    +
                  • +
                  • + +
                    + + +
                    +
                  • +
                  +
                  + +
                  + + +
                  +
                  diff --git a/templates/Vcard4/vcard4.html b/templates/Vcard4/vcard4.html new file mode 100644 index 0000000..029b15a --- /dev/null +++ b/templates/Vcard4/vcard4.html @@ -0,0 +1,6 @@ +
                  +
                  +
                  + {{ form|safe }} +
                  +
                  diff --git a/templates/Visio/_visio_conference_info.html b/templates/Visio/_visio_conference_info.html new file mode 100644 index 0000000..8f4c453 --- /dev/null +++ b/templates/Visio/_visio_conference_info.html @@ -0,0 +1,6 @@ +
                  + adaptive_audio_mic + +

                  {{ conference.title }}

                  +

                  {{ __('visio.waiting_participants') }}

                  +
                  diff --git a/templates/Visio/_visio_contact_info.html b/templates/Visio/_visio_contact_info.html new file mode 100644 index 0000000..7678ba5 --- /dev/null +++ b/templates/Visio/_visio_contact_info.html @@ -0,0 +1,7 @@ +
                  +
                  + +
                  +
                  +

                  {{ contact.truename }}

                  +

                  diff --git a/templates/Visio/_visio_lobby.html b/templates/Visio/_visio_lobby.html new file mode 100644 index 0000000..71bc17b --- /dev/null +++ b/templates/Visio/_visio_lobby.html @@ -0,0 +1,126 @@ +
                  +
                    +
                  • + {% if contact %} + + + +
                    +

                    + {% if calling %} + call + {{ __('visiolobby.calling', contact.truename) }} + {% else %} + phone_callback + {{ __('visiolobby.called', contact.truename) }} + {% endif %} +

                    +

                    {{ __('visiolobby.setup') }}

                    +
                    + {% else %} + + + +
                    +

                    + {% if calling %} + call + {{ __('visiolobby.muji_create', conference.title) }} + {% else %} + phone_callback + {{ __('visiolobby.muji_join', conference.title) }} + {% endif %} +

                    +

                    {{ __('visiolobby.setup') }}

                    +
                    + {% endif %} +
                  • +
                  +
                  + camera_video +

                  {{ __('visiolobby.devices_disco') }}

                  +
                  +
                  +
                  +
                    +
                  • + + settings_voice + mic_off + +
                    +
                    + +
                    + + + {{ __('visiolobby.no_mic_sound') }}
                    + {{ __('visiolobby.no_mic_sound2') }} +
                    +
                    +
                  • +
                  • +
                    +
                    + + + + + + + + + + +
                    +
                    +
                  • + {% if withvideo %} +
                  • + + video_camera_back + +
                    +
                    + +
                    + +
                    +
                  • +
                  • + +
                    +
                  • + {% endif %} +
                  +
                  +
                  +
                  +
                  + {% if not contact %} + + + {% elif calling %} + + + {% else %} + + + {% endif %} +
                  diff --git a/templates/Visio/_visio_remote_goodbye.html b/templates/Visio/_visio_remote_goodbye.html new file mode 100644 index 0000000..7b56677 --- /dev/null +++ b/templates/Visio/_visio_remote_goodbye.html @@ -0,0 +1,25 @@ +
                  +
                    +
                  • + + + +
                    +

                    + call + {{ __('visiolobby.calling', contact.truename) }} +

                    +

                    {{ __('visio.hang_up') }}

                    +
                    +
                  • +
                  +

                  {{ __('visio.hang_up_text') }}

                  +
                  +
                  + + +
                  diff --git a/templates/Visio/visio.html b/templates/Visio/visio.html new file mode 100644 index 0000000..f570158 --- /dev/null +++ b/templates/Visio/visio.html @@ -0,0 +1,84 @@ +
                  +
                  +
                    +
                  • + + back_to_tab + + + fullscreen + + + tile_small + + + + dialpad + + + mic + + + + videocam_off + + + switch_camera + + + screen_share + + +
                    +

                    +

                    + + + mic_none + {{ __('visiolobby.no_mic_sound') }} + +

                    +
                    +
                  • +
                  +
                  + + +
                  +
                  + + + +
                  +
                  + + + +
                  +
                  + + + +
                  +
                  + + + +
                  + +

                  +
                  + +
                  + +
                    +
                  • +
                    +
                  • +
                  + + + + +
                  + diff --git a/templates/views/account.html b/templates/views/account.html new file mode 100644 index 0000000..bb8922b --- /dev/null +++ b/templates/views/account.html @@ -0,0 +1,17 @@ +
                  +
                  +
                  +
                    +
                  • + + arrow_back + +
                    +

                    {{ __('page.account_creation') }}

                    +
                    +
                  • +
                  +
                  + {{ widgets.Subscribe|safe }} +
                  +
                  diff --git a/templates/views/chat.html b/templates/views/chat.html new file mode 100644 index 0000000..0205165 --- /dev/null +++ b/templates/views/chat.html @@ -0,0 +1,36 @@ +{{ widgets.Search|safe }} +{{ widgets.Stickers|safe }} +{{ widgets.Notifications|safe }} +{{ widgets.SendTo|safe }} +{{ widgets.ContactActions|safe }} +{{ widgets.AdHoc|safe }} +{{ widgets.ChatOmemo|safe }} + + + +{{ widgets.BottomNavigation|safe }} + +
                  + {{ widgets.Upload|safe }} + {{ widgets.Chat|safe }} + {{ widgets.ChatActions|safe }} +
                  + + {{ widgets.Chats|safe }} + {{ widgets.Rooms|safe }} + {{ widgets.RoomsUtils|safe }} +
                  +
                  + +{{ widgets.Dictaphone|safe }} +{{ widgets.Snap|safe }} +{{ widgets.Draw|safe }} + +{{ widgets.Tabs|safe }} +{{ widgets.RoomsExplore|safe }} diff --git a/templates/views/common.html b/templates/views/common.html new file mode 100644 index 0000000..cee1356 --- /dev/null +++ b/templates/views/common.html @@ -0,0 +1,47 @@ +{% if js_check %} + +{% endif %} + +
                  +
                  +
                    +
                  • + + progress_activity + + + cloud_sync + +
                    +

                    + {{ __('error.websocket_connect') }} +

                    +

                    + {{ __('error.websocket') }} +

                    +
                    +
                  • +
                  +
                  +{{ widgets.Dialog|safe }} +{{ widgets.Drawer|safe }} +{{ widgets.Confirm|safe }} +{{ widgets.Preview|safe }} +{{ widgets.Notif|safe }} +{{ widgets.Toast|safe }} +{% if logged %} + {{ widgets.Visio|safe }} +{% endif %} +
                  diff --git a/templates/views/configuration.html b/templates/views/configuration.html new file mode 100644 index 0000000..327a0c4 --- /dev/null +++ b/templates/views/configuration.html @@ -0,0 +1,34 @@ +{{ widgets.Search|safe }} +{{ widgets.Notifications|safe }} +{{ widgets.ContactActions|safe }} + +{{ widgets.BottomNavigation|safe }} +
                  +
                  +
                  +
                    +
                  • + + tune + +
                    +

                    {{ __('page.configuration') }}

                    +
                    +
                  • +
                  +
                  + {{ widgets.Tabs|safe }} + + {{ widgets.Vcard4|safe }} + {{ widgets.Avatar|safe }} + {{ widgets.Config|safe }} + {{ widgets.Account|safe }} + {{ widgets.NotificationConfig|safe }} + {{ widgets.Blocked|safe }} +
                  +
                  +{{ widgets.Upload|safe }} diff --git a/templates/views/login.html b/templates/views/login.html new file mode 100644 index 0000000..8d41bd3 --- /dev/null +++ b/templates/views/login.html @@ -0,0 +1,3 @@ +
                  + {{ widgets.Login|safe }} +
                  diff --git a/templates/views/notfound.html b/templates/views/notfound.html new file mode 100644 index 0000000..ba18db9 --- /dev/null +++ b/templates/views/notfound.html @@ -0,0 +1,10 @@ +
                  +
                  +
                  + explore_off +

                  404

                  +

                  {{ __('page.not_found') }}

                  + {{ __('page.chats') }} +
                  +
                  +
                  diff --git a/templates/views/page.html b/templates/views/page.html new file mode 100644 index 0000000..f57a23e --- /dev/null +++ b/templates/views/page.html @@ -0,0 +1,23 @@ + + + + + {{ title }} + + + + + + + + + + + + {{ head|safe }} + + + {{ common|safe }} + {{ content|safe }} + + diff --git a/templates/views/register.html b/templates/views/register.html new file mode 100644 index 0000000..dd46727 --- /dev/null +++ b/templates/views/register.html @@ -0,0 +1,17 @@ +
                  +
                  +
                  +
                    +
                  • + + arrow_back + +
                    +

                    {{ __('page.account_creation') }}

                    +
                    +
                  • +
                  +
                  + {{ widgets.Register|safe }} +
                  +
                  diff --git a/tests/e2e/.gitignore b/tests/e2e/.gitignore new file mode 100644 index 0000000..0024751 --- /dev/null +++ b/tests/e2e/.gitignore @@ -0,0 +1,7 @@ +xmpp/ +xmpp-src/ +shots/ +data/ +server.log +server.pid +*.out diff --git a/tests/e2e/README.md b/tests/e2e/README.md new file mode 100644 index 0000000..e1af086 --- /dev/null +++ b/tests/e2e/README.md @@ -0,0 +1,20 @@ +# End-to-end tests + +They drive a running movim-rs (and, for the `browser_*` ones, the real Movim +frontend in a headless Chromium) against a local Prosody. + + ./setup.sh # once: builds Prosody locally, creates alice, bob and carol + cargo build && ./run.sh # starts movim-rs on 127.0.0.1:8099 + uv run --with websockets --with requests python e2e.py + uv run --with websockets --with requests python e2e_muc.py + uv run --with websockets --with requests python setup_roster.py # alice and bob become contacts + uv run --with playwright python -m playwright install chromium + uv run --with playwright python browser_smoke.py # also browser_call, browser_omemo, ... + uv run --with playwright python browser_muji.py # 3-way group call (--video for video) + uv run --with playwright python browser_preview.py # link previews (serves pages on :8765) + +Screenshots are written to `shots/`. + +On a fresh database the first login replays the whole archive (MAM), so the +scripts match on the ids of the messages they send rather than on the first +message that shows up. The Python clients send no timezone, so times are UTC. diff --git a/tests/e2e/__pycache__/browser.cpython-313.pyc b/tests/e2e/__pycache__/browser.cpython-313.pyc new file mode 100644 index 0000000..2691fa8 Binary files /dev/null and b/tests/e2e/__pycache__/browser.cpython-313.pyc differ diff --git a/tests/e2e/__pycache__/e2e.cpython-313.pyc b/tests/e2e/__pycache__/e2e.cpython-313.pyc new file mode 100644 index 0000000..dd21ea9 Binary files /dev/null and b/tests/e2e/__pycache__/e2e.cpython-313.pyc differ diff --git a/tests/e2e/__pycache__/e2e.cpython-314.pyc b/tests/e2e/__pycache__/e2e.cpython-314.pyc new file mode 100644 index 0000000..1c78b51 Binary files /dev/null and b/tests/e2e/__pycache__/e2e.cpython-314.pyc differ diff --git a/tests/e2e/browser.py b/tests/e2e/browser.py new file mode 100644 index 0000000..70fdee5 --- /dev/null +++ b/tests/e2e/browser.py @@ -0,0 +1,66 @@ +"""Drive the real Movim frontend served by movim-rs with a headless Chromium.""" +import asyncio, sys, os +from playwright.async_api import async_playwright + +BASE = "http://127.0.0.1:8099" +OUT = os.path.dirname(os.path.abspath(__file__)) + "/shots" +os.makedirs(OUT, exist_ok=True) + + +async def login(browser, jid, password, name): + ctx = await browser.new_context(viewport={"width": 1400, "height": 900}) + page = await ctx.new_page() + errors = [] + page.on("pageerror", lambda e: errors.append(f"[{name}] pageerror: {e} {e.stack[:600] if e.stack else ''}")) + page.on("console", lambda m: m.type == "error" and errors.append(f"[{name}] console: {m.text}")) + await page.goto(BASE + "/login") + await page.wait_for_selector("#login_widget input[type=submit]:not([disabled])", timeout=15000) + await page.fill("input#username", jid) + await page.fill("input#password", password) + await page.click("#login_widget input[type=submit]") + await page.wait_for_url("**/chat**", timeout=30000) + await page.wait_for_timeout(3000) + await page.screenshot(path=f"{OUT}/{name}_1_chat.png") + return ctx, page, errors + + +async def main(): + async with async_playwright() as p: + browser = await p.chromium.launch() + actx, alice, aerr = await login(browser, "alice@localhost", "alicepass", "alice") + bctx, bob, berr = await login(browser, "bob@localhost", "bobpass", "bob") + + # Alice opens the discussion with Bob + await alice.goto(BASE + "/chat/bob@localhost") + await alice.wait_for_selector("#chat_textarea", timeout=15000) + await alice.wait_for_timeout(2000) + await alice.fill("#chat_textarea", "Hello from the browser 🙂") + await alice.press("#chat_textarea", "Enter") + await alice.wait_for_timeout(2000) + await alice.screenshot(path=f"{OUT}/alice_2_sent.png") + + # Bob sees the chat in the list and opens it + await bob.wait_for_timeout(1000) + await bob.screenshot(path=f"{OUT}/bob_2_list.png") + await bob.goto(BASE + "/chat/alice@localhost") + await bob.wait_for_selector("#chat_textarea", timeout=15000) + await bob.wait_for_timeout(2500) + await bob.screenshot(path=f"{OUT}/bob_3_chat.png") + + bubbles = await bob.locator("#chat_widget .bubble p").all_inner_texts() + print("bob bubbles:", bubbles[-5:]) + + # Mobile layout + mctx = await browser.new_context(viewport={"width": 400, "height": 800}, storage_state=await bctx.storage_state()) + mobile = await mctx.new_page() + await mobile.goto(BASE + "/chat") + await mobile.wait_for_timeout(3000) + await mobile.screenshot(path=f"{OUT}/bob_4_mobile.png") + + for e in aerr + berr: + print(e) + await browser.close() + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/tests/e2e/browser_call.py b/tests/e2e/browser_call.py new file mode 100644 index 0000000..d60993c --- /dev/null +++ b/tests/e2e/browser_call.py @@ -0,0 +1,40 @@ +import asyncio +from playwright.async_api import async_playwright +from browser import login, BASE, OUT + +async def main(): + async with async_playwright() as p: + browser = await p.chromium.launch(args=["--use-fake-ui-for-media-stream", "--use-fake-device-for-media-stream"]) + actx, alice, aerr = await login(browser, "alice@localhost", "alicepass", "callalice") + bctx, bob, berr = await login(browser, "bob@localhost", "bobpass", "callbob") + for c in (actx, bctx): + await c.grant_permissions(["microphone", "camera"], origin=BASE) + await alice.goto(BASE + "/chat/bob@localhost") + await alice.wait_for_selector("#chat_textarea", timeout=15000) + await alice.wait_for_timeout(3000) + await alice.screenshot(path=f"{OUT}/call_0_header.png") + btn = alice.locator("#chat_header span.control.icon[title]").first + print("call buttons:", await alice.locator("#chat_header span.control.icon[title]").count()) + await btn.click() + await alice.wait_for_selector("#lobby_start:not(.disabled)", timeout=15000) + await alice.screenshot(path=f"{OUT}/call_1_lobby.png") + await alice.click("#lobby_start") + await bob.wait_for_selector("#lobby_start", timeout=15000) + await bob.wait_for_timeout(1500) + await bob.screenshot(path=f"{OUT}/call_2_incoming.png") + await bob.wait_for_selector("#lobby_start:not(.disabled)", timeout=15000) + await bob.click("#lobby_start") + await alice.wait_for_timeout(6000) + await alice.screenshot(path=f"{OUT}/call_3_alice.png") + await bob.screenshot(path=f"{OUT}/call_3_bob.png") + states = await alice.evaluate("Object.values(MovimJingles.sessions || {}).map(s => s.pc && s.pc.connectionState)") + print("alice peer connection states:", states) + # Hang up + await alice.evaluate("Visio_ajaxGoodbye(document.querySelector('#visio').dataset.jid || 'bob@localhost', Object.keys(MovimJingles.sessions)[0] ? MovimJingles.sessions[Object.keys(MovimJingles.sessions)[0]].id : '')") + await alice.wait_for_timeout(3000) + await bob.screenshot(path=f"{OUT}/call_4_bob_end.png") + for e in aerr + berr: + print(e) + await browser.close() + +asyncio.run(main()) diff --git a/tests/e2e/browser_config.py b/tests/e2e/browser_config.py new file mode 100644 index 0000000..8a54448 --- /dev/null +++ b/tests/e2e/browser_config.py @@ -0,0 +1,36 @@ +import asyncio, time +from playwright.async_api import async_playwright +from browser import login, BASE, OUT + +async def main(): + async with async_playwright() as p: + browser = await p.chromium.launch() + # Account creation + ctx = await browser.new_context(viewport={"width": 1200, "height": 900}) + page = await ctx.new_page() + errors = [] + page.on("pageerror", lambda e: errors.append(f"pageerror: {e}")) + await page.goto(BASE + "/account") + await page.wait_for_timeout(1000) + await page.screenshot(path=f"{OUT}/reg_1_account.png") + await page.click("#subscribe li.block") + await page.wait_for_selector("form[name=data] input[name=username]", timeout=15000) + await page.screenshot(path=f"{OUT}/reg_2_form.png") + user = f"carol{int(time.time())}" + await page.fill("form[name=data] input[name=username]", user) + await page.fill("form[name=data] input[name=password]", "carolpass") + await page.click("form[name=data] button") + await page.wait_for_timeout(2500) + await page.screenshot(path=f"{OUT}/reg_3_done.png") + print("registered", user, "->", await page.locator("#subscribe .placeholder h4").all_inner_texts()) + + # Configuration page + ctx2, page2, errors2 = await login(browser, f"{user}@localhost", "carolpass", "carol") + await page2.goto(BASE + "/configuration") + await page2.wait_for_timeout(3000) + await page2.screenshot(path=f"{OUT}/config_1.png") + for e in errors + errors2: + print(e) + await browser.close() + +asyncio.run(main()) diff --git a/tests/e2e/browser_logout.py b/tests/e2e/browser_logout.py new file mode 100644 index 0000000..274661e --- /dev/null +++ b/tests/e2e/browser_logout.py @@ -0,0 +1,35 @@ +import os +import asyncio +from playwright.async_api import async_playwright +from browser import login, BASE, OUT + +async def main(): + async with async_playwright() as p: + browser = await p.chromium.launch() + ctx, page, errors = await login(browser, "alice@localhost", "alicepass", "logout") + await page.evaluate("Presence_ajaxAskLogout()") + await page.wait_for_timeout(800) + await page.click("#dialog footer button[name=submit]") + await page.wait_for_url("**/login**", timeout=15000) + await page.wait_for_timeout(2000) + print("after logout:", page.url, "quick login keys:", await page.evaluate("localStorage.getItem('quickDeviceId')")) + await page.screenshot(path=f"{OUT}/logout.png") + # Login again, then reload: quick login must work after a server restart + await page.fill("input#username", "alice@localhost") + await page.fill("input#password", "alicepass") + await page.click("#login_widget input[type=submit]") + await page.wait_for_url("**/chat**", timeout=30000) + print("logged again:", page.url) + import subprocess + subprocess.run([os.path.join(os.path.dirname(os.path.abspath(__file__)), "run.sh")]) + await page.wait_for_timeout(1000) + await page.reload() + await page.wait_for_url("**/chat**", timeout=40000) + await page.wait_for_timeout(8000) + print("after server restart:", page.url) + await page.screenshot(path=f"{OUT}/restart.png") + for e in errors: + print(e[:200]) + await browser.close() + +asyncio.run(main()) diff --git a/tests/e2e/browser_muc.py b/tests/e2e/browser_muc.py new file mode 100644 index 0000000..06e4efe --- /dev/null +++ b/tests/e2e/browser_muc.py @@ -0,0 +1,34 @@ +import asyncio, os +from playwright.async_api import async_playwright +from browser import login, BASE, OUT + +async def main(): + async with async_playwright() as p: + browser = await p.chromium.launch() + ctx, page, errors = await login(browser, "bob@localhost", "bobpass", "bobmuc") + await page.wait_for_timeout(3000) + await page.screenshot(path=f"{OUT}/muc_1_list.png") + room = page.locator("#rooms ul.list.rooms li.room").first + await room.click() + await page.wait_for_selector("#chat_textarea", timeout=15000) + await page.wait_for_timeout(3000) + await page.fill("#chat_textarea", "Hi everyone @alice") + await page.press("#chat_textarea", "Enter") + await page.wait_for_timeout(2500) + await page.screenshot(path=f"{OUT}/muc_2_room.png") + # Room drawer + await page.click("#chat_widget header span.primary.icon.bubble") + await page.wait_for_timeout(1500) + await page.screenshot(path=f"{OUT}/muc_3_drawer.png") + # Search drawer (new chat) + await page.keyboard.press("Escape") + await page.goto(BASE + "/chat") + await page.wait_for_timeout(2000) + await page.click("main div[role=menu] > button.action") + await page.wait_for_timeout(2000) + await page.screenshot(path=f"{OUT}/muc_4_search.png") + for e in errors: + print(e) + await browser.close() + +asyncio.run(main()) diff --git a/tests/e2e/browser_muji.py b/tests/e2e/browser_muji.py new file mode 100644 index 0000000..61525bb --- /dev/null +++ b/tests/e2e/browser_muji.py @@ -0,0 +1,103 @@ +"""Muji (XEP-0272) group call between three browsers in a group chat.""" +import asyncio, time +from playwright.async_api import async_playwright +import sys +from browser import login, BASE, OUT + +VIDEO = 'true' if '--video' in sys.argv else 'false' + + +async def open_room(page, room): + await page.evaluate(f"Chat_ajaxGetRoom('{room}')") + await page.wait_for_selector("#chat_textarea", timeout=15000) + await page.wait_for_timeout(1500) + + +async def join_from_lobby(page): + await page.wait_for_selector("#lobby_start:not(.disabled)", timeout=15000) + await page.click("#lobby_start") + + +async def sessions(page): + return await page.evaluate( + "Object.fromEntries(Object.entries(MovimJingles.sessions || {}).map(([j, s]) => [j, s.pc && s.pc.connectionState]))" + ) + + +async def main(): + room = f"call{int(time.time())}@conference.localhost" + async with async_playwright() as p: + browser = await p.chromium.launch(args=["--use-fake-ui-for-media-stream", "--use-fake-device-for-media-stream"]) + users = [("alice", "alicepass"), ("bob", "bobpass"), ("carol", "carolpass")] + pages, errors = {}, [] + for name, password in users: + ctx, page, err = await login(browser, f"{name}@localhost", password, f"muji{name}") + await ctx.grant_permissions(["microphone", "camera"], origin=BASE) + pages[name] = page + await page.evaluate(""" + window.addEventListener('unhandledrejection', e => console.error('REJECTION', e.reason && e.reason.stack)); + window.addEventListener('error', e => console.error('ERROR', e.error && e.error.stack)); + """) + errors.append(err) + alice, bob, carol = pages["alice"], pages["bob"], pages["carol"] + + # Alice creates a group chat and invites the others, who join it + await alice.evaluate(f"""RoomsUtils_ajaxAddCreate({{ + jid: {{value: '{room}'}}, name: {{value: 'Call room'}}, nick: {{value: 'alice'}}, + type: {{value: 'groupchat'}}, autojoin: {{value: true}}, pinned: {{value: false}}, + notify: {{value: 'always'}} + }})""") + await alice.wait_for_timeout(3000) + for name in ("bob", "carol"): + await alice.evaluate(f"RoomsUtils_ajaxInvite({{to: {{value: '{room}'}}, invite: {{value: '{name}@localhost'}}}})") + await alice.wait_for_timeout(1500) + for name in ("bob", "carol"): + await pages[name].evaluate(f"""RoomsUtils_ajaxAddConfirm({{ + jid: {{value: '{room}'}}, name: {{value: 'Call room'}}, nick: {{value: '{name}'}}, + autojoin: {{value: true}}, pinned: {{value: false}}, notify: {{value: 'on-mention'}} + }})""") + await alice.wait_for_timeout(3000) + for page in pages.values(): + await open_room(page, room) + await alice.screenshot(path=f"{OUT}/muji_0_header.png") + + # Alice starts the call + await alice.evaluate(f"Visio_ajaxGetMujiLobby('{room}', true, {VIDEO})") + await join_from_lobby(alice) + await alice.wait_for_timeout(3000) + await alice.screenshot(path=f"{OUT}/muji_1_alice_waiting.png") + await bob.screenshot(path=f"{OUT}/muji_1_bob_header.png") + print("bob sees a call to join:", await bob.locator("button.oppose.color.blue").count() > 0) + + # Bob then Carol join + for name, page in (("bob", bob), ("carol", carol)): + button = page.locator("button.oppose.color.blue").first + try: + await button.click(timeout=10000) + except Exception: + await page.screenshot(path=f"{OUT}/muji_fail_{name}.png") + print(name, "header:", await page.content()) + raise + await join_from_lobby(page) + await page.wait_for_timeout(6000) + print(f"after {name} joined:", {n: await sessions(pg) for n, pg in pages.items()}) + + for name, page in pages.items(): + await page.screenshot(path=f"{OUT}/muji_2_{name}.png") + print(name, "sessions:", await sessions(page)) + + print("JS errors before leaving:", sum(len(e) for e in errors)) + # Carol leaves, the others keep talking + await carol.evaluate(f"Visio_ajaxLeaveMuji('{room}')") + await alice.wait_for_timeout(3000) + print("after carol left, alice sessions:", await sessions(alice)) + print("carol sessions:", await sessions(carol)) + await alice.screenshot(path=f"{OUT}/muji_3_alice.png") + + for err in errors: + for e in err: + print(e) + await browser.close() + + +asyncio.run(main()) diff --git a/tests/e2e/browser_omemo.py b/tests/e2e/browser_omemo.py new file mode 100644 index 0000000..bb58c3a --- /dev/null +++ b/tests/e2e/browser_omemo.py @@ -0,0 +1,38 @@ +import asyncio +from playwright.async_api import async_playwright +from browser import login, BASE, OUT + +async def main(): + async with async_playwright() as p: + browser = await p.chromium.launch() + actx, alice, aerr = await login(browser, "alice@localhost", "alicepass", "omemoalice") + bctx, bob, berr = await login(browser, "bob@localhost", "bobpass", "omemobob") + # Let both browsers generate and publish their bundles + await alice.wait_for_timeout(5000) + await bob.wait_for_timeout(1000) + print("alice device:", await alice.evaluate("new ChatOmemoStorage().getLocalRegistrationId()")) + print("bob device:", await bob.evaluate("new ChatOmemoStorage().getLocalRegistrationId()")) + + await alice.goto(BASE + "/chat/bob@localhost") + await alice.wait_for_selector("#chat_textarea", timeout=15000) + await alice.wait_for_timeout(2000) + print("alice state before:", await alice.evaluate("Chat.getOmemoState()")) + await alice.evaluate("ChatOmemo.enableContactState('bob@localhost', false)") + await alice.wait_for_timeout(5000) + print("alice state after:", await alice.evaluate("Chat.getOmemoState()")) + await alice.fill("#chat_textarea", "This is a secret 🔐") + await alice.press("#chat_textarea", "Enter") + await alice.wait_for_timeout(3000) + await alice.screenshot(path=f"{OUT}/omemo_1_alice.png") + + await bob.goto(BASE + "/chat/alice@localhost") + await bob.wait_for_selector("#chat_textarea", timeout=15000) + await bob.wait_for_timeout(5000) + await bob.screenshot(path=f"{OUT}/omemo_2_bob.png") + texts = await bob.locator("#chat_widget .bubble p").all_inner_texts() + print("bob last bubbles:", texts[-3:]) + for e in aerr + berr: + print(e) + await browser.close() + +asyncio.run(main()) diff --git a/tests/e2e/browser_preview.py b/tests/e2e/browser_preview.py new file mode 100644 index 0000000..1a1279e --- /dev/null +++ b/tests/e2e/browser_preview.py @@ -0,0 +1,60 @@ +"""Link previews: a page with OpenGraph tags and a direct picture link.""" +import asyncio, functools, http.server, os, shutil, tempfile, threading +from playwright.async_api import async_playwright +from browser import login, BASE, OUT + +HERE = os.path.dirname(os.path.abspath(__file__)) +PORT = 8765 +PAGE = """ +Fallback title + + + + + +Hello""" + + +def serve(): + root = tempfile.mkdtemp() + with open(os.path.join(root, "article.html"), "w") as f: + f.write(PAGE) + shutil.copy(os.path.join(HERE, "test.png"), os.path.join(root, "test.png")) + handler = functools.partial(http.server.SimpleHTTPRequestHandler, directory=root) + server = http.server.ThreadingHTTPServer(("127.0.0.1", PORT), handler) + threading.Thread(target=server.serve_forever, daemon=True).start() + return server + + +async def main(): + server = serve() + async with async_playwright() as p: + browser = await p.chromium.launch() + _, alice, aerr = await login(browser, "alice@localhost", "alicepass", "previewalice") + _, bob, berr = await login(browser, "bob@localhost", "bobpass", "previewbob") + + await alice.goto(BASE + "/chat/bob@localhost") + await alice.wait_for_selector("#chat_textarea", timeout=15000) + await bob.goto(BASE + "/chat/alice@localhost") + await bob.wait_for_selector("#chat_textarea", timeout=15000) + await bob.wait_for_timeout(1500) + + for text in (f"Have a look http://127.0.0.1:{PORT}/article.html", f"http://127.0.0.1:{PORT}/test.png"): + await bob.fill("#chat_textarea", text) + await bob.press("#chat_textarea", "Enter") + await bob.wait_for_timeout(1500) + await alice.wait_for_timeout(4000) + + for name, page in (("alice", alice), ("bob", bob)): + await page.screenshot(path=f"{OUT}/preview_{name}.png") + cards = await page.locator("#chat_widget ul.list.card").all_inner_texts() + pictures = await page.locator("#chat_widget div.bubble img").count() + print(name, "cards:", [c.replace("\n", " | ")[:120] for c in cards[-2:]], "pictures:", pictures) + + for e in aerr + berr: + print(e) + await browser.close() + server.shutdown() + + +asyncio.run(main()) diff --git a/tests/e2e/browser_smoke.py b/tests/e2e/browser_smoke.py new file mode 100644 index 0000000..6598891 --- /dev/null +++ b/tests/e2e/browser_smoke.py @@ -0,0 +1,50 @@ +import asyncio +from playwright.async_api import async_playwright +from browser import login, BASE, OUT + +STEPS = [ + ("contact drawer", "ChatActions_ajaxGetContact('bob@localhost')"), + ("search drawer", "Search_ajaxRequest()"), + ("notifications drawer", "Notifications_ajaxRequest()"), + ("presence menu", "Presence_ajaxHttpMenu()"), + ("emoji picker", "Stickers_ajaxReaction(null)"), + ("chat search", "ChatActions_ajaxShowSearchDialog('bob@localhost', false)"), + ("add contact dialog", "Notifications_ajaxAddAsk('carol@localhost')"), + ("room discover", "RoomsUtils_ajaxHttpRoomDiscover()"), + ("create room", "RoomsUtils_ajaxAdd(null, null, true)"), + ("clear history dialog", "Chat_ajaxClearHistory('bob@localhost')"), + ("logout dialog", "Presence_ajaxAskLogout()"), + ("upload dialog", "Upload_ajaxGetPanel()"), +] + +async def main(): + async with async_playwright() as p: + browser = await p.chromium.launch() + ctx, page, errors = await login(browser, "alice@localhost", "alicepass", "smoke") + await page.goto(BASE + "/chat/bob@localhost") + await page.wait_for_selector("#chat_textarea", timeout=15000) + await page.wait_for_timeout(2000) + # message dialog on the last message + mid = await page.evaluate("document.querySelector('#chat_widget .message[data-mid]:last-of-type')?.dataset.mid") + steps = STEPS + ([("message dialog", f"ChatActions_ajaxShowMessageDialog({mid})")] if mid else []) + for i, (name, js) in enumerate(steps): + before = len(errors) + await page.evaluate(js) + await page.wait_for_timeout(1200) + await page.screenshot(path=f"{OUT}/smoke_{i:02d}.png") + print(f"{name}: {'ERR ' + errors[-1][:150] if len(errors) > before else 'ok'}") + await page.evaluate("Dialog_ajaxClear(); Drawer_ajaxClear(); document.querySelector('#drawer')?.classList.add('empty')") + await page.wait_for_timeout(300) + # configuration tabs + await page.goto(BASE + "/configuration") + await page.wait_for_timeout(2500) + for tab in await page.locator("#navtabs li").all(): + await tab.click() + await page.wait_for_timeout(700) + await page.screenshot(path=f"{OUT}/smoke_config_last.png") + print("errors total:", len(errors)) + for e in errors[:10]: + print(e[:300]) + await browser.close() + +asyncio.run(main()) diff --git a/tests/e2e/browser_upload.py b/tests/e2e/browser_upload.py new file mode 100644 index 0000000..4dc7e5c --- /dev/null +++ b/tests/e2e/browser_upload.py @@ -0,0 +1,26 @@ +import asyncio +from playwright.async_api import async_playwright +from browser import login, BASE, OUT +import os +S = os.path.dirname(os.path.abspath(__file__)) + +async def main(): + async with async_playwright() as p: + browser = await p.chromium.launch() + ctx, page, errors = await login(browser, "alice@localhost", "alicepass", "aliceup") + await page.goto(BASE + "/chat/bob@localhost") + await page.wait_for_selector("#chat_textarea", timeout=15000) + await page.wait_for_timeout(2000) + for f in ("test.png", "notes.txt"): + await page.evaluate("Upload_ajaxGetPanel()") + await page.wait_for_selector("#upload", timeout=10000) + await page.set_input_files("input#file", f"{S}/{f}") + await page.wait_for_timeout(1500) + await page.click("#upload_button") + await page.wait_for_timeout(4000) + await page.screenshot(path=f"{OUT}/upload_1.png") + for e in errors: + print(e) + await browser.close() + +asyncio.run(main()) diff --git a/tests/e2e/e2e.py b/tests/e2e/e2e.py new file mode 100644 index 0000000..8b9ecca --- /dev/null +++ b/tests/e2e/e2e.py @@ -0,0 +1,138 @@ +import uuid +"""End-to-end test of movim-rs, simulating what the browser does.""" +import asyncio, json, sys, re +import requests, websockets + +BASE = "http://127.0.0.1:8099" + + +class Client: + def __init__(self, jid, password): + self.jid, self.password = jid, password + self.http = requests.Session() + self.ws = None + self.received = [] + + def cookie(self): + return self.http.cookies.get("MOVIM_SESSION_ID") + + async def connect_ws(self): + self.ws = await websockets.connect( + BASE.replace("http", "ws") + "/ws/", + additional_headers={"Cookie": f"MOVIM_SESSION_ID={self.cookie()}", "Origin": BASE}, + ) + + async def recv_until(self, pred, timeout=15, seen=False): + if seen: + for m in self.received: + if pred(m): + return m + end = asyncio.get_event_loop().time() + timeout + while True: + left = end - asyncio.get_event_loop().time() + if left <= 0: + raise TimeoutError("timeout waiting") + msg = json.loads(await asyncio.wait_for(self.ws.recv(), left)) + self.received.append(msg) + if pred(msg): + return msg + + async def call(self, widget, func, params=None): + body = {"w": widget, "f": func} + if params is not None: + body["p"] = params + await self.ws.send(json.dumps({"func": "message", "b": body})) + + def ajax(self, widget, func, params=None, page="chat", daemon=False): + body = {"c": page, "w": widget, "f": func} + if params is not None: + body["p"] = params + r = self.http.post(BASE + ("/ajaxd" if daemon else "/ajax"), json={"func": "message", "b": body}) + return r + + async def login(self): + r = self.http.get(BASE + "/login") + assert r.status_code == 200, r.status_code + await self.connect_ws() + await self.recv_until(lambda m: m.get("func") == "started") + await self.ws.send(json.dumps({"func": "register", "host": self.jid.split("@")[1]})) + await self.recv_until(lambda m: m.get("func") == "registered") + form = {"username": {"value": self.jid}, "password": {"value": self.password}} + await self.call("Login", "ajaxLogin", [form, self.cookie(), "Europe/Paris"]) + msg = await self.recv_until(lambda m: m.get("func") in ("MovimUtils.reloadThis", "MovimTpl.fill", "Login.setCookie") and (m.get("func") != "MovimTpl.fill" or m["p"][0] == "#error"), timeout=30) + if msg["func"] == "Login.setCookie": + # An existing session is shared + self.http.cookies.set("MOVIM_SESSION_ID", msg["p"][0], domain="127.0.0.1") + elif msg["func"] != "MovimUtils.reloadThis": + raise RuntimeError("login failed: " + re.sub(r"\s+", " ", msg["p"][1])[:300]) + await self.ws.close() + # Reload the page like the browser would + r = self.http.get(BASE + "/chat") + assert r.status_code == 200 and "chat_widget" in r.text, (r.status_code, r.url) + await self.connect_ws() + + +async def main(): + alice = Client("alice@localhost", "alicepass") + bob = Client("bob@localhost", "bobpass") + await alice.login() + print("alice logged in") + await bob.login() + print("bob logged in") + # On a fresh database the first login replays the archive (MAM): let it settle + await asyncio.sleep(3) + + # Same calls as the chat page on load + for c in (alice, bob): + await c.call("Chat", "ajaxInit") + await c.call("Chats", "ajaxHttpGet") + await c.call("Rooms", "ajaxHttpGet") + await c.call("Presence", "ajaxHttpGetPresence") + await alice.recv_until(lambda m: m.get("func") == "Chat.init") + print("init ok") + + # Alice opens a chat with Bob and sends a message + await alice.call("Chat", "ajaxGet", ["bob@localhost"]) + await alice.recv_until(lambda m: m.get("func") == "Chat.setSpecificElements") + msgid = str(uuid.uuid4()) + r = alice.ajax("Chat", "ajaxHttpDaemonSendMessage", [msgid, "bob@localhost", "Hello *Bob* 👋 https://movim.eu", False], daemon=True) + assert r.status_code == 200, r.status_code + # Match on our message id: older messages may be replayed from the archive + m = await alice.recv_until(lambda m: m.get("func") == "Chat.appendMessagesWrapper" and msgid in json.dumps(m)) + print("alice sees her message:", json.dumps(m["p"][0], ensure_ascii=False)[:400]) + + # Bob receives it + m = await bob.recv_until(lambda m: m.get("func") == "Chat.appendMessagesWrapper" and msgid in json.dumps(m)) + msg = next(v for p in m["p"][0].values() for v in p.values() if msgid in json.dumps(v)) + print("bob receives:", msg["body"][:200], "| from", msg["jidfrom"]) + await bob.recv_until(lambda m: m.get("func") == "Notif.desktop", seen=True) + print("bob notified") + + # Bob opens the discussion and the receipt/displayed flow + await bob.call("Notif", "ajaxCurrent", ["chat|alice@localhost"]) + await bob.call("Chat", "ajaxGet", ["alice@localhost"]) + await bob.recv_until(lambda m: m.get("func") == "Chat.appendMessagesWrapper") + await bob.call("Chat", "ajaxDisplayed", ["alice@localhost", msg["id"]]) + m = await alice.recv_until(lambda m: m.get("func") == "Chat.appendMessagesWrapper" and any(v.get("displayed") for p in m["p"][0].values() for v in p.values())) + print("alice sees displayed marker") + + # Bob reacts + r = bob.ajax("Chat", "ajaxHttpDaemonSendReaction", [msg["mid"], "👍"], daemon=True) + m = await alice.recv_until(lambda m: m.get("func") == "Chat.appendMessagesWrapper" and any(v.get("reactionsHtml") for p in m["p"][0].values() for v in p.values())) + print("alice sees the reaction") + + # Chat states + await bob.call("Chat", "ajaxSendComposing", ["alice@localhost", False]) + m = await alice.recv_until(lambda m: m.get("func") == "MovimTpl.fill" and m["p"][0].endswith("-state") and m["p"][1] != "") + print("alice sees bob composing") + + # Bob replies, Alice corrects her message + r = bob.ajax("Chat", "ajaxHttpDaemonSendMessage", [str(uuid.uuid4()), "alice@localhost", "Hi Alice", False, None, msg["mid"]], daemon=True) + m = await alice.recv_until(lambda m: m.get("func") == "Chat.appendMessagesWrapper" and any(v.get("parent") for p in m["p"][0].values() for v in p.values())) + print("alice receives the reply with its parent") + + print("ALL OK") + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/tests/e2e/e2e_muc.py b/tests/e2e/e2e_muc.py new file mode 100644 index 0000000..31da950 --- /dev/null +++ b/tests/e2e/e2e_muc.py @@ -0,0 +1,70 @@ +import uuid +"""MUC end-to-end test.""" +import asyncio, json, time +from e2e import Client + + +async def main(): + alice = Client("alice@localhost", "alicepass") + bob = Client("bob@localhost", "bobpass") + await alice.login() + await bob.login() + for c in (alice, bob): + await c.call("Chat", "ajaxInit") + await c.call("Rooms", "ajaxHttpGet") + + room = f"test{int(time.time())}@conference.localhost" + form = { + "jid": {"value": room}, + "name": {"value": "Test room"}, + "nick": {"value": "alice"}, + "type": {"value": "groupchat"}, + "autojoin": {"value": True}, + "pinned": {"value": False}, + "notify": {"value": "always"}, + } + await alice.call("RoomsUtils", "ajaxAddCreate", [form]) + await alice.recv_until(lambda m: m.get("func") == "Rooms.setRoom" and "connected" in m["p"][1] and room.split("@")[0] in m["p"][1], timeout=20) + print("room created and joined:", room) + + # Invite Bob + await alice.call("RoomsUtils", "ajaxInvite", [{"to": {"value": room}, "invite": {"value": "bob@localhost"}}]) + m = await bob.recv_until(lambda m: m.get("func") == "Chat.appendMessagesWrapper" and "invitation" in json.dumps(m), timeout=10) + print("bob got the invitation") + + # Bob joins and adds the bookmark + await bob.call("RoomsUtils", "ajaxAddConfirm", [{ + "jid": {"value": room}, "name": {"value": "Test room"}, "nick": {"value": "bob"}, + "autojoin": {"value": True}, "pinned": {"value": True}, "notify": {"value": "on-mention"}, + }]) + await bob.recv_until(lambda m: m.get("func") == "Rooms.setRoom" and "connected" in m["p"][1], timeout=20) + print("bob joined") + + # Alice sends a message, Bob opens the room + await alice.call("Chat", "ajaxGetRoom", [room]) + await alice.recv_until(lambda m: m.get("func") == "Chat.setSpecificElements") + r = alice.ajax("Chat", "ajaxHttpDaemonSendMessage", [str(uuid.uuid4()), room, "Hello bob in the room", True], daemon=True) + m = await alice.recv_until(lambda m: m.get("func") == "Chat.appendMessagesWrapper" and "Hello bob in the room" in json.dumps(m)) + msg = list(list(m["p"][0].values())[0].values())[0] + print("alice sees her reflected MUC message, mine =", msg.get("mine"), "stanzaid =", msg.get("stanzaid")) + m = await bob.recv_until(lambda m: m.get("func") == "Chat.appendMessagesWrapper" and "Hello bob in the room" in json.dumps(m)) + print("bob receives the MUC message") + m = await bob.recv_until(lambda m: m.get("func") == "Notif.desktop", seen=True, timeout=5) + print("bob notified (mention)") + + # Bob opens the room: history from the DB + await bob.call("Chat", "ajaxGetRoom", [room]) + m = await bob.recv_until(lambda m: m.get("func") == "Chat.appendMessagesWrapper" and "Hello bob in the room" in json.dumps(m)) + await bob.call("Chat", "ajaxHttpGetPresences", [room]) + m = await bob.recv_until(lambda m: m.get("func") == "MovimTpl.fill" and m["p"][0].endswith("-nav")) + print("bob sees the members:", "alice" in m["p"][1] and "bob" in m["p"][1]) + + # Reaction in the MUC + r = bob.ajax("Chat", "ajaxHttpDaemonSendReaction", [msg["mid"] if msg.get("mid") else 0, "❤️"], daemon=True) + + # Subject + await alice.call("RoomsUtils", "ajaxSetSubject", [room, {"subject": {"value": "Our subject"}}]) + print("ALL OK") + + +asyncio.run(main()) diff --git a/tests/e2e/e2e_reconnect.py b/tests/e2e/e2e_reconnect.py new file mode 100644 index 0000000..d41c58f --- /dev/null +++ b/tests/e2e/e2e_reconnect.py @@ -0,0 +1,20 @@ +import os +import uuid +import asyncio, json, subprocess, time +from e2e import Client +S = os.path.dirname(os.path.abspath(__file__)) + +async def main(): + alice = Client("alice@localhost", "alicepass"); bob = Client("bob@localhost", "bobpass") + await alice.login(); await bob.login() + print("logged in, restarting prosody") + subprocess.run([f"{S}/prosody.sh", "restart"], capture_output=True) + t = time.time() + await alice.recv_until(lambda m: m.get("func") == "MovimUtils.addClass" and m["p"][0] == "#status_websocket" and m["p"][1] == "hide", timeout=90) + await bob.recv_until(lambda m: m.get("func") == "MovimUtils.addClass" and m["p"][0] == "#status_websocket" and m["p"][1] == "hide", timeout=90) + print(f"both reconnected after {time.time()-t:.1f}s") + bob.ajax("Chat", "ajaxHttpDaemonSendMessage", [str(uuid.uuid4()), "alice@localhost", "after the restart", False], daemon=True) + await alice.recv_until(lambda m: m.get("func") == "Chat.appendMessagesWrapper" and "after the restart" in json.dumps(m), timeout=15) + print("alice receives messages after reconnection: OK") + +asyncio.run(main()) diff --git a/tests/e2e/notes.txt b/tests/e2e/notes.txt new file mode 100644 index 0000000..f7ca42b --- /dev/null +++ b/tests/e2e/notes.txt @@ -0,0 +1 @@ +hello file diff --git a/tests/e2e/prosody.sh b/tests/e2e/prosody.sh new file mode 100755 index 0000000..f91534a --- /dev/null +++ b/tests/e2e/prosody.sh @@ -0,0 +1,6 @@ +#!/bin/sh +D=$(cd "$(dirname "$0")" && pwd) +P=$D/xmpp +export LUA_PATH="$P/share/lua/5.4/?.lua;$P/share/lua/5.4/?/init.lua;;" +export LUA_CPATH="$P/lib/lua/5.4/?.so;;" +exec "$P/prosody/bin/prosodyctl" --config "$P/prosody.cfg.lua" "$@" diff --git a/tests/e2e/run.sh b/tests/e2e/run.sh new file mode 100755 index 0000000..0778e57 --- /dev/null +++ b/tests/e2e/run.sh @@ -0,0 +1,12 @@ +#!/bin/sh +# (Re)start movim-rs on 127.0.0.1:8099 against the local Prosody +D=$(cd "$(dirname "$0")" && pwd) +ROOT=$(cd "$D/../.." && pwd) +[ -f "$D/server.pid" ] && kill "$(cat "$D/server.pid")" 2>/dev/null +sleep 0.3 +cd "$ROOT" +MOVIM_BIND=127.0.0.1:8099 MOVIM_DOMAIN=localhost MOVIM_ALLOW_PRIVATE_URLS=1 \ +MOVIM_XMPP_PLAINTEXT=127.0.0.1:5222 MOVIM_DATA_DIR="$D/data" RUST_LOG=${RUST_LOG:-movim=info} \ + ./target/debug/movim > "$D/server.log" 2>&1 & +echo $! > "$D/server.pid" +sleep 1 diff --git a/tests/e2e/setup.sh b/tests/e2e/setup.sh new file mode 100755 index 0000000..a29dc22 --- /dev/null +++ b/tests/e2e/setup.sh @@ -0,0 +1,61 @@ +#!/bin/sh +# Build a local Prosody test server (no root needed) in tests/e2e/xmpp and +# create the test accounts alice/alicepass and bob/bobpass. +# Requires: lua 5.4 headers, expat, openssl, curl, gcc, make. +set -e +D=$(cd "$(dirname "$0")" && pwd) +P=$D/xmpp +SRC=$D/xmpp-src +mkdir -p "$SRC" "$P/lib/lua/5.4" "$P/share/lua/5.4/lxp" "$P/data" "$P/certs" +cd "$SRC" +[ -d prosody-13.0.7 ] || curl -sL https://prosody.im/downloads/source/prosody-13.0.7.tar.gz | tar xz +[ -d luasocket-3.1.0 ] || curl -sL https://github.com/lunarmodules/luasocket/archive/refs/tags/v3.1.0.tar.gz | tar xz +[ -d luafilesystem-1_8_0 ] || curl -sL https://github.com/lunarmodules/luafilesystem/archive/refs/tags/v1_8_0.tar.gz | tar xz +[ -d luaexpat-1.5.2 ] || curl -sL https://github.com/lunarmodules/luaexpat/archive/refs/tags/1.5.2.tar.gz | tar xz +[ -d luasec-1.3.2 ] || curl -sL https://github.com/lunarmodules/luasec/archive/refs/tags/v1.3.2.tar.gz | tar xz + +(cd luasocket-3.1.0 && make LUAV=5.4 LUAINC_linux=/usr/include/lua5.4 linux >/dev/null && make LUAV=5.4 prefix="$P" install >/dev/null) +gcc -O2 -fPIC -shared -I/usr/include/lua5.4 luafilesystem-1_8_0/src/lfs.c -o "$P/lib/lua/5.4/lfs.so" +gcc -O2 -fPIC -shared -I/usr/include/lua5.4 -Iluaexpat-1.5.2/src luaexpat-1.5.2/src/lxplib.c -lexpat -o "$P/lib/lua/5.4/lxp.so" 2>/dev/null +cp luaexpat-1.5.2/src/lxp/*.lua "$P/share/lua/5.4/lxp/" +(cd luasec-1.3.2 && make linux INC_PATH="-I/usr/include/lua5.4" LIB_PATH="" >/dev/null && make install LUAPATH="$P/share/lua/5.4" LUACPATH="$P/lib/lua/5.4" >/dev/null) +(cd prosody-13.0.7 && ./configure --lua-version=5.4 --with-lua-include=/usr/include/lua5.4 --prefix="$P/prosody" --no-example-certs >/dev/null && make >/dev/null && make install >/dev/null) + +cat > "$P/prosody.cfg.lua" <